diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index d75cc7885..529e87bba 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -243,7 +243,7 @@ jobs: runs-on: ubuntu-24.04 env: - # used in `docker-compose.yml` files to determine version of images to pull + # used in `compose.yaml` files to determine version of images to pull RELEASE: "${{ needs.build-docker.outputs.internetnl_version }}" PY_COLORS: "1" @@ -365,7 +365,7 @@ jobs: runs-on: ubuntu-22.04 env: - # used in `docker-compose.yml` files to determine version of images to pull + # used in `compose.yaml` files to determine version of images to pull RELEASE: "${{ needs.build-docker.outputs.internetnl_version }}" steps: @@ -416,7 +416,7 @@ jobs: runs-on: ubuntu-24.04 env: - # used in `docker-compose.yml` files to determine version of images to pull + # used in `compose.yaml` files to determine version of images to pull RELEASE: "${{ needs.build-docker.outputs.internetnl_version }}" PY_COLORS: "1" @@ -500,7 +500,7 @@ jobs: runs-on: ubuntu-24.04 env: - # used in `docker-compose.yml` files to determine version of images to pull + # used in `compose.yaml` files to determine version of images to pull RELEASE: "${{ needs.build-docker.outputs.internetnl_version }}" steps: @@ -613,7 +613,7 @@ jobs: runs-on: ubuntu-24.04 env: - # used in `docker-compose.yml` files to determine version of images to pull + # used in `compose.yaml` files to determine version of images to pull RELEASE: "${{ needs.build-docker.outputs.internetnl_version }}" PY_COLORS: "1" diff --git a/Makefile b/Makefile index 319da9581..38a113284 100644 --- a/Makefile +++ b/Makefile @@ -554,7 +554,7 @@ batch-tests-shell: live-tests: - COMPOSE_FILE=docker/docker-compose-test-runner-live.yml docker compose run --rm test-runner-live \ + COMPOSE_FILE=docker/compose.test-runner-live.yaml docker compose run --rm test-runner-live \ -ra --screenshot=only-on-failure --video=retain-on-failure --junit-xml=test-results.xml ${test_args} integration_tests/live/ # use OS specific hostname for Docker host @@ -564,7 +564,7 @@ else docker_host = host-gateway endif -DOCKER_COMPOSE_DEVELOP_CMD=COMPOSE_FILE=docker/docker-compose-test-runner-develop.yml docker compose +DOCKER_COMPOSE_DEVELOP_CMD=COMPOSE_FILE=docker/compose.test-runner-develop.yaml docker compose # this runs limited live test suite against the development environment to test its sanity develop-tests development-environment-tests: @@ -575,7 +575,7 @@ develop-tests-shell: ${DOCKER_COMPOSE_DEVELOP_CMD} run --rm --entrypoint bash test-runner-development-environment -DOCKER_COMPOSE_TEST_CMD=COMPOSE_FILE=docker/docker-compose.yml:docker/docker-compose-test.yml \ +DOCKER_COMPOSE_TEST_CMD=COMPOSE_FILE=docker/compose.yaml:docker/compose.test.yaml \ docker compose ${compose_args} \ --env-file=docker/defaults.env \ --env-file=docker/test.env \ @@ -618,7 +618,7 @@ test-all: $(MAKE) batch-tests $(MAKE) down environment=batch-test -DOCKER_COMPOSE_TOOLS_CMD=COMPOSE_FILE=docker/docker-compose-tools.yml docker compose +DOCKER_COMPOSE_TOOLS_CMD=COMPOSE_FILE=docker/compose.tools.yaml docker compose lint: ${DOCKER_COMPOSE_TOOLS_CMD} run --rm tools bin/lint.sh ${pysrcdirs} diff --git a/docker/batch-test.env b/docker/batch-test.env index c565a1148..8e4e8d67d 100644 --- a/docker/batch-test.env +++ b/docker/batch-test.env @@ -82,7 +82,7 @@ SMTP_EHLO_DOMAIN=internet.test HEALTHCHECK_INTERVAL=5s # include default components, integration test targets, internal resolver and test-runner -COMPOSE_FILE=docker/docker-compose.yml:docker/docker-compose-integration-tests.yml +COMPOSE_FILE=docker/compose.yaml:docker/compose.integration-tests.yaml # export rabbitmq gui on alternative port to not conflict with development environment RABBITMQ_GUI=127.0.0.1:15672:15673 diff --git a/docker/build.env b/docker/build.env index 794fb7077..8cc319b99 100644 --- a/docker/build.env +++ b/docker/build.env @@ -1,7 +1,7 @@ # special environment file to be used for building, includes all compose files so all images are build # include all compose files -COMPOSE_FILE=docker/docker-compose.yml:docker/docker-compose-build.yml:docker/docker-compose-development.yml:docker/docker-compose-integration-tests.yml:docker/docker-compose-test.yml:docker/docker-compose-tools.yml:docker/docker-compose-test-runner-develop.yml:docker/docker-compose-integration-tests.yml +COMPOSE_FILE=docker/compose.yaml:docker/compose.build.yaml:docker/compose.development.yaml:docker/compose.integration-tests.yaml:docker/compose.test.yaml:docker/compose.tools.yaml:docker/compose.test-runner-develop.yaml:docker/compose.integration-tests.yaml COMPOSE_PROFILES=connectiontest,cron,routinator,batch,build # don't expose HTTP(S) and DNS ports to the outside, this also causes issues due to being privileged ports diff --git a/docker/docker-compose-build.yml b/docker/compose.build.yaml similarity index 100% rename from docker/docker-compose-build.yml rename to docker/compose.build.yaml diff --git a/docker/docker-compose-development.yml b/docker/compose.development.yaml similarity index 100% rename from docker/docker-compose-development.yml rename to docker/compose.development.yaml diff --git a/docker/docker-compose-integration-tests.yml b/docker/compose.integration-tests.yaml similarity index 100% rename from docker/docker-compose-integration-tests.yml rename to docker/compose.integration-tests.yaml diff --git a/docker/docker-compose-test-runner-develop.yml b/docker/compose.test-runner-develop.yaml similarity index 100% rename from docker/docker-compose-test-runner-develop.yml rename to docker/compose.test-runner-develop.yaml diff --git a/docker/docker-compose-test-runner-live.yml b/docker/compose.test-runner-live.yaml similarity index 100% rename from docker/docker-compose-test-runner-live.yml rename to docker/compose.test-runner-live.yaml diff --git a/docker/docker-compose-test.yml b/docker/compose.test.yaml similarity index 100% rename from docker/docker-compose-test.yml rename to docker/compose.test.yaml diff --git a/docker/docker-compose-tools.yml b/docker/compose.tools.yaml similarity index 100% rename from docker/docker-compose-tools.yml rename to docker/compose.tools.yaml diff --git a/docker/docker-compose.yml b/docker/compose.yaml similarity index 100% rename from docker/docker-compose.yml rename to docker/compose.yaml diff --git a/docker/defaults.env b/docker/defaults.env index 6ca452cce..b4d2feac2 100644 --- a/docker/defaults.env +++ b/docker/defaults.env @@ -143,7 +143,7 @@ ALERTMANAGER_SUBJECT=Alert on host '{{ .CommonAnnotations.host }}', caused by '{ COMPOSE_PROJECT_NAME=internetnl # configure which compose files are included in this environment -COMPOSE_FILE=docker/docker-compose.yml +COMPOSE_FILE=docker/compose.yaml # enable all services and crons COMPOSE_PROFILES=connectiontest,cron,routinator diff --git a/docker/develop.env b/docker/develop.env index 6d46109da..beee1765b 100644 --- a/docker/develop.env +++ b/docker/develop.env @@ -40,7 +40,7 @@ SMTP_EHLO_DOMAIN=internet.test HEALTHCHECK_INTERVAL=5s # include default components and development environment specific ones -COMPOSE_FILE=docker/docker-compose.yml:docker/docker-compose-development.yml +COMPOSE_FILE=docker/compose.yaml:docker/compose.development.yaml # expose rabbitmq admin RABBITMQ_GUI=127.0.0.1:15672:15672 diff --git a/docker/test.env b/docker/test.env index 65e421622..6449e7744 100644 --- a/docker/test.env +++ b/docker/test.env @@ -79,7 +79,7 @@ SMTP_EHLO_DOMAIN=internet.test HEALTHCHECK_INTERVAL=5s # include default components, integration test targets, internal resolver and test-runner -COMPOSE_FILE=docker/docker-compose.yml:docker/docker-compose-integration-tests.yml +COMPOSE_FILE=docker/compose.yaml:docker/compose.integration-tests.yaml # export rabbitmq gui on alternative port to not conflict with development environment RABBITMQ_GUI=127.0.0.1:15672:15673 diff --git a/docker/util.Dockerfile b/docker/util.Dockerfile index 445c9ef7d..0838b2400 100644 --- a/docker/util.Dockerfile +++ b/docker/util.Dockerfile @@ -19,7 +19,7 @@ COPY docker/deploy.sh / RUN mkdir -p /dist/docker COPY docker/defaults.env /dist/docker/ COPY docker/host-dist.env /dist/docker/ -COPY docker/docker-compose.yml /dist/docker/ +COPY docker/compose.yaml /dist/docker/ COPY docker/user_manage.sh /dist/docker/ RUN chmod a-w /dist/docker/* diff --git a/documentation/Docker-architecture.md b/documentation/Docker-architecture.md index 84c961d8a..e556ab7e6 100644 --- a/documentation/Docker-architecture.md +++ b/documentation/Docker-architecture.md @@ -42,25 +42,25 @@ This project uses Docker Compose to configure/orchestrate it's containers/servic ### Main compose file -The `docker/docker-compose.yml` file contains the entire application stack configuration including all dependencies and the metrics collection stack. This file is used to deploy the application in production environments (see [Deployment](Docker-deployment.md)). All runtime configuration is fed in through environment variables (see [Environment variables and files](Docker-architecture.md#environment-variables-and-files)) below. +The `docker/compose.yaml` file contains the entire application stack configuration including all dependencies and the metrics collection stack. This file is used to deploy the application in production environments (see [Deployment](Docker-deployment.md)). All runtime configuration is fed in through environment variables (see [Environment variables and files](Docker-architecture.md#environment-variables-and-files)) below. ### Test/Development environments There test and develop environment each use a compose file which layered on top of the main compose file. -The `docker/docker-compose-integration-test.yml` file is used to create an isolated network and adds mock targets and a mock-resolver used for testing. As well as the `test-runner` service which acts inside the isolated network and performs tests against the application instance. For more information see: [Integration tests](Docker-integration-tests.md). +The `docker/compose.integration-test.yaml` file is used to create an isolated network and adds mock targets and a mock-resolver used for testing. As well as the `test-runner` service which acts inside the isolated network and performs tests against the application instance. For more information see: [Integration tests](Docker-integration-tests.md). -The `docker/docker-compose-development.yml` file enables mounted volumes for the source files of the app, worker and beat services, see: [Development Environment](Docker-development-environment.md). +The `docker/compose.development.yaml` file enables mounted volumes for the source files of the app, worker and beat services, see: [Development Environment](Docker-development-environment.md). -The `docker/docker-compose-test-runner-develop.yml` file contains a test-runner that is configured to test against a running development environment, see: [Development environment tests](Docker-development-environment.md#development-environment-tests). +The `docker/compose.test-runner-develop.yaml` file contains a test-runner that is configured to test against a running development environment, see: [Development environment tests](Docker-development-environment.md#development-environment-tests). ### Development tools -All development related tasks are performed inside of Docker containers (eg: unit tests, lint checking, rebuilding `requirements.txt` files, etc). For these purposes the `docker/docker-compose-tools.yml` and `docker/docker-compose-test.yml` exist. +All development related tasks are performed inside of Docker containers (eg: unit tests, lint checking, rebuilding `requirements.txt` files, etc). For these purposes the `docker/compose.tools.yaml` and `docker/compose.test.yaml` exist. ### Live tests -The `docker/docker-compose-test-runner-live.yml` file allows to run live tests with IPv6 enabled against a target on the public internet. See: [Live tests](Docker-live-tests.md) and [Development environment#IPv6 support](Docker-development-environment.md#ipv6-support). +The `docker/compose.test-runner-live.yaml` file allows to run live tests with IPv6 enabled against a target on the public internet. See: [Live tests](Docker-live-tests.md) and [Development environment#IPv6 support](Docker-development-environment.md#ipv6-support). ## Environment variables and files diff --git a/documentation/Docker-deployment-batch.md b/documentation/Docker-deployment-batch.md index b7266e32e..5c2fca461 100644 --- a/documentation/Docker-deployment-batch.md +++ b/documentation/Docker-deployment-batch.md @@ -61,7 +61,7 @@ Configure Docker for IPv6 and Live restore: ## Application setup -The application deployment configuration consists of a Docker Compose file (`docker-compose.yml`) and layered environment files (`docker/defaults.env`, `docker/host.env` and `docker/local.env`). +The application deployment configuration consists of a Docker Compose file (`compose.yaml`) and layered environment files (`docker/defaults.env`, `docker/host.env` and `docker/local.env`). Run the following commands to install the files in the expected location: diff --git a/documentation/Docker-deployment.md b/documentation/Docker-deployment.md index 14e74083f..2c0847073 100644 --- a/documentation/Docker-deployment.md +++ b/documentation/Docker-deployment.md @@ -103,7 +103,7 @@ Configure Docker for IPv6 and Live restore: ## Application setup -The application deployment configuration consists of a Docker Compose file (`docker-compose.yml`) and layered environment files (`docker/defaults.env`, `docker/host.env` and `docker/local.env`). +The application deployment configuration consists of a Docker Compose file (`compose.yaml`) and layered environment files (`docker/defaults.env`, `docker/host.env` and `docker/local.env`). Run the following commands to install the files in the expected location: @@ -246,7 +246,7 @@ The issue can be resolved by restarting the application: ## Updating -To update the application stack to the latest release run the following command, which will first update the `docker/defaults.env` and `docker/docker-compose.yml` files, then pull the latest versions of the prebuild images and update the application components: +To update the application stack to the latest release run the following command, which will first update the `docker/defaults.env` and `docker/compose.yaml` files, then pull the latest versions of the prebuild images and update the application components: docker run -ti --rm --pull=always --network none \ --volume /var/run/docker.sock:/var/run/docker.sock \ diff --git a/documentation/Docker-development-environment.md b/documentation/Docker-development-environment.md index bf6d9a258..a3c44e22d 100644 --- a/documentation/Docker-development-environment.md +++ b/documentation/Docker-development-environment.md @@ -79,7 +79,7 @@ Most changes to only the Python source do not require the rebuilding of images, - template/translations/staticfile/js/css - requirements.txt files - sources in `vendor/` -- Dockerfile/docker-compose.yml files +- Dockerfile/compose.yaml files ## Debugging/introspection/troubleshooting/resettings @@ -205,7 +205,7 @@ Otherwise on Mac, try factory resetting Docker: https://docs.docker.com/desktop/ ### Docker compose configuration files -Different versions of Docker Compose may have different ways of processing configuration files or the way they are merged. If you suspect there is an issue due to a newer version of Docker Compose, to see what the final configuration file looks like after merging for example `docker-compose.yml` and `docker-compose-intergration-test.yml` for the `test` environment run: +Different versions of Docker Compose may have different ways of processing configuration files or the way they are merged. If you suspect there is an issue due to a newer version of Docker Compose, to see what the final configuration file looks like after merging for example `compose.yaml` and `compose.intergration-test.yaml` for the `test` environment run: make docker-compose-config env=test diff --git a/documentation/Docker-integration-tests.md b/documentation/Docker-integration-tests.md index cce22fce0..48d4e889a 100644 --- a/documentation/Docker-integration-tests.md +++ b/documentation/Docker-integration-tests.md @@ -28,7 +28,7 @@ There are two test targets used in the integration tests. For HTTP tests `target The HTTP test target container runs a Nginx instance which can be configured for different scenarios that might be tested. The configuration file for this is located at: `docker/integration-tests/nginx_templates/test-target.conf.template`. -The e-mail target run a mock mailserver and is configured in the `docker/docker-compose-integration-tests.yml` file. +The e-mail target run a mock mailserver and is configured in the `docker/compose.integration-tests.yaml` file. ### PKI/self-signed certificate diff --git a/documentation/Docker-metrics.md b/documentation/Docker-metrics.md index 0244dd0d4..0f9d84695 100644 --- a/documentation/Docker-metrics.md +++ b/documentation/Docker-metrics.md @@ -4,7 +4,7 @@ The Docker deployment includes a metrics collection system which is available on To view metrics and graphs visit the `/grafana/` endpoint. Eg: `http://localhost:8080/grafana/` for development and `https://example.com/grafana/` for production. For development the user/password is set to `test/test`, for production users can be configured using the `MONITORING_AUTH_RAW` variable in `docker/local.env` (see `docker/defaults.env` for information). -Metrics collection is defined in the `docker/docker-compose-monitoring.yml` file. +Metrics collection is defined in the `docker/compose.monitoring.yaml` file. ## Overview diff --git a/documentation/images/dockerfiles.py b/documentation/images/dockerfiles.py index 60ddcc002..4d4e664f7 100644 --- a/documentation/images/dockerfiles.py +++ b/documentation/images/dockerfiles.py @@ -33,7 +33,7 @@ File("cron/periodic/*"), File("cron-docker/periodic/*"), File("deploy.sh"), - File("docker-compose.yml,defaults.env,host-dist.env"), + File("compose.yaml,defaults.env,host-dist.env"), ] >> Image("ghcr.io/internetstandards/util") with Cluster("grafana.Dockerfile"):