From ce7f597c7e79d9f78db6ccbc7fb88d603c98a654 Mon Sep 17 00:00:00 2001 From: Tom Siewert Date: Wed, 15 Feb 2023 12:51:36 +0100 Subject: [PATCH] Makefile: Make docker-compose command configurable docker-compose v1 is EOL since April 2022 and hasn't received any updates since May 2021. docker compose v2 is a complete rewrite in Go which acts as a plugin for the main docker application. The syntax is the same, but only the `compose` command differs. This commit adds the ability to override the default `docker-compose` command using `make DOCKER_COMPOSE='docker compose'`. Signed-off-by: Tom Siewert --- Makefile | 17 +++++++++-------- tools/docker-compose/README.md | 2 -- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/Makefile b/Makefile index 896dcf2c6c..0a1bc58f71 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,5 @@ PYTHON ?= python3.9 +DOCKER_COMPOSE ?= docker-compose OFFICIAL ?= no NODE ?= node NPM_BIN ?= npm @@ -509,20 +510,20 @@ docker-compose-sources: .git/hooks/pre-commit docker-compose: awx/projects docker-compose-sources - docker-compose -f tools/docker-compose/_sources/docker-compose.yml $(COMPOSE_OPTS) up $(COMPOSE_UP_OPTS) --remove-orphans + $(DOCKER_COMPOSE) -f tools/docker-compose/_sources/docker-compose.yml $(COMPOSE_OPTS) up $(COMPOSE_UP_OPTS) --remove-orphans docker-compose-credential-plugins: awx/projects docker-compose-sources echo -e "\033[0;31mTo generate a CyberArk Conjur API key: docker exec -it tools_conjur_1 conjurctl account create quick-start\033[0m" - docker-compose -f tools/docker-compose/_sources/docker-compose.yml -f tools/docker-credential-plugins-override.yml up --no-recreate awx_1 --remove-orphans + $(DOCKER_COMPOSE) -f tools/docker-compose/_sources/docker-compose.yml -f tools/docker-credential-plugins-override.yml up --no-recreate awx_1 --remove-orphans docker-compose-test: awx/projects docker-compose-sources - docker-compose -f tools/docker-compose/_sources/docker-compose.yml run --rm --service-ports awx_1 /bin/bash + $(DOCKER_COMPOSE) -f tools/docker-compose/_sources/docker-compose.yml run --rm --service-ports awx_1 /bin/bash docker-compose-runtest: awx/projects docker-compose-sources - docker-compose -f tools/docker-compose/_sources/docker-compose.yml run --rm --service-ports awx_1 /start_tests.sh + $(DOCKER_COMPOSE) -f tools/docker-compose/_sources/docker-compose.yml run --rm --service-ports awx_1 /start_tests.sh docker-compose-build-swagger: awx/projects docker-compose-sources - docker-compose -f tools/docker-compose/_sources/docker-compose.yml run --rm --service-ports --no-deps awx_1 /start_tests.sh swagger + $(DOCKER_COMPOSE) -f tools/docker-compose/_sources/docker-compose.yml run --rm --service-ports --no-deps awx_1 /start_tests.sh swagger SCHEMA_DIFF_BASE_BRANCH ?= devel detect-schema-change: genschema @@ -531,7 +532,7 @@ detect-schema-change: genschema diff -u -b reference-schema.json schema.json docker-compose-clean: awx/projects - docker-compose -f tools/docker-compose/_sources/docker-compose.yml rm -sf + $(DOCKER_COMPOSE) -f tools/docker-compose/_sources/docker-compose.yml rm -sf docker-compose-container-group-clean: @if [ -f "tools/docker-compose-minikube/_sources/minikube" ]; then \ @@ -559,10 +560,10 @@ docker-refresh: docker-clean docker-compose ## Docker Development Environment with Elastic Stack Connected docker-compose-elk: awx/projects docker-compose-sources - docker-compose -f tools/docker-compose/_sources/docker-compose.yml -f tools/elastic/docker-compose.logstash-link.yml -f tools/elastic/docker-compose.elastic-override.yml up --no-recreate + $(DOCKER_COMPOSE) -f tools/docker-compose/_sources/docker-compose.yml -f tools/elastic/docker-compose.logstash-link.yml -f tools/elastic/docker-compose.elastic-override.yml up --no-recreate docker-compose-cluster-elk: awx/projects docker-compose-sources - docker-compose -f tools/docker-compose/_sources/docker-compose.yml -f tools/elastic/docker-compose.logstash-link-cluster.yml -f tools/elastic/docker-compose.elastic-override.yml up --no-recreate + $(DOCKER_COMPOSE) -f tools/docker-compose/_sources/docker-compose.yml -f tools/elastic/docker-compose.logstash-link-cluster.yml -f tools/elastic/docker-compose.elastic-override.yml up --no-recreate docker-compose-container-group: MINIKUBE_CONTAINER_GROUP=true make docker-compose diff --git a/tools/docker-compose/README.md b/tools/docker-compose/README.md index dd66c41450..e2018b9adc 100644 --- a/tools/docker-compose/README.md +++ b/tools/docker-compose/README.md @@ -33,8 +33,6 @@ Notable files: ### Prerequisites - [Docker](https://docs.docker.com/engine/installation/) on the host where AWX will be deployed. After installing Docker, the Docker service must be started (depending on your OS, you may have to add the local user that uses Docker to the `docker` group, refer to the documentation for details) -- [docker-compose](https://pypi.org/project/docker-compose/) Python module. - - This also installs the `docker` Python module, which is incompatible with [`docker-py`](https://pypi.org/project/docker-py/). If you have previously installed `docker-py`, please uninstall it. - [Docker Compose](https://docs.docker.com/compose/install/). - [Ansible](https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html) will need to be installed as we use it to template files needed for the docker-compose. - OpenSSL.