Skip to content

Commit

Permalink
Rename docker-compose.yml to compose.yaml (#1575)
Browse files Browse the repository at this point in the history
Fixes #1567.

    grep -riEl 'docker-compose(-([^.]+))?\.yml' | xargs -r sed -i -r 's/docker-compose\.yml/compose.yaml/g;s/docker-compose-([^.]+)\.yml/compose.\1.yaml/g'
    for f in docker/docker-compose*.yml; do
        mv "$f" $(echo "$f" | sed -r 's/docker-compose\.yml/compose.yaml/g;s/docker-compose-([^.]+)\.yml/compose.\1.yaml/g');
    done
  • Loading branch information
bwbroersma authored Dec 2, 2024
1 parent ec70a64 commit b6fe21f
Show file tree
Hide file tree
Showing 23 changed files with 29 additions and 29 deletions.
10 changes: 5 additions & 5 deletions .github/workflows/docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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"

Expand Down Expand Up @@ -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:
Expand Down Expand Up @@ -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"

Expand Down Expand Up @@ -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:
Expand Down Expand Up @@ -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"

Expand Down
8 changes: 4 additions & 4 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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:
Expand All @@ -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 \
Expand Down Expand Up @@ -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}
Expand Down
2 changes: 1 addition & 1 deletion docker/batch-test.env
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion docker/build.env
Original file line number Diff line number Diff line change
@@ -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
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
2 changes: 1 addition & 1 deletion docker/defaults.env
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion docker/develop.env
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion docker/test.env
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion docker/util.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -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/*

Expand Down
12 changes: 6 additions & 6 deletions documentation/Docker-architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
2 changes: 1 addition & 1 deletion documentation/Docker-deployment-batch.md
Original file line number Diff line number Diff line change
Expand Up @@ -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:

Expand Down
4 changes: 2 additions & 2 deletions documentation/Docker-deployment.md
Original file line number Diff line number Diff line change
Expand Up @@ -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:

Expand Down Expand Up @@ -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 \
Expand Down
4 changes: 2 additions & 2 deletions documentation/Docker-development-environment.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down Expand Up @@ -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

Expand Down
2 changes: 1 addition & 1 deletion documentation/Docker-integration-tests.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
2 changes: 1 addition & 1 deletion documentation/Docker-metrics.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
2 changes: 1 addition & 1 deletion documentation/images/dockerfiles.py
Original file line number Diff line number Diff line change
Expand Up @@ -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"):
Expand Down

0 comments on commit b6fe21f

Please sign in to comment.