Skip to content

Commit

Permalink
Make the monitoring component docker images configurable (#457)
Browse files Browse the repository at this point in the history
## Overview

- The following variables have been added to the
`components/monitoring/default.env` file and can be overridden in
`env.local` to change the docker image for one of the services enabled
by the monitoring component:
    - `GRAFANA_VERSION`
    - `GRAFANA_DOCKER`
    - `CADVISOR_VERSION`
    - `CADVISOR_DOCKER`
    - `PROMETHEUS_VERSION`
    - `PROMETHEUS_DOCKER`
    - `NODE_EXPORTER_VERSION`
    - `NODE_EXPORTER_DOCKER`
    - `ALERTMANAGER_VERSION`
    - `ALERTMANAGER_DOCKER`
- Note that the defaults are the same as the previous hardcoded versions
so this change is fully backwards compatible.

## Changes

**Non-breaking changes**
- Make versions configurable

**Breaking changes**
- None

## Related Issue / Discussion

## Additional Information

## CI Operations

<!--
The test suite can be run using a different DACCS config with
``birdhouse_daccs_configs_branch: branch_name`` in the PR description.
To globally skip the test suite regardless of the commit message use
``birdhouse_skip_ci`` set to ``true`` in the PR description.
Note that using ``[skip ci]``, ``[ci skip]`` or ``[no ci]`` in the
commit message will override ``birdhouse_skip_ci`` from the PR
description.
-->

birdhouse_daccs_configs_branch: master
birdhouse_skip_ci: false
  • Loading branch information
mishaschwartz authored May 27, 2024
2 parents 9decf34 + 74bb1fc commit cca82f5
Show file tree
Hide file tree
Showing 9 changed files with 69 additions and 20 deletions.
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 = 2.3.1
current_version = 2.3.2
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} 2024-05-21T13:12:47Z
search = {current_version} 2024-05-27T13:26:27Z
replace = {new_version} {utcnow:%Y-%m-%dT%H:%M:%SZ}

[bumpversion:part:releaseTime]
values = 2024-05-21T13:12:47Z
values = 2024-05-27T13:26:27Z

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

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

[2.3.2](https://github.com/bird-house/birdhouse-deploy/tree/2.3.2) (2024-05-27)
------------------------------------------------------------------------------------------------------------------

## Changes

- Make the monitoring component docker images configurable
- The following variables have been added to the `components/monitoring/default.env` file and can be overridden in
`env.local` to change the docker image for one of the services enabled by the monitoring component:
- `GRAFANA_VERSION`
- `GRAFANA_DOCKER`
- `CADVISOR_VERSION`
- `CADVISOR_DOCKER`
- `PROMETHEUS_VERSION`
- `PROMETHEUS_DOCKER`
- `NODE_EXPORTER_VERSION`
- `NODE_EXPORTER_DOCKER`
- `ALERTMANAGER_VERSION`
- `ALERTMANAGER_DOCKER`
- Note that the defaults are the same as the previous hardcoded versions so this change is fully backwards compatible.

[2.3.1](https://github.com/bird-house/birdhouse-deploy/tree/2.3.1) (2024-05-21)
------------------------------------------------------------------------------------------------------------------

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 := 2.3.1
override APP_VERSION := 2.3.2

# 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 @@ -18,13 +18,13 @@ for a full-fledged production platform.
* - citation
- | |citation|

.. |commits-since| image:: https://img.shields.io/github/commits-since/bird-house/birdhouse-deploy/2.3.1.svg
.. |commits-since| image:: https://img.shields.io/github/commits-since/bird-house/birdhouse-deploy/2.3.2.svg
:alt: Commits since latest release
:target: https://github.com/bird-house/birdhouse-deploy/compare/2.3.1...master
:target: https://github.com/bird-house/birdhouse-deploy/compare/2.3.2...master

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

.. |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 @@
2.3.1 2024-05-21T13:12:47Z
2.3.2 2024-05-27T13:26:27Z
Original file line number Diff line number Diff line change
Expand Up @@ -108,8 +108,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': '2.3.1',
'releaseTime': '2024-05-21T13:12:47Z',
'version': '2.3.2',
'releaseTime': '2024-05-27T13:26:27Z',
'institution': '${SERVER_INSTITUTION}',
'researchSubject': '${SERVER_SUBJECT}',
'supportEmail': '${SUPPORT_EMAIL}',
Expand Down Expand Up @@ -141,8 +141,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': '2.3.1',
'releaseTime': '2024-05-21T13:12:47Z',
'version': '2.3.2',
'releaseTime': '2024-05-27T13:26:27Z',
'institution': '${SERVER_INSTITUTION}',
'researchSubject': '${SERVER_SUBJECT}',
'supportEmail': '${SUPPORT_EMAIL}',
Expand Down
29 changes: 29 additions & 0 deletions birdhouse/components/monitoring/default.env
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,26 @@
# must use single quotes to avoid early expansion before overrides in env.local
# are applied and must be added to the list of DELAYED_EVAL.

export GRAFANA_VERSION="7.0.3"
export GRAFANA_DOCKER=grafana/grafana
export GRAFANA_IMAGE='${GRAFANA_DOCKER}:${GRAFANA_VERSION}'

export PROMETHEUS_VERSION="v2.19.0"
export PROMETHEUS_DOCKER=prom/prometheus
export PROMETHEUS_IMAGE='${PROMETHEUS_DOCKER}:${PROMETHEUS_VERSION}'

export CADVISOR_VERSION="v0.36.0"
export CADVISOR_DOCKER="gcr.io/google-containers/cadvisor"
export CADVISOR_IMAGE='${CADVISOR_DOCKER}:${CADVISOR_VERSION}'

export NODE_EXPORTER_VERSION="v1.0.0"
export NODE_EXPORTER_DOCKER="quay.io/prometheus/node-exporter"
export NODE_EXPORTER_IMAGE='${NODE_EXPORTER_DOCKER}:${NODE_EXPORTER_VERSION}'

export ALERTMANAGER_VERSION="v0.21.0"
export ALERTMANAGER_DOCKER=prom/alertmanager
export ALERTMANAGER_IMAGE='${ALERTMANAGER_DOCKER}:${ALERTMANAGER_VERSION}'

export GRAFANA_ADMIN_PASSWORD="changeme!"
export ALERTMANAGER_ADMIN_EMAIL_RECEIVER="" # "user1@example.com,user2@example.com"
export SMTP_SERVER="" # "smtp.example.com:25"
Expand Down Expand Up @@ -67,3 +87,12 @@ OPTIONAL_VARS="
\$PROMETHEUS_ContainerVolumeUsage_ALERT
\$PROMETHEUS_ContainerVolumeIoUsage_ALERT
"

export DELAYED_EVAL="
$DELAYED_EVAL
GRAFANA_IMAGE
CADVISOR_IMAGE
PROMETHEUS_IMAGE
NODE_EXPORTER_IMAGE
ALERTMANAGER_IMAGE
"
10 changes: 5 additions & 5 deletions birdhouse/components/monitoring/docker-compose-extra.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ services:
# https://github.com/google/cadvisor/blob/master/docs/running.md
# Collect per container metrics.
cadvisor:
image: gcr.io/google-containers/cadvisor:v0.36.0
image: ${CADVISOR_IMAGE}
container_name: cadvisor
volumes:
- /:/rootfs:ro
Expand All @@ -18,7 +18,7 @@ services:
# https://github.com/prometheus/node_exporter
# Collect system-wide metrics.
node-exporter:
image: quay.io/prometheus/node-exporter:v1.0.0
image: ${NODE_EXPORTER_IMAGE}
container_name: node-exporter
volumes:
- /:/host:ro,rslave
Expand All @@ -30,7 +30,7 @@ services:
# https://prometheus.io/docs/prometheus/latest/installation
# Monitor and store collected metrics.
prometheus:
image: prom/prometheus:v2.19.0
image: ${PROMETHEUS_IMAGE}
container_name: prometheus
volumes:
- ./components/monitoring/prometheus.yml:/etc/prometheus/prometheus.yml:ro
Expand All @@ -52,7 +52,7 @@ services:
# https://grafana.com/docs/grafana/latest/installation/configure-docker/
# Visualize metrics from Prometheus
grafana:
image: grafana/grafana:7.0.3
image: ${GRAFANA_IMAGE}
container_name: grafana
volumes:
- ./components/monitoring/grafana_datasources.yml:/etc/grafana/provisioning/datasources/grafana_datasources.yml:ro
Expand All @@ -70,7 +70,7 @@ services:
# https://prometheus.io/docs/alerting/latest/overview/
# Handle alerts: deduplicate, group, route, silence, inhibit
alertmanager:
image: prom/alertmanager:v0.21.0
image: ${ALERTMANAGER_IMAGE}
container_name: alertmanager
volumes:
- ./components/monitoring/alertmanager.yml:/etc/alertmanager/alertmanager.yml:ro
Expand Down
4 changes: 2 additions & 2 deletions docs/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -69,9 +69,9 @@
# built documents.
#
# The short X.Y version.
version = '2.3.1'
version = '2.3.2'
# The full version, including alpha/beta/rc tags.
release = '2.3.1'
release = '2.3.2'

# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
Expand Down

0 comments on commit cca82f5

Please sign in to comment.