From b5bc4003f209b07efd1308ff69a4dbfa8685fce5 Mon Sep 17 00:00:00 2001 From: mishaschwartz <4380924+mishaschwartz@users.noreply.github.com> Date: Tue, 7 Nov 2023 16:09:11 -0500 Subject: [PATCH 01/21] move all components to the components/ directory --- birdhouse/.gitignore | 1 + birdhouse/README.rst | 2 +- .../canarie-api/.gitignore | 0 .../canarie-api.conf.template | 0 .../config/proxy/docker-compose-extra.yml | 11 ++ .../canarie-api/default.env | 2 +- .../docker_configuration.py.template | 0 .../canarie-api/entrypoint | 0 .../config/magpie/docker-compose-extra.yml | 2 +- birdhouse/components/cowbird/default.env | 2 +- .../data-volume/docker-compose-extra.yml | 0 .../{config => components}/finch/.gitignore | 0 .../canarie_api_monitoring.py.template | 0 .../canarie-api/docker-compose-extra.yml | 5 + .../config/magpie/docker-compose-extra.yml | 5 + .../config/magpie/providers.cfg.template | 0 .../docker-compose-extra.yml | 0 .../{config => components}/finch/default.env | 4 +- .../finch/docker-compose-extra.yml | 2 +- .../finch/post-docker-compose-up | 0 .../finch/service-config.json.template | 0 .../finch/wps.cfg.template | 0 .../geoserver/.gitignore | 0 .../canarie_api_monitoring.py.template | 0 .../canarie-api/docker-compose-extra.yml | 5 + .../config/magpie/docker-compose-extra.yml | 5 + .../geoserver.conf.template | 0 .../config/proxy/docker-compose-extra.yml | 5 + .../geoserver/default.env | 0 .../geoserver/docker-compose-extra.yml | 0 .../geoserver/pre-docker-compose-up | 0 .../geoserver/service-config.json.template | 0 .../hummingbird/.gitignore | 0 .../canarie_api_monitoring.py.template | 0 .../canarie-api/docker-compose-extra.yml | 5 + .../data-volume/docker-compose-extra.yml | 0 .../config/magpie/docker-compose-extra.yml | 5 + .../config/magpie/providers.cfg.template | 0 .../docker-compose-extra.yml | 0 .../hummingbird/custom.cfg.template | 0 .../hummingbird/default.env | 6 +- .../hummingbird/docker-compose-extra.yml | 2 +- .../hummingbird/service-config.json.template | 0 .../jupyterhub/.gitignore | 0 .../canarie_api_monitoring.py.template | 0 .../canarie-api/docker-compose-extra.yml | 5 + .../config/magpie/docker-compose-extra.yml | 5 + .../config/magpie/providers.cfg.template | 0 .../jupyterhub.conf.template | 0 .../config/proxy/docker-compose-extra.yml | 5 + .../jupyterhub/custom_templates/.gitignore | 0 .../custom_templates/login.html.template | 0 .../jupyterhub/default.env | 2 +- .../jupyterhub/docker-compose-extra.yml | 4 +- .../jupyterhub_config.py.original_generated | 0 .../jupyterhub/jupyterhub_config.py.template | 0 .../jupyterhub/pre-docker-compose-up | 0 .../jupyterhub/service-config.json.template | 0 .../{config => components}/magpie/.gitignore | 0 .../canarie_api_monitoring.py.template | 0 .../canarie-api/docker-compose-extra.yml | 5 + .../conf.extra-service.d/magpie.conf.template | 0 .../config/proxy/docker-compose-extra.yml | 5 + .../{config => components}/magpie/default.env | 0 .../magpie/docker-compose-extra.yml | 14 +- .../create-db.sql.template | 0 .../magpie/magpie.ini.template | 0 .../magpie/permissions.cfg.template | 0 .../magpie/postgres-credentials.env.template | 0 .../magpie/providers.cfg.template | 0 .../mongodb/default.env | 0 .../mongodb/docker-compose-extra.yml | 0 .../portainer/.gitignore | 0 .../portainer.conf.template | 0 .../config/proxy/docker-compose-extra.yml | 5 + .../portainer/docker-compose-extra.yml | 0 .../postgres/.gitignore | 0 .../postgres/credentials.env.template | 0 .../postgres/default.env | 0 .../postgres/docker-compose-extra.yml | 4 +- .../postgres/postgres-setup.sh | 0 .../{config => components}/proxy/.gitignore | 0 .../proxy/conf.d/.gitignore | 0 .../conf.d/all-services.include.template | 0 .../proxy/conf.d/cors.include | 0 .../proxy/conf.d/frontend.conf.template | 0 .../proxy/conf.d/redirect-to-https.include | 0 .../{config => components}/proxy/default.env | 0 .../proxy/docker-compose-extra.yml | 6 +- .../proxy/nginx.conf.template | 0 .../proxy/pre-docker-compose-up | 0 .../{config => components}/raven/.gitignore | 0 .../canarie_api_monitoring.py.template | 0 .../canarie-api/docker-compose-extra.yml | 5 + .../config/magpie/docker-compose-extra.yml | 5 + .../config/magpie/providers.cfg.template | 0 .../docker-compose-extra.yml | 0 .../{config => components}/raven/default.env | 4 +- .../raven/docker-compose-extra.yml | 2 +- .../raven/post-docker-compose-up | 0 .../raven/service-config.json.template | 0 .../raven/wps.cfg.template | 0 .../{config => components}/thredds/.gitignore | 0 .../thredds/catalog.xml.template | 0 .../canarie_api_monitoring.py.template | 0 .../canarie-api/docker-compose-extra.yml | 5 + .../config/magpie/docker-compose-extra.yml | 5 + .../config/magpie/providers.cfg.template | 0 .../thredds.conf.template | 0 .../config/proxy/docker-compose-extra.yml | 7 + .../thredds/default.env | 0 .../thredds/docker-compose-extra.yml | 10 +- .../thredds/entrypointwrapper | 0 .../thredds/pre-docker-compose-up | 0 .../thredds/service-config.json.template | 0 .../thredds/thredds.env | 0 .../thredds/threddsConfig.xml.template | 0 .../thredds/wmsConfig.xml | 0 .../twitcher/.gitignore | 0 .../canarie_api_monitoring.py.template | 0 .../canarie-api/docker-compose-extra.yml | 5 + .../twitcher.conf.template | 0 .../config/proxy/docker-compose-extra.yml | 5 + .../twitcher/default.env | 2 +- .../twitcher/docker-compose-extra.yml | 4 +- .../twitcher/twitcher.ini.template | 0 .../weaver/docker-compose-extra.yml | 4 +- .../wps_outputs-volume/.gitignore | 0 .../canarie_api_monitoring.py.template | 0 .../canarie-api/docker-compose-extra.yml | 5 + .../wps_outputs-volume.conf.template | 0 .../config/proxy/docker-compose-extra.yml | 6 + .../wps_outputs-volume/default.env | 0 .../docker-compose-extra.yml | 0 birdhouse/config/.gitignore | 12 -- .../config/proxy/docker-compose-extra.yml | 11 -- .../canarie-api/docker-compose-extra.yml | 5 - .../config/magpie/docker-compose-extra.yml | 5 - .../canarie-api/docker-compose-extra.yml | 5 - .../config/magpie/docker-compose-extra.yml | 5 - .../geoserver/config/magpie/providers.cfg | 12 -- .../config/proxy/docker-compose-extra.yml | 5 - .../canarie-api/docker-compose-extra.yml | 5 - .../config/magpie/docker-compose-extra.yml | 5 - .../canarie-api/docker-compose-extra.yml | 5 - .../config/magpie/docker-compose-extra.yml | 5 - .../config/proxy/docker-compose-extra.yml | 5 - .../canarie-api/docker-compose-extra.yml | 5 - .../config/proxy/docker-compose-extra.yml | 5 - .../config/proxy/docker-compose-extra.yml | 5 - .../canarie-api/docker-compose-extra.yml | 5 - .../config/magpie/docker-compose-extra.yml | 5 - .../canarie-api/docker-compose-extra.yml | 5 - .../config/magpie/docker-compose-extra.yml | 5 - .../config/proxy/docker-compose-extra.yml | 7 - .../canarie-api/docker-compose-extra.yml | 5 - .../config/proxy/docker-compose-extra.yml | 5 - .../canarie-api/docker-compose-extra.yml | 5 - .../config/proxy/docker-compose-extra.yml | 6 - birdhouse/default.env | 22 +-- .../deprecated-components/catalog/default.env | 2 +- .../flyingpigeon/default.env | 4 +- .../frontend/default.env | 6 +- .../malleefowl/default.env | 6 +- .../deprecated-components/ncops/default.env | 2 +- .../deprecated-components/ncwms2/default.env | 2 +- .../deprecated-components/phoenix/default.env | 10 +- .../project-api/default.env | 2 +- .../project-api/docker-compose-extra.yml | 2 +- .../all-public-access/default.env | 2 +- .../canarie-api-full-monitoring/default.env | 2 +- birdhouse/optional-components/emu/default.env | 2 +- .../generic_bird/default.env | 2 +- .../generic_bird/docker-compose-extra.yml | 2 +- .../secure-data-proxy/default.env | 8 +- .../secure-thredds/default.env | 4 +- .../test-geoserver-secured-access/default.env | 6 +- .../test-weaver/default.env | 2 +- .../testthredds/default.env | 2 +- .../x-robots-tag-header/default.env | 2 +- birdhouse/read-configs.include.sh | 2 +- .../scripts/get-components-json.include.sh | 2 +- ...docker-compose.override.public_thredds.yml | 2 +- tests/test_read_configs_include.py | 126 +++++++++--------- 184 files changed, 276 insertions(+), 299 deletions(-) create mode 100644 birdhouse/.gitignore rename birdhouse/{config => components}/canarie-api/.gitignore (100%) rename birdhouse/{config => components}/canarie-api/config/proxy/conf.extra-service.d/canarie-api.conf.template (100%) create mode 100644 birdhouse/components/canarie-api/config/proxy/docker-compose-extra.yml rename birdhouse/{config => components}/canarie-api/default.env (92%) rename birdhouse/{config => components}/canarie-api/docker_configuration.py.template (100%) rename birdhouse/{config => components}/canarie-api/entrypoint (100%) rename birdhouse/{config => components}/data-volume/docker-compose-extra.yml (100%) rename birdhouse/{config => components}/finch/.gitignore (100%) rename birdhouse/{config => components}/finch/config/canarie-api/canarie_api_monitoring.py.template (100%) create mode 100644 birdhouse/components/finch/config/canarie-api/docker-compose-extra.yml create mode 100644 birdhouse/components/finch/config/magpie/docker-compose-extra.yml rename birdhouse/{config => components}/finch/config/magpie/providers.cfg.template (100%) rename birdhouse/{config => components}/finch/config/wps_outputs-volume/docker-compose-extra.yml (100%) rename birdhouse/{config => components}/finch/default.env (92%) rename birdhouse/{config => components}/finch/docker-compose-extra.yml (89%) rename birdhouse/{config => components}/finch/post-docker-compose-up (100%) rename birdhouse/{config => components}/finch/service-config.json.template (100%) rename birdhouse/{config => components}/finch/wps.cfg.template (100%) rename birdhouse/{config => components}/geoserver/.gitignore (100%) rename birdhouse/{config => components}/geoserver/config/canarie-api/canarie_api_monitoring.py.template (100%) create mode 100644 birdhouse/components/geoserver/config/canarie-api/docker-compose-extra.yml create mode 100644 birdhouse/components/geoserver/config/magpie/docker-compose-extra.yml rename birdhouse/{config => components}/geoserver/config/proxy/conf.extra-service.d/geoserver.conf.template (100%) create mode 100644 birdhouse/components/geoserver/config/proxy/docker-compose-extra.yml rename birdhouse/{config => components}/geoserver/default.env (100%) rename birdhouse/{config => components}/geoserver/docker-compose-extra.yml (100%) rename birdhouse/{config => components}/geoserver/pre-docker-compose-up (100%) rename birdhouse/{config => components}/geoserver/service-config.json.template (100%) rename birdhouse/{config => components}/hummingbird/.gitignore (100%) rename birdhouse/{config => components}/hummingbird/config/canarie-api/canarie_api_monitoring.py.template (100%) create mode 100644 birdhouse/components/hummingbird/config/canarie-api/docker-compose-extra.yml rename birdhouse/{config => components}/hummingbird/config/data-volume/docker-compose-extra.yml (100%) create mode 100644 birdhouse/components/hummingbird/config/magpie/docker-compose-extra.yml rename birdhouse/{config => components}/hummingbird/config/magpie/providers.cfg.template (100%) rename birdhouse/{config => components}/hummingbird/config/wps_outputs-volume/docker-compose-extra.yml (100%) rename birdhouse/{config => components}/hummingbird/custom.cfg.template (100%) rename birdhouse/{config => components}/hummingbird/default.env (83%) rename birdhouse/{config => components}/hummingbird/docker-compose-extra.yml (81%) rename birdhouse/{config => components}/hummingbird/service-config.json.template (100%) rename birdhouse/{config => components}/jupyterhub/.gitignore (100%) rename birdhouse/{config => components}/jupyterhub/config/canarie-api/canarie_api_monitoring.py.template (100%) create mode 100644 birdhouse/components/jupyterhub/config/canarie-api/docker-compose-extra.yml create mode 100644 birdhouse/components/jupyterhub/config/magpie/docker-compose-extra.yml rename birdhouse/{config => components}/jupyterhub/config/magpie/providers.cfg.template (100%) rename birdhouse/{config => components}/jupyterhub/config/proxy/conf.extra-service.d/jupyterhub.conf.template (100%) create mode 100644 birdhouse/components/jupyterhub/config/proxy/docker-compose-extra.yml rename birdhouse/{config => components}/jupyterhub/custom_templates/.gitignore (100%) rename birdhouse/{config => components}/jupyterhub/custom_templates/login.html.template (100%) rename birdhouse/{config => components}/jupyterhub/default.env (99%) rename birdhouse/{config => components}/jupyterhub/docker-compose-extra.yml (92%) rename birdhouse/{config => components}/jupyterhub/jupyterhub_config.py.original_generated (100%) rename birdhouse/{config => components}/jupyterhub/jupyterhub_config.py.template (100%) rename birdhouse/{config => components}/jupyterhub/pre-docker-compose-up (100%) rename birdhouse/{config => components}/jupyterhub/service-config.json.template (100%) rename birdhouse/{config => components}/magpie/.gitignore (100%) rename birdhouse/{config => components}/magpie/config/canarie-api/canarie_api_monitoring.py.template (100%) create mode 100644 birdhouse/components/magpie/config/canarie-api/docker-compose-extra.yml rename birdhouse/{config => components}/magpie/config/proxy/conf.extra-service.d/magpie.conf.template (100%) create mode 100644 birdhouse/components/magpie/config/proxy/docker-compose-extra.yml rename birdhouse/{config => components}/magpie/default.env (100%) rename birdhouse/{config => components}/magpie/docker-compose-extra.yml (72%) rename birdhouse/{config => components}/magpie/docker-entrypoint-initdb.d/create-db.sql.template (100%) rename birdhouse/{config => components}/magpie/magpie.ini.template (100%) rename birdhouse/{config => components}/magpie/permissions.cfg.template (100%) rename birdhouse/{config => components}/magpie/postgres-credentials.env.template (100%) rename birdhouse/{config => components}/magpie/providers.cfg.template (100%) rename birdhouse/{config => components}/mongodb/default.env (100%) rename birdhouse/{config => components}/mongodb/docker-compose-extra.yml (100%) rename birdhouse/{config => components}/portainer/.gitignore (100%) rename birdhouse/{config => components}/portainer/config/proxy/conf.extra-service.d/portainer.conf.template (100%) create mode 100644 birdhouse/components/portainer/config/proxy/docker-compose-extra.yml rename birdhouse/{config => components}/portainer/docker-compose-extra.yml (100%) rename birdhouse/{config => components}/postgres/.gitignore (100%) rename birdhouse/{config => components}/postgres/credentials.env.template (100%) rename birdhouse/{config => components}/postgres/default.env (100%) rename birdhouse/{config => components}/postgres/docker-compose-extra.yml (83%) rename birdhouse/{config => components}/postgres/postgres-setup.sh (100%) rename birdhouse/{config => components}/proxy/.gitignore (100%) rename birdhouse/{config => components}/proxy/conf.d/.gitignore (100%) rename birdhouse/{config => components}/proxy/conf.d/all-services.include.template (100%) rename birdhouse/{config => components}/proxy/conf.d/cors.include (100%) rename birdhouse/{config => components}/proxy/conf.d/frontend.conf.template (100%) rename birdhouse/{config => components}/proxy/conf.d/redirect-to-https.include (100%) rename birdhouse/{config => components}/proxy/default.env (100%) rename birdhouse/{config => components}/proxy/docker-compose-extra.yml (76%) rename birdhouse/{config => components}/proxy/nginx.conf.template (100%) rename birdhouse/{config => components}/proxy/pre-docker-compose-up (100%) rename birdhouse/{config => components}/raven/.gitignore (100%) rename birdhouse/{config => components}/raven/config/canarie-api/canarie_api_monitoring.py.template (100%) create mode 100644 birdhouse/components/raven/config/canarie-api/docker-compose-extra.yml create mode 100644 birdhouse/components/raven/config/magpie/docker-compose-extra.yml rename birdhouse/{config => components}/raven/config/magpie/providers.cfg.template (100%) rename birdhouse/{config => components}/raven/config/wps_outputs-volume/docker-compose-extra.yml (100%) rename birdhouse/{config => components}/raven/default.env (94%) rename birdhouse/{config => components}/raven/docker-compose-extra.yml (89%) rename birdhouse/{config => components}/raven/post-docker-compose-up (100%) rename birdhouse/{config => components}/raven/service-config.json.template (100%) rename birdhouse/{config => components}/raven/wps.cfg.template (100%) rename birdhouse/{config => components}/thredds/.gitignore (100%) rename birdhouse/{config => components}/thredds/catalog.xml.template (100%) rename birdhouse/{config => components}/thredds/config/canarie-api/canarie_api_monitoring.py.template (100%) create mode 100644 birdhouse/components/thredds/config/canarie-api/docker-compose-extra.yml create mode 100644 birdhouse/components/thredds/config/magpie/docker-compose-extra.yml rename birdhouse/{config => components}/thredds/config/magpie/providers.cfg.template (100%) rename birdhouse/{config => components}/thredds/config/proxy/conf.extra-service.d/thredds.conf.template (100%) create mode 100644 birdhouse/components/thredds/config/proxy/docker-compose-extra.yml rename birdhouse/{config => components}/thredds/default.env (100%) rename birdhouse/{config => components}/thredds/docker-compose-extra.yml (71%) rename birdhouse/{config => components}/thredds/entrypointwrapper (100%) rename birdhouse/{config => components}/thredds/pre-docker-compose-up (100%) rename birdhouse/{config => components}/thredds/service-config.json.template (100%) rename birdhouse/{config => components}/thredds/thredds.env (100%) rename birdhouse/{config => components}/thredds/threddsConfig.xml.template (100%) rename birdhouse/{config => components}/thredds/wmsConfig.xml (100%) rename birdhouse/{config => components}/twitcher/.gitignore (100%) rename birdhouse/{config => components}/twitcher/config/canarie-api/canarie_api_monitoring.py.template (100%) create mode 100644 birdhouse/components/twitcher/config/canarie-api/docker-compose-extra.yml rename birdhouse/{config => components}/twitcher/config/proxy/conf.extra-service.d/twitcher.conf.template (100%) create mode 100644 birdhouse/components/twitcher/config/proxy/docker-compose-extra.yml rename birdhouse/{config => components}/twitcher/default.env (97%) rename birdhouse/{config => components}/twitcher/docker-compose-extra.yml (88%) rename birdhouse/{config => components}/twitcher/twitcher.ini.template (100%) rename birdhouse/{config => components}/wps_outputs-volume/.gitignore (100%) rename birdhouse/{config => components}/wps_outputs-volume/config/canarie-api/canarie_api_monitoring.py.template (100%) create mode 100644 birdhouse/components/wps_outputs-volume/config/canarie-api/docker-compose-extra.yml rename birdhouse/{config => components}/wps_outputs-volume/config/proxy/conf.extra-service.d/wps_outputs-volume.conf.template (100%) create mode 100644 birdhouse/components/wps_outputs-volume/config/proxy/docker-compose-extra.yml rename birdhouse/{config => components}/wps_outputs-volume/default.env (100%) rename birdhouse/{config => components}/wps_outputs-volume/docker-compose-extra.yml (100%) delete mode 100644 birdhouse/config/.gitignore delete mode 100644 birdhouse/config/canarie-api/config/proxy/docker-compose-extra.yml delete mode 100644 birdhouse/config/finch/config/canarie-api/docker-compose-extra.yml delete mode 100644 birdhouse/config/finch/config/magpie/docker-compose-extra.yml delete mode 100644 birdhouse/config/geoserver/config/canarie-api/docker-compose-extra.yml delete mode 100644 birdhouse/config/geoserver/config/magpie/docker-compose-extra.yml delete mode 100644 birdhouse/config/geoserver/config/magpie/providers.cfg delete mode 100644 birdhouse/config/geoserver/config/proxy/docker-compose-extra.yml delete mode 100644 birdhouse/config/hummingbird/config/canarie-api/docker-compose-extra.yml delete mode 100644 birdhouse/config/hummingbird/config/magpie/docker-compose-extra.yml delete mode 100644 birdhouse/config/jupyterhub/config/canarie-api/docker-compose-extra.yml delete mode 100644 birdhouse/config/jupyterhub/config/magpie/docker-compose-extra.yml delete mode 100644 birdhouse/config/jupyterhub/config/proxy/docker-compose-extra.yml delete mode 100644 birdhouse/config/magpie/config/canarie-api/docker-compose-extra.yml delete mode 100644 birdhouse/config/magpie/config/proxy/docker-compose-extra.yml delete mode 100644 birdhouse/config/portainer/config/proxy/docker-compose-extra.yml delete mode 100644 birdhouse/config/raven/config/canarie-api/docker-compose-extra.yml delete mode 100644 birdhouse/config/raven/config/magpie/docker-compose-extra.yml delete mode 100644 birdhouse/config/thredds/config/canarie-api/docker-compose-extra.yml delete mode 100644 birdhouse/config/thredds/config/magpie/docker-compose-extra.yml delete mode 100644 birdhouse/config/thredds/config/proxy/docker-compose-extra.yml delete mode 100644 birdhouse/config/twitcher/config/canarie-api/docker-compose-extra.yml delete mode 100644 birdhouse/config/twitcher/config/proxy/docker-compose-extra.yml delete mode 100644 birdhouse/config/wps_outputs-volume/config/canarie-api/docker-compose-extra.yml delete mode 100644 birdhouse/config/wps_outputs-volume/config/proxy/docker-compose-extra.yml diff --git a/birdhouse/.gitignore b/birdhouse/.gitignore new file mode 100644 index 000000000..f6a2dff5c --- /dev/null +++ b/birdhouse/.gitignore @@ -0,0 +1 @@ +./config diff --git a/birdhouse/README.rst b/birdhouse/README.rst index e3e3c57c5..baeca9eb8 100644 --- a/birdhouse/README.rst +++ b/birdhouse/README.rst @@ -378,7 +378,7 @@ Release Procedure * Run ``git push --tags`` to upload the new version. -.. _nginx.conf: ./config/proxy/nginx.conf +.. _nginx.conf: ./components/proxy/nginx.conf .. _default.env: ./default.env .. _`.bumpversion.cfg`: ../.bumpversion.cfg .. _CHANGES.md: ../CHANGES.md diff --git a/birdhouse/config/canarie-api/.gitignore b/birdhouse/components/canarie-api/.gitignore similarity index 100% rename from birdhouse/config/canarie-api/.gitignore rename to birdhouse/components/canarie-api/.gitignore diff --git a/birdhouse/config/canarie-api/config/proxy/conf.extra-service.d/canarie-api.conf.template b/birdhouse/components/canarie-api/config/proxy/conf.extra-service.d/canarie-api.conf.template similarity index 100% rename from birdhouse/config/canarie-api/config/proxy/conf.extra-service.d/canarie-api.conf.template rename to birdhouse/components/canarie-api/config/proxy/conf.extra-service.d/canarie-api.conf.template diff --git a/birdhouse/components/canarie-api/config/proxy/docker-compose-extra.yml b/birdhouse/components/canarie-api/config/proxy/docker-compose-extra.yml new file mode 100644 index 000000000..40338709d --- /dev/null +++ b/birdhouse/components/canarie-api/config/proxy/docker-compose-extra.yml @@ -0,0 +1,11 @@ +version: "3.4" +services: + proxy: + volumes: + - ./components/canarie-api/config/proxy/conf.extra-service.d:/etc/nginx/conf.extra-service.d/canarie-api:ro + - ./components/canarie-api/docker_configuration.py:/config/docker_configuration.py + - ./components/canarie-api/entrypoint:/entrypoint:ro + environment: + CANARIE_API_CONFIG_FN: /config/docker_configuration.py + CANARIE_MONITORING_EXTRA_CONF_DIR: ${CANARIE_MONITORING_EXTRA_CONF_DIR} + entrypoint: /entrypoint diff --git a/birdhouse/config/canarie-api/default.env b/birdhouse/components/canarie-api/default.env similarity index 92% rename from birdhouse/config/canarie-api/default.env rename to birdhouse/components/canarie-api/default.env index 938286617..6f40700cd 100644 --- a/birdhouse/config/canarie-api/default.env +++ b/birdhouse/components/canarie-api/default.env @@ -5,5 +5,5 @@ export PROXY_IMAGE="pavics/canarieapi:0.7.1" # add any component that this component requires to run COMPONENT_DEPENDENCIES=" - ./config/proxy + ./components/proxy " diff --git a/birdhouse/config/canarie-api/docker_configuration.py.template b/birdhouse/components/canarie-api/docker_configuration.py.template similarity index 100% rename from birdhouse/config/canarie-api/docker_configuration.py.template rename to birdhouse/components/canarie-api/docker_configuration.py.template diff --git a/birdhouse/config/canarie-api/entrypoint b/birdhouse/components/canarie-api/entrypoint similarity index 100% rename from birdhouse/config/canarie-api/entrypoint rename to birdhouse/components/canarie-api/entrypoint diff --git a/birdhouse/components/cowbird/config/magpie/docker-compose-extra.yml b/birdhouse/components/cowbird/config/magpie/docker-compose-extra.yml index d0a9e15f7..9a5015aa9 100644 --- a/birdhouse/components/cowbird/config/magpie/docker-compose-extra.yml +++ b/birdhouse/components/cowbird/config/magpie/docker-compose-extra.yml @@ -18,4 +18,4 @@ services: cowbird-worker: env_file: # user/password for admin session to perform permission sync updates - - ./config/magpie/postgres-credentials.env + - ./components/magpie/postgres-credentials.env diff --git a/birdhouse/components/cowbird/default.env b/birdhouse/components/cowbird/default.env index 9f50d9f10..d32bdc8dd 100644 --- a/birdhouse/components/cowbird/default.env +++ b/birdhouse/components/cowbird/default.env @@ -68,5 +68,5 @@ DELAYED_EVAL=" # (include this for Cowbird<2.0.0) #COMPONENT_DEPENDENCIES=" # $COMPONENT_DEPENDENCIES -# ./config/mongodb +# ./components/mongodb #" diff --git a/birdhouse/config/data-volume/docker-compose-extra.yml b/birdhouse/components/data-volume/docker-compose-extra.yml similarity index 100% rename from birdhouse/config/data-volume/docker-compose-extra.yml rename to birdhouse/components/data-volume/docker-compose-extra.yml diff --git a/birdhouse/config/finch/.gitignore b/birdhouse/components/finch/.gitignore similarity index 100% rename from birdhouse/config/finch/.gitignore rename to birdhouse/components/finch/.gitignore diff --git a/birdhouse/config/finch/config/canarie-api/canarie_api_monitoring.py.template b/birdhouse/components/finch/config/canarie-api/canarie_api_monitoring.py.template similarity index 100% rename from birdhouse/config/finch/config/canarie-api/canarie_api_monitoring.py.template rename to birdhouse/components/finch/config/canarie-api/canarie_api_monitoring.py.template diff --git a/birdhouse/components/finch/config/canarie-api/docker-compose-extra.yml b/birdhouse/components/finch/config/canarie-api/docker-compose-extra.yml new file mode 100644 index 000000000..0ecaeafb2 --- /dev/null +++ b/birdhouse/components/finch/config/canarie-api/docker-compose-extra.yml @@ -0,0 +1,5 @@ +version: "3.4" +services: + proxy: + volumes: + - ./components/finch/config/canarie-api/canarie_api_monitoring.py:${CANARIE_MONITORING_EXTRA_CONF_DIR}/finch_canarie_api_monitoring.py:ro diff --git a/birdhouse/components/finch/config/magpie/docker-compose-extra.yml b/birdhouse/components/finch/config/magpie/docker-compose-extra.yml new file mode 100644 index 000000000..9f2102103 --- /dev/null +++ b/birdhouse/components/finch/config/magpie/docker-compose-extra.yml @@ -0,0 +1,5 @@ +version: "3.4" +services: + magpie: + volumes: + - ./components/finch/config/magpie/providers.cfg:${MAGPIE_PROVIDERS_CONFIG_PATH}/finch-providers.cfg:ro diff --git a/birdhouse/config/finch/config/magpie/providers.cfg.template b/birdhouse/components/finch/config/magpie/providers.cfg.template similarity index 100% rename from birdhouse/config/finch/config/magpie/providers.cfg.template rename to birdhouse/components/finch/config/magpie/providers.cfg.template diff --git a/birdhouse/config/finch/config/wps_outputs-volume/docker-compose-extra.yml b/birdhouse/components/finch/config/wps_outputs-volume/docker-compose-extra.yml similarity index 100% rename from birdhouse/config/finch/config/wps_outputs-volume/docker-compose-extra.yml rename to birdhouse/components/finch/config/wps_outputs-volume/docker-compose-extra.yml diff --git a/birdhouse/config/finch/default.env b/birdhouse/components/finch/default.env similarity index 92% rename from birdhouse/config/finch/default.env rename to birdhouse/components/finch/default.env index 8bdaafc08..b11b0f701 100644 --- a/birdhouse/config/finch/default.env +++ b/birdhouse/components/finch/default.env @@ -21,8 +21,8 @@ export WEAVER_WPS_PROVIDERS=" # add any component that this component requires to run COMPONENT_DEPENDENCIES=" - ./config/wps_outputs-volume - ./config/postgres + ./components/wps_outputs-volume + ./components/postgres " OPTIONAL_VARS=" diff --git a/birdhouse/config/finch/docker-compose-extra.yml b/birdhouse/components/finch/docker-compose-extra.yml similarity index 89% rename from birdhouse/config/finch/docker-compose-extra.yml rename to birdhouse/components/finch/docker-compose-extra.yml index 4e751c54c..673f7b5ed 100644 --- a/birdhouse/config/finch/docker-compose-extra.yml +++ b/birdhouse/components/finch/docker-compose-extra.yml @@ -16,7 +16,7 @@ services: HTTP_PORT: 5000 PYWPS_CFG: /wps.cfg volumes: - - ./config/finch/wps.cfg:/wps.cfg + - ./components/finch/wps.cfg:/wps.cfg # - data:/opt/birdhouse/var/lib - /tmp restart: always diff --git a/birdhouse/config/finch/post-docker-compose-up b/birdhouse/components/finch/post-docker-compose-up similarity index 100% rename from birdhouse/config/finch/post-docker-compose-up rename to birdhouse/components/finch/post-docker-compose-up diff --git a/birdhouse/config/finch/service-config.json.template b/birdhouse/components/finch/service-config.json.template similarity index 100% rename from birdhouse/config/finch/service-config.json.template rename to birdhouse/components/finch/service-config.json.template diff --git a/birdhouse/config/finch/wps.cfg.template b/birdhouse/components/finch/wps.cfg.template similarity index 100% rename from birdhouse/config/finch/wps.cfg.template rename to birdhouse/components/finch/wps.cfg.template diff --git a/birdhouse/config/geoserver/.gitignore b/birdhouse/components/geoserver/.gitignore similarity index 100% rename from birdhouse/config/geoserver/.gitignore rename to birdhouse/components/geoserver/.gitignore diff --git a/birdhouse/config/geoserver/config/canarie-api/canarie_api_monitoring.py.template b/birdhouse/components/geoserver/config/canarie-api/canarie_api_monitoring.py.template similarity index 100% rename from birdhouse/config/geoserver/config/canarie-api/canarie_api_monitoring.py.template rename to birdhouse/components/geoserver/config/canarie-api/canarie_api_monitoring.py.template diff --git a/birdhouse/components/geoserver/config/canarie-api/docker-compose-extra.yml b/birdhouse/components/geoserver/config/canarie-api/docker-compose-extra.yml new file mode 100644 index 000000000..773e461dc --- /dev/null +++ b/birdhouse/components/geoserver/config/canarie-api/docker-compose-extra.yml @@ -0,0 +1,5 @@ +version: "3.4" +services: + proxy: + volumes: + - ./components/geoserver/config/canarie-api/canarie_api_monitoring.py:${CANARIE_MONITORING_EXTRA_CONF_DIR}/geoserver_canarie_api_monitoring.py:ro diff --git a/birdhouse/components/geoserver/config/magpie/docker-compose-extra.yml b/birdhouse/components/geoserver/config/magpie/docker-compose-extra.yml new file mode 100644 index 000000000..a17c870c2 --- /dev/null +++ b/birdhouse/components/geoserver/config/magpie/docker-compose-extra.yml @@ -0,0 +1,5 @@ +version: "3.4" +services: + magpie: + volumes: + - ./components/geoserver/config/magpie/providers.cfg:${MAGPIE_PROVIDERS_CONFIG_PATH}/geoserver-providers.cfg:ro diff --git a/birdhouse/config/geoserver/config/proxy/conf.extra-service.d/geoserver.conf.template b/birdhouse/components/geoserver/config/proxy/conf.extra-service.d/geoserver.conf.template similarity index 100% rename from birdhouse/config/geoserver/config/proxy/conf.extra-service.d/geoserver.conf.template rename to birdhouse/components/geoserver/config/proxy/conf.extra-service.d/geoserver.conf.template diff --git a/birdhouse/components/geoserver/config/proxy/docker-compose-extra.yml b/birdhouse/components/geoserver/config/proxy/docker-compose-extra.yml new file mode 100644 index 000000000..20790afbf --- /dev/null +++ b/birdhouse/components/geoserver/config/proxy/docker-compose-extra.yml @@ -0,0 +1,5 @@ +version: "3.4" +services: + proxy: + volumes: + - ./components/geoserver/config/proxy/conf.extra-service.d:/etc/nginx/conf.extra-service.d/geoserver:ro diff --git a/birdhouse/config/geoserver/default.env b/birdhouse/components/geoserver/default.env similarity index 100% rename from birdhouse/config/geoserver/default.env rename to birdhouse/components/geoserver/default.env diff --git a/birdhouse/config/geoserver/docker-compose-extra.yml b/birdhouse/components/geoserver/docker-compose-extra.yml similarity index 100% rename from birdhouse/config/geoserver/docker-compose-extra.yml rename to birdhouse/components/geoserver/docker-compose-extra.yml diff --git a/birdhouse/config/geoserver/pre-docker-compose-up b/birdhouse/components/geoserver/pre-docker-compose-up similarity index 100% rename from birdhouse/config/geoserver/pre-docker-compose-up rename to birdhouse/components/geoserver/pre-docker-compose-up diff --git a/birdhouse/config/geoserver/service-config.json.template b/birdhouse/components/geoserver/service-config.json.template similarity index 100% rename from birdhouse/config/geoserver/service-config.json.template rename to birdhouse/components/geoserver/service-config.json.template diff --git a/birdhouse/config/hummingbird/.gitignore b/birdhouse/components/hummingbird/.gitignore similarity index 100% rename from birdhouse/config/hummingbird/.gitignore rename to birdhouse/components/hummingbird/.gitignore diff --git a/birdhouse/config/hummingbird/config/canarie-api/canarie_api_monitoring.py.template b/birdhouse/components/hummingbird/config/canarie-api/canarie_api_monitoring.py.template similarity index 100% rename from birdhouse/config/hummingbird/config/canarie-api/canarie_api_monitoring.py.template rename to birdhouse/components/hummingbird/config/canarie-api/canarie_api_monitoring.py.template diff --git a/birdhouse/components/hummingbird/config/canarie-api/docker-compose-extra.yml b/birdhouse/components/hummingbird/config/canarie-api/docker-compose-extra.yml new file mode 100644 index 000000000..3a82361c2 --- /dev/null +++ b/birdhouse/components/hummingbird/config/canarie-api/docker-compose-extra.yml @@ -0,0 +1,5 @@ +version: "3.4" +services: + proxy: + volumes: + - ./components/hummingbird/config/canarie-api/canarie_api_monitoring.py:${CANARIE_MONITORING_EXTRA_CONF_DIR}/hummingbird_canarie_api_monitoring.py:ro diff --git a/birdhouse/config/hummingbird/config/data-volume/docker-compose-extra.yml b/birdhouse/components/hummingbird/config/data-volume/docker-compose-extra.yml similarity index 100% rename from birdhouse/config/hummingbird/config/data-volume/docker-compose-extra.yml rename to birdhouse/components/hummingbird/config/data-volume/docker-compose-extra.yml diff --git a/birdhouse/components/hummingbird/config/magpie/docker-compose-extra.yml b/birdhouse/components/hummingbird/config/magpie/docker-compose-extra.yml new file mode 100644 index 000000000..a47b69e6e --- /dev/null +++ b/birdhouse/components/hummingbird/config/magpie/docker-compose-extra.yml @@ -0,0 +1,5 @@ +version: "3.4" +services: + magpie: + volumes: + - ./components/hummingbird/config/magpie/providers.cfg:${MAGPIE_PROVIDERS_CONFIG_PATH}/hummingbird-providers.cfg:ro diff --git a/birdhouse/config/hummingbird/config/magpie/providers.cfg.template b/birdhouse/components/hummingbird/config/magpie/providers.cfg.template similarity index 100% rename from birdhouse/config/hummingbird/config/magpie/providers.cfg.template rename to birdhouse/components/hummingbird/config/magpie/providers.cfg.template diff --git a/birdhouse/config/hummingbird/config/wps_outputs-volume/docker-compose-extra.yml b/birdhouse/components/hummingbird/config/wps_outputs-volume/docker-compose-extra.yml similarity index 100% rename from birdhouse/config/hummingbird/config/wps_outputs-volume/docker-compose-extra.yml rename to birdhouse/components/hummingbird/config/wps_outputs-volume/docker-compose-extra.yml diff --git a/birdhouse/config/hummingbird/custom.cfg.template b/birdhouse/components/hummingbird/custom.cfg.template similarity index 100% rename from birdhouse/config/hummingbird/custom.cfg.template rename to birdhouse/components/hummingbird/custom.cfg.template diff --git a/birdhouse/config/hummingbird/default.env b/birdhouse/components/hummingbird/default.env similarity index 83% rename from birdhouse/config/hummingbird/default.env rename to birdhouse/components/hummingbird/default.env index f45f8e8d6..3a3ed4c94 100644 --- a/birdhouse/config/hummingbird/default.env +++ b/birdhouse/components/hummingbird/default.env @@ -14,9 +14,9 @@ export WEAVER_WPS_PROVIDERS=" # add any component that this component requires to run COMPONENT_DEPENDENCIES=" - ./config/postgres - ./config/wps_outputs-volume - ./config/data-volume + ./components/postgres + ./components/wps_outputs-volume + ./components/data-volume " OPTIONAL_VARS=" diff --git a/birdhouse/config/hummingbird/docker-compose-extra.yml b/birdhouse/components/hummingbird/docker-compose-extra.yml similarity index 81% rename from birdhouse/config/hummingbird/docker-compose-extra.yml rename to birdhouse/components/hummingbird/docker-compose-extra.yml index 965b77064..28c8b485d 100644 --- a/birdhouse/config/hummingbird/docker-compose-extra.yml +++ b/birdhouse/components/hummingbird/docker-compose-extra.yml @@ -14,7 +14,7 @@ services: environment: HOSTNAME: $HOSTNAME volumes: - - ./config/hummingbird/custom.cfg:/opt/birdhouse/src/hummingbird/custom.cfg + - ./components/hummingbird/custom.cfg:/opt/birdhouse/src/hummingbird/custom.cfg depends_on: - postgres restart: always diff --git a/birdhouse/config/hummingbird/service-config.json.template b/birdhouse/components/hummingbird/service-config.json.template similarity index 100% rename from birdhouse/config/hummingbird/service-config.json.template rename to birdhouse/components/hummingbird/service-config.json.template diff --git a/birdhouse/config/jupyterhub/.gitignore b/birdhouse/components/jupyterhub/.gitignore similarity index 100% rename from birdhouse/config/jupyterhub/.gitignore rename to birdhouse/components/jupyterhub/.gitignore diff --git a/birdhouse/config/jupyterhub/config/canarie-api/canarie_api_monitoring.py.template b/birdhouse/components/jupyterhub/config/canarie-api/canarie_api_monitoring.py.template similarity index 100% rename from birdhouse/config/jupyterhub/config/canarie-api/canarie_api_monitoring.py.template rename to birdhouse/components/jupyterhub/config/canarie-api/canarie_api_monitoring.py.template diff --git a/birdhouse/components/jupyterhub/config/canarie-api/docker-compose-extra.yml b/birdhouse/components/jupyterhub/config/canarie-api/docker-compose-extra.yml new file mode 100644 index 000000000..074151fe9 --- /dev/null +++ b/birdhouse/components/jupyterhub/config/canarie-api/docker-compose-extra.yml @@ -0,0 +1,5 @@ +version: "3.4" +services: + proxy: + volumes: + - ./components/jupyterhub/config/canarie-api/canarie_api_monitoring.py:${CANARIE_MONITORING_EXTRA_CONF_DIR}/jupyterhub_canarie_api_monitoring.py:ro diff --git a/birdhouse/components/jupyterhub/config/magpie/docker-compose-extra.yml b/birdhouse/components/jupyterhub/config/magpie/docker-compose-extra.yml new file mode 100644 index 000000000..ef1438e49 --- /dev/null +++ b/birdhouse/components/jupyterhub/config/magpie/docker-compose-extra.yml @@ -0,0 +1,5 @@ +version: "3.4" +services: + magpie: + volumes: + - ./components/jupyterhub/config/magpie/providers.cfg:${MAGPIE_PROVIDERS_CONFIG_PATH}/jupyter.cfg:ro diff --git a/birdhouse/config/jupyterhub/config/magpie/providers.cfg.template b/birdhouse/components/jupyterhub/config/magpie/providers.cfg.template similarity index 100% rename from birdhouse/config/jupyterhub/config/magpie/providers.cfg.template rename to birdhouse/components/jupyterhub/config/magpie/providers.cfg.template diff --git a/birdhouse/config/jupyterhub/config/proxy/conf.extra-service.d/jupyterhub.conf.template b/birdhouse/components/jupyterhub/config/proxy/conf.extra-service.d/jupyterhub.conf.template similarity index 100% rename from birdhouse/config/jupyterhub/config/proxy/conf.extra-service.d/jupyterhub.conf.template rename to birdhouse/components/jupyterhub/config/proxy/conf.extra-service.d/jupyterhub.conf.template diff --git a/birdhouse/components/jupyterhub/config/proxy/docker-compose-extra.yml b/birdhouse/components/jupyterhub/config/proxy/docker-compose-extra.yml new file mode 100644 index 000000000..76db7a7a3 --- /dev/null +++ b/birdhouse/components/jupyterhub/config/proxy/docker-compose-extra.yml @@ -0,0 +1,5 @@ +version: "3.4" +services: + proxy: + volumes: + - ./components/jupyterhub/config/proxy/conf.extra-service.d:/etc/nginx/conf.extra-service.d/jupyterhub:ro diff --git a/birdhouse/config/jupyterhub/custom_templates/.gitignore b/birdhouse/components/jupyterhub/custom_templates/.gitignore similarity index 100% rename from birdhouse/config/jupyterhub/custom_templates/.gitignore rename to birdhouse/components/jupyterhub/custom_templates/.gitignore diff --git a/birdhouse/config/jupyterhub/custom_templates/login.html.template b/birdhouse/components/jupyterhub/custom_templates/login.html.template similarity index 100% rename from birdhouse/config/jupyterhub/custom_templates/login.html.template rename to birdhouse/components/jupyterhub/custom_templates/login.html.template diff --git a/birdhouse/config/jupyterhub/default.env b/birdhouse/components/jupyterhub/default.env similarity index 99% rename from birdhouse/config/jupyterhub/default.env rename to birdhouse/components/jupyterhub/default.env index d8ffba773..e1e78f92d 100644 --- a/birdhouse/config/jupyterhub/default.env +++ b/birdhouse/components/jupyterhub/default.env @@ -93,5 +93,5 @@ OPTIONAL_VARS=" # add any component that this component requires to run COMPONENT_DEPENDENCIES=" - ./config/magpie + ./components/magpie " diff --git a/birdhouse/config/jupyterhub/docker-compose-extra.yml b/birdhouse/components/jupyterhub/docker-compose-extra.yml similarity index 92% rename from birdhouse/config/jupyterhub/docker-compose-extra.yml rename to birdhouse/components/jupyterhub/docker-compose-extra.yml index e2a489590..5e2543789 100644 --- a/birdhouse/config/jupyterhub/docker-compose-extra.yml +++ b/birdhouse/components/jupyterhub/docker-compose-extra.yml @@ -28,8 +28,8 @@ services: USER_WORKSPACE_UID: ${USER_WORKSPACE_UID} USER_WORKSPACE_GID: ${USER_WORKSPACE_GID} volumes: - - ./config/jupyterhub/jupyterhub_config.py:/srv/jupyterhub/jupyterhub_config.py:ro - - ./config/jupyterhub/custom_templates:/custom_templates:ro + - ./components/jupyterhub/jupyterhub_config.py:/srv/jupyterhub/jupyterhub_config.py:ro + - ./components/jupyterhub/custom_templates:/custom_templates:ro - ${JUPYTERHUB_USER_DATA_DIR}:${JUPYTERHUB_USER_DATA_DIR} - jupyterhub_data_persistence:/persist:rw - /var/run/docker.sock:/var/run/docker.sock:rw diff --git a/birdhouse/config/jupyterhub/jupyterhub_config.py.original_generated b/birdhouse/components/jupyterhub/jupyterhub_config.py.original_generated similarity index 100% rename from birdhouse/config/jupyterhub/jupyterhub_config.py.original_generated rename to birdhouse/components/jupyterhub/jupyterhub_config.py.original_generated diff --git a/birdhouse/config/jupyterhub/jupyterhub_config.py.template b/birdhouse/components/jupyterhub/jupyterhub_config.py.template similarity index 100% rename from birdhouse/config/jupyterhub/jupyterhub_config.py.template rename to birdhouse/components/jupyterhub/jupyterhub_config.py.template diff --git a/birdhouse/config/jupyterhub/pre-docker-compose-up b/birdhouse/components/jupyterhub/pre-docker-compose-up similarity index 100% rename from birdhouse/config/jupyterhub/pre-docker-compose-up rename to birdhouse/components/jupyterhub/pre-docker-compose-up diff --git a/birdhouse/config/jupyterhub/service-config.json.template b/birdhouse/components/jupyterhub/service-config.json.template similarity index 100% rename from birdhouse/config/jupyterhub/service-config.json.template rename to birdhouse/components/jupyterhub/service-config.json.template diff --git a/birdhouse/config/magpie/.gitignore b/birdhouse/components/magpie/.gitignore similarity index 100% rename from birdhouse/config/magpie/.gitignore rename to birdhouse/components/magpie/.gitignore diff --git a/birdhouse/config/magpie/config/canarie-api/canarie_api_monitoring.py.template b/birdhouse/components/magpie/config/canarie-api/canarie_api_monitoring.py.template similarity index 100% rename from birdhouse/config/magpie/config/canarie-api/canarie_api_monitoring.py.template rename to birdhouse/components/magpie/config/canarie-api/canarie_api_monitoring.py.template diff --git a/birdhouse/components/magpie/config/canarie-api/docker-compose-extra.yml b/birdhouse/components/magpie/config/canarie-api/docker-compose-extra.yml new file mode 100644 index 000000000..3ea6c182b --- /dev/null +++ b/birdhouse/components/magpie/config/canarie-api/docker-compose-extra.yml @@ -0,0 +1,5 @@ +version: "3.4" +services: + proxy: + volumes: + - ./components/magpie/config/canarie-api/canarie_api_monitoring.py:${CANARIE_MONITORING_EXTRA_CONF_DIR}/magpie_canarie_api_monitoring.py:ro diff --git a/birdhouse/config/magpie/config/proxy/conf.extra-service.d/magpie.conf.template b/birdhouse/components/magpie/config/proxy/conf.extra-service.d/magpie.conf.template similarity index 100% rename from birdhouse/config/magpie/config/proxy/conf.extra-service.d/magpie.conf.template rename to birdhouse/components/magpie/config/proxy/conf.extra-service.d/magpie.conf.template diff --git a/birdhouse/components/magpie/config/proxy/docker-compose-extra.yml b/birdhouse/components/magpie/config/proxy/docker-compose-extra.yml new file mode 100644 index 000000000..c7ccd8e6a --- /dev/null +++ b/birdhouse/components/magpie/config/proxy/docker-compose-extra.yml @@ -0,0 +1,5 @@ +version: "3.4" +services: + proxy: + volumes: + - ./components/magpie/config/proxy/conf.extra-service.d:/etc/nginx/conf.extra-service.d/magpie:ro diff --git a/birdhouse/config/magpie/default.env b/birdhouse/components/magpie/default.env similarity index 100% rename from birdhouse/config/magpie/default.env rename to birdhouse/components/magpie/default.env diff --git a/birdhouse/config/magpie/docker-compose-extra.yml b/birdhouse/components/magpie/docker-compose-extra.yml similarity index 72% rename from birdhouse/config/magpie/docker-compose-extra.yml rename to birdhouse/components/magpie/docker-compose-extra.yml index 398cd7832..0be77492c 100644 --- a/birdhouse/config/magpie/docker-compose-extra.yml +++ b/birdhouse/components/magpie/docker-compose-extra.yml @@ -23,16 +23,16 @@ services: MAGPIE_PORT: 2001 FORWARDED_ALLOW_IPS: "*" env_file: - - ./config/magpie/postgres-credentials.env + - ./components/magpie/postgres-credentials.env depends_on: - postgres-magpie links: - postgres-magpie volumes: - - ./config/magpie/postgres-credentials.env:/opt/local/src/magpie/env/postgres.env - - ./config/magpie/providers.cfg:${MAGPIE_PROVIDERS_CONFIG_PATH}/providers.cfg - - ./config/magpie/permissions.cfg:${MAGPIE_PERMISSIONS_CONFIG_PATH}/permissions.cfg - - ./config/magpie/magpie.ini:/opt/local/src/magpie/config/magpie.ini + - ./components/magpie/postgres-credentials.env:/opt/local/src/magpie/env/postgres.env + - ./components/magpie/providers.cfg:${MAGPIE_PROVIDERS_CONFIG_PATH}/providers.cfg + - ./components/magpie/permissions.cfg:${MAGPIE_PERMISSIONS_CONFIG_PATH}/permissions.cfg + - ./components/magpie/magpie.ini:/opt/local/src/magpie/config/magpie.ini restart: always logging: *default-logging @@ -41,11 +41,11 @@ services: container_name: postgres-magpie # ports: # should not be exposed directly, enable 'optional-components/database-external-ports' as needed env_file: - - ./config/magpie/postgres-credentials.env + - ./components/magpie/postgres-credentials.env environment: PGDATA: /var/lib/postgresql/data/pgdata volumes: - ${MAGPIE_PERSIST_DIR}:/var/lib/postgresql/data/pgdata - - ./config/magpie/docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d + - ./components/magpie/docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d restart: always logging: *default-logging diff --git a/birdhouse/config/magpie/docker-entrypoint-initdb.d/create-db.sql.template b/birdhouse/components/magpie/docker-entrypoint-initdb.d/create-db.sql.template similarity index 100% rename from birdhouse/config/magpie/docker-entrypoint-initdb.d/create-db.sql.template rename to birdhouse/components/magpie/docker-entrypoint-initdb.d/create-db.sql.template diff --git a/birdhouse/config/magpie/magpie.ini.template b/birdhouse/components/magpie/magpie.ini.template similarity index 100% rename from birdhouse/config/magpie/magpie.ini.template rename to birdhouse/components/magpie/magpie.ini.template diff --git a/birdhouse/config/magpie/permissions.cfg.template b/birdhouse/components/magpie/permissions.cfg.template similarity index 100% rename from birdhouse/config/magpie/permissions.cfg.template rename to birdhouse/components/magpie/permissions.cfg.template diff --git a/birdhouse/config/magpie/postgres-credentials.env.template b/birdhouse/components/magpie/postgres-credentials.env.template similarity index 100% rename from birdhouse/config/magpie/postgres-credentials.env.template rename to birdhouse/components/magpie/postgres-credentials.env.template diff --git a/birdhouse/config/magpie/providers.cfg.template b/birdhouse/components/magpie/providers.cfg.template similarity index 100% rename from birdhouse/config/magpie/providers.cfg.template rename to birdhouse/components/magpie/providers.cfg.template diff --git a/birdhouse/config/mongodb/default.env b/birdhouse/components/mongodb/default.env similarity index 100% rename from birdhouse/config/mongodb/default.env rename to birdhouse/components/mongodb/default.env diff --git a/birdhouse/config/mongodb/docker-compose-extra.yml b/birdhouse/components/mongodb/docker-compose-extra.yml similarity index 100% rename from birdhouse/config/mongodb/docker-compose-extra.yml rename to birdhouse/components/mongodb/docker-compose-extra.yml diff --git a/birdhouse/config/portainer/.gitignore b/birdhouse/components/portainer/.gitignore similarity index 100% rename from birdhouse/config/portainer/.gitignore rename to birdhouse/components/portainer/.gitignore diff --git a/birdhouse/config/portainer/config/proxy/conf.extra-service.d/portainer.conf.template b/birdhouse/components/portainer/config/proxy/conf.extra-service.d/portainer.conf.template similarity index 100% rename from birdhouse/config/portainer/config/proxy/conf.extra-service.d/portainer.conf.template rename to birdhouse/components/portainer/config/proxy/conf.extra-service.d/portainer.conf.template diff --git a/birdhouse/components/portainer/config/proxy/docker-compose-extra.yml b/birdhouse/components/portainer/config/proxy/docker-compose-extra.yml new file mode 100644 index 000000000..a881165a6 --- /dev/null +++ b/birdhouse/components/portainer/config/proxy/docker-compose-extra.yml @@ -0,0 +1,5 @@ +version: "3.4" +services: + proxy: + volumes: + - ./components/portainer/config/proxy/conf.extra-service.d:/etc/nginx/conf.extra-service.d/portainer:ro diff --git a/birdhouse/config/portainer/docker-compose-extra.yml b/birdhouse/components/portainer/docker-compose-extra.yml similarity index 100% rename from birdhouse/config/portainer/docker-compose-extra.yml rename to birdhouse/components/portainer/docker-compose-extra.yml diff --git a/birdhouse/config/postgres/.gitignore b/birdhouse/components/postgres/.gitignore similarity index 100% rename from birdhouse/config/postgres/.gitignore rename to birdhouse/components/postgres/.gitignore diff --git a/birdhouse/config/postgres/credentials.env.template b/birdhouse/components/postgres/credentials.env.template similarity index 100% rename from birdhouse/config/postgres/credentials.env.template rename to birdhouse/components/postgres/credentials.env.template diff --git a/birdhouse/config/postgres/default.env b/birdhouse/components/postgres/default.env similarity index 100% rename from birdhouse/config/postgres/default.env rename to birdhouse/components/postgres/default.env diff --git a/birdhouse/config/postgres/docker-compose-extra.yml b/birdhouse/components/postgres/docker-compose-extra.yml similarity index 83% rename from birdhouse/config/postgres/docker-compose-extra.yml rename to birdhouse/components/postgres/docker-compose-extra.yml index db004bf7f..8bdfca329 100644 --- a/birdhouse/config/postgres/docker-compose-extra.yml +++ b/birdhouse/components/postgres/docker-compose-extra.yml @@ -14,11 +14,11 @@ services: # ports: # should not be exposed directly, enable 'optional-components/database-external-ports' as needed volumes: - ${POSTGRES_DATA_DIR}:/var/lib/postgresql/data/pgdata - - ./config/postgres/postgres-setup.sh:/postgres-setup.sh + - ./components/postgres/postgres-setup.sh:/postgres-setup.sh environment: PGDATA: /var/lib/postgresql/data/pgdata POSTGRES_DATABASES_TO_CREATE: ${POSTGRES_DATABASES_TO_CREATE} env_file: - - ./config/postgres/credentials.env + - ./components/postgres/credentials.env restart: always logging: *default-logging diff --git a/birdhouse/config/postgres/postgres-setup.sh b/birdhouse/components/postgres/postgres-setup.sh similarity index 100% rename from birdhouse/config/postgres/postgres-setup.sh rename to birdhouse/components/postgres/postgres-setup.sh diff --git a/birdhouse/config/proxy/.gitignore b/birdhouse/components/proxy/.gitignore similarity index 100% rename from birdhouse/config/proxy/.gitignore rename to birdhouse/components/proxy/.gitignore diff --git a/birdhouse/config/proxy/conf.d/.gitignore b/birdhouse/components/proxy/conf.d/.gitignore similarity index 100% rename from birdhouse/config/proxy/conf.d/.gitignore rename to birdhouse/components/proxy/conf.d/.gitignore diff --git a/birdhouse/config/proxy/conf.d/all-services.include.template b/birdhouse/components/proxy/conf.d/all-services.include.template similarity index 100% rename from birdhouse/config/proxy/conf.d/all-services.include.template rename to birdhouse/components/proxy/conf.d/all-services.include.template diff --git a/birdhouse/config/proxy/conf.d/cors.include b/birdhouse/components/proxy/conf.d/cors.include similarity index 100% rename from birdhouse/config/proxy/conf.d/cors.include rename to birdhouse/components/proxy/conf.d/cors.include diff --git a/birdhouse/config/proxy/conf.d/frontend.conf.template b/birdhouse/components/proxy/conf.d/frontend.conf.template similarity index 100% rename from birdhouse/config/proxy/conf.d/frontend.conf.template rename to birdhouse/components/proxy/conf.d/frontend.conf.template diff --git a/birdhouse/config/proxy/conf.d/redirect-to-https.include b/birdhouse/components/proxy/conf.d/redirect-to-https.include similarity index 100% rename from birdhouse/config/proxy/conf.d/redirect-to-https.include rename to birdhouse/components/proxy/conf.d/redirect-to-https.include diff --git a/birdhouse/config/proxy/default.env b/birdhouse/components/proxy/default.env similarity index 100% rename from birdhouse/config/proxy/default.env rename to birdhouse/components/proxy/default.env diff --git a/birdhouse/config/proxy/docker-compose-extra.yml b/birdhouse/components/proxy/docker-compose-extra.yml similarity index 76% rename from birdhouse/config/proxy/docker-compose-extra.yml rename to birdhouse/components/proxy/docker-compose-extra.yml index dfa629e68..3cad6523e 100644 --- a/birdhouse/config/proxy/docker-compose-extra.yml +++ b/birdhouse/components/proxy/docker-compose-extra.yml @@ -15,10 +15,10 @@ services: - "80:80" - "443:${PROXY_SECURE_PORT}" volumes: - - ./config/proxy/conf.d:/etc/nginx/conf.d - - ./config/proxy/nginx.conf:/etc/nginx/nginx.conf + - ./components/proxy/conf.d:/etc/nginx/conf.d + - ./components/proxy/nginx.conf:/etc/nginx/nginx.conf - ${SSL_CERTIFICATE}:/etc/nginx/cert.pem - - ./config/proxy/static:/static + - ./components/proxy/static:/static environment: # https://github.com/bird-house/birdhouse-deploy/issues/198 REQUESTS_CA_BUNDLE: /etc/ssl/certs/ca-certificates.crt diff --git a/birdhouse/config/proxy/nginx.conf.template b/birdhouse/components/proxy/nginx.conf.template similarity index 100% rename from birdhouse/config/proxy/nginx.conf.template rename to birdhouse/components/proxy/nginx.conf.template diff --git a/birdhouse/config/proxy/pre-docker-compose-up b/birdhouse/components/proxy/pre-docker-compose-up similarity index 100% rename from birdhouse/config/proxy/pre-docker-compose-up rename to birdhouse/components/proxy/pre-docker-compose-up diff --git a/birdhouse/config/raven/.gitignore b/birdhouse/components/raven/.gitignore similarity index 100% rename from birdhouse/config/raven/.gitignore rename to birdhouse/components/raven/.gitignore diff --git a/birdhouse/config/raven/config/canarie-api/canarie_api_monitoring.py.template b/birdhouse/components/raven/config/canarie-api/canarie_api_monitoring.py.template similarity index 100% rename from birdhouse/config/raven/config/canarie-api/canarie_api_monitoring.py.template rename to birdhouse/components/raven/config/canarie-api/canarie_api_monitoring.py.template diff --git a/birdhouse/components/raven/config/canarie-api/docker-compose-extra.yml b/birdhouse/components/raven/config/canarie-api/docker-compose-extra.yml new file mode 100644 index 000000000..e5b51c6f3 --- /dev/null +++ b/birdhouse/components/raven/config/canarie-api/docker-compose-extra.yml @@ -0,0 +1,5 @@ +version: "3.4" +services: + proxy: + volumes: + - ./components/raven/config/canarie-api/canarie_api_monitoring.py:${CANARIE_MONITORING_EXTRA_CONF_DIR}/raven_canarie_api_monitoring.py:ro diff --git a/birdhouse/components/raven/config/magpie/docker-compose-extra.yml b/birdhouse/components/raven/config/magpie/docker-compose-extra.yml new file mode 100644 index 000000000..0dfe768c6 --- /dev/null +++ b/birdhouse/components/raven/config/magpie/docker-compose-extra.yml @@ -0,0 +1,5 @@ +version: "3.4" +services: + magpie: + volumes: + - ./components/raven/config/magpie/providers.cfg:${MAGPIE_PROVIDERS_CONFIG_PATH}/raven-providers.cfg:ro diff --git a/birdhouse/config/raven/config/magpie/providers.cfg.template b/birdhouse/components/raven/config/magpie/providers.cfg.template similarity index 100% rename from birdhouse/config/raven/config/magpie/providers.cfg.template rename to birdhouse/components/raven/config/magpie/providers.cfg.template diff --git a/birdhouse/config/raven/config/wps_outputs-volume/docker-compose-extra.yml b/birdhouse/components/raven/config/wps_outputs-volume/docker-compose-extra.yml similarity index 100% rename from birdhouse/config/raven/config/wps_outputs-volume/docker-compose-extra.yml rename to birdhouse/components/raven/config/wps_outputs-volume/docker-compose-extra.yml diff --git a/birdhouse/config/raven/default.env b/birdhouse/components/raven/default.env similarity index 94% rename from birdhouse/config/raven/default.env rename to birdhouse/components/raven/default.env index 74d5093e3..86d1e7073 100644 --- a/birdhouse/config/raven/default.env +++ b/birdhouse/components/raven/default.env @@ -23,8 +23,8 @@ export WEAVER_WPS_PROVIDERS=" # add any component that this component requires to run COMPONENT_DEPENDENCIES=" - ./config/postgres - ./config/wps_outputs-volume + ./components/postgres + ./components/wps_outputs-volume " OPTIONAL_VARS=" diff --git a/birdhouse/config/raven/docker-compose-extra.yml b/birdhouse/components/raven/docker-compose-extra.yml similarity index 89% rename from birdhouse/config/raven/docker-compose-extra.yml rename to birdhouse/components/raven/docker-compose-extra.yml index 920f1b6dc..25d0d3a79 100644 --- a/birdhouse/config/raven/docker-compose-extra.yml +++ b/birdhouse/components/raven/docker-compose-extra.yml @@ -15,7 +15,7 @@ services: PYWPS_CFG: /wps.cfg GEO_URL: "${RAVEN_GEO_URL}" volumes: - - ./config/raven/wps.cfg:/wps.cfg + - ./components/raven/wps.cfg:/wps.cfg - /tmp restart: always logging: *default-logging diff --git a/birdhouse/config/raven/post-docker-compose-up b/birdhouse/components/raven/post-docker-compose-up similarity index 100% rename from birdhouse/config/raven/post-docker-compose-up rename to birdhouse/components/raven/post-docker-compose-up diff --git a/birdhouse/config/raven/service-config.json.template b/birdhouse/components/raven/service-config.json.template similarity index 100% rename from birdhouse/config/raven/service-config.json.template rename to birdhouse/components/raven/service-config.json.template diff --git a/birdhouse/config/raven/wps.cfg.template b/birdhouse/components/raven/wps.cfg.template similarity index 100% rename from birdhouse/config/raven/wps.cfg.template rename to birdhouse/components/raven/wps.cfg.template diff --git a/birdhouse/config/thredds/.gitignore b/birdhouse/components/thredds/.gitignore similarity index 100% rename from birdhouse/config/thredds/.gitignore rename to birdhouse/components/thredds/.gitignore diff --git a/birdhouse/config/thredds/catalog.xml.template b/birdhouse/components/thredds/catalog.xml.template similarity index 100% rename from birdhouse/config/thredds/catalog.xml.template rename to birdhouse/components/thredds/catalog.xml.template diff --git a/birdhouse/config/thredds/config/canarie-api/canarie_api_monitoring.py.template b/birdhouse/components/thredds/config/canarie-api/canarie_api_monitoring.py.template similarity index 100% rename from birdhouse/config/thredds/config/canarie-api/canarie_api_monitoring.py.template rename to birdhouse/components/thredds/config/canarie-api/canarie_api_monitoring.py.template diff --git a/birdhouse/components/thredds/config/canarie-api/docker-compose-extra.yml b/birdhouse/components/thredds/config/canarie-api/docker-compose-extra.yml new file mode 100644 index 000000000..c02523e54 --- /dev/null +++ b/birdhouse/components/thredds/config/canarie-api/docker-compose-extra.yml @@ -0,0 +1,5 @@ +version: "3.4" +services: + proxy: + volumes: + - ./components/thredds/config/canarie-api/canarie_api_monitoring.py:${CANARIE_MONITORING_EXTRA_CONF_DIR}/thredds_canarie_api_monitoring.py:ro diff --git a/birdhouse/components/thredds/config/magpie/docker-compose-extra.yml b/birdhouse/components/thredds/config/magpie/docker-compose-extra.yml new file mode 100644 index 000000000..c559273be --- /dev/null +++ b/birdhouse/components/thredds/config/magpie/docker-compose-extra.yml @@ -0,0 +1,5 @@ +version: "3.4" +services: + magpie: + volumes: + - ./components/thredds/config/magpie/providers.cfg:${MAGPIE_PROVIDERS_CONFIG_PATH}/thredds-providers.cfg:ro diff --git a/birdhouse/config/thredds/config/magpie/providers.cfg.template b/birdhouse/components/thredds/config/magpie/providers.cfg.template similarity index 100% rename from birdhouse/config/thredds/config/magpie/providers.cfg.template rename to birdhouse/components/thredds/config/magpie/providers.cfg.template diff --git a/birdhouse/config/thredds/config/proxy/conf.extra-service.d/thredds.conf.template b/birdhouse/components/thredds/config/proxy/conf.extra-service.d/thredds.conf.template similarity index 100% rename from birdhouse/config/thredds/config/proxy/conf.extra-service.d/thredds.conf.template rename to birdhouse/components/thredds/config/proxy/conf.extra-service.d/thredds.conf.template diff --git a/birdhouse/components/thredds/config/proxy/docker-compose-extra.yml b/birdhouse/components/thredds/config/proxy/docker-compose-extra.yml new file mode 100644 index 000000000..803512124 --- /dev/null +++ b/birdhouse/components/thredds/config/proxy/docker-compose-extra.yml @@ -0,0 +1,7 @@ +version: "3.4" +services: + proxy: + volumes: + - ./components/thredds/config/proxy/conf.extra-service.d:/etc/nginx/conf.extra-service.d/thredds:ro + links: + - thredds diff --git a/birdhouse/config/thredds/default.env b/birdhouse/components/thredds/default.env similarity index 100% rename from birdhouse/config/thredds/default.env rename to birdhouse/components/thredds/default.env diff --git a/birdhouse/config/thredds/docker-compose-extra.yml b/birdhouse/components/thredds/docker-compose-extra.yml similarity index 71% rename from birdhouse/config/thredds/docker-compose-extra.yml rename to birdhouse/components/thredds/docker-compose-extra.yml index 8ae7735e9..b4ef46ab1 100644 --- a/birdhouse/config/thredds/docker-compose-extra.yml +++ b/birdhouse/components/thredds/docker-compose-extra.yml @@ -12,7 +12,7 @@ services: image: ${THREDDS_IMAGE} container_name: thredds env_file: - - ./config/thredds/thredds.env + - ./components/thredds/thredds.env environment: # for reconstructing proper URL back to user when Thredds behind proxy # because Twitcher eats the "Host" http header set by Nginx @@ -22,10 +22,10 @@ services: - ${DATA_PERSIST_ROOT}/datasets:/pavics-data - ${DATA_PERSIST_ROOT}/ncml:/pavics-ncml - wps_outputs:/pavics-data/wps_outputs - - ./config/thredds/catalog.xml:/usr/local/tomcat/content/thredds/catalog.xml:ro - - ./config/thredds/threddsConfig.xml:/usr/local/tomcat/content/thredds/threddsConfig.xml:ro - - ./config/thredds/wmsConfig.xml:/usr/local/tomcat/content/thredds/wmsConfig.xml:ro - - ./config/thredds/entrypointwrapper:/entrypointwrapper:ro + - ./components/thredds/catalog.xml:/usr/local/tomcat/content/thredds/catalog.xml:ro + - ./components/thredds/threddsConfig.xml:/usr/local/tomcat/content/thredds/threddsConfig.xml:ro + - ./components/thredds/wmsConfig.xml:/usr/local/tomcat/content/thredds/wmsConfig.xml:ro + - ./components/thredds/entrypointwrapper:/entrypointwrapper:ro entrypoint: /entrypointwrapper restart: always logging: *default-logging diff --git a/birdhouse/config/thredds/entrypointwrapper b/birdhouse/components/thredds/entrypointwrapper similarity index 100% rename from birdhouse/config/thredds/entrypointwrapper rename to birdhouse/components/thredds/entrypointwrapper diff --git a/birdhouse/config/thredds/pre-docker-compose-up b/birdhouse/components/thredds/pre-docker-compose-up similarity index 100% rename from birdhouse/config/thredds/pre-docker-compose-up rename to birdhouse/components/thredds/pre-docker-compose-up diff --git a/birdhouse/config/thredds/service-config.json.template b/birdhouse/components/thredds/service-config.json.template similarity index 100% rename from birdhouse/config/thredds/service-config.json.template rename to birdhouse/components/thredds/service-config.json.template diff --git a/birdhouse/config/thredds/thredds.env b/birdhouse/components/thredds/thredds.env similarity index 100% rename from birdhouse/config/thredds/thredds.env rename to birdhouse/components/thredds/thredds.env diff --git a/birdhouse/config/thredds/threddsConfig.xml.template b/birdhouse/components/thredds/threddsConfig.xml.template similarity index 100% rename from birdhouse/config/thredds/threddsConfig.xml.template rename to birdhouse/components/thredds/threddsConfig.xml.template diff --git a/birdhouse/config/thredds/wmsConfig.xml b/birdhouse/components/thredds/wmsConfig.xml similarity index 100% rename from birdhouse/config/thredds/wmsConfig.xml rename to birdhouse/components/thredds/wmsConfig.xml diff --git a/birdhouse/config/twitcher/.gitignore b/birdhouse/components/twitcher/.gitignore similarity index 100% rename from birdhouse/config/twitcher/.gitignore rename to birdhouse/components/twitcher/.gitignore diff --git a/birdhouse/config/twitcher/config/canarie-api/canarie_api_monitoring.py.template b/birdhouse/components/twitcher/config/canarie-api/canarie_api_monitoring.py.template similarity index 100% rename from birdhouse/config/twitcher/config/canarie-api/canarie_api_monitoring.py.template rename to birdhouse/components/twitcher/config/canarie-api/canarie_api_monitoring.py.template diff --git a/birdhouse/components/twitcher/config/canarie-api/docker-compose-extra.yml b/birdhouse/components/twitcher/config/canarie-api/docker-compose-extra.yml new file mode 100644 index 000000000..e23266c62 --- /dev/null +++ b/birdhouse/components/twitcher/config/canarie-api/docker-compose-extra.yml @@ -0,0 +1,5 @@ +version: "3.4" +services: + proxy: + volumes: + - ./components/twitcher/config/canarie-api/canarie_api_monitoring.py:${CANARIE_MONITORING_EXTRA_CONF_DIR}/twitcher_canarie_api_monitoring.py:ro diff --git a/birdhouse/config/twitcher/config/proxy/conf.extra-service.d/twitcher.conf.template b/birdhouse/components/twitcher/config/proxy/conf.extra-service.d/twitcher.conf.template similarity index 100% rename from birdhouse/config/twitcher/config/proxy/conf.extra-service.d/twitcher.conf.template rename to birdhouse/components/twitcher/config/proxy/conf.extra-service.d/twitcher.conf.template diff --git a/birdhouse/components/twitcher/config/proxy/docker-compose-extra.yml b/birdhouse/components/twitcher/config/proxy/docker-compose-extra.yml new file mode 100644 index 000000000..a175ae6b4 --- /dev/null +++ b/birdhouse/components/twitcher/config/proxy/docker-compose-extra.yml @@ -0,0 +1,5 @@ +version: "3.4" +services: + proxy: + volumes: + - ./components/twitcher/config/proxy/conf.extra-service.d:/etc/nginx/conf.extra-service.d/twitcher:ro diff --git a/birdhouse/config/twitcher/default.env b/birdhouse/components/twitcher/default.env similarity index 97% rename from birdhouse/config/twitcher/default.env rename to birdhouse/components/twitcher/default.env index 6319ddeed..82fb4ff67 100644 --- a/birdhouse/config/twitcher/default.env +++ b/birdhouse/components/twitcher/default.env @@ -30,5 +30,5 @@ OPTIONAL_VARS=" # add any component that this component requires to run COMPONENT_DEPENDENCIES=" - ./config/magpie + ./components/magpie " diff --git a/birdhouse/config/twitcher/docker-compose-extra.yml b/birdhouse/components/twitcher/docker-compose-extra.yml similarity index 88% rename from birdhouse/config/twitcher/docker-compose-extra.yml rename to birdhouse/components/twitcher/docker-compose-extra.yml index 0fd79afaa..2a982ad30 100644 --- a/birdhouse/config/twitcher/docker-compose-extra.yml +++ b/birdhouse/components/twitcher/docker-compose-extra.yml @@ -20,14 +20,14 @@ services: # Other Magpie components are unknown and ignored by Twitcher itself. MAGPIE_PROVIDERS_CONFIG_PATH: "/opt/birdhouse/src/magpie/config" env_file: - - ./config/magpie/postgres-credentials.env + - ./components/magpie/postgres-credentials.env depends_on: - postgres-magpie - magpie links: - postgres-magpie volumes: - - ./config/twitcher/twitcher.ini:/opt/birdhouse/src/twitcher/twitcher.ini + - ./components/twitcher/twitcher.ini:/opt/birdhouse/src/twitcher/twitcher.ini command: "pserve /opt/birdhouse/src/twitcher/twitcher.ini" restart: always logging: *default-logging diff --git a/birdhouse/config/twitcher/twitcher.ini.template b/birdhouse/components/twitcher/twitcher.ini.template similarity index 100% rename from birdhouse/config/twitcher/twitcher.ini.template rename to birdhouse/components/twitcher/twitcher.ini.template diff --git a/birdhouse/components/weaver/docker-compose-extra.yml b/birdhouse/components/weaver/docker-compose-extra.yml index d4933d4c5..ec3afc4fb 100644 --- a/birdhouse/components/weaver/docker-compose-extra.yml +++ b/birdhouse/components/weaver/docker-compose-extra.yml @@ -21,7 +21,7 @@ services: HOSTNAME: ${PAVICS_FQDN} FORWARDED_ALLOW_IPS: "*" #env_file: - # - ./config/mongodb/credentials.env + # - ./components/mongodb/credentials.env depends_on: - weaver-mongodb links: @@ -47,7 +47,7 @@ services: environment: DOCKER_HOST: "tcp://docker-proxy:2375" #env_file: - # - ./config/mongodb/credentials.env + # - ./components/mongodb/credentials.env depends_on: # no 'default' network here such that the worker is not accessible from proxy/http - weaver-mongodb diff --git a/birdhouse/config/wps_outputs-volume/.gitignore b/birdhouse/components/wps_outputs-volume/.gitignore similarity index 100% rename from birdhouse/config/wps_outputs-volume/.gitignore rename to birdhouse/components/wps_outputs-volume/.gitignore diff --git a/birdhouse/config/wps_outputs-volume/config/canarie-api/canarie_api_monitoring.py.template b/birdhouse/components/wps_outputs-volume/config/canarie-api/canarie_api_monitoring.py.template similarity index 100% rename from birdhouse/config/wps_outputs-volume/config/canarie-api/canarie_api_monitoring.py.template rename to birdhouse/components/wps_outputs-volume/config/canarie-api/canarie_api_monitoring.py.template diff --git a/birdhouse/components/wps_outputs-volume/config/canarie-api/docker-compose-extra.yml b/birdhouse/components/wps_outputs-volume/config/canarie-api/docker-compose-extra.yml new file mode 100644 index 000000000..e2de96762 --- /dev/null +++ b/birdhouse/components/wps_outputs-volume/config/canarie-api/docker-compose-extra.yml @@ -0,0 +1,5 @@ +version: "3.4" +services: + proxy: + volumes: + - ./components/wps_outputs-volume/config/canarie-api/canarie_api_monitoring.py:${CANARIE_MONITORING_EXTRA_CONF_DIR}/wps_outputs-volume_canarie_api_monitoring.py:ro diff --git a/birdhouse/config/wps_outputs-volume/config/proxy/conf.extra-service.d/wps_outputs-volume.conf.template b/birdhouse/components/wps_outputs-volume/config/proxy/conf.extra-service.d/wps_outputs-volume.conf.template similarity index 100% rename from birdhouse/config/wps_outputs-volume/config/proxy/conf.extra-service.d/wps_outputs-volume.conf.template rename to birdhouse/components/wps_outputs-volume/config/proxy/conf.extra-service.d/wps_outputs-volume.conf.template diff --git a/birdhouse/components/wps_outputs-volume/config/proxy/docker-compose-extra.yml b/birdhouse/components/wps_outputs-volume/config/proxy/docker-compose-extra.yml new file mode 100644 index 000000000..95e2dfa7e --- /dev/null +++ b/birdhouse/components/wps_outputs-volume/config/proxy/docker-compose-extra.yml @@ -0,0 +1,6 @@ +version: "3.4" +services: + proxy: + volumes: + - ./components/wps_outputs-volume/config/proxy/conf.extra-service.d:/etc/nginx/conf.extra-service.d/wps_outputs-volume:ro + - wps_outputs:/pavics-data/wps_outputs diff --git a/birdhouse/config/wps_outputs-volume/default.env b/birdhouse/components/wps_outputs-volume/default.env similarity index 100% rename from birdhouse/config/wps_outputs-volume/default.env rename to birdhouse/components/wps_outputs-volume/default.env diff --git a/birdhouse/config/wps_outputs-volume/docker-compose-extra.yml b/birdhouse/components/wps_outputs-volume/docker-compose-extra.yml similarity index 100% rename from birdhouse/config/wps_outputs-volume/docker-compose-extra.yml rename to birdhouse/components/wps_outputs-volume/docker-compose-extra.yml diff --git a/birdhouse/config/.gitignore b/birdhouse/config/.gitignore deleted file mode 100644 index 948f24250..000000000 --- a/birdhouse/config/.gitignore +++ /dev/null @@ -1,12 +0,0 @@ -# Old paths. Keep these so that old config files remain uncommittable after updates. -postgres-magpie/ -catalog/ -frontend/ -malleefowl/ -ncops/ -ncwms2/ -project-api/ -solr/ -phoenix/ -# moved to deprecated-components -flyingpigeon/ diff --git a/birdhouse/config/canarie-api/config/proxy/docker-compose-extra.yml b/birdhouse/config/canarie-api/config/proxy/docker-compose-extra.yml deleted file mode 100644 index 173baf53b..000000000 --- a/birdhouse/config/canarie-api/config/proxy/docker-compose-extra.yml +++ /dev/null @@ -1,11 +0,0 @@ -version: "3.4" -services: - proxy: - volumes: - - ./config/canarie-api/config/proxy/conf.extra-service.d:/etc/nginx/conf.extra-service.d/canarie-api:ro - - ./config/canarie-api/docker_configuration.py:/config/docker_configuration.py - - ./config/canarie-api/entrypoint:/entrypoint:ro - environment: - CANARIE_API_CONFIG_FN: /config/docker_configuration.py - CANARIE_MONITORING_EXTRA_CONF_DIR: ${CANARIE_MONITORING_EXTRA_CONF_DIR} - entrypoint: /entrypoint diff --git a/birdhouse/config/finch/config/canarie-api/docker-compose-extra.yml b/birdhouse/config/finch/config/canarie-api/docker-compose-extra.yml deleted file mode 100644 index 94f648a3e..000000000 --- a/birdhouse/config/finch/config/canarie-api/docker-compose-extra.yml +++ /dev/null @@ -1,5 +0,0 @@ -version: "3.4" -services: - proxy: - volumes: - - ./config/finch/config/canarie-api/canarie_api_monitoring.py:${CANARIE_MONITORING_EXTRA_CONF_DIR}/finch_canarie_api_monitoring.py:ro diff --git a/birdhouse/config/finch/config/magpie/docker-compose-extra.yml b/birdhouse/config/finch/config/magpie/docker-compose-extra.yml deleted file mode 100644 index 91381eb64..000000000 --- a/birdhouse/config/finch/config/magpie/docker-compose-extra.yml +++ /dev/null @@ -1,5 +0,0 @@ -version: "3.4" -services: - magpie: - volumes: - - ./config/finch/config/magpie/providers.cfg:${MAGPIE_PROVIDERS_CONFIG_PATH}/finch-providers.cfg:ro diff --git a/birdhouse/config/geoserver/config/canarie-api/docker-compose-extra.yml b/birdhouse/config/geoserver/config/canarie-api/docker-compose-extra.yml deleted file mode 100644 index 88f777636..000000000 --- a/birdhouse/config/geoserver/config/canarie-api/docker-compose-extra.yml +++ /dev/null @@ -1,5 +0,0 @@ -version: "3.4" -services: - proxy: - volumes: - - ./config/geoserver/config/canarie-api/canarie_api_monitoring.py:${CANARIE_MONITORING_EXTRA_CONF_DIR}/geoserver_canarie_api_monitoring.py:ro diff --git a/birdhouse/config/geoserver/config/magpie/docker-compose-extra.yml b/birdhouse/config/geoserver/config/magpie/docker-compose-extra.yml deleted file mode 100644 index de0a96d6b..000000000 --- a/birdhouse/config/geoserver/config/magpie/docker-compose-extra.yml +++ /dev/null @@ -1,5 +0,0 @@ -version: "3.4" -services: - magpie: - volumes: - - ./config/geoserver/config/magpie/providers.cfg:${MAGPIE_PROVIDERS_CONFIG_PATH}/geoserver-providers.cfg:ro diff --git a/birdhouse/config/geoserver/config/magpie/providers.cfg b/birdhouse/config/geoserver/config/magpie/providers.cfg deleted file mode 100644 index 1502cee65..000000000 --- a/birdhouse/config/geoserver/config/magpie/providers.cfg +++ /dev/null @@ -1,12 +0,0 @@ -providers: - geoserver: - # below URL is only used to fill in the required location in Magpie - # actual auth validation is performed with Twitcher 'verify' endpoint without accessing this proxied URL - url: http://proxy:80 - title: geoserver - type: geoserver - configuration: - wfs: true - wms: true - wps: false - api: true diff --git a/birdhouse/config/geoserver/config/proxy/docker-compose-extra.yml b/birdhouse/config/geoserver/config/proxy/docker-compose-extra.yml deleted file mode 100644 index 53c5ff3a1..000000000 --- a/birdhouse/config/geoserver/config/proxy/docker-compose-extra.yml +++ /dev/null @@ -1,5 +0,0 @@ -version: "3.4" -services: - proxy: - volumes: - - ./config/geoserver/config/proxy/conf.extra-service.d:/etc/nginx/conf.extra-service.d/geoserver:ro diff --git a/birdhouse/config/hummingbird/config/canarie-api/docker-compose-extra.yml b/birdhouse/config/hummingbird/config/canarie-api/docker-compose-extra.yml deleted file mode 100644 index 4b1c29405..000000000 --- a/birdhouse/config/hummingbird/config/canarie-api/docker-compose-extra.yml +++ /dev/null @@ -1,5 +0,0 @@ -version: "3.4" -services: - proxy: - volumes: - - ./config/hummingbird/config/canarie-api/canarie_api_monitoring.py:${CANARIE_MONITORING_EXTRA_CONF_DIR}/hummingbird_canarie_api_monitoring.py:ro diff --git a/birdhouse/config/hummingbird/config/magpie/docker-compose-extra.yml b/birdhouse/config/hummingbird/config/magpie/docker-compose-extra.yml deleted file mode 100644 index cbf5eb312..000000000 --- a/birdhouse/config/hummingbird/config/magpie/docker-compose-extra.yml +++ /dev/null @@ -1,5 +0,0 @@ -version: "3.4" -services: - magpie: - volumes: - - ./config/hummingbird/config/magpie/providers.cfg:${MAGPIE_PROVIDERS_CONFIG_PATH}/hummingbird-providers.cfg:ro diff --git a/birdhouse/config/jupyterhub/config/canarie-api/docker-compose-extra.yml b/birdhouse/config/jupyterhub/config/canarie-api/docker-compose-extra.yml deleted file mode 100644 index 08aa88ca6..000000000 --- a/birdhouse/config/jupyterhub/config/canarie-api/docker-compose-extra.yml +++ /dev/null @@ -1,5 +0,0 @@ -version: "3.4" -services: - proxy: - volumes: - - ./config/jupyterhub/config/canarie-api/canarie_api_monitoring.py:${CANARIE_MONITORING_EXTRA_CONF_DIR}/jupyterhub_canarie_api_monitoring.py:ro diff --git a/birdhouse/config/jupyterhub/config/magpie/docker-compose-extra.yml b/birdhouse/config/jupyterhub/config/magpie/docker-compose-extra.yml deleted file mode 100644 index a4ed9524c..000000000 --- a/birdhouse/config/jupyterhub/config/magpie/docker-compose-extra.yml +++ /dev/null @@ -1,5 +0,0 @@ -version: "3.4" -services: - magpie: - volumes: - - ./config/jupyterhub/config/magpie/providers.cfg:${MAGPIE_PROVIDERS_CONFIG_PATH}/jupyter.cfg:ro diff --git a/birdhouse/config/jupyterhub/config/proxy/docker-compose-extra.yml b/birdhouse/config/jupyterhub/config/proxy/docker-compose-extra.yml deleted file mode 100644 index 4c2d38127..000000000 --- a/birdhouse/config/jupyterhub/config/proxy/docker-compose-extra.yml +++ /dev/null @@ -1,5 +0,0 @@ -version: "3.4" -services: - proxy: - volumes: - - ./config/jupyterhub/config/proxy/conf.extra-service.d:/etc/nginx/conf.extra-service.d/jupyterhub:ro diff --git a/birdhouse/config/magpie/config/canarie-api/docker-compose-extra.yml b/birdhouse/config/magpie/config/canarie-api/docker-compose-extra.yml deleted file mode 100644 index c5f94a305..000000000 --- a/birdhouse/config/magpie/config/canarie-api/docker-compose-extra.yml +++ /dev/null @@ -1,5 +0,0 @@ -version: "3.4" -services: - proxy: - volumes: - - ./config/magpie/config/canarie-api/canarie_api_monitoring.py:${CANARIE_MONITORING_EXTRA_CONF_DIR}/magpie_canarie_api_monitoring.py:ro diff --git a/birdhouse/config/magpie/config/proxy/docker-compose-extra.yml b/birdhouse/config/magpie/config/proxy/docker-compose-extra.yml deleted file mode 100644 index 763a6da9d..000000000 --- a/birdhouse/config/magpie/config/proxy/docker-compose-extra.yml +++ /dev/null @@ -1,5 +0,0 @@ -version: "3.4" -services: - proxy: - volumes: - - ./config/magpie/config/proxy/conf.extra-service.d:/etc/nginx/conf.extra-service.d/magpie:ro diff --git a/birdhouse/config/portainer/config/proxy/docker-compose-extra.yml b/birdhouse/config/portainer/config/proxy/docker-compose-extra.yml deleted file mode 100644 index a03465d8f..000000000 --- a/birdhouse/config/portainer/config/proxy/docker-compose-extra.yml +++ /dev/null @@ -1,5 +0,0 @@ -version: "3.4" -services: - proxy: - volumes: - - ./config/portainer/config/proxy/conf.extra-service.d:/etc/nginx/conf.extra-service.d/portainer:ro diff --git a/birdhouse/config/raven/config/canarie-api/docker-compose-extra.yml b/birdhouse/config/raven/config/canarie-api/docker-compose-extra.yml deleted file mode 100644 index d0d300e97..000000000 --- a/birdhouse/config/raven/config/canarie-api/docker-compose-extra.yml +++ /dev/null @@ -1,5 +0,0 @@ -version: "3.4" -services: - proxy: - volumes: - - ./config/raven/config/canarie-api/canarie_api_monitoring.py:${CANARIE_MONITORING_EXTRA_CONF_DIR}/raven_canarie_api_monitoring.py:ro diff --git a/birdhouse/config/raven/config/magpie/docker-compose-extra.yml b/birdhouse/config/raven/config/magpie/docker-compose-extra.yml deleted file mode 100644 index b870df7a2..000000000 --- a/birdhouse/config/raven/config/magpie/docker-compose-extra.yml +++ /dev/null @@ -1,5 +0,0 @@ -version: "3.4" -services: - magpie: - volumes: - - ./config/raven/config/magpie/providers.cfg:${MAGPIE_PROVIDERS_CONFIG_PATH}/raven-providers.cfg:ro diff --git a/birdhouse/config/thredds/config/canarie-api/docker-compose-extra.yml b/birdhouse/config/thredds/config/canarie-api/docker-compose-extra.yml deleted file mode 100644 index 1a50cc3d0..000000000 --- a/birdhouse/config/thredds/config/canarie-api/docker-compose-extra.yml +++ /dev/null @@ -1,5 +0,0 @@ -version: "3.4" -services: - proxy: - volumes: - - ./config/thredds/config/canarie-api/canarie_api_monitoring.py:${CANARIE_MONITORING_EXTRA_CONF_DIR}/thredds_canarie_api_monitoring.py:ro diff --git a/birdhouse/config/thredds/config/magpie/docker-compose-extra.yml b/birdhouse/config/thredds/config/magpie/docker-compose-extra.yml deleted file mode 100644 index 0d9a26632..000000000 --- a/birdhouse/config/thredds/config/magpie/docker-compose-extra.yml +++ /dev/null @@ -1,5 +0,0 @@ -version: "3.4" -services: - magpie: - volumes: - - ./config/thredds/config/magpie/providers.cfg:${MAGPIE_PROVIDERS_CONFIG_PATH}/thredds-providers.cfg:ro diff --git a/birdhouse/config/thredds/config/proxy/docker-compose-extra.yml b/birdhouse/config/thredds/config/proxy/docker-compose-extra.yml deleted file mode 100644 index 6bcb99497..000000000 --- a/birdhouse/config/thredds/config/proxy/docker-compose-extra.yml +++ /dev/null @@ -1,7 +0,0 @@ -version: "3.4" -services: - proxy: - volumes: - - ./config/thredds/config/proxy/conf.extra-service.d:/etc/nginx/conf.extra-service.d/thredds:ro - links: - - thredds diff --git a/birdhouse/config/twitcher/config/canarie-api/docker-compose-extra.yml b/birdhouse/config/twitcher/config/canarie-api/docker-compose-extra.yml deleted file mode 100644 index 44335000d..000000000 --- a/birdhouse/config/twitcher/config/canarie-api/docker-compose-extra.yml +++ /dev/null @@ -1,5 +0,0 @@ -version: "3.4" -services: - proxy: - volumes: - - ./config/twitcher/config/canarie-api/canarie_api_monitoring.py:${CANARIE_MONITORING_EXTRA_CONF_DIR}/twitcher_canarie_api_monitoring.py:ro diff --git a/birdhouse/config/twitcher/config/proxy/docker-compose-extra.yml b/birdhouse/config/twitcher/config/proxy/docker-compose-extra.yml deleted file mode 100644 index a03dcd41a..000000000 --- a/birdhouse/config/twitcher/config/proxy/docker-compose-extra.yml +++ /dev/null @@ -1,5 +0,0 @@ -version: "3.4" -services: - proxy: - volumes: - - ./config/twitcher/config/proxy/conf.extra-service.d:/etc/nginx/conf.extra-service.d/twitcher:ro diff --git a/birdhouse/config/wps_outputs-volume/config/canarie-api/docker-compose-extra.yml b/birdhouse/config/wps_outputs-volume/config/canarie-api/docker-compose-extra.yml deleted file mode 100644 index d95b8a227..000000000 --- a/birdhouse/config/wps_outputs-volume/config/canarie-api/docker-compose-extra.yml +++ /dev/null @@ -1,5 +0,0 @@ -version: "3.4" -services: - proxy: - volumes: - - ./config/wps_outputs-volume/config/canarie-api/canarie_api_monitoring.py:${CANARIE_MONITORING_EXTRA_CONF_DIR}/wps_outputs-volume_canarie_api_monitoring.py:ro diff --git a/birdhouse/config/wps_outputs-volume/config/proxy/docker-compose-extra.yml b/birdhouse/config/wps_outputs-volume/config/proxy/docker-compose-extra.yml deleted file mode 100644 index 5d2378963..000000000 --- a/birdhouse/config/wps_outputs-volume/config/proxy/docker-compose-extra.yml +++ /dev/null @@ -1,6 +0,0 @@ -version: "3.4" -services: - proxy: - volumes: - - ./config/wps_outputs-volume/config/proxy/conf.extra-service.d:/etc/nginx/conf.extra-service.d/wps_outputs-volume:ro - - wps_outputs:/pavics-data/wps_outputs diff --git a/birdhouse/default.env b/birdhouse/default.env index 086885ca3..c57c2cd96 100644 --- a/birdhouse/default.env +++ b/birdhouse/default.env @@ -44,17 +44,17 @@ or a custom web interface. " export DEFAULT_CONF_DIRS=' - ./config/proxy - ./config/canarie-api - ./config/geoserver - ./config/finch - ./config/raven - ./config/hummingbird - ./config/thredds - ./config/portainer - ./config/magpie - ./config/twitcher - ./config/jupyterhub + ./components/proxy + ./components/canarie-api + ./components/geoserver + ./components/finch + ./components/raven + ./components/hummingbird + ./components/thredds + ./components/portainer + ./components/magpie + ./components/twitcher + ./components/jupyterhub ' export USER_WORKSPACE_UID=1000 diff --git a/birdhouse/deprecated-components/catalog/default.env b/birdhouse/deprecated-components/catalog/default.env index baaa58bc1..c96f2ee2f 100644 --- a/birdhouse/deprecated-components/catalog/default.env +++ b/birdhouse/deprecated-components/catalog/default.env @@ -35,5 +35,5 @@ OPTIONAL_VARS=" # add any component that this component requires to run COMPONENT_DEPENDENCIES=" - ./config/postgres + ./components/postgres " diff --git a/birdhouse/deprecated-components/flyingpigeon/default.env b/birdhouse/deprecated-components/flyingpigeon/default.env index 4a842692d..7d6e9cc4c 100644 --- a/birdhouse/deprecated-components/flyingpigeon/default.env +++ b/birdhouse/deprecated-components/flyingpigeon/default.env @@ -14,8 +14,8 @@ export WEAVER_WPS_PROVIDERS=" # add any component that this component requires to run COMPONENT_DEPENDENCIES=" - ./config/postgres - ./config/wps_outputs-volume + ./components/postgres + ./components/wps_outputs-volume " OPTIONAL_VARS=" diff --git a/birdhouse/deprecated-components/frontend/default.env b/birdhouse/deprecated-components/frontend/default.env index 9785330d5..ebdd08354 100644 --- a/birdhouse/deprecated-components/frontend/default.env +++ b/birdhouse/deprecated-components/frontend/default.env @@ -1,7 +1,7 @@ # add any component that this component requires to run COMPONENT_DEPENDENCIES=" - ./config/ncwms2 - ./config/catalog - ./config/malleefowl + ./components/ncwms2 + ./components/catalog + ./components/malleefowl " diff --git a/birdhouse/deprecated-components/malleefowl/default.env b/birdhouse/deprecated-components/malleefowl/default.env index bc700764d..c69065bb2 100644 --- a/birdhouse/deprecated-components/malleefowl/default.env +++ b/birdhouse/deprecated-components/malleefowl/default.env @@ -15,9 +15,9 @@ export WEAVER_WPS_PROVIDERS=" # add any component that this component requires to run COMPONENT_DEPENDENCIES=" - ./config/postgres - ./config/wps_outputs-volume - ./config/data-volume + ./components/postgres + ./components/wps_outputs-volume + ./components/data-volume " OPTIONAL_VARS=" diff --git a/birdhouse/deprecated-components/ncops/default.env b/birdhouse/deprecated-components/ncops/default.env index 44882393d..d6453409b 100644 --- a/birdhouse/deprecated-components/ncops/default.env +++ b/birdhouse/deprecated-components/ncops/default.env @@ -1,5 +1,5 @@ # add any component that this component requires to run COMPONENT_DEPENDENCIES=" - ./config/geoserver + ./components/geoserver " diff --git a/birdhouse/deprecated-components/ncwms2/default.env b/birdhouse/deprecated-components/ncwms2/default.env index e49476b92..07339c1a9 100644 --- a/birdhouse/deprecated-components/ncwms2/default.env +++ b/birdhouse/deprecated-components/ncwms2/default.env @@ -13,5 +13,5 @@ OPTIONAL_VARS=" # add any component that this component requires to run COMPONENT_DEPENDENCIES=" - ./config/wps_outputs-volume + ./components/wps_outputs-volume " diff --git a/birdhouse/deprecated-components/phoenix/default.env b/birdhouse/deprecated-components/phoenix/default.env index abda35660..c503d81f4 100644 --- a/birdhouse/deprecated-components/phoenix/default.env +++ b/birdhouse/deprecated-components/phoenix/default.env @@ -18,9 +18,9 @@ OPTIONAL_VARS=" # add any component that this component requires to run COMPONENT_DEPENDENCIES=" - ./config/malleefowl - ./config/flyingpigeon - ./config/catalog - ./config/proxy - ./config/mongodb + ./components/malleefowl + ./components/flyingpigeon + ./components/catalog + ./components/proxy + ./components/mongodb " diff --git a/birdhouse/deprecated-components/project-api/default.env b/birdhouse/deprecated-components/project-api/default.env index 88f68e2d1..d38312d15 100644 --- a/birdhouse/deprecated-components/project-api/default.env +++ b/birdhouse/deprecated-components/project-api/default.env @@ -2,5 +2,5 @@ # add any component that this component requires to run COMPONENT_DEPENDENCIES=" - ./config/postgres + ./components/postgres " diff --git a/birdhouse/deprecated-components/project-api/docker-compose-extra.yml b/birdhouse/deprecated-components/project-api/docker-compose-extra.yml index 3f3545f82..7053da9f6 100644 --- a/birdhouse/deprecated-components/project-api/docker-compose-extra.yml +++ b/birdhouse/deprecated-components/project-api/docker-compose-extra.yml @@ -18,6 +18,6 @@ services: links: - postgres env_file: - - ./config/postgres/credentials.env + - ./components/postgres/credentials.env restart: always logging: *default-logging diff --git a/birdhouse/optional-components/all-public-access/default.env b/birdhouse/optional-components/all-public-access/default.env index 1dfd6f35b..9eb12ec26 100644 --- a/birdhouse/optional-components/all-public-access/default.env +++ b/birdhouse/optional-components/all-public-access/default.env @@ -2,5 +2,5 @@ # add any component that this component requires to run COMPONENT_DEPENDENCIES=" - ./config/magpie + ./components/magpie " diff --git a/birdhouse/optional-components/canarie-api-full-monitoring/default.env b/birdhouse/optional-components/canarie-api-full-monitoring/default.env index 3e931ea94..3a763ed75 100644 --- a/birdhouse/optional-components/canarie-api-full-monitoring/default.env +++ b/birdhouse/optional-components/canarie-api-full-monitoring/default.env @@ -2,5 +2,5 @@ # add any component that this component requires to run COMPONENT_DEPENDENCIES=" - ./config/canarie-api + ./components/canarie-api " diff --git a/birdhouse/optional-components/emu/default.env b/birdhouse/optional-components/emu/default.env index d5f373cbc..7ff1ce2b5 100644 --- a/birdhouse/optional-components/emu/default.env +++ b/birdhouse/optional-components/emu/default.env @@ -25,6 +25,6 @@ OPTIONAL_VARS=" # add any component that this component requires to run if [ "$EMU_WPS_OUTPUTS_VOL" == 'wps_outputs' ]; then COMPONENT_DEPENDENCIES=" - ./config/wps_outputs-volume + ./components/wps_outputs-volume " fi diff --git a/birdhouse/optional-components/generic_bird/default.env b/birdhouse/optional-components/generic_bird/default.env index c59e7fd05..451862382 100644 --- a/birdhouse/optional-components/generic_bird/default.env +++ b/birdhouse/optional-components/generic_bird/default.env @@ -20,5 +20,5 @@ OPTIONAL_VARS=" # add any component that this component requires to run COMPONENT_DEPENDENCIES=" - ./config/wps_outputs-volume + ./components/wps_outputs-volume " diff --git a/birdhouse/optional-components/generic_bird/docker-compose-extra.yml b/birdhouse/optional-components/generic_bird/docker-compose-extra.yml index 6e4cd4460..16dfff1dd 100644 --- a/birdhouse/optional-components/generic_bird/docker-compose-extra.yml +++ b/birdhouse/optional-components/generic_bird/docker-compose-extra.yml @@ -21,7 +21,7 @@ services: environment: PGDATA: /var/lib/postgresql/data/pgdata env_file: - - ./config/postgres/credentials.env + - ./components/postgres/credentials.env restart: always volumes: diff --git a/birdhouse/optional-components/secure-data-proxy/default.env b/birdhouse/optional-components/secure-data-proxy/default.env index 2a8bfbb4d..d1dc388c3 100644 --- a/birdhouse/optional-components/secure-data-proxy/default.env +++ b/birdhouse/optional-components/secure-data-proxy/default.env @@ -19,8 +19,8 @@ export SECURE_DATA_PROXY_AUTH_INCLUDE="include /etc/nginx/conf.extra-service.d/s # add any component that this component requires to run COMPONENT_DEPENDENCIES=" - ./config/magpie - ./config/twitcher - ./config/proxy - ./config/wps_outputs-volume + ./components/magpie + ./components/twitcher + ./components/proxy + ./components/wps_outputs-volume " diff --git a/birdhouse/optional-components/secure-thredds/default.env b/birdhouse/optional-components/secure-thredds/default.env index 9e9feee5d..c9b6f9905 100644 --- a/birdhouse/optional-components/secure-thredds/default.env +++ b/birdhouse/optional-components/secure-thredds/default.env @@ -1,5 +1,5 @@ # add any component that this component requires to run COMPONENT_DEPENDENCIES=" - ./config/magpie - ./config/thredds + ./components/magpie + ./components/thredds " diff --git a/birdhouse/optional-components/test-geoserver-secured-access/default.env b/birdhouse/optional-components/test-geoserver-secured-access/default.env index ec638ed1e..1dcf99aaf 100644 --- a/birdhouse/optional-components/test-geoserver-secured-access/default.env +++ b/birdhouse/optional-components/test-geoserver-secured-access/default.env @@ -1,6 +1,6 @@ # add any component that this component requires to run COMPONENT_DEPENDENCIES=" - ./config/magpie - ./config/proxy - ./config/geoserver + ./components/magpie + ./components/proxy + ./components/geoserver " diff --git a/birdhouse/optional-components/test-weaver/default.env b/birdhouse/optional-components/test-weaver/default.env index 5671015ab..8b8de5933 100644 --- a/birdhouse/optional-components/test-weaver/default.env +++ b/birdhouse/optional-components/test-weaver/default.env @@ -1,5 +1,5 @@ # add any component that this component requires to run COMPONENT_DEPENDENCIES=" - ./config/magpie + ./components/magpie ./components/weaver " diff --git a/birdhouse/optional-components/testthredds/default.env b/birdhouse/optional-components/testthredds/default.env index 40b7fc907..25dea9e9b 100644 --- a/birdhouse/optional-components/testthredds/default.env +++ b/birdhouse/optional-components/testthredds/default.env @@ -26,5 +26,5 @@ OPTIONAL_VARS=" # add any component that this component requires to run COMPONENT_DEPENDENCIES=" - ./config/thredds + ./components/thredds " diff --git a/birdhouse/optional-components/x-robots-tag-header/default.env b/birdhouse/optional-components/x-robots-tag-header/default.env index 709cfdf8f..9209e212e 100644 --- a/birdhouse/optional-components/x-robots-tag-header/default.env +++ b/birdhouse/optional-components/x-robots-tag-header/default.env @@ -9,7 +9,7 @@ export X_ROBOTS_TAG_HEADER="noindex, nofollow" # add any component that this component requires to run COMPONENT_DEPENDENCIES=" - ./config/proxy + ./components/proxy " # add vars only needed to be substituted in templates diff --git a/birdhouse/read-configs.include.sh b/birdhouse/read-configs.include.sh index 85f4950dc..2173e18ca 100644 --- a/birdhouse/read-configs.include.sh +++ b/birdhouse/read-configs.include.sh @@ -196,7 +196,7 @@ process_delayed_eval() { # variable (set using the read_components_default_env function). # The file order is determined by the order of the config directories in ALL_CONF_DIRS. # If a config directory also includes an override file for another component -# (eg: ./config/finch/config/proxy/docker-compose-extra.yml overrides ./config/proxy/docker-compose-extra.yml), +# (eg: ./components/finch/config/proxy/docker-compose-extra.yml overrides ./components/proxy/docker-compose-extra.yml), # the following additional order rules apply: # # - if the component that is being overridden has already been added, the override file is added immediately diff --git a/birdhouse/scripts/get-components-json.include.sh b/birdhouse/scripts/get-components-json.include.sh index c3cc13d11..aa5f2682d 100755 --- a/birdhouse/scripts/get-components-json.include.sh +++ b/birdhouse/scripts/get-components-json.include.sh @@ -35,7 +35,7 @@ cd "${BIRDHOUSE_DEPLOY_COMPONENTS_ROOT}" || true # ignore error for now, empty # note: no quotes in 'ls' on purpose to expand glob patterns BIRDHOUSE_DEPLOY_COMPONENTS_LIST_KNOWN="$( \ - ls -d1 ./*components/*/ ./config/*/ 2>/dev/null \ + ls -d1 ./*components/*/ ./components/*/ 2>/dev/null \ | sed -E "s|\./(.*)/|\1|" \ | sed -E '/^[[:space:]]*$/d' \ | sed -E 's/^|[[:space:]]+/ -e /' \ diff --git a/birdhouse/templates/docker-compose.override.public_thredds.yml b/birdhouse/templates/docker-compose.override.public_thredds.yml index 4adc95217..390740ad0 100644 --- a/birdhouse/templates/docker-compose.override.public_thredds.yml +++ b/birdhouse/templates/docker-compose.override.public_thredds.yml @@ -3,4 +3,4 @@ services: thredds: volumes: - ${PATH_TO_LOCAL_NETCDF_FILES}:/pavics-data - - ./config/thredds/catalog-public.xml:/opt/birdhouse/eggs/birdhousebuilder.recipe.thredds-0.3.0-py2.7.egg/birdhousebuilder/recipe/thredds/catalog.xml + - ./components/thredds/catalog-public.xml:/opt/birdhouse/eggs/birdhousebuilder.recipe.thredds-0.3.0-py2.7.egg/birdhousebuilder/recipe/thredds/catalog.xml diff --git a/tests/test_read_configs_include.py b/tests/test_read_configs_include.py index 772740408..ba6267378 100644 --- a/tests/test_read_configs_include.py +++ b/tests/test_read_configs_include.py @@ -52,20 +52,20 @@ class TestReadConfigs: test_func: str = " read_components_default_env" default_all_conf_order: list[str] = [ - "./config/proxy", - "./config/canarie-api", - "./config/geoserver", - "./config/wps_outputs-volume", - "./config/postgres", - "./config/finch", - "./config/raven", - "./config/data-volume", - "./config/hummingbird", - "./config/thredds", - "./config/portainer", - "./config/magpie", - "./config/twitcher", - "./config/jupyterhub" + "./components/proxy", + "./components/canarie-api", + "./components/geoserver", + "./components/wps_outputs-volume", + "./components/postgres", + "./components/finch", + "./components/raven", + "./components/data-volume", + "./components/hummingbird", + "./components/thredds", + "./components/portainer", + "./components/magpie", + "./components/twitcher", + "./components/jupyterhub" ] def run_func( @@ -171,46 +171,46 @@ def test_delayed_eval_custom_value(self, read_config_include_file) -> None: class TestCreateComposeConfList: default_conf_list_order: list[str] = [ "docker-compose.yml", - "./config/proxy/docker-compose-extra.yml", - "./config/canarie-api/config/proxy/docker-compose-extra.yml", - "./config/geoserver/docker-compose-extra.yml", - "./config/geoserver/config/canarie-api/docker-compose-extra.yml", - "./config/geoserver/config/proxy/docker-compose-extra.yml", - "./config/wps_outputs-volume/docker-compose-extra.yml", - "./config/wps_outputs-volume/config/canarie-api/docker-compose-extra.yml", - "./config/wps_outputs-volume/config/proxy/docker-compose-extra.yml", - "./config/postgres/docker-compose-extra.yml", - "./config/finch/docker-compose-extra.yml", - "./config/finch/config/canarie-api/docker-compose-extra.yml", - "./config/finch/config/wps_outputs-volume/docker-compose-extra.yml", - "./config/raven/docker-compose-extra.yml", - "./config/raven/config/canarie-api/docker-compose-extra.yml", - "./config/raven/config/wps_outputs-volume/docker-compose-extra.yml", - "./config/data-volume/docker-compose-extra.yml", - "./config/hummingbird/docker-compose-extra.yml", - "./config/hummingbird/config/canarie-api/docker-compose-extra.yml", - "./config/hummingbird/config/data-volume/docker-compose-extra.yml", - "./config/hummingbird/config/wps_outputs-volume/docker-compose-extra.yml", - "./config/thredds/docker-compose-extra.yml", - "./config/thredds/config/canarie-api/docker-compose-extra.yml", - "./config/thredds/config/proxy/docker-compose-extra.yml", - "./config/portainer/docker-compose-extra.yml", - "./config/portainer/config/proxy/docker-compose-extra.yml", - "./config/magpie/docker-compose-extra.yml", - "./config/geoserver/config/magpie/docker-compose-extra.yml", - "./config/finch/config/magpie/docker-compose-extra.yml", - "./config/raven/config/magpie/docker-compose-extra.yml", - "./config/hummingbird/config/magpie/docker-compose-extra.yml", - "./config/thredds/config/magpie/docker-compose-extra.yml", - "./config/magpie/config/canarie-api/docker-compose-extra.yml", - "./config/magpie/config/proxy/docker-compose-extra.yml", - "./config/twitcher/docker-compose-extra.yml", - "./config/twitcher/config/canarie-api/docker-compose-extra.yml", - "./config/twitcher/config/proxy/docker-compose-extra.yml", - "./config/jupyterhub/docker-compose-extra.yml", - "./config/jupyterhub/config/canarie-api/docker-compose-extra.yml", - "./config/jupyterhub/config/magpie/docker-compose-extra.yml", - "./config/jupyterhub/config/proxy/docker-compose-extra.yml", + "./components/proxy/docker-compose-extra.yml", + "./components/canarie-api/config/proxy/docker-compose-extra.yml", + "./components/geoserver/docker-compose-extra.yml", + "./components/geoserver/config/canarie-api/docker-compose-extra.yml", + "./components/geoserver/config/proxy/docker-compose-extra.yml", + "./components/wps_outputs-volume/docker-compose-extra.yml", + "./components/wps_outputs-volume/config/canarie-api/docker-compose-extra.yml", + "./components/wps_outputs-volume/config/proxy/docker-compose-extra.yml", + "./components/postgres/docker-compose-extra.yml", + "./components/finch/docker-compose-extra.yml", + "./components/finch/config/canarie-api/docker-compose-extra.yml", + "./components/finch/config/wps_outputs-volume/docker-compose-extra.yml", + "./components/raven/docker-compose-extra.yml", + "./components/raven/config/canarie-api/docker-compose-extra.yml", + "./components/raven/config/wps_outputs-volume/docker-compose-extra.yml", + "./components/data-volume/docker-compose-extra.yml", + "./components/hummingbird/docker-compose-extra.yml", + "./components/hummingbird/config/canarie-api/docker-compose-extra.yml", + "./components/hummingbird/config/data-volume/docker-compose-extra.yml", + "./components/hummingbird/config/wps_outputs-volume/docker-compose-extra.yml", + "./components/thredds/docker-compose-extra.yml", + "./components/thredds/config/canarie-api/docker-compose-extra.yml", + "./components/thredds/config/proxy/docker-compose-extra.yml", + "./components/portainer/docker-compose-extra.yml", + "./components/portainer/config/proxy/docker-compose-extra.yml", + "./components/magpie/docker-compose-extra.yml", + "./components/geoserver/config/magpie/docker-compose-extra.yml", + "./components/finch/config/magpie/docker-compose-extra.yml", + "./components/raven/config/magpie/docker-compose-extra.yml", + "./components/hummingbird/config/magpie/docker-compose-extra.yml", + "./components/thredds/config/magpie/docker-compose-extra.yml", + "./components/magpie/config/canarie-api/docker-compose-extra.yml", + "./components/magpie/config/proxy/docker-compose-extra.yml", + "./components/twitcher/docker-compose-extra.yml", + "./components/twitcher/config/canarie-api/docker-compose-extra.yml", + "./components/twitcher/config/proxy/docker-compose-extra.yml", + "./components/jupyterhub/docker-compose-extra.yml", + "./components/jupyterhub/config/canarie-api/docker-compose-extra.yml", + "./components/jupyterhub/config/magpie/docker-compose-extra.yml", + "./components/jupyterhub/config/proxy/docker-compose-extra.yml", ] def run_func(self, include_file: str, local_env: dict, command_suffix: str = "") -> subprocess.CompletedProcess: @@ -241,23 +241,23 @@ def test_all_conf_dirs_empty(self, read_config_include_file): def test_compose_no_overrides(self, read_config_include_file): """Test that COMPOSE_CONF_LIST is set correctly when there are no overrides""" proc = self.run_func( - read_config_include_file, {"ALL_CONF_DIRS": "./config/finch ./config/raven"}, 'echo "$COMPOSE_CONF_LIST"' + read_config_include_file, {"ALL_CONF_DIRS": "./components/finch ./components/raven"}, 'echo "$COMPOSE_CONF_LIST"' ) print(proc.stdout) # useful for debugging when assert fail assert split_and_strip(get_command_stdout(proc), split_on="-f") == [ "docker-compose.yml", - "./config/finch/docker-compose-extra.yml", - "./config/raven/docker-compose-extra.yml", + "./components/finch/docker-compose-extra.yml", + "./components/raven/docker-compose-extra.yml", ] def test_compose_in_order(self, read_config_include_file): """Test that the order of ALL_CONF_DIRS is respected""" proc1 = self.run_func( - read_config_include_file, {"ALL_CONF_DIRS": "./config/finch ./config/raven"}, 'echo "$COMPOSE_CONF_LIST"' + read_config_include_file, {"ALL_CONF_DIRS": "./components/finch ./components/raven"}, 'echo "$COMPOSE_CONF_LIST"' ) out1 = split_and_strip(get_command_stdout(proc1), split_on="-f") proc2 = self.run_func( - read_config_include_file, {"ALL_CONF_DIRS": "./config/raven ./config/finch"}, 'echo "$COMPOSE_CONF_LIST"' + read_config_include_file, {"ALL_CONF_DIRS": "./components/raven ./components/finch"}, 'echo "$COMPOSE_CONF_LIST"' ) out2 = split_and_strip(get_command_stdout(proc2), split_on="-f") assert out1 == out2[:1] + out2[:0:-1] @@ -266,14 +266,14 @@ def test_compose_in_order(self, read_config_include_file): def test_compose_overrides(self, read_config_include_file): """Test that COMPOSE_CONF_LIST is set correctly when there are overrides""" proc = self.run_func( - read_config_include_file, {"ALL_CONF_DIRS": "./config/finch ./config/magpie"}, 'echo "$COMPOSE_CONF_LIST"' + read_config_include_file, {"ALL_CONF_DIRS": "./components/finch ./components/magpie"}, 'echo "$COMPOSE_CONF_LIST"' ) print(proc.stdout) # useful for debugging when assert fail assert split_and_strip(get_command_stdout(proc), split_on="-f") == [ "docker-compose.yml", - "./config/finch/docker-compose-extra.yml", - "./config/magpie/docker-compose-extra.yml", - "./config/finch/config/magpie/docker-compose-extra.yml", + "./components/finch/docker-compose-extra.yml", + "./components/magpie/docker-compose-extra.yml", + "./components/finch/config/magpie/docker-compose-extra.yml", ] @pytest.mark.usefixtures("run_in_compose_dir") From 357da7384f5308220c952859e4a618286b239c65 Mon Sep 17 00:00:00 2001 From: mishaschwartz <4380924+mishaschwartz@users.noreply.github.com> Date: Tue, 7 Nov 2023 16:19:05 -0500 Subject: [PATCH 02/21] fix gitignore entry that shouldn't be there --- birdhouse/components/geoserver/.gitignore | 1 - .../components/geoserver/config/magpie/providers.cfg | 12 ++++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 birdhouse/components/geoserver/config/magpie/providers.cfg diff --git a/birdhouse/components/geoserver/.gitignore b/birdhouse/components/geoserver/.gitignore index eb83bc769..fd6db5b1c 100644 --- a/birdhouse/components/geoserver/.gitignore +++ b/birdhouse/components/geoserver/.gitignore @@ -6,4 +6,3 @@ service-config.json geoserver_canarie_api_monitoring.py geoserver-magpie-provider.cfg config/proxy/canarie_api_monitoring.py -config/magpie/providers.cfg diff --git a/birdhouse/components/geoserver/config/magpie/providers.cfg b/birdhouse/components/geoserver/config/magpie/providers.cfg new file mode 100644 index 000000000..1502cee65 --- /dev/null +++ b/birdhouse/components/geoserver/config/magpie/providers.cfg @@ -0,0 +1,12 @@ +providers: + geoserver: + # below URL is only used to fill in the required location in Magpie + # actual auth validation is performed with Twitcher 'verify' endpoint without accessing this proxied URL + url: http://proxy:80 + title: geoserver + type: geoserver + configuration: + wfs: true + wms: true + wps: false + api: true From a699efbb1a72d086367c98493731c11aa11665ee Mon Sep 17 00:00:00 2001 From: mishaschwartz <4380924+mishaschwartz@users.noreply.github.com> Date: Tue, 7 Nov 2023 16:29:47 -0500 Subject: [PATCH 03/21] update default and extra conf dirs --- birdhouse/default.env | 10 ++-------- birdhouse/env.local.example | 15 +++++++++++---- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/birdhouse/default.env b/birdhouse/default.env index c57c2cd96..f342180f0 100644 --- a/birdhouse/default.env +++ b/birdhouse/default.env @@ -45,16 +45,10 @@ or a custom web interface. export DEFAULT_CONF_DIRS=' ./components/proxy - ./components/canarie-api - ./components/geoserver - ./components/finch - ./components/raven - ./components/hummingbird - ./components/thredds - ./components/portainer ./components/magpie ./components/twitcher - ./components/jupyterhub + ./components/stac + ./components/cowbird ' export USER_WORKSPACE_UID=1000 diff --git a/birdhouse/env.local.example b/birdhouse/env.local.example index 71b1e3de7..ddc5f8362 100644 --- a/birdhouse/env.local.example +++ b/birdhouse/env.local.example @@ -81,6 +81,17 @@ export GEOSERVER_ADMIN_PASSWORD=geoserverpass # #export EXTRA_CONF_DIRS="/path/to/dir1 ./path/to/dir2 dir3 dir4" #export EXTRA_CONF_DIRS=" +# ./config/canarie-api +# ./config/geoserver +# ./config/finch +# ./config/raven +# ./config/hummingbird +# ./config/thredds +# ./config/portainer +# ./config/jupyterhub +# ./components/monitoring +# ./components/weaver +# ./components/scheduler # ./optional-components/canarie-api-full-monitoring # ./optional-components/emu # ./optional-components/testthredds @@ -91,10 +102,6 @@ export GEOSERVER_ADMIN_PASSWORD=geoserverpass # ./optional-components/wps-healthchecks # ./optional-components/test-weaver # ./optional-components/test-geoserver-secured-access -# ./components/scheduler -# ./components/monitoring -# ./components/weaver -# ./components/cowbird # /path/to/private-config-repo #" From 66ee2073e6ab2beaf8b0219d789aa5a150f3eb21 Mon Sep 17 00:00:00 2001 From: mishaschwartz <4380924+mishaschwartz@users.noreply.github.com> Date: Tue, 7 Nov 2023 16:41:51 -0500 Subject: [PATCH 04/21] suppress postgres warning if not running --- birdhouse/pavics-compose.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/birdhouse/pavics-compose.sh b/birdhouse/pavics-compose.sh index 1858de2f3..44636ea51 100755 --- a/birdhouse/pavics-compose.sh +++ b/birdhouse/pavics-compose.sh @@ -129,7 +129,7 @@ do # run postgres post-startup setup script # Note: this must run before the post-docker-compose-up scripts since some may expect postgres databases to exist - postgres_id=$(PROXY_SECURE_PORT=443 HOSTNAME=${PAVICS_FQDN} docker-compose ${COMPOSE_CONF_LIST} ps -q postgres) + postgres_id=$(PROXY_SECURE_PORT=443 HOSTNAME=${PAVICS_FQDN} docker-compose ${COMPOSE_CONF_LIST} ps -q postgres 2> /dev/null) if [ ! -z "$postgres_id" ]; then docker exec ${postgres_id} /postgres-setup.sh fi From 35a8da38494ca03b931181ebf309a607d51ba954 Mon Sep 17 00:00:00 2001 From: mishaschwartz <4380924+mishaschwartz@users.noreply.github.com> Date: Tue, 7 Nov 2023 16:47:56 -0500 Subject: [PATCH 05/21] change default root location --- birdhouse/components/proxy/default.env | 2 +- birdhouse/env.local.example | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/birdhouse/components/proxy/default.env b/birdhouse/components/proxy/default.env index 65e21656e..0b62db0c9 100644 --- a/birdhouse/components/proxy/default.env +++ b/birdhouse/components/proxy/default.env @@ -8,7 +8,7 @@ export PROXY_READ_TIMEOUT_VALUE="240s" # Content of "location /" in file config/proxy/conf.d/all-services.include.template # Useful to have a custom homepage. -export PROXY_ROOT_LOCATION="return 302 https://\$host/jupyter/hub/login;" +export PROXY_ROOT_LOCATION="return 302 https://\$host/magpie;" export INCLUDE_FOR_PORT_80='$([ x"$ALLOW_UNSECURE_HTTP" = x"True" ] && echo "include /etc/nginx/conf.d/all-services.include;" || echo "include /etc/nginx/conf.d/redirect-to-https.include;")' diff --git a/birdhouse/env.local.example b/birdhouse/env.local.example index ddc5f8362..8b87f87fe 100644 --- a/birdhouse/env.local.example +++ b/birdhouse/env.local.example @@ -231,10 +231,12 @@ export GEOSERVER_ADMIN_PASSWORD=geoserverpass # Content of "location /" in file config/proxy/conf.d/all-services.include.template # Useful to have a custom homepage. # Default: -#export PROXY_ROOT_LOCATION="return 302 https://\$host/jupyter/hub/login;" +#export PROXY_ROOT_LOCATION="return 302 https://\$host/magpie;" # Sample, remember to add this /data/homepage volume mount to proxy container. # See PR https://github.com/bird-house/birdhouse-deploy-ouranos/pull/11. #export PROXY_ROOT_LOCATION="alias /data/homepage/;" +# Or to have jupyterhub login page as the default root (if enabled) +#export PROXY_ROOT_LOCATION="return 302 https://\$host/jupyter/hub/login;" # Public (on the internet) fully qualified domain name of this Pavics # installation. This is optional so default to the same internal PAVICS_FQDN if From 7a2a62716c08c53f350e62b3203d014f8aa43491 Mon Sep 17 00:00:00 2001 From: mishaschwartz <4380924+mishaschwartz@users.noreply.github.com> Date: Wed, 8 Nov 2023 09:47:41 -0500 Subject: [PATCH 06/21] update tests --- tests/pytest.ini | 3 ++ tests/test_read_configs_include.py | 66 +++++++++++++++++++----------- 2 files changed, 45 insertions(+), 24 deletions(-) create mode 100644 tests/pytest.ini diff --git a/tests/pytest.ini b/tests/pytest.ini new file mode 100644 index 000000000..33deb4cfd --- /dev/null +++ b/tests/pytest.ini @@ -0,0 +1,3 @@ +[pytest] +markers = + online: marks test as requiring access to the internet (to run offline: '-m "not online"' diff --git a/tests/test_read_configs_include.py b/tests/test_read_configs_include.py index ba6267378..c77959693 100644 --- a/tests/test_read_configs_include.py +++ b/tests/test_read_configs_include.py @@ -53,6 +53,13 @@ class TestReadConfigs: default_all_conf_order: list[str] = [ "./components/proxy", + "./components/magpie", + "./components/twitcher", + "./components/stac", + "./components/cowbird" + ] + + extra_conf_order: list[str] = [ "./components/canarie-api", "./components/geoserver", "./components/wps_outputs-volume", @@ -62,14 +69,11 @@ class TestReadConfigs: "./components/data-volume", "./components/hummingbird", "./components/thredds", - "./components/portainer", - "./components/magpie", - "./components/twitcher", "./components/jupyterhub" ] def run_func( - self, include_file: str, local_env: str | dict, command_suffix: str = "" + self, include_file: str, local_env: str | dict, command_suffix: str = "" ) -> subprocess.CompletedProcess: try: with tempfile.NamedTemporaryFile(delete=False, mode="w") as f: @@ -144,7 +148,8 @@ def test_non_project_components_included(self, read_config_include_file) -> None @pytest.mark.usefixtures("run_in_compose_dir") def test_delayed_eval_default_value(self, read_config_include_file) -> None: """Test delayed eval when value not set in env.local""" - extra = {"PAVICS_FQDN": '"fqdn.example.com"'} + extra = {"PAVICS_FQDN": '"fqdn.example.com"', + "EXTRA_CONF_DIRS": '"./components/jupyterhub ./components/geoserver"'} proc = self.run_func(read_config_include_file, extra, 'echo "$PAVICS_FQDN_PUBLIC - $JUPYTERHUB_USER_DATA_DIR - $GEOSERVER_DATA_DIR"') print(proc.stdout) # useful for debugging when assert fail @@ -157,6 +162,7 @@ def test_delayed_eval_custom_value(self, read_config_include_file) -> None: """Test delayed eval when value is set in env.local""" extra = {"PAVICS_FQDN": '"fqdn.example.com"', "PAVICS_FQDN_PUBLIC": '"public.example.com"', + "EXTRA_CONF_DIRS": '"./components/jupyterhub ./components/geoserver"', "DATA_PERSIST_ROOT": '"/my-data-root"', # indirectly change JUPYTERHUB_USER_DATA_DIR "GEOSERVER_DATA_DIR": '"/my-geoserver-data"', } @@ -172,9 +178,25 @@ class TestCreateComposeConfList: default_conf_list_order: list[str] = [ "docker-compose.yml", "./components/proxy/docker-compose-extra.yml", + "./components/magpie/docker-compose-extra.yml", + "./components/magpie/config/proxy/docker-compose-extra.yml", + "./components/twitcher/docker-compose-extra.yml", + "./components/twitcher/config/proxy/docker-compose-extra.yml", + "./components/stac/docker-compose-extra.yml", + "./components/stac/config/magpie/docker-compose-extra.yml", + "./components/stac/config/proxy/docker-compose-extra.yml", + "./components/cowbird/docker-compose-extra.yml", + "./components/cowbird/config/magpie/docker-compose-extra.yml", + "./components/cowbird/config/proxy/docker-compose-extra.yml", + "./components/magpie/config/canarie-api/docker-compose-extra.yml", + "./components/twitcher/config/canarie-api/docker-compose-extra.yml", + "./components/stac/config/canarie-api/docker-compose-extra.yml", + "./components/cowbird/config/canarie-api/docker-compose-extra.yml", "./components/canarie-api/config/proxy/docker-compose-extra.yml", "./components/geoserver/docker-compose-extra.yml", + "./components/cowbird/config/geoserver/docker-compose-extra.yml", "./components/geoserver/config/canarie-api/docker-compose-extra.yml", + "./components/geoserver/config/magpie/docker-compose-extra.yml", "./components/geoserver/config/proxy/docker-compose-extra.yml", "./components/wps_outputs-volume/docker-compose-extra.yml", "./components/wps_outputs-volume/config/canarie-api/docker-compose-extra.yml", @@ -182,35 +204,27 @@ class TestCreateComposeConfList: "./components/postgres/docker-compose-extra.yml", "./components/finch/docker-compose-extra.yml", "./components/finch/config/canarie-api/docker-compose-extra.yml", + "./components/finch/config/magpie/docker-compose-extra.yml", "./components/finch/config/wps_outputs-volume/docker-compose-extra.yml", "./components/raven/docker-compose-extra.yml", "./components/raven/config/canarie-api/docker-compose-extra.yml", + "./components/raven/config/magpie/docker-compose-extra.yml", "./components/raven/config/wps_outputs-volume/docker-compose-extra.yml", "./components/data-volume/docker-compose-extra.yml", "./components/hummingbird/docker-compose-extra.yml", "./components/hummingbird/config/canarie-api/docker-compose-extra.yml", "./components/hummingbird/config/data-volume/docker-compose-extra.yml", + "./components/hummingbird/config/magpie/docker-compose-extra.yml", "./components/hummingbird/config/wps_outputs-volume/docker-compose-extra.yml", "./components/thredds/docker-compose-extra.yml", "./components/thredds/config/canarie-api/docker-compose-extra.yml", - "./components/thredds/config/proxy/docker-compose-extra.yml", - "./components/portainer/docker-compose-extra.yml", - "./components/portainer/config/proxy/docker-compose-extra.yml", - "./components/magpie/docker-compose-extra.yml", - "./components/geoserver/config/magpie/docker-compose-extra.yml", - "./components/finch/config/magpie/docker-compose-extra.yml", - "./components/raven/config/magpie/docker-compose-extra.yml", - "./components/hummingbird/config/magpie/docker-compose-extra.yml", "./components/thredds/config/magpie/docker-compose-extra.yml", - "./components/magpie/config/canarie-api/docker-compose-extra.yml", - "./components/magpie/config/proxy/docker-compose-extra.yml", - "./components/twitcher/docker-compose-extra.yml", - "./components/twitcher/config/canarie-api/docker-compose-extra.yml", - "./components/twitcher/config/proxy/docker-compose-extra.yml", + "./components/thredds/config/proxy/docker-compose-extra.yml", "./components/jupyterhub/docker-compose-extra.yml", + "./components/cowbird/config/jupyterhub/docker-compose-extra.yml", "./components/jupyterhub/config/canarie-api/docker-compose-extra.yml", "./components/jupyterhub/config/magpie/docker-compose-extra.yml", - "./components/jupyterhub/config/proxy/docker-compose-extra.yml", + "./components/jupyterhub/config/proxy/docker-compose-extra.yml" ] def run_func(self, include_file: str, local_env: dict, command_suffix: str = "") -> subprocess.CompletedProcess: @@ -241,7 +255,8 @@ def test_all_conf_dirs_empty(self, read_config_include_file): def test_compose_no_overrides(self, read_config_include_file): """Test that COMPOSE_CONF_LIST is set correctly when there are no overrides""" proc = self.run_func( - read_config_include_file, {"ALL_CONF_DIRS": "./components/finch ./components/raven"}, 'echo "$COMPOSE_CONF_LIST"' + read_config_include_file, {"ALL_CONF_DIRS": "./components/finch ./components/raven"}, + 'echo "$COMPOSE_CONF_LIST"' ) print(proc.stdout) # useful for debugging when assert fail assert split_and_strip(get_command_stdout(proc), split_on="-f") == [ @@ -253,11 +268,13 @@ def test_compose_no_overrides(self, read_config_include_file): def test_compose_in_order(self, read_config_include_file): """Test that the order of ALL_CONF_DIRS is respected""" proc1 = self.run_func( - read_config_include_file, {"ALL_CONF_DIRS": "./components/finch ./components/raven"}, 'echo "$COMPOSE_CONF_LIST"' + read_config_include_file, {"ALL_CONF_DIRS": "./components/finch ./components/raven"}, + 'echo "$COMPOSE_CONF_LIST"' ) out1 = split_and_strip(get_command_stdout(proc1), split_on="-f") proc2 = self.run_func( - read_config_include_file, {"ALL_CONF_DIRS": "./components/raven ./components/finch"}, 'echo "$COMPOSE_CONF_LIST"' + read_config_include_file, {"ALL_CONF_DIRS": "./components/raven ./components/finch"}, + 'echo "$COMPOSE_CONF_LIST"' ) out2 = split_and_strip(get_command_stdout(proc2), split_on="-f") assert out1 == out2[:1] + out2[:0:-1] @@ -266,7 +283,8 @@ def test_compose_in_order(self, read_config_include_file): def test_compose_overrides(self, read_config_include_file): """Test that COMPOSE_CONF_LIST is set correctly when there are overrides""" proc = self.run_func( - read_config_include_file, {"ALL_CONF_DIRS": "./components/finch ./components/magpie"}, 'echo "$COMPOSE_CONF_LIST"' + read_config_include_file, {"ALL_CONF_DIRS": "./components/finch ./components/magpie"}, + 'echo "$COMPOSE_CONF_LIST"' ) print(proc.stdout) # useful for debugging when assert fail assert split_and_strip(get_command_stdout(proc), split_on="-f") == [ @@ -280,7 +298,7 @@ def test_compose_overrides(self, read_config_include_file): def test_default_all_conf_dirs(self, read_config_include_file): proc = self.run_func( read_config_include_file, - {"ALL_CONF_DIRS": " ".join(TestReadConfigs.default_all_conf_order)}, + {"ALL_CONF_DIRS": " ".join(TestReadConfigs.default_all_conf_order + TestReadConfigs.extra_conf_order)}, 'echo "$COMPOSE_CONF_LIST"', ) print(proc.stdout) # useful for debugging when assert fail From 1c0299179a4b93f20d9c3ff54ef6e72ba2c3fa04 Mon Sep 17 00:00:00 2001 From: mishaschwartz <4380924+mishaschwartz@users.noreply.github.com> Date: Wed, 8 Nov 2023 10:06:43 -0500 Subject: [PATCH 07/21] update changes --- CHANGES.md | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/CHANGES.md b/CHANGES.md index 5f0cd08a4..e5bcb60b7 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -15,7 +15,27 @@ [Unreleased](https://github.com/bird-house/birdhouse-deploy/tree/master) (latest) ------------------------------------------------------------------------------------------------------------------ -[//]: # (list changes here, using '-' for each new entry, remove this when items are added) +## Changes + +- Update `DEFAULT_CONF_DIRS` to the minimal components required to deploy the stack + + Changes `DEFAULT_CONF_DIRS` to refer exclusively to the proxy, magpie, twitcher, stac, and cowbird components. + Also moves all components that were previously under the `birdhouse/config` directory to the `birdhouse/components` + directory. This removes the arbitrary distinction between these groups of components that didn't have any functional + or logical reason. + + Because this change updates the default components, this is not backwards compatible unless the following changes are + made to the local environment file (`birdhouse/env.local` by default): + + - add any components no longer in the `DEFAULT_CONF_DIRS` list to the `EXTRA_CONF_DIRS` list. + + For example, to keep the jupyterhub component enabled, add `./components/jupyterhub` to the `EXTRA_CONF_DIRS` list. + + - set `PROXY_ROOT_LOCATION="return 302 https://\$host/jupyter/hub/login;"` if you would like to keep the jupyterhub + login page as the default landing page. + + Since jupyterhub is no longer a default component, we cannot assume that it will be enabled and so we cannot use it + as the default landing page. If this is not set, the default landing page will be the magpie login page instead. [1.37.1](https://github.com/bird-house/birdhouse-deploy/tree/1.37.1) (2023-11-03) ------------------------------------------------------------------------------------------------------------------ From 914f2eacf15b5c3db27fc9fbcf46e74121d7892f Mon Sep 17 00:00:00 2001 From: mishaschwartz <4380924+mishaschwartz@users.noreply.github.com> Date: Wed, 8 Nov 2023 10:11:54 -0500 Subject: [PATCH 08/21] fix path for example component references --- birdhouse/env.local.example | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/birdhouse/env.local.example b/birdhouse/env.local.example index 8b87f87fe..da4200046 100644 --- a/birdhouse/env.local.example +++ b/birdhouse/env.local.example @@ -81,14 +81,14 @@ export GEOSERVER_ADMIN_PASSWORD=geoserverpass # #export EXTRA_CONF_DIRS="/path/to/dir1 ./path/to/dir2 dir3 dir4" #export EXTRA_CONF_DIRS=" -# ./config/canarie-api -# ./config/geoserver -# ./config/finch -# ./config/raven -# ./config/hummingbird -# ./config/thredds -# ./config/portainer -# ./config/jupyterhub +# ./components/canarie-api +# ./components/geoserver +# ./components/finch +# ./components/raven +# ./components/hummingbird +# ./components/thredds +# ./components/portainer +# ./components/jupyterhub # ./components/monitoring # ./components/weaver # ./components/scheduler From 6517fd374563498fc191aeb5cf6abb0857eca74a Mon Sep 17 00:00:00 2001 From: mishaschwartz <4380924+mishaschwartz@users.noreply.github.com> Date: Wed, 8 Nov 2023 10:16:56 -0500 Subject: [PATCH 09/21] allow jupyterhub landing page to be default when jupyterhub is enabled --- CHANGES.md | 6 ------ birdhouse/components/jupyterhub/default.env | 4 ++++ birdhouse/env.local.example | 2 -- 3 files changed, 4 insertions(+), 8 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index e5bcb60b7..251616686 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -30,12 +30,6 @@ - add any components no longer in the `DEFAULT_CONF_DIRS` list to the `EXTRA_CONF_DIRS` list. For example, to keep the jupyterhub component enabled, add `./components/jupyterhub` to the `EXTRA_CONF_DIRS` list. - - - set `PROXY_ROOT_LOCATION="return 302 https://\$host/jupyter/hub/login;"` if you would like to keep the jupyterhub - login page as the default landing page. - - Since jupyterhub is no longer a default component, we cannot assume that it will be enabled and so we cannot use it - as the default landing page. If this is not set, the default landing page will be the magpie login page instead. [1.37.1](https://github.com/bird-house/birdhouse-deploy/tree/1.37.1) (2023-11-03) ------------------------------------------------------------------------------------------------------------------ diff --git a/birdhouse/components/jupyterhub/default.env b/birdhouse/components/jupyterhub/default.env index e1e78f92d..cdb137697 100644 --- a/birdhouse/components/jupyterhub/default.env +++ b/birdhouse/components/jupyterhub/default.env @@ -64,6 +64,10 @@ export JUPYTERHUB_CONFIG_OVERRIDE="" # recommended as it may permit unauthorized users from accessing jupyterhub. export JUPYTERHUB_AUTHENTICATOR_AUTHORIZATION_URL='http://twitcher:8000/ows/verify/jupyterhub' +# Set the PROXY_ROOT_LOCATION to jupyterhub's landing page by default. Added for backwards compatibility +# where this was the default when the jupyterhub component is enabled. +export PROXY_ROOT_LOCATION="return 302 https://\$host/jupyter/hub/login;" + export DELAYED_EVAL=" $DELAYED_EVAL JUPYTERHUB_USER_DATA_DIR diff --git a/birdhouse/env.local.example b/birdhouse/env.local.example index da4200046..04cbdcb30 100644 --- a/birdhouse/env.local.example +++ b/birdhouse/env.local.example @@ -235,8 +235,6 @@ export GEOSERVER_ADMIN_PASSWORD=geoserverpass # Sample, remember to add this /data/homepage volume mount to proxy container. # See PR https://github.com/bird-house/birdhouse-deploy-ouranos/pull/11. #export PROXY_ROOT_LOCATION="alias /data/homepage/;" -# Or to have jupyterhub login page as the default root (if enabled) -#export PROXY_ROOT_LOCATION="return 302 https://\$host/jupyter/hub/login;" # Public (on the internet) fully qualified domain name of this Pavics # installation. This is optional so default to the same internal PAVICS_FQDN if From 8a66b2e27a9e98d210d7d97a843aab97ab85e3a6 Mon Sep 17 00:00:00 2001 From: mishaschwartz <4380924+mishaschwartz@users.noreply.github.com> Date: Thu, 9 Nov 2023 10:08:14 -0500 Subject: [PATCH 10/21] review suggestion updates --- CHANGES.md | 6 +++++- birdhouse/components/cowbird/default.env | 5 +++++ birdhouse/components/proxy/default.env | 4 ++++ birdhouse/default.env | 2 +- birdhouse/scripts/get-components-json.include.sh | 2 +- tests/pytest.ini | 2 +- tests/test_read_configs_include.py | 14 +++++++------- 7 files changed, 24 insertions(+), 11 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 251616686..97e7567d8 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -28,9 +28,13 @@ made to the local environment file (`birdhouse/env.local` by default): - add any components no longer in the `DEFAULT_CONF_DIRS` list to the `EXTRA_CONF_DIRS` list. - For example, to keep the jupyterhub component enabled, add `./components/jupyterhub` to the `EXTRA_CONF_DIRS` list. + - update the `PROXY_ROOT_LOCATION` to redirect the root path `/` to an enabled component. By default, this will + redirect to Magpie's landing page, unless jupyterhub is enabled, in which case it will redirect to jupyterhub's + landing page. + If any other behaviour is desired, `PROXY_ROOT_LOCATION` should be updated in the `env.local` file. + [1.37.1](https://github.com/bird-house/birdhouse-deploy/tree/1.37.1) (2023-11-03) ------------------------------------------------------------------------------------------------------------------ diff --git a/birdhouse/components/cowbird/default.env b/birdhouse/components/cowbird/default.env index d32bdc8dd..5247c8b91 100644 --- a/birdhouse/components/cowbird/default.env +++ b/birdhouse/components/cowbird/default.env @@ -64,6 +64,11 @@ DELAYED_EVAL=" COWBIRD_MONGODB_DATA_DIR " +COMPONENT_DEPENDENCIES=" + $COMPONENT_DEPENDENCIES + ./components/magpie +" + # this dependency is only required if the mongo instance is the one provided in config/mongodb. # (include this for Cowbird<2.0.0) #COMPONENT_DEPENDENCIES=" diff --git a/birdhouse/components/proxy/default.env b/birdhouse/components/proxy/default.env index 0b62db0c9..212a69021 100644 --- a/birdhouse/components/proxy/default.env +++ b/birdhouse/components/proxy/default.env @@ -8,6 +8,10 @@ export PROXY_READ_TIMEOUT_VALUE="240s" # Content of "location /" in file config/proxy/conf.d/all-services.include.template # Useful to have a custom homepage. +# If the jupyterhub component is enabled, this default will be overridden and the location will become the jupyterhub +# login page instead (see components/jupyterhub/default.env). +# If jupyterhub is not enabled, we recommend overriding this with a custom homepage since the magpie landing page isn't +# the most user-friendly location. export PROXY_ROOT_LOCATION="return 302 https://\$host/magpie;" export INCLUDE_FOR_PORT_80='$([ x"$ALLOW_UNSECURE_HTTP" = x"True" ] && echo "include /etc/nginx/conf.d/all-services.include;" || echo "include /etc/nginx/conf.d/redirect-to-https.include;")' diff --git a/birdhouse/default.env b/birdhouse/default.env index f342180f0..1db0e7f32 100644 --- a/birdhouse/default.env +++ b/birdhouse/default.env @@ -47,8 +47,8 @@ export DEFAULT_CONF_DIRS=' ./components/proxy ./components/magpie ./components/twitcher - ./components/stac ./components/cowbird + ./components/stac ' export USER_WORKSPACE_UID=1000 diff --git a/birdhouse/scripts/get-components-json.include.sh b/birdhouse/scripts/get-components-json.include.sh index aa5f2682d..bf8679e3b 100755 --- a/birdhouse/scripts/get-components-json.include.sh +++ b/birdhouse/scripts/get-components-json.include.sh @@ -35,7 +35,7 @@ cd "${BIRDHOUSE_DEPLOY_COMPONENTS_ROOT}" || true # ignore error for now, empty # note: no quotes in 'ls' on purpose to expand glob patterns BIRDHOUSE_DEPLOY_COMPONENTS_LIST_KNOWN="$( \ - ls -d1 ./*components/*/ ./components/*/ 2>/dev/null \ + ls -d1 ./*components/*/ 2>/dev/null \ | sed -E "s|\./(.*)/|\1|" \ | sed -E '/^[[:space:]]*$/d' \ | sed -E 's/^|[[:space:]]+/ -e /' \ diff --git a/tests/pytest.ini b/tests/pytest.ini index 33deb4cfd..011041079 100644 --- a/tests/pytest.ini +++ b/tests/pytest.ini @@ -1,3 +1,3 @@ [pytest] markers = - online: marks test as requiring access to the internet (to run offline: '-m "not online"' + online: marks test as requiring access to the internet (to skip these tests: '-m "not online"') diff --git a/tests/test_read_configs_include.py b/tests/test_read_configs_include.py index c77959693..0263729ee 100644 --- a/tests/test_read_configs_include.py +++ b/tests/test_read_configs_include.py @@ -55,8 +55,8 @@ class TestReadConfigs: "./components/proxy", "./components/magpie", "./components/twitcher", + "./components/cowbird", "./components/stac", - "./components/cowbird" ] extra_conf_order: list[str] = [ @@ -121,10 +121,10 @@ def test_all_conf_dirs_default_order(self, read_config_include_file) -> None: def test_all_conf_dirs_extra_last(self, read_config_include_file) -> None: """Test that any extra components are loaded last""" - extra = {"EXTRA_CONF_DIRS": '"./components/cowbird\n./components/weaver"'} + extra = {"EXTRA_CONF_DIRS": '"./components/finch\n./components/weaver"'} proc = self.run_func(read_config_include_file, extra, 'echo "$ALL_CONF_DIRS"') assert split_and_strip(get_command_stdout(proc))[-2:] == [ - "./components/cowbird", + "./components/finch", "./components/weaver", ] @@ -182,16 +182,16 @@ class TestCreateComposeConfList: "./components/magpie/config/proxy/docker-compose-extra.yml", "./components/twitcher/docker-compose-extra.yml", "./components/twitcher/config/proxy/docker-compose-extra.yml", - "./components/stac/docker-compose-extra.yml", - "./components/stac/config/magpie/docker-compose-extra.yml", - "./components/stac/config/proxy/docker-compose-extra.yml", "./components/cowbird/docker-compose-extra.yml", "./components/cowbird/config/magpie/docker-compose-extra.yml", "./components/cowbird/config/proxy/docker-compose-extra.yml", + "./components/stac/docker-compose-extra.yml", + "./components/stac/config/magpie/docker-compose-extra.yml", + "./components/stac/config/proxy/docker-compose-extra.yml", "./components/magpie/config/canarie-api/docker-compose-extra.yml", "./components/twitcher/config/canarie-api/docker-compose-extra.yml", - "./components/stac/config/canarie-api/docker-compose-extra.yml", "./components/cowbird/config/canarie-api/docker-compose-extra.yml", + "./components/stac/config/canarie-api/docker-compose-extra.yml", "./components/canarie-api/config/proxy/docker-compose-extra.yml", "./components/geoserver/docker-compose-extra.yml", "./components/cowbird/config/geoserver/docker-compose-extra.yml", From efd7e4c30a62006341fdb5e5fdb50f3f38f5c48e Mon Sep 17 00:00:00 2001 From: mishaschwartz <4380924+mishaschwartz@users.noreply.github.com> Date: Wed, 29 Nov 2023 14:21:03 -0500 Subject: [PATCH 11/21] remove old comment about mongodb for cowbird --- birdhouse/components/cowbird/default.env | 7 ------- 1 file changed, 7 deletions(-) diff --git a/birdhouse/components/cowbird/default.env b/birdhouse/components/cowbird/default.env index ea88cfac7..7e73857d5 100644 --- a/birdhouse/components/cowbird/default.env +++ b/birdhouse/components/cowbird/default.env @@ -78,10 +78,3 @@ COMPONENT_DEPENDENCIES=" $COMPONENT_DEPENDENCIES ./components/magpie " - -# this dependency is only required if the mongo instance is the one provided in config/mongodb. -# (include this for Cowbird<2.0.0) -#COMPONENT_DEPENDENCIES=" -# $COMPONENT_DEPENDENCIES -# ./components/mongodb -#" From f47480e83351e4a49a3d9ab7b04599b54f484dba Mon Sep 17 00:00:00 2001 From: mishaschwartz <4380924+mishaschwartz@users.noreply.github.com> Date: Thu, 7 Dec 2023 12:13:40 -0500 Subject: [PATCH 12/21] update moved components with recent updates to master --- .../canarie-api/docker_configuration.py.template | 8 ++++---- birdhouse/components/geoserver/.gitignore | 1 + birdhouse/components/jupyterhub/default.env | 14 ++++++++++---- .../components/jupyterhub/docker-compose-extra.yml | 1 + .../jupyterhub/jupyterhub_config.py.template | 5 +++++ birdhouse/components/proxy/default.env | 6 +----- .../components/thredds/docker-compose-extra.yml | 2 +- .../canarie-api/canarie_api_monitoring.py.template | 2 +- .../wps_outputs-volume.conf.template | 2 +- .../config/proxy/docker-compose-extra.yml | 4 ++-- .../components/wps_outputs-volume/default.env | 11 +++++++++++ 11 files changed, 38 insertions(+), 18 deletions(-) diff --git a/birdhouse/components/canarie-api/docker_configuration.py.template b/birdhouse/components/canarie-api/docker_configuration.py.template index 3333aef28..884a320e6 100644 --- a/birdhouse/components/canarie-api/docker_configuration.py.template +++ b/birdhouse/components/canarie-api/docker_configuration.py.template @@ -109,8 +109,8 @@ SERVICES = { # NOTE: # Below version and release time auto-managed by 'make VERSION=x.y.z bump'. # Do NOT modify it manually. See 'Tagging policy' in 'birdhouse/README.rst'. - 'version': '1.39.1', - 'releaseTime': '2023-11-29T17:03:07Z', + 'version': '1.42.0', + 'releaseTime': '2023-11-30T19:44:57Z', 'institution': 'Ouranos', 'researchSubject': 'Climatology', 'supportEmail': '${SUPPORT_EMAIL}', @@ -142,8 +142,8 @@ PLATFORMS = { # NOTE: # Below version and release time auto-managed by 'make VERSION=x.y.z bump'. # Do NOT modify it manually. See 'Tagging policy' in 'birdhouse/README.rst'. - 'version': '1.39.1', - 'releaseTime': '2023-11-29T17:03:07Z', + 'version': '1.42.0', + 'releaseTime': '2023-11-30T19:44:57Z', 'institution': 'Ouranos', 'researchSubject': 'Climatology', 'supportEmail': '${SUPPORT_EMAIL}', diff --git a/birdhouse/components/geoserver/.gitignore b/birdhouse/components/geoserver/.gitignore index fd6db5b1c..eb83bc769 100644 --- a/birdhouse/components/geoserver/.gitignore +++ b/birdhouse/components/geoserver/.gitignore @@ -6,3 +6,4 @@ service-config.json geoserver_canarie_api_monitoring.py geoserver-magpie-provider.cfg config/proxy/canarie_api_monitoring.py +config/magpie/providers.cfg diff --git a/birdhouse/components/jupyterhub/default.env b/birdhouse/components/jupyterhub/default.env index cdb137697..a04e21091 100644 --- a/birdhouse/components/jupyterhub/default.env +++ b/birdhouse/components/jupyterhub/default.env @@ -5,7 +5,7 @@ # are applied and must be added to the list of DELAYED_EVAL. export JUPYTERHUB_DOCKER=pavics/jupyterhub -export JUPYTERHUB_VERSION=4.0.2-20231002 +export JUPYTERHUB_VERSION=4.0.2-20231127 # Jupyter single-user server images, can be overriden in env.local to have a space separated list of multiple images export DOCKER_NOTEBOOK_IMAGES="pavics/workflow-tests:230601" @@ -64,9 +64,14 @@ export JUPYTERHUB_CONFIG_OVERRIDE="" # recommended as it may permit unauthorized users from accessing jupyterhub. export JUPYTERHUB_AUTHENTICATOR_AUTHORIZATION_URL='http://twitcher:8000/ows/verify/jupyterhub' -# Set the PROXY_ROOT_LOCATION to jupyterhub's landing page by default. Added for backwards compatibility -# where this was the default when the jupyterhub component is enabled. -export PROXY_ROOT_LOCATION="return 302 https://\$host/jupyter/hub/login;" +# 32 byte hex-encoded key used to encrypt a user's authentication state in the juptyerhub database. +# If set, jupyterhub will periodically check if the user still has permission to access jupyterhub (according to Magpie) +export JUPYTERHUB_CRYPT_KEY= + +# Jupyterhub will check if the current logged in user still has permission to access jupyterhub (according to Magpie) +# if their authentication information is older that this value (in seconds). This value is only applied if +# JUPYTERHUB_CRYPT_KEY is set. +export JUPYTERHUB_AUTHENTICATOR_REFRESH_AGE=60 export DELAYED_EVAL=" $DELAYED_EVAL @@ -90,6 +95,7 @@ OPTIONAL_VARS=" \$JUPYTERHUB_DOCKER \$JUPYTERHUB_VERSION \$JUPYTERHUB_AUTHENTICATOR_AUTHORIZATION_URL + \$JUPYTERHUB_AUTHENTICATOR_REFRESH_AGE \$JUPYTER_IDLE_SERVER_CULL_TIMEOUT \$JUPYTER_IDLE_KERNEL_CULL_TIMEOUT \$JUPYTER_IDLE_KERNEL_CULL_INTERVAL diff --git a/birdhouse/components/jupyterhub/docker-compose-extra.yml b/birdhouse/components/jupyterhub/docker-compose-extra.yml index 5e2543789..15df6f921 100644 --- a/birdhouse/components/jupyterhub/docker-compose-extra.yml +++ b/birdhouse/components/jupyterhub/docker-compose-extra.yml @@ -27,6 +27,7 @@ services: MOUNT_IMAGE_SPECIFIC_NOTEBOOKS: ${MOUNT_IMAGE_SPECIFIC_NOTEBOOKS} USER_WORKSPACE_UID: ${USER_WORKSPACE_UID} USER_WORKSPACE_GID: ${USER_WORKSPACE_GID} + JUPYTERHUB_CRYPT_KEY: ${JUPYTERHUB_CRYPT_KEY} volumes: - ./components/jupyterhub/jupyterhub_config.py:/srv/jupyterhub/jupyterhub_config.py:ro - ./components/jupyterhub/custom_templates:/custom_templates:ro diff --git a/birdhouse/components/jupyterhub/jupyterhub_config.py.template b/birdhouse/components/jupyterhub/jupyterhub_config.py.template index 7e6476f1f..dab08addb 100644 --- a/birdhouse/components/jupyterhub/jupyterhub_config.py.template +++ b/birdhouse/components/jupyterhub/jupyterhub_config.py.template @@ -19,6 +19,11 @@ c.MagpieAuthenticator.magpie_url = "http://magpie:2001" c.MagpieAuthenticator.public_fqdn = "${PAVICS_FQDN_PUBLIC}" c.MagpieAuthenticator.authorization_url = "${JUPYTERHUB_AUTHENTICATOR_AUTHORIZATION_URL}" +if os.getenv("JUPYTERHUB_CRYPT_KEY"): + c.MagpieAuthenticator.enable_auth_state = True + c.MagpieAuthenticator.refresh_pre_spawn = True + c.MagpieAuthenticator.auth_refresh_age = int("${JUPYTERHUB_AUTHENTICATOR_REFRESH_AGE}") + c.JupyterHub.cookie_secret_file = '/persist/jupyterhub_cookie_secret' c.JupyterHub.db_url = '/persist/jupyterhub.sqlite' diff --git a/birdhouse/components/proxy/default.env b/birdhouse/components/proxy/default.env index 212a69021..65e21656e 100644 --- a/birdhouse/components/proxy/default.env +++ b/birdhouse/components/proxy/default.env @@ -8,11 +8,7 @@ export PROXY_READ_TIMEOUT_VALUE="240s" # Content of "location /" in file config/proxy/conf.d/all-services.include.template # Useful to have a custom homepage. -# If the jupyterhub component is enabled, this default will be overridden and the location will become the jupyterhub -# login page instead (see components/jupyterhub/default.env). -# If jupyterhub is not enabled, we recommend overriding this with a custom homepage since the magpie landing page isn't -# the most user-friendly location. -export PROXY_ROOT_LOCATION="return 302 https://\$host/magpie;" +export PROXY_ROOT_LOCATION="return 302 https://\$host/jupyter/hub/login;" export INCLUDE_FOR_PORT_80='$([ x"$ALLOW_UNSECURE_HTTP" = x"True" ] && echo "include /etc/nginx/conf.d/all-services.include;" || echo "include /etc/nginx/conf.d/redirect-to-https.include;")' diff --git a/birdhouse/components/thredds/docker-compose-extra.yml b/birdhouse/components/thredds/docker-compose-extra.yml index f1aec5069..3cc191c31 100644 --- a/birdhouse/components/thredds/docker-compose-extra.yml +++ b/birdhouse/components/thredds/docker-compose-extra.yml @@ -34,7 +34,7 @@ services: "CMD", "curl", "--fail", - "http://localhost:8080${TWITCHER_PROTECTED_PATH}/thredds/catalog.html", + "http://localhost:8080${TWITCHER_PROTECTED_PATH}/thredds/catalog.html" ] volumes: diff --git a/birdhouse/components/wps_outputs-volume/config/canarie-api/canarie_api_monitoring.py.template b/birdhouse/components/wps_outputs-volume/config/canarie-api/canarie_api_monitoring.py.template index 949946a09..89bd1a470 100644 --- a/birdhouse/components/wps_outputs-volume/config/canarie-api/canarie_api_monitoring.py.template +++ b/birdhouse/components/wps_outputs-volume/config/canarie-api/canarie_api_monitoring.py.template @@ -1 +1 @@ -CANARIE_STATS_ROUTES.append('wpsoutputs') +CANARIE_STATS_ROUTES.append("${WPS_OUTPUTS_RES_NAME}") diff --git a/birdhouse/components/wps_outputs-volume/config/proxy/conf.extra-service.d/wps_outputs-volume.conf.template b/birdhouse/components/wps_outputs-volume/config/proxy/conf.extra-service.d/wps_outputs-volume.conf.template index ddae8ee1e..d0093a6b0 100644 --- a/birdhouse/components/wps_outputs-volume/config/proxy/conf.extra-service.d/wps_outputs-volume.conf.template +++ b/birdhouse/components/wps_outputs-volume/config/proxy/conf.extra-service.d/wps_outputs-volume.conf.template @@ -1,4 +1,4 @@ - location /wpsoutputs/ { + location /${WPS_OUTPUTS_RES_NAME}/ { ${SECURE_DATA_PROXY_AUTH_INCLUDE} alias /data/wps_outputs/; diff --git a/birdhouse/components/wps_outputs-volume/config/proxy/docker-compose-extra.yml b/birdhouse/components/wps_outputs-volume/config/proxy/docker-compose-extra.yml index 6a8d826ac..f4b0cef8a 100644 --- a/birdhouse/components/wps_outputs-volume/config/proxy/docker-compose-extra.yml +++ b/birdhouse/components/wps_outputs-volume/config/proxy/docker-compose-extra.yml @@ -2,5 +2,5 @@ version: "3.4" services: proxy: volumes: - - ./components/wps_outputs-volume/config/proxy/conf.extra-service.d:/etc/nginx/conf.extra-service.d/wps_outputs-volume:ro - - wps_outputs:/data/wps_outputs + - ./components/wps_outputs-volume/config/proxy/conf.extra-service.d:/etc/nginx/conf.extra-service.d/wps_outputs-volume:ro + - wps_outputs:/data/wps_outputs diff --git a/birdhouse/components/wps_outputs-volume/default.env b/birdhouse/components/wps_outputs-volume/default.env index bb5c05405..84fc84ba8 100644 --- a/birdhouse/components/wps_outputs-volume/default.env +++ b/birdhouse/components/wps_outputs-volume/default.env @@ -2,3 +2,14 @@ OPTIONAL_VARS=" $OPTIONAL_VARS \$SECURE_DATA_PROXY_AUTH_INCLUDE " + +# add any new variables not already in 'VARS' or 'OPTIONAL_VARS' that must be replaced in templates here +# single quotes are important in below list to keep variable names intact until 'pavics-compose' parses them +EXTRA_VARS=' + ${WPS_OUTPUTS_RES_NAME} +' +# extend the original 'VARS' from 'birdhouse/pavics-compose.sh' to employ them for template substitution +# adding them to 'VARS', they will also be validated in case of override of 'default.env' using 'env.local' +VARS="$VARS $EXTRA_VARS" + +export WPS_OUTPUTS_RES_NAME=wpsoutputs From 9100600ab2902496d1db121e9bb75a9eaed32f1b Mon Sep 17 00:00:00 2001 From: mishaschwartz <4380924+mishaschwartz@users.noreply.github.com> Date: Thu, 7 Dec 2023 12:23:10 -0500 Subject: [PATCH 13/21] Add warning about the magpie login page as a homepage --- birdhouse/env.local.example | 3 +++ 1 file changed, 3 insertions(+) diff --git a/birdhouse/env.local.example b/birdhouse/env.local.example index 6788fc29c..056f0e1af 100644 --- a/birdhouse/env.local.example +++ b/birdhouse/env.local.example @@ -232,6 +232,9 @@ export GEOSERVER_ADMIN_PASSWORD=geoserverpass # Useful to have a custom homepage. # Default: #export PROXY_ROOT_LOCATION="return 302 https://\$host/magpie;" +# Note that the default homepage will become the jupyterhub login page if the jupyterhub component is enabled. +# If the jupyterhub component is not enabled, it is highly recommended to create a custom homepage since the magpie +# landing page is not the most user-friendly option. # Sample, remember to add this /data/homepage volume mount to proxy container. # See PR https://github.com/bird-house/birdhouse-deploy-ouranos/pull/11. #export PROXY_ROOT_LOCATION="alias /data/homepage/;" From a1a1d05b5ef114c0b9007a4369ed622143e3c0b7 Mon Sep 17 00:00:00 2001 From: mishaschwartz <4380924+mishaschwartz@users.noreply.github.com> Date: Thu, 7 Dec 2023 12:31:17 -0500 Subject: [PATCH 14/21] remove geoserver's magpie providers file from gitignore (shouldn't have been there in the first place) --- birdhouse/components/geoserver/.gitignore | 1 - 1 file changed, 1 deletion(-) diff --git a/birdhouse/components/geoserver/.gitignore b/birdhouse/components/geoserver/.gitignore index eb83bc769..fd6db5b1c 100644 --- a/birdhouse/components/geoserver/.gitignore +++ b/birdhouse/components/geoserver/.gitignore @@ -6,4 +6,3 @@ service-config.json geoserver_canarie_api_monitoring.py geoserver-magpie-provider.cfg config/proxy/canarie_api_monitoring.py -config/magpie/providers.cfg From e4240834a1f73ff34692e3ac479e67127a3fc303 Mon Sep 17 00:00:00 2001 From: mishaschwartz <4380924+mishaschwartz@users.noreply.github.com> Date: Thu, 7 Dec 2023 12:36:59 -0500 Subject: [PATCH 15/21] add warning to proxy/default.env too --- birdhouse/components/proxy/default.env | 3 +++ 1 file changed, 3 insertions(+) diff --git a/birdhouse/components/proxy/default.env b/birdhouse/components/proxy/default.env index 65e21656e..5b67c210a 100644 --- a/birdhouse/components/proxy/default.env +++ b/birdhouse/components/proxy/default.env @@ -8,6 +8,9 @@ export PROXY_READ_TIMEOUT_VALUE="240s" # Content of "location /" in file config/proxy/conf.d/all-services.include.template # Useful to have a custom homepage. +# Note that the default homepage will become the jupyterhub login page if the jupyterhub component is enabled. +# If the jupyterhub component is not enabled, it is highly recommended to create a custom homepage since the magpie +# landing page is not the most user-friendly option. export PROXY_ROOT_LOCATION="return 302 https://\$host/jupyter/hub/login;" export INCLUDE_FOR_PORT_80='$([ x"$ALLOW_UNSECURE_HTTP" = x"True" ] && echo "include /etc/nginx/conf.d/all-services.include;" || echo "include /etc/nginx/conf.d/redirect-to-https.include;")' From 227a0288162b4ed726504573cbeb87aee04fca5f Mon Sep 17 00:00:00 2001 From: mishaschwartz <4380924+mishaschwartz@users.noreply.github.com> Date: Thu, 7 Dec 2023 12:58:56 -0500 Subject: [PATCH 16/21] update tests --- tests/test_read_configs_include.py | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/test_read_configs_include.py b/tests/test_read_configs_include.py index 0263729ee..bfaa3f4ca 100644 --- a/tests/test_read_configs_include.py +++ b/tests/test_read_configs_include.py @@ -188,6 +188,7 @@ class TestCreateComposeConfList: "./components/stac/docker-compose-extra.yml", "./components/stac/config/magpie/docker-compose-extra.yml", "./components/stac/config/proxy/docker-compose-extra.yml", + "./components/stac/config/twitcher/docker-compose-extra.yml", "./components/magpie/config/canarie-api/docker-compose-extra.yml", "./components/twitcher/config/canarie-api/docker-compose-extra.yml", "./components/cowbird/config/canarie-api/docker-compose-extra.yml", From adbd1f5d4faf7bc6813792bd4ab7a4161d29018f Mon Sep 17 00:00:00 2001 From: mishaschwartz <4380924+mishaschwartz@users.noreply.github.com> Date: Thu, 7 Dec 2023 13:19:00 -0500 Subject: [PATCH 17/21] update tests --- tests/test_read_configs_include.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/tests/test_read_configs_include.py b/tests/test_read_configs_include.py index bfaa3f4ca..646b5d604 100644 --- a/tests/test_read_configs_include.py +++ b/tests/test_read_configs_include.py @@ -59,6 +59,15 @@ class TestReadConfigs: "./components/stac", ] + default_all_conf_order_with_dependencies: list[str] = [ + "./components/proxy", + "./components/magpie", + "./components/twitcher", + "./components/wps_outputs-volume", + "./components/cowbird", + "./components/stac", + ] + extra_conf_order: list[str] = [ "./components/canarie-api", "./components/geoserver", @@ -117,7 +126,7 @@ def test_all_conf_dirs_default_order(self, read_config_include_file) -> None: """Test that the expected order that default.env files are loaded is correct""" proc = self.run_func(read_config_include_file, {}, 'echo "$ALL_CONF_DIRS"') print(proc.stdout) # useful for debugging when assert fail - assert split_and_strip(get_command_stdout(proc)) == self.default_all_conf_order + assert split_and_strip(get_command_stdout(proc)) == self.default_all_conf_order_with_dependencies def test_all_conf_dirs_extra_last(self, read_config_include_file) -> None: """Test that any extra components are loaded last""" From 5ea5106f5d65cc4e34e26563f0a02c3671c121c5 Mon Sep 17 00:00:00 2001 From: mishaschwartz <4380924+mishaschwartz@users.noreply.github.com> Date: Fri, 8 Dec 2023 16:06:55 -0500 Subject: [PATCH 18/21] add simple component descriptions (to be fleshed out later) --- birdhouse/components/README.rst | 264 +++++++++++++++++++++++++++++++- 1 file changed, 263 insertions(+), 1 deletion(-) diff --git a/birdhouse/components/README.rst b/birdhouse/components/README.rst index 82d13dfd9..f4ca9645d 100644 --- a/birdhouse/components/README.rst +++ b/birdhouse/components/README.rst @@ -556,4 +556,266 @@ How to Enable the Component --------------------------- - Edit ``env.local`` (a copy of `env.local.example`_) -- Add ``./optional-components/stac`` to ``EXTRA_CONF_DIRS``. +- Add ``./components/stac`` to ``EXTRA_CONF_DIRS``. + +Canarie-API +=========== + +An endpoint monitoring tool that shows the current status of other components in the software stack. + +Usage +----- + +The service is available at ``https://${PAVICS_FQDN_PUBLIC}/canarie`` + +How to Enable the Component +--------------------------- + +- Edit ``env.local`` (a copy of `env.local.example`_) +- Add ``./components/canarie`` to ``EXTRA_CONF_DIRS``. + +data-volume +=========== + +Creates a named volume in docker that is shared between WPS and OGCAPI components. This volume will contain data shared +and used by these services. + +Usage +----- + +This component is transparent to the end-user as its role is to share data between other components in the stack. + +How to Enable the Component +--------------------------- + +- Do not enable this component directly. It will be enabled as a dependency of other components + +Finch +===== +Users of climate data are interested in specific indices such as the number of freeze-thaw cycles, the number of +degree-days of cooling, the duration of heatwaves, etc. This returns annual values of the most popular climate indices. + +Usage +----- + +The service is available at ``https://${PAVICS_FQDN_PUBLIC}${TWITCHER_PROTECTED_PATH}/finch`` + +How to Enable the Component +--------------------------- + +- Edit ``env.local`` (a copy of `env.local.example`_) +- Add ``./components/finch`` to ``EXTRA_CONF_DIRS``. + +Geoserver +========= + +GeoServer is the reference implementation of the Open Geospatial Consortium (OGC) Web Feature Service (WFS) and Web +Coverage Service (WCS) standards, as well as a high performance certified compliant Web Map Service (WMS), compliant +Catalog Service for the Web (CSW) and implementing Web Processing Service (WPS). GeoServer forms a core component of the +Geospatial Web. + +Usage +----- + +The service is available at ``https://${PAVICS_FQDN_PUBLIC}${TWITCHER_PROTECTED_PATH}/geoserver``. For usage and +configuration options please refer to the `Geoserver documentation`_. + +.. _Geoserver documentation: https://docs.geoserver.org + +How to Enable the Component +--------------------------- + +- Edit ``env.local`` (a copy of `env.local.example`_) +- Add ``./components/geoserver`` to ``EXTRA_CONF_DIRS``. + +Hummingbird +=========== + +A Web Processing Service for compliance checks used in the climate science community. + +Usage +----- + +The service is available at ``https://${PAVICS_FQDN_PUBLIC}${TWITCHER_PROTECTED_PATH}/hummingbird`` + +How to Enable the Component +--------------------------- + +- Edit ``env.local`` (a copy of `env.local.example`_) +- Add ``./components/hummingbird`` to ``EXTRA_CONF_DIRS``. + +Jupyterhub +========== + +Portal used to launch and manage jupyterlab servers for users. This provides a managed development environment for +end-users. + +Usage +----- + +The service is available at ``https://${PAVICS_FQDN_PUBLIC}/jupyter``. Users are able to log in to Jupyterhub using the +same user name and password as Magpie. They will then be able to launch a personal jupyterlab server. + +How to Enable the Component +--------------------------- + +- Edit ``env.local`` (a copy of `env.local.example`_) +- Add ``./components/jupyterhub`` to ``EXTRA_CONF_DIRS``. +- Set the ``JUPYTERHUB_CRYPT_KEY`` environment variable + +Magpie +====== + +Magpie is service for AuthN/AuthZ accessible via a REST API. It allows you to manage +User/Group/Service/Resource/Permission management and integrates with Twitcher. + +Usage +----- + +The service is available at ``https://${PAVICS_FQDN_PUBLIC}/magpie``. For usage and configuration options please +refer to the `Magpie documentation`_. + +.. _Magpie documentation: https://pavics-magpie.readthedocs.io + +How to Enable the Component +--------------------------- + +- This component is enabled by default as it is required to securely run the stack + +mongodb +======= + +A NoSQL database used by various other components in the stack as a database backend. + +Usage +----- + +This component is directly visible to the end-user. It is used by other components in the stack. + +How to Enable the Component +--------------------------- + +- Do not enable this component directly. It will be enabled as a dependency of other components. + +portainer +========= + +A web based container deployment and management tool. + +Usage +----- + +The service is available at ``https://${PAVICS_FQDN_PUBLIC}/portainer/``. For usage and configuration options please +refer to the `portainer documentation`_. + +How to Enable the Component +--------------------------- + +- Edit ``env.local`` (a copy of `env.local.example`_) +- Add ``./components/portainer`` to ``EXTRA_CONF_DIRS``. + +.. _portainer documentation: https://docs.portainer.io/ + + +postgres +======== + +A relational database used by various other components in the stack as a database backend. + +Usage +----- + +This component is directly visible to the end-user. It is used by other components in the stack. + +How to Enable the Component +--------------------------- + +- Do not enable this component directly. It will be enabled as a dependency of other components + +Proxy +===== + +An nginx reverse proxy that serves all other components in the stack through a single proxy endpoint. + +Usage +----- + +This component is transparent to the end-user as its role is to serve data from other components in the software stack. + +How to Enable the Component +--------------------------- + +- This component is enabled by default + +Raven +===== + +A suite of WPS processes to calibrate and run hydrological models, including geographical information retrieval and +processing as well as time series analysis. + +Usage +----- + +The service is available at ``https://${PAVICS_FQDN_PUBLIC}${TWITCHER_PROTECTED_PATH}/raven`` + +How to Enable the Component +--------------------------- + +- Edit ``env.local`` (a copy of `env.local.example`_) +- Add ``./components/raven`` to ``EXTRA_CONF_DIRS``. + +Thredds +======= + +Climate Data Catalog and Format Renderers. See the `Thredds documentation`_ for details. + +.. _Thredds documentation: https://www.unidata.ucar.edu/software/tds/ + +Usage +----- + +The catalog is available at the ``https://${PAVICS_FQDN_PUBLIC}/thredds`` endpoint. + +How to Enable the Component +--------------------------- + +- Edit ``env.local`` (a copy of `env.local.example`_) +- Add ``./components/thredds`` to ``EXTRA_CONF_DIRS``. + +Twitcher +======== + +Twitcher is a security proxy that provides secure access to other components in the stack. The proxy service uses OAuth2 +access tokens to protect the OWS service access using Magpie permissions. + +Usage +----- + +Twitcher should always be used in conjunction with Magpie and should work already without any additional configuration. +For details please refer to the `twitcher documentation`_. + +.. _twitcher documentation: https://twitcher.readthedocs.io/en/latest/ + +How to Enable the Component +--------------------------- + +- This component is enabled by default as it is required to securely run the stack + +wps_outputs-volume +================== + +Creates a named volume in docker that is shared between WPS and OGCAPI components. This volume will contain the outputs +of all processes executed by these services. + +Usage +----- + +All outputs from these processes will become available at the ``https://${PAVICS_FQDN_PUBLIC}/wpsoutputs`` endpoint. + +By default, this endpoint is not protected. To secure access to this endpoint it is highly recommended to enable the +`./optional-components/secure-data-proxy` component as well. + +How to Enable the Component +--------------------------- + +- Do not enable this component directly. It will be enabled as a dependency of other components From a7f1b8166efcd50ebd6e22cf343b38e302872a8d Mon Sep 17 00:00:00 2001 From: mishaschwartz <4380924+mishaschwartz@users.noreply.github.com> Date: Fri, 8 Dec 2023 16:09:44 -0500 Subject: [PATCH 19/21] fix reference to geoserver endpoint --- birdhouse/components/README.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/birdhouse/components/README.rst b/birdhouse/components/README.rst index f4ca9645d..80f25bf73 100644 --- a/birdhouse/components/README.rst +++ b/birdhouse/components/README.rst @@ -617,7 +617,7 @@ Geospatial Web. Usage ----- -The service is available at ``https://${PAVICS_FQDN_PUBLIC}${TWITCHER_PROTECTED_PATH}/geoserver``. For usage and +The service is available at ``https://${PAVICS_FQDN_PUBLIC}/geoserver``. For usage and configuration options please refer to the `Geoserver documentation`_. .. _Geoserver documentation: https://docs.geoserver.org From 9ff694aaeec37e18f26456a91cf422d3759b5aba Mon Sep 17 00:00:00 2001 From: mishaschwartz <4380924+mishaschwartz@users.noreply.github.com> Date: Mon, 11 Dec 2023 09:46:27 -0500 Subject: [PATCH 20/21] more comment updates --- .bumpversion.cfg | 4 ++-- birdhouse/README.rst | 2 +- .../cowbird/config/canarie-api/docker-compose-extra.yml | 2 +- .../components/stac/config/twitcher/docker-compose-extra.yml | 2 +- .../weaver/config/canarie-api/docker-compose-extra.yml | 2 +- .../config/proxy/conf.extra-service.d/weaver.conf.template | 2 +- .../weaver/config/twitcher/docker-compose-extra.yml | 2 +- birdhouse/env.local.example | 2 +- 8 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.bumpversion.cfg b/.bumpversion.cfg index 159cbefc3..0620ac09a 100644 --- a/.bumpversion.cfg +++ b/.bumpversion.cfg @@ -36,11 +36,11 @@ replace = {new_version} {utcnow:%Y-%m-%dT%H:%M:%SZ} [bumpversion:part:releaseTime] values = 2023-12-08T18:02:01Z -[bumpversion:file(version):birdhouse/config/canarie-api/docker_configuration.py.template] +[bumpversion:file(version):birdhouse/components/canarie-api/docker_configuration.py.template] search = 'version': '{current_version}' replace = 'version': '{new_version}' -[bumpversion:file(releaseTime):birdhouse/config/canarie-api/docker_configuration.py.template] +[bumpversion:file(releaseTime):birdhouse/components/canarie-api/docker_configuration.py.template] parse = 'releaseTime': '(?P.*)' serialize = {releaseTime} replace = {utcnow:%Y-%m-%dT%H:%M:%SZ} diff --git a/birdhouse/README.rst b/birdhouse/README.rst index baeca9eb8..3d9f8557a 100644 --- a/birdhouse/README.rst +++ b/birdhouse/README.rst @@ -118,7 +118,7 @@ Note ---- * All WPS requests should be completed within ``proxy_read_timeout`` of the - Nginx proxy, see `nginx.conf`_ (:download:`download `). + Nginx proxy, see `nginx.conf`_ (:download:`download `). Any WPS requests that will take longer should use the async mode. Default value ``PROXY_READ_TIMEOUT_VALUE`` in `default.env`_ (:download:`download `). diff --git a/birdhouse/components/cowbird/config/canarie-api/docker-compose-extra.yml b/birdhouse/components/cowbird/config/canarie-api/docker-compose-extra.yml index b81c0f0d2..9c3c178f5 100644 --- a/birdhouse/components/cowbird/config/canarie-api/docker-compose-extra.yml +++ b/birdhouse/components/cowbird/config/canarie-api/docker-compose-extra.yml @@ -4,7 +4,7 @@ services: proxy: volumes: # NOTE: - # Prefix '0_' to the mounted file name to ensure it is loaded first by 'birdhouse/config/canarie-api/docker_configuration.py' + # Prefix '0_' to the mounted file name to ensure it is loaded first by 'birdhouse/components/canarie-api/docker_configuration.py' # This ensures that the alphabetical loading order it defines will first load the default configs, then will load # the Cowbird config, and then all python configuration within 'optional-components/canarie-api-full-monitoring'. # It is important to load Cowbird before, as the full monitoring need to know if 'Cowbird' service is added to the diff --git a/birdhouse/components/stac/config/twitcher/docker-compose-extra.yml b/birdhouse/components/stac/config/twitcher/docker-compose-extra.yml index b84f09b74..6f9ccb077 100644 --- a/birdhouse/components/stac/config/twitcher/docker-compose-extra.yml +++ b/birdhouse/components/stac/config/twitcher/docker-compose-extra.yml @@ -5,6 +5,6 @@ services: twitcher: volumes: # NOTE: MagpieAdapter hooks are defined within Magpie config, but it is actually Twitcher proxy that runs them - # target mount location depends on 'MAGPIE_PROVIDERS_CONFIG_PATH' environment variable that is found under `birdhouse/config/twitcher/docker-compose-extra.yml` + # target mount location depends on 'MAGPIE_PROVIDERS_CONFIG_PATH' environment variable that is found under `birdhouse/components/twitcher/docker-compose-extra.yml` - ./components/stac/config/magpie/config.yml:/opt/birdhouse/src/magpie/config/stac-config.yml:ro - ./components/stac/config/magpie/stac_hooks.py:/opt/birdhouse/src/magpie/hooks/stac_hooks.py:ro diff --git a/birdhouse/components/weaver/config/canarie-api/docker-compose-extra.yml b/birdhouse/components/weaver/config/canarie-api/docker-compose-extra.yml index e441d76eb..e55b15c77 100644 --- a/birdhouse/components/weaver/config/canarie-api/docker-compose-extra.yml +++ b/birdhouse/components/weaver/config/canarie-api/docker-compose-extra.yml @@ -5,7 +5,7 @@ services: proxy: volumes: # NOTE: - # Prefix '0_' to the mounted file name to ensure it is loaded first by 'birdhouse/config/canarie-api/docker_configuration.py' + # Prefix '0_' to the mounted file name to ensure it is loaded first by 'birdhouse/components/canarie-api/docker_configuration.py' # This ensures that the alphabetical loading order it defines will first load the default configs, then will load # the weaver config, and then all python configuration within 'optional-components/canarie-api-full-monitoring'. # It is important to load Weaver before, as the full monitoring need to know if 'Weaver' service is added to the diff --git a/birdhouse/components/weaver/config/proxy/conf.extra-service.d/weaver.conf.template b/birdhouse/components/weaver/config/proxy/conf.extra-service.d/weaver.conf.template index 97cc63181..f6ed0440d 100644 --- a/birdhouse/components/weaver/config/proxy/conf.extra-service.d/weaver.conf.template +++ b/birdhouse/components/weaver/config/proxy/conf.extra-service.d/weaver.conf.template @@ -18,7 +18,7 @@ # NOTE: # this is needed only if not using the location already provided by the core configuration - # see 'birdhouse/config/proxy/conf.d/all-services.include.template' + # see 'birdhouse/components/proxy/conf.d/all-services.include.template' # location where process job outputs will be accessible #location ^~ ${WEAVER_WPS_OUTPUTS_PATH}/ { # alias ${WEAVER_WPS_OUTPUTS_DIR}/; diff --git a/birdhouse/components/weaver/config/twitcher/docker-compose-extra.yml b/birdhouse/components/weaver/config/twitcher/docker-compose-extra.yml index fca74d5dc..d92f21bc3 100644 --- a/birdhouse/components/weaver/config/twitcher/docker-compose-extra.yml +++ b/birdhouse/components/weaver/config/twitcher/docker-compose-extra.yml @@ -5,6 +5,6 @@ services: twitcher: volumes: # NOTE: MagpieAdapter hooks are defined within Magpie config, but it is actually Twitcher proxy that runs them - # target mount location depends on 'MAGPIE_PROVIDERS_CONFIG_PATH' environment variable that is found under `birdhouse/config/twitcher/docker-compose-extra.yml` + # target mount location depends on 'MAGPIE_PROVIDERS_CONFIG_PATH' environment variable that is found under `birdhouse/components/twitcher/docker-compose-extra.yml` - ./components/weaver/config/magpie/config.yml:/opt/birdhouse/src/magpie/config/weaver-config.yml:ro - ./components/weaver/config/magpie/weaver_hooks.py:/opt/birdhouse/src/magpie/hooks/weaver_hooks.py:ro diff --git a/birdhouse/env.local.example b/birdhouse/env.local.example index 9404c9184..02b4a5c7f 100644 --- a/birdhouse/env.local.example +++ b/birdhouse/env.local.example @@ -447,7 +447,7 @@ export GEOSERVER_ADMIN_PASSWORD=geoserverpass #export THREDDS_SERVICE_DATA_URL_PATH='birdhouse' # this default is for backward compatibility # Additional catalogs for THREDDS. Add as many datasetScan XML blocks as needed to THREDDS_ADDITIONAL_CATALOG. -# Each block defines a new top-level catalog. See birdhouse/config/thredds/catalog.xml.template for more information. +# Each block defines a new top-level catalog. See birdhouse/components/thredds/catalog.xml.template for more information. export THREDDS_ADDITIONAL_CATALOG="" #export THREDDS_ADDITIONAL_CATALOG=" # From 48e6f2145fe1725beead3fdbc5f382d71d0745fa Mon Sep 17 00:00:00 2001 From: mishaschwartz <4380924+mishaschwartz@users.noreply.github.com> Date: Mon, 11 Dec 2023 09:46:41 -0500 Subject: [PATCH 21/21] =?UTF-8?q?Bump=20version:=201.42.2=20=E2=86=92=202.?= =?UTF-8?q?0.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .bumpversion.cfg | 6 +++--- CHANGES.md | 5 +++++ Makefile | 2 +- README.rst | 8 ++++---- RELEASE.txt | 2 +- .../canarie-api/docker_configuration.py.template | 8 ++++---- docs/source/conf.py | 4 ++-- 7 files changed, 20 insertions(+), 15 deletions(-) diff --git a/.bumpversion.cfg b/.bumpversion.cfg index 0620ac09a..7c702806f 100644 --- a/.bumpversion.cfg +++ b/.bumpversion.cfg @@ -1,5 +1,5 @@ [bumpversion] -current_version = 1.42.2 +current_version = 2.0.0 commit = True tag = False tag_name = {new_version} @@ -30,11 +30,11 @@ search = {current_version} replace = {new_version} [bumpversion:file:RELEASE.txt] -search = {current_version} 2023-12-08T18:02:01Z +search = {current_version} 2023-12-11T14:46:41Z replace = {new_version} {utcnow:%Y-%m-%dT%H:%M:%SZ} [bumpversion:part:releaseTime] -values = 2023-12-08T18:02:01Z +values = 2023-12-11T14:46:41Z [bumpversion:file(version):birdhouse/components/canarie-api/docker_configuration.py.template] search = 'version': '{current_version}' diff --git a/CHANGES.md b/CHANGES.md index b9c5635b3..7c887c498 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -15,6 +15,11 @@ [Unreleased](https://github.com/bird-house/birdhouse-deploy/tree/master) (latest) ------------------------------------------------------------------------------------------------------------------ +[//]: # (list changes here, using '-' for each new entry, remove this when items are added) + +[2.0.0](https://github.com/bird-house/birdhouse-deploy/tree/2.0.0) (2023-12-11) +------------------------------------------------------------------------------------------------------------------ + ## Changes - Update `DEFAULT_CONF_DIRS` to the minimal components required to deploy the stack diff --git a/Makefile b/Makefile index 1ec145699..21e7da382 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ # Generic variables override SHELL := bash override APP_NAME := birdhouse-deploy -override APP_VERSION := 1.42.2 +override APP_VERSION := 2.0.0 # utility to remove comments after value of an option variable override clean_opt = $(shell echo "$(1)" | $(_SED) -r -e "s/[ '$'\t'']+$$//g") diff --git a/README.rst b/README.rst index c1c8b827f..f978d558d 100644 --- a/README.rst +++ b/README.rst @@ -14,13 +14,13 @@ for a full-fledged production platform. * - releases - | |latest-version| |commits-since| -.. |commits-since| image:: https://img.shields.io/github/commits-since/bird-house/birdhouse-deploy/1.42.2.svg +.. |commits-since| image:: https://img.shields.io/github/commits-since/bird-house/birdhouse-deploy/2.0.0.svg :alt: Commits since latest release - :target: https://github.com/bird-house/birdhouse-deploy/compare/1.42.2...master + :target: https://github.com/bird-house/birdhouse-deploy/compare/2.0.0...master -.. |latest-version| image:: https://img.shields.io/badge/tag-1.42.2-blue.svg?style=flat +.. |latest-version| image:: https://img.shields.io/badge/tag-2.0.0-blue.svg?style=flat :alt: Latest Tag - :target: https://github.com/bird-house/birdhouse-deploy/tree/1.42.2 + :target: https://github.com/bird-house/birdhouse-deploy/tree/2.0.0 .. |readthedocs| image:: https://readthedocs.org/projects/birdhouse-deploy/badge/?version=latest :alt: ReadTheDocs Build Status (latest version) diff --git a/RELEASE.txt b/RELEASE.txt index 0399b4f80..2433f8ca1 100644 --- a/RELEASE.txt +++ b/RELEASE.txt @@ -1 +1 @@ -1.42.2 2023-12-08T18:02:01Z +2.0.0 2023-12-11T14:46:41Z diff --git a/birdhouse/components/canarie-api/docker_configuration.py.template b/birdhouse/components/canarie-api/docker_configuration.py.template index 5313d0240..473e8bdcc 100644 --- a/birdhouse/components/canarie-api/docker_configuration.py.template +++ b/birdhouse/components/canarie-api/docker_configuration.py.template @@ -109,8 +109,8 @@ SERVICES = { # NOTE: # Below version and release time auto-managed by 'make VERSION=x.y.z bump'. # Do NOT modify it manually. See 'Tagging policy' in 'birdhouse/README.rst'. - 'version': '1.42.2', - 'releaseTime': '2023-12-08T18:02:01Z', + 'version': '2.0.0', + 'releaseTime': '2023-12-11T14:46:41Z', 'institution': 'Ouranos', 'researchSubject': 'Climatology', 'supportEmail': '${SUPPORT_EMAIL}', @@ -142,8 +142,8 @@ PLATFORMS = { # NOTE: # Below version and release time auto-managed by 'make VERSION=x.y.z bump'. # Do NOT modify it manually. See 'Tagging policy' in 'birdhouse/README.rst'. - 'version': '1.42.2', - 'releaseTime': '2023-12-08T18:02:01Z', + 'version': '2.0.0', + 'releaseTime': '2023-12-11T14:46:41Z', 'institution': 'Ouranos', 'researchSubject': 'Climatology', 'supportEmail': '${SUPPORT_EMAIL}', diff --git a/docs/source/conf.py b/docs/source/conf.py index ac8909bd6..53b636c92 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -69,9 +69,9 @@ # built documents. # # The short X.Y version. -version = '1.42.2' +version = '2.0.0' # The full version, including alpha/beta/rc tags. -release = '1.42.2' +release = '2.0.0' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages.