diff --git a/dockers/docker-compose.yaml b/dockers/docker-compose.yaml index 4c6695e27f5610d0700b3e70a5e8db4d6d1927a7..28261cdbb3b01749b7808ede6062d23f6818fa22 100644 --- a/dockers/docker-compose.yaml +++ b/dockers/docker-compose.yaml @@ -41,7 +41,7 @@ # # Feel free to modify this file to suit your needs. --- -version: '2.4' +version: '3' x-airflow-common: &airflow-common image: ${AIRFLOW_IMAGE_NAME:-apache/airflow:2.1.3} @@ -63,7 +63,7 @@ x-airflow-common: - ./logs:/opt/airflow/logs - ./plugins:/opt/airflow/plugins - ./config/airflow.cfg:/opt/airflow/airflow.cfg - user: "${AIRFLOW_UID:-50000}:${AIRFLOW_GID:-50000}" + user: "${AIRFLOW_UID:-50000}:${AIRFLOW_GID:-0}" depends_on: redis: condition: service_healthy @@ -78,12 +78,12 @@ services: POSTGRES_PASSWORD: airflow POSTGRES_DB: airflow volumes: - - postgres-db-volume:/var/lib/postgresql/data + - /var/lib/postgresql/data healthcheck: test: ["CMD", "pg_isready", "-U", "airflow"] interval: 5s retries: 5 - restart: always + restart: "always" redis: image: redis:latest @@ -106,6 +106,9 @@ services: interval: 10s timeout: 10s retries: 5 + volumes: + - ./templates/footer.html:/home/airflow/.local/lib/python3.6/site-packages/airflow/www/templates/appbuilder/footer.html + - ./templates/main.html:/home/airflow/.local/lib/python3.6/site-packages/airflow/www/templates/airflow/main.html restart: always airflow-scheduler: diff --git a/templates/footer.html b/templates/footer.html index 9d6bcdaa126ebacfaf91c7f16c3dbc81acb50063..665e5bcebf37022368407a2523dc1c804471eae8 100644 --- a/templates/footer.html +++ b/templates/footer.html @@ -1,38 +1,39 @@ -{% extends 'airflow/main.html' %} - -<!--{% block body %} - <p> - <a href="/path/to/target.html"> - <img src="https://eflows4hpc.eu/wp-content/uploads/2021/01/logo-1.png" alt="eFlows4HPC Logo" title="The title of this image"/> - </a> - </p> - {{ super() }} -{% endblock %}--> {% block footer %} - {% if not current_user.is_anonymous %} - {% set version_label = 'Version' %} - <footer class="footer"> - <div class="container"> - <div> - {{ version_label }}: {% if airflow_version %}<a href="https://pypi.python.org/pypi/apache-airflow/{{ airflow_version }}" target="_blank">v{{ airflow_version }}</a>{% else %} N/A{% endif %} - <div class="jumbotron text-center" style="margin-bottom:0"> - <p> - <a href="https://www.eFlows4HPC.eu"> - <img src="https://eflows4hpc.eu/wp-content/uploads/2021/01/logo-1.png" alt="eFlows4HPC Logo" title="The title of this image"/> - </a> - </p> -<!-- <p>This is the Data Catalog for the <a href="https://www.eFlows4HPC.eu">eFlows4HPC</a> project</p> --> - <p>This work has been supported by the eFlows4HPC project, contract #955558. This project has received funding from the European High-Performance Computing Joint Undertaking (JU) under grant agreement No 955558.<br>The JU receives support from the European Union’s Horizon 2020 research and innovation programme and Spain, Germany, France, Italy, Poland, Switzerland, Norway.</p> - <hr> - <p>The source code for the Data Catalog is available on <a href="https://gitlab.jsc.fz-juelich.de/eflows4hpc-wp2/data-logistics-service/">gitlab</a>.</p> - <p>If there are any technical problems with this site, please create an issue on <a href="https://gitlab.jsc.fz-juelich.de/eflows4hpc-wp2/data-logistics-service/-/issues">gitlab</a>.</p> - <hr> - <p><a href="https://www.fz-juelich.de/portal/EN/Service/LegalNotice/_node.html">Impressum</a></p> +<footer class="pt-5 align-self-center align-middle footer" style="height: auto; color: #575756 !important;"> + <div class="mt-5 pt-5 pb-5"> + <div class="container"> + <div></div> + <div class="flex-row"> + <div class="col-lg-3 col-xs-12"> + <h4 class="text-dark" >Links</h4> + <ul class="m-0 p-0" style="list-style-type: none;"> + <li> <a style="color: #575756" href="https://www.eFlows4HPC.eu">About eFlows4HPC Project</a></li> + <li> <a style="color: #575756" href="https://gitlab.jsc.fz-juelich.de/eflows4hpc-wp2/data-logistics-service/-/issues">In case of technical problems, create an issue here</a></li> + <li> <a style="color: #575756" href="https://www.fz-juelich.de/portal/EN/Service/LegalNotice/_node.html">Impressum</a></li> + </ul> + <p></p> + <p> + <a href="https://twitter.com/eFlows4HPC"><i class="fa fa-twitter-square mr-2 fa-2x bg-dark"></i></a> + <a href="https://www.linkedin.com/company/eflows4hpc/"><i class="fa fa-linkedin-square mr-2 fa-2x"></i></a> + <a href="https://gitlab.jsc.fz-juelich.de/eflows4hpc-wp2/data-logistics-service/"><i class="fa fa-github-square mr-2 fa-2x"></i></a> + </p> </div> - + <div class="col-lg-4 col-xs-12 text-center"> + <p> + <a href="https://www.eFlows4HPC.eu"> + <img src="https://eflows4hpc.eu/wp-content/uploads/2021/01/logo-1.png" alt="eFlows4HPC Logo" title="The title of this image" /></a> + </p> + </div> + <div class="col-lg-5 col-xs-12 text-center"> + <p class="pr-5"><small>This work has been supported by the eFlows4HPC project, contract #955558. This project has received funding from the European High-Performance Computing Joint Undertaking (JU) under grant agreement No 955558.<br>The JU receives support from the European Union’s Horizon 2020 research and innovation programme and Spain, Germany, France, Italy, Poland, Switzerland, Norway. </small></p> + </div> + </div> + <div class="row mt-5"> + <div class="col text-center"> + <p style="border-top: 1px solid darkgray;"><small>Based on Apache Airflow {{ version_label }}: {% if airflow_version %}<a href="https://pypi.python.org/pypi/apache-airflow/{{ airflow_version }}" target="_blank">v{{ airflow_version }}</a>{% else %} N/A{% endif %}</small></p> </div> - <div></div> </div> - </footer> - {% endif %} + </div> + </div> +</footer> {% endblock %} diff --git a/templates/main.html b/templates/main.html index bf4e0d347a29a619d553eb1c89eecc0bfffc9c85..0305743111965f4dbfa113ae2b97b731be707817 100644 --- a/templates/main.html +++ b/templates/main.html @@ -18,7 +18,6 @@ #} {% extends 'appbuilder/baselayout.html' %} -{% from 'airflow/_messages.html' import message %} {% block page_title -%} {% if title is defined -%} @@ -52,7 +51,7 @@ {% block messages %} {% include 'appbuilder/flash.html' %} {% if scheduler_job is defined and (not scheduler_job or not scheduler_job.is_alive()) %} - {% call message(category='warning', dismissable=false) %} + <div class="alert alert-warning"> <p>The scheduler does not appear to be running. {% if scheduler_job %} Last heartbeat was received @@ -64,42 +63,15 @@ {% endif %} </p> <p>The DAGs list may not update, and new tasks will not be scheduled.</p> - {% endcall %} - {% endif %} - {% if triggerer_job is defined and (not triggerer_job or not triggerer_job.is_alive()) %} - {% call message(category='warning', dismissable=false) %} - <p>The triggerer does not appear to be running. - {% if triggerer_job %} - Last heartbeat was received - <time class="scheduler-last-heartbeat" - title="{{ triggerer_job.latest_heartbeat.isoformat() }}" - datetime="{{ triggerer_job.latest_heartbeat.isoformat() }}" - data-datetime-convert="false" - >{{ macros.datetime_diff_for_humans(triggerer_job.latest_heartbeat) }}</time>. - {% endif %} - </p> - <p>Triggers will not run, and any deferred operator will remain deferred until it times out and fails.</p> - {% endcall %} + </div> {% endif %} {% endblock %} {% block footer %} {% if not current_user.is_anonymous %} {% set version_label = 'Version' %} - <footer class="footer"> - <div class="container"> - <div> - {{ version_label }}: {% if airflow_version %}<a href="https://pypi.python.org/pypi/apache-airflow/{{ airflow_version }}" target="_blank">v{{ airflow_version }}</a>{% else %} N/A{% endif %} - {% if git_version %}<br>Git Version: <strong>{{ git_version }}</strong>{% endif %} - </div> - <div> - <p>This work has been supported by the eFlows4HPC project, contract #955558. This project has received funding from the European High-Performance Computing Joint Undertaking (JU) under grant agreement No 955558.<br>The JU receives support from the European Union’s Horizon 2020 research and innovation programme and Spain, Germany, France, Italy, Poland, Switzerland, Norway.</p> - <hr> - </div> - </div> - </footer> {% endif %} - {% comment %} {% include 'appbuilder/footer.html' %} {% endcomment %} + {% include 'appbuilder/footer.html' %} {% endblock %} {% block tail_js %} @@ -127,4 +99,4 @@ {% if analytics_tool is defined and analytics_tool %} {% include "analytics/" + analytics_tool + ".html" %} {% endif %} -{% endblock %} \ No newline at end of file +{% endblock %}