Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .bumpversion.cfg
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[bumpversion]
current_version = 1.25.0
current_version = 1.25.1
commit = True
tag = False
tag_name = {new_version}
Expand Down Expand Up @@ -30,11 +30,11 @@ search = {current_version}
replace = {new_version}

[bumpversion:file:RELEASE.txt]
search = {current_version} 2023-04-01T03:45:16Z
search = {current_version} 2023-04-11T13:01:09Z
replace = {new_version} {utcnow:%Y-%m-%dT%H:%M:%SZ}

[bumpversion:part:releaseTime]
values = 2023-04-01T03:45:16Z
values = 2023-04-11T13:01:09Z

[bumpversion:file(version):birdhouse/config/canarie-api/docker_configuration.py.template]
search = 'version': '{current_version}'
Expand Down
23 changes: 23 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,29 @@

[//]: # (list changes here, using '-' for each new entry, remove this when items are added)

[1.25.1](https://github.com/bird-house/birdhouse-deploy/tree/1.25.1) (2023-04-11)
------------------------------------------------------------------------------------------------------------------

## Changes

- Canarie-api should not be a mandatory component.

Canarie-api is currently deployed in the same container as the nginx reverse proxy
service meaning that it is not possible to deploy nginx without including canarie-api.

This means that it is currently not possible to run this deployment without canarie-api
or use a different monitoring application. This change fully separates the configuration
for canarie-api and nginx so that a user can choose to run nginx with or without canarie-api.

Canarie-api has been kept on the DEFAULT_CONF_DIRS list so that canarie-api is included by
default, for backwards-compatibility. In order to run nginx without canarie-api, remove the
`./conf/canarie-api` line from the DEFAULT_CONF_DIRS environment variable.

A user can also choose a specific version of the nginx docker image to use by specifying
the PROXY_IMAGE environment variable (default is "nginx"). Note that if canarie-api is used
(by including the `./conf/canarie-api` line in DEFAULT_CONF_DIRS), then the PROXY_IMAGE
variable will be ignored.

[1.25.0](https://github.com/bird-house/birdhouse-deploy/tree/1.25.0) (2023-04-01)
------------------------------------------------------------------------------------------------------------------

Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Generic variables
override SHELL := bash
override APP_NAME := birdhouse-deploy
override APP_VERSION := 1.25.0
override APP_VERSION := 1.25.1

# utility to remove comments after value of an option variable
override clean_opt = $(shell echo "$(1)" | $(_SED) -r -e "s/[ '$'\t'']+$$//g")
Expand Down
8 changes: 4 additions & 4 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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.25.0.svg
.. |commits-since| image:: https://img.shields.io/github/commits-since/bird-house/birdhouse-deploy/1.25.1.svg
:alt: Commits since latest release
:target: https://github.com/bird-house/birdhouse-deploy/compare/1.25.0...master
:target: https://github.com/bird-house/birdhouse-deploy/compare/1.25.1...master

.. |latest-version| image:: https://img.shields.io/badge/tag-1.25.0-blue.svg?style=flat
.. |latest-version| image:: https://img.shields.io/badge/tag-1.25.1-blue.svg?style=flat
:alt: Latest Tag
:target: https://github.com/bird-house/birdhouse-deploy/tree/1.25.0
:target: https://github.com/bird-house/birdhouse-deploy/tree/1.25.1

.. |readthedocs| image:: https://readthedocs.org/projects/birdhouse-deploy/badge/?version=latest
:alt: ReadTheDocs Build Status (latest version)
Expand Down
2 changes: 1 addition & 1 deletion RELEASE.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.25.0 2023-04-01T03:45:16Z
1.25.1 2023-04-11T13:01:09Z
6 changes: 3 additions & 3 deletions birdhouse/components/weaver/.gitignore
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
config/canarie-api/weaver_config.py
config/magpie/config.yml
config/weaver/data_sources.yml
config/weaver/request_options.yml
config/weaver/wps_processes.yml
config/weaver/weaver.ini
config/proxy/conf.extra-service.d/weaver.conf
config/proxy/canarie_api_monitoring.py
config/canarie-api/canarie_api_monitoring.py

# Old paths. Keep these so that old config files remain uncommittable after updates.
conf.extra-service.d/weaver.conf

config/proxy/canarie_api_monitoring.py
config/canarie-api/weaver_config.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
version: "3.4"

services:
# extend proxy configuration with weaver endpoints
proxy:
volumes:
- ./components/weaver/config/canarie-api/canarie_api_monitoring.py:${CANARIE_MONITORING_EXTRA_CONF_DIR}/weaver_canarie_api_monitoring.py:ro
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ services:
proxy:
volumes:
- ./components/weaver/config/proxy/conf.extra-service.d:/etc/nginx/conf.extra-service.d/weaver:ro
- ./components/weaver/config/proxy/canarie_api_monitoring.py:${CANARIE_MONITORING_EXTRA_CONF_DIR}/weaver_canarie_api_monitoring.py:ro
# because of mounting path naming restrictions (see note in 'worker' definition),
# we must add the custom path on top of named 'wps_outputs' volume of other birds for the proxy to expose results
- ${WEAVER_WPS_OUTPUTS_DIR}:/pavics-data/wps_outputs/weaver:ro
Expand Down
5 changes: 4 additions & 1 deletion birdhouse/config/canarie-api/.gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,5 @@
docker_configuration.py
conf.extra-service.d/canarie-api.conf
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mishaschwartz Our staging env found this file became "new" file for git and broke the subsequent autodeploy !

Could you re-add this file to .gitignore?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@tlvu I've added a PR #314 . Is this what is breaking the Jenkins build as well do you think or is that unrelated?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Completely un-related to Jenkins. I merged #308 yesterday and today I went onto our staging machine and see it still did not autodeploy that merge. So I checked the logs and found out the reason.

config/canarie-api/conf.extra-service.d/canarie-api.conf

# Old paths. Keep these so that old config files remain uncommittable after updates.
config/proxy/conf.extra-service.d/canarie-api.conf
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,10 @@ version: "3.4"
services:
proxy:
volumes:
- ./config/canarie-api/conf.extra-service.d:/etc/nginx/conf.extra-service.d/canarie-api:ro
- ./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
11 changes: 11 additions & 0 deletions birdhouse/config/canarie-api/default.env
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Folder inside "proxy" container to drop extra monitoring config
export CANARIE_MONITORING_EXTRA_CONF_DIR="/conf.d"

export PROXY_IMAGE="pavics/canarieapi:0.3.5"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for keeping this old behavior for backward compat.


# add any component that this component requires to run
COMPONENT_DEPENDENCIES="
$COMPONENT_DEPENDENCIES
./config/proxy
"

Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ SERVICES = {
'info': {
'name': 'Node',
'synopsis': 'Nodes are data, compute and index endpoints accessed through the PAVICS platform or external clients. The Node service is the backend that allows: data storage, harvesting, indexation and discovery of local and federated data; authentication and authorization; server registration and management. Node service is therefore composed of several other services.',
'version': '1.25.0',
'releaseTime': '2023-04-01T03:45:16Z',
'version': '1.25.1',
'releaseTime': '2023-04-11T13:01:09Z',
'institution': 'Ouranos',
'researchSubject': 'Climatology',
'supportEmail': '${SUPPORT_EMAIL}',
Expand Down Expand Up @@ -47,8 +47,8 @@ PLATFORMS = {
'info': {
'name': 'PAVICS',
'synopsis': 'The PAVICS (Power Analytics for Visualization of Climate Science) platform is a collection of climate analysis services served through Open Geospatial Consortium (OGC) protocols. These services include data access, processing and visualization. Both data and algorithms can be accessed either programmatically, through OGC-compliant clients such as QGIS or ArcGIS, or a custom web interface.',
'version': '1.25.0',
'releaseTime': '2023-04-01T03:45:16Z',
'version': '1.25.1',
'releaseTime': '2023-04-11T13:01:09Z',
'institution': 'Ouranos',
'researchSubject': 'Climatology',
'supportEmail': '${SUPPORT_EMAIL}',
Expand Down
3 changes: 3 additions & 0 deletions birdhouse/config/catalog/.gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
catalog.cfg
config/magpie/permissions.cfg
config/magpie/providers.cfg
config/canarie-api/canarie_api_monitoring.py

# Old paths. Keep these so that old config files remain uncommittable after updates.
config/proxy/canarie_api_monitoring.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
version: "3.4"
services:
proxy:
volumes:
- ./config/catalog/config/canarie-api/canarie_api_monitoring.py:${CANARIE_MONITORING_EXTRA_CONF_DIR}/catalog_canarie_api_monitoring.py:ro

This file was deleted.

3 changes: 3 additions & 0 deletions birdhouse/config/finch/.gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
wps.cfg
config/magpie/providers.cfg
config/canarie-api/canarie_api_monitoring.py

# Old paths. Keep these so that old config files remain uncommittable after updates.
config/proxy/canarie_api_monitoring.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
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

This file was deleted.

3 changes: 2 additions & 1 deletion birdhouse/config/frontend/.gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
frontend.env
config/proxy/conf.extra-service.d/frontend.conf
config/proxy/canarie_api_monitoring.py
config/canarie-api/canarie_api_monitoring.py

# Old paths. Keep these so that old config files remain uncommittable after updates.
conf.extra-service.d/frontend.conf
config/proxy/canarie_api_monitoring.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
version: "3.4"
services:
proxy:
volumes:
- ./config/frontend/config/canarie-api/canarie_api_monitoring.py:${CANARIE_MONITORING_EXTRA_CONF_DIR}/frontend_canarie_api_monitoring.py:ro
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,3 @@ services:
proxy:
volumes:
- ./config/frontend/config/proxy/conf.extra-service.d:/etc/nginx/conf.extra-service.d/frontend:ro
- ./config/frontend/config/proxy/canarie_api_monitoring.py:${CANARIE_MONITORING_EXTRA_CONF_DIR}/frontend_canarie_api_monitoring.py:ro
3 changes: 2 additions & 1 deletion birdhouse/config/geoserver/.gitignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
config/proxy/conf.extra-service.d/geoserver.conf
config/proxy/canarie_api_monitoring.py
config/canarie-api/canarie_api_monitoring.py
config/magpie/providers.cfg

# Old paths. Keep these so that old config files remain uncommittable after updates.
geoserver_canarie_api_monitoring.py
geoserver-magpie-provider.cfg
config/proxy/canarie_api_monitoring.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
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
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,4 @@ version: "3.4"
services:
proxy:
volumes:
- ./config/geoserver/config/proxy/canarie_api_monitoring.py:${CANARIE_MONITORING_EXTRA_CONF_DIR}/geoserver_canarie_api_monitoring.py:ro
- ./config/geoserver/config/proxy/conf.extra-service.d:/etc/nginx/conf.extra-service.d/geoserver:ro
3 changes: 2 additions & 1 deletion birdhouse/config/jupyterhub/.gitignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
custom_templates/login.html
jupyterhub_config.py
config/proxy/conf.extra-service.d/jupyterhub.conf
config/proxy/canarie_api_monitoring.py
config/canarie-api/canarie_api_monitoring.py

# Old paths. Keep these so that old config files remain uncommittable after updates.
jupyterhub_canarie_api_monitoring.py
config/proxy/canarie_api_monitoring.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
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
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,4 @@ version: "3.4"
services:
proxy:
volumes:
- ./config/jupyterhub/config/proxy/canarie_api_monitoring.py:${CANARIE_MONITORING_EXTRA_CONF_DIR}/jupyterhub_canarie_api_monitoring.py:ro
- ./config/jupyterhub/config/proxy/conf.extra-service.d:/etc/nginx/conf.extra-service.d/jupyterhub:ro
3 changes: 2 additions & 1 deletion birdhouse/config/magpie/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@ providers.cfg
postgres-credentials.env
docker-entrypoint-initdb.d/create-db.sql
config/proxy/conf.extra-service.d/magpie.conf
config/proxy/canarie_api_monitoring.py
config/canarie-api/canarie_api_monitoring.py

# Old paths. Keep these so that old config files remain uncommittable after updates.
magpie_canarie_api_monitoring.py
config/proxy/canarie_api_monitoring.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
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
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,4 @@ version: "3.4"
services:
proxy:
volumes:
- ./config/magpie/config/proxy/canarie_api_monitoring.py:${CANARIE_MONITORING_EXTRA_CONF_DIR}/magpie_canarie_api_monitoring.py:ro
- ./config/magpie/config/proxy/conf.extra-service.d:/etc/nginx/conf.extra-service.d/magpie:ro
3 changes: 2 additions & 1 deletion birdhouse/config/malleefowl/.gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
custom.cfg
config/proxy/canarie_api_monitoring.py
config/canarie-api/canarie_api_monitoring.py
config/magpie/providers.cfg

# Old paths. Keep these so that old config files remain uncommittable after updates.
malleefowl_canarie_api_monitoring.py
config/proxy/canarie_api_monitoring.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
version: "3.4"
services:
proxy:
volumes:
- ./config/malleefowl/config/canarie-api/canarie_api_monitoring.py:${CANARIE_MONITORING_EXTRA_CONF_DIR}/malleefowl_canarie_api_monitoring.py:ro

This file was deleted.

3 changes: 3 additions & 0 deletions birdhouse/config/phoenix/.gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,5 @@
custom.cfg
config/canarie-api/canarie_api_monitoring.py

# Old paths. Keep these so that old config files remain uncommittable after updates.
config/proxy/canarie_api_monitoring.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
version: "3.4"
services:
proxy:
volumes:
- ./config/phoenix/config/canarie-api/canarie_api_monitoring.py:${CANARIE_MONITORING_EXTRA_CONF_DIR}/phoenix_canarie_api_monitoring.py:ro

This file was deleted.

3 changes: 3 additions & 0 deletions birdhouse/config/project-api/.gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,5 @@
config/proxy/conf.extra-service.d/project-api.conf
config/canarie-api/canarie_api_monitoring.py

# Old paths. Keep these so that old config files remain uncommittable after updates.
config/proxy/canarie_api_monitoring.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
version: "3.4"
services:
proxy:
volumes:
- ./config/project-api/config/canarie-api/canarie_api_monitoring.py:${CANARIE_MONITORING_EXTRA_CONF_DIR}/project-api_canarie_api_monitoring.py:ro
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,3 @@ services:
proxy:
volumes:
- ./config/project-api/config/proxy/conf.extra-service.d:/etc/nginx/conf.extra-service.d/project-api:ro
- ./config/project-api/config/proxy/canarie_api_monitoring.py:${CANARIE_MONITORING_EXTRA_CONF_DIR}/project-api_canarie_api_monitoring.py:ro
9 changes: 1 addition & 8 deletions birdhouse/config/proxy/default.env
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
# All env in this default.env can be overridden by env.local.

# Folder inside "proxy" container to drop extra monitoring config
export CANARIE_MONITORING_EXTRA_CONF_DIR="/conf.d"
export PROXY_IMAGE="nginx:1.23.4"

# Timeout for reading a response from the proxied server.
# Any WPS processes taking longer than this should use async mode.
Expand Down Expand Up @@ -30,9 +29,3 @@ export OPTIONAL_VARS="
\$PROXY_READ_TIMEOUT_VALUE
\$PROXY_ROOT_LOCATION
"

# add any component that this component requires to run
COMPONENT_DEPENDENCIES="
$COMPONENT_DEPENDENCIES
./config/canarie-api
"
7 changes: 1 addition & 6 deletions birdhouse/config/proxy/docker-compose-extra.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ x-logging:

services:
proxy:
image: pavics/canarieapi:0.3.5
image: ${PROXY_IMAGE}
container_name: proxy
ports:
- "80:80"
Expand All @@ -22,14 +22,9 @@ services:
volumes:
- ./config/proxy/conf.d:/etc/nginx/conf.d
- ./config/proxy/nginx.conf:/etc/nginx/nginx.conf
- ./config/canarie-api/docker_configuration.py:/config/docker_configuration.py
- ${SSL_CERTIFICATE}:/etc/nginx/cert.pem
- ./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}
# https://github.com/bird-house/birdhouse-deploy/issues/198
REQUESTS_CA_BUNDLE: /etc/ssl/certs/ca-certificates.crt
entrypoint: /entrypoint
restart: always
logging: *default-logging
5 changes: 4 additions & 1 deletion birdhouse/config/raven/.gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
config/proxy/canarie_api_monitoring.py
config/canarie-api/canarie_api_monitoring.py
config/magpie/providers.cfg
wps.cfg

# Old paths. Keep these so that old config files remain uncommittable after updates.
config/proxy/canarie_api_monitoring.py
Loading