From 24ba74875d7c73bfae0318f6dbbe62ba8c111de9 Mon Sep 17 00:00:00 2001 From: Zeid Zabaneh Date: Fri, 21 Jan 2022 09:28:43 -0500 Subject: [PATCH] docker: add support for revision worker (bug 1787300) - adds support for revision worker in suite - add script to start up suite based on local repos - clean up --- bin/run-all.sh | 20 +++++++++++++ docker-compose.lando-api.yml | 38 +++++++++++++++++++++++- docker-compose.yml | 40 ++++++++++++++++++++------ docker/local-dev/Dockerfile | 1 - docker/local-dev/clone_repositories.sh | 2 ++ 5 files changed, 91 insertions(+), 10 deletions(-) create mode 100755 bin/run-all.sh diff --git a/bin/run-all.sh b/bin/run-all.sh new file mode 100755 index 0000000..9150bbe --- /dev/null +++ b/bin/run-all.sh @@ -0,0 +1,20 @@ +# !/bin/sh + +# Run docker-compose with local repos, excluding Bugzilla. +# The following repos should be cloned in the parent directory: + +# https://github.com/mozilla-conduit/conduit-autoland-hg +# https://github.com/mozilla-conduit/lando-api +# https://github.com/mozilla-conduit/lando-ui +# https://github.com/mozilla-conduit/phabricator +# https://github.com/mozilla-conduit/review + +docker-compose \ +-f docker-compose.yml \ +-f docker-compose.review.yml \ +-f docker-compose.lando-api.yml \ +-f docker-compose.lando-ui.yml \ +-f docker-compose.autolandhg.yml \ +-f docker-compose.phabricator.yml \ +-f docker-compose.override.yml \ +up --build -d diff --git a/docker-compose.lando-api.yml b/docker-compose.lando-api.yml index 20eccde..9555cf0 100644 --- a/docker-compose.lando-api.yml +++ b/docker-compose.lando-api.yml @@ -18,6 +18,7 @@ services: - ../lando-api:/app - ../lando-api/docker/dev-version.json:/version.json - ../lando-api/migrations:/migrations + - patches:/patches lando-api.landing-worker: build: @@ -26,11 +27,14 @@ services: # Use ./Dockerfile to run using uwsgi, similar to remote environments dockerfile: ./Dockerfile-dev image: suite_lando-api - command: ["landing-worker"] + command: ["start-landing-worker"] environment: ENV: localdev # TREESTATUS_URL: "http://autoland.treestatus:8000/" DATABASE_URL: postgresql://postgres:password@lando-api.db/postgres + PHABRICATOR_URL: http://phabricator.test/ + PHABRICATOR_UNPRIVILEGED_API_KEY: api-lefsv24henzsbzpw337bhizawuyh + PHABRICATOR_ADMIN_API_KEY: api-lefsv24henzsbzpw337bhizawuyh SENTRY_DSN: CELERY_BROKER_URL: redis://redis.queue/0 OIDC_IDENTIFIER: https://lando-api.test @@ -53,6 +57,37 @@ services: # Prevent writing python cache to the host. - caches_cache:/app/.cache/ - /repos + - patches:/patches + depends_on: + - lando-api.db + - redis.queue + + lando-api.revision-worker: + build: + context: ../lando-api/ + dockerfile: ./Dockerfile-dev + image: suite_lando-api + command: ["start-revision-worker"] + environment: + ENV: localdev + DATABASE_URL: postgresql://postgres:password@lando-api.db/postgres + PHABRICATOR_URL: http://phabricator.test/ + PHABRICATOR_UNPRIVILEGED_API_KEY: api-lefsv24henzsbzpw337bhizawuyh + PHABRICATOR_ADMIN_API_KEY: api-lefsv24henzsbzpw337bhizawuyh + SENTRY_DSN: + CELERY_BROKER_URL: redis://redis.queue/0 + OIDC_IDENTIFIER: https://lando-api.test + LANDO_UI_URL: https://lando.test + REPO_CLONES_PATH: /repos + REPOS_TO_LAND: first-repo,second-repo,third-repo + user: root + volumes: + - ../lando-api:/app + - ../lando-api/migrations:/migrations + # Prevent writing python cache to the host. + - caches_cache:/app/.cache/ + - /repos + - patches:/patches depends_on: - lando-api.db - redis.queue @@ -68,3 +103,4 @@ services: volumes: caches_cache: + patches: diff --git a/docker-compose.yml b/docker-compose.yml index 1e5f7ae..4b4fa44 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -169,7 +169,7 @@ services: context: ../lando-api/ dockerfile: ./Dockerfile image: suite_lando-api - command: ["landing-worker"] + command: ["start-landing-worker"] environment: - ENV=localdev - DATABASE_URL=postgresql://postgres:password@lando-api.db/postgres @@ -185,6 +185,37 @@ services: # Prevent writing python cache to the host. - caches_cache:/app/.cache/ depends_on: + - autoland.hg + - lando-api.db + - redis.queue + + lando-api.revision-worker: + build: + context: ../lando-api/ + dockerfile: ./Dockerfile + image: suite_lando-api + command: ["start-revision-worker"] + environment: + ENV: localdev + DATABASE_URL: postgresql://postgres:password@lando-api.db/postgres + PHABRICATOR_URL: http://phabricator.test/ + PHABRICATOR_UNPRIVILEGED_API_KEY: api-lefsv24henzsbzpw337bhizawuyh + PHABRICATOR_PRIVILEGED_API_KEY: api-lefsv24henzsbzpw337bhizawuyh + SENTRY_DSN: + CELERY_BROKER_URL: redis://redis.queue/0 + OIDC_IDENTIFIER: https://lando-api.test + LANDO_UI_URL: https://lando.test + REPO_CLONES_PATH: /repos + REPOS_TO_LAND: first-repo,second-repo,third-repo + user: root + volumes: + - ../lando-api:/app + - ../lando-api/migrations:/migrations + # Prevent writing python cache to the host. + - caches_cache:/app/.cache/ + - /repos + depends_on: + - autoland.hg - lando-api.db - redis.queue @@ -273,13 +304,6 @@ services: HTTP_ALLOWED: 1 volumes: - local-dev:/home/phab - depends_on: - - tinyproxy - - phabricator.test - - bmo.test - - bmo.feed - - bmo.pushd - - autoland.hg.test ########################### # Proxy containers diff --git a/docker/local-dev/Dockerfile b/docker/local-dev/Dockerfile index 09c1a9d..153dd37 100644 --- a/docker/local-dev/Dockerfile +++ b/docker/local-dev/Dockerfile @@ -18,7 +18,6 @@ RUN apt-get install -y \ RUN curl https://sh.rustup.rs -sSf | sh -s -- -y ENV PATH="/root/.cargo/bin:${PATH}" - # copy configuration COPY arcrc .arcrc COPY hgrc .hgrc diff --git a/docker/local-dev/clone_repositories.sh b/docker/local-dev/clone_repositories.sh index 9d503c1..0cf55e0 100755 --- a/docker/local-dev/clone_repositories.sh +++ b/docker/local-dev/clone_repositories.sh @@ -39,4 +39,6 @@ cd third-repo echo -e "api-lefsv24henzsbzpw337bhizawuyh\n" | moz-phab install-certificate cd .. +chmod a+rwx . + git clone hg::http://hg.test/first-repo test-repo-cinnabar