From 2719705ab623c7a52dec86fbcd995fe9d3cbbe41 Mon Sep 17 00:00:00 2001 From: Sahil Malhotra Date: Tue, 15 Oct 2024 20:17:37 -0400 Subject: [PATCH 1/6] env configs for intermediary + rems admin --- docker-compose-dev.yml | 6 ++++++ docker-compose-local-build.yml | 6 ++++++ docker-compose.yml | 4 ++++ docker-sync.yml | 6 +++--- 4 files changed, 19 insertions(+), 3 deletions(-) diff --git a/docker-compose-dev.yml b/docker-compose-dev.yml index 378f973..b19efd6 100644 --- a/docker-compose-dev.yml +++ b/docker-compose-dev.yml @@ -96,6 +96,8 @@ services: ports: - "8090:8090" - "8091:8091" + - "9090:9090" + - "9091:9091" environment: VSAC_API_KEY: ${VSAC_API_KEY} MONGO_URL: mongodb://rems-user:pass@pims_remsadmin_mongo:27017 @@ -118,12 +120,15 @@ services: ports: - "8095:8095" - "8096:8096" + - "9095:9095" + - "9096:9096" environment: VSAC_API_KEY: ${VSAC_API_KEY} MONGO_DB_NAME: remsadmin2 MONGO_URL: mongodb://rems-user2:pass@pims_remsadmin_mongo:27017 SERVER_NAME: 'CodeX REMS Administrator Prototype #2' PORT: 8095 + FRONTEND_PORT: 9095 volumes: - rems_dev_rems-admin2-sync:/rems-admin2:nocopy # nocopy is important - rems_dev_rems-admin2-nodeModules:/rems-admin2/node_modules @@ -169,6 +174,7 @@ services: REMS_ADMIN_FHIR_PATH: http://rems-administrator:8090/4_0_0 ports: - "3003:3003" + - "9080:9080" volumes: - rems_dev_rems-intermediary-sync:/rems-intermediary:nocopy # nocopy is important - rems_dev_rems-intermediary-nodeModules:/rems-intermediary/node_modules diff --git a/docker-compose-local-build.yml b/docker-compose-local-build.yml index 0f73ab8..c5e7e76 100644 --- a/docker-compose-local-build.yml +++ b/docker-compose-local-build.yml @@ -77,6 +77,8 @@ services: ports: - "8090:8090" - "8091:8091" + - "9090:9090" + - "9091:9091" environment: VSAC_API_KEY: ${VSAC_API_KEY} MONGO_URL: mongodb://rems-user:pass@pims_remsadmin_mongo:27017 @@ -94,12 +96,15 @@ services: ports: - "8095:8095" - "8096:8096" + - "9095:9095" + - "9096:9096" environment: VSAC_API_KEY: ${VSAC_API_KEY} MONGO_DB_NAME: remsadmin2 MONGO_URL: mongodb://rems-user2:pass@pims_remsadmin_mongo:27017 SERVER_NAME: 'CodeX REMS Administrator Prototype #2' PORT: 8095 + FRONTEND_PORT: 9095 depends_on: pims_remsadmin_mongo: condition: service_healthy @@ -132,6 +137,7 @@ services: REMS_ADMIN_FHIR_PATH: http://rems-administrator:8090/4_0_0 ports: - "3003:3003" + - "9080:9080" depends_on: pims_remsadmin_mongo: condition: service_healthy diff --git a/docker-compose.yml b/docker-compose.yml index affd5ab..92f5397 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -49,6 +49,7 @@ services: container_name: rems_prod_rems-administrator ports: # Port binding to host from docker container - "8090:8090" + - "9090:9090" environment: VSAC_API_KEY: ${VSAC_API_KEY} MONGO_URL: mongodb://rems-user:pass@pims_remsadmin_mongo:27017 @@ -62,12 +63,14 @@ services: container_name: rems_prod_rems-administrator2 ports: # Port binding to host from docker container - "8095:8095" + - "9095:9095" environment: VSAC_API_KEY: ${VSAC_API_KEY} MONGO_DB_NAME: remsadmin2 MONGO_URL: mongodb://rems-user2:pass@pims_remsadmin_mongo:27017 SERVER_NAME: 'CodeX REMS Administrator Prototype #2' PORT: 8095 + FRONTEND_PORT: 9095 depends_on: pims_remsadmin_mongo: condition: service_healthy @@ -119,6 +122,7 @@ services: REMS_ADMIN_FHIR_PATH: http://rems-administrator:8090/4_0_0 ports: - "3003:3003" + - "9080:9080" depends_on: pims_remsadmin_mongo: condition: service_healthy diff --git a/docker-sync.yml b/docker-sync.yml index 4240866..bda58f2 100644 --- a/docker-sync.yml +++ b/docker-sync.yml @@ -17,11 +17,11 @@ syncs: rems_dev_rems-admin-sync: src: '../rems-admin' - sync_excludes: ['node_modules'] + sync_excludes: ['node_modules', './frontend/node_modules'] rems_dev_rems-admin2-sync: src: '../rems-admin' - sync_excludes: ['node_modules'] + sync_excludes: ['node_modules', './frontend/node_modules'] rems_dev_pims-sync: @@ -30,4 +30,4 @@ syncs: rems_dev_rems-intermediary-sync: src: '../rems-intermediary' - sync_excludes: ['node_modules'] \ No newline at end of file + sync_excludes: ['node_modules', './frontend/node_modules'] \ No newline at end of file From 6f4884f99fa5ec2a62d34f15cc46cd07b246cace Mon Sep 17 00:00:00 2001 From: Sahil Malhotra Date: Tue, 15 Oct 2024 21:02:48 -0400 Subject: [PATCH 2/6] rems admin configs --- docker-compose-dev.yml | 2 ++ docker-compose-local-build.yml | 2 ++ docker-compose.yml | 2 ++ 3 files changed, 6 insertions(+) diff --git a/docker-compose-dev.yml b/docker-compose-dev.yml index b19efd6..f848955 100644 --- a/docker-compose-dev.yml +++ b/docker-compose-dev.yml @@ -129,6 +129,8 @@ services: SERVER_NAME: 'CodeX REMS Administrator Prototype #2' PORT: 8095 FRONTEND_PORT: 9095 + AUTH_SERVER_URI: 'http://localhost:8095' + RESOURCE_SERVER: 'http://localhost:8095' volumes: - rems_dev_rems-admin2-sync:/rems-admin2:nocopy # nocopy is important - rems_dev_rems-admin2-nodeModules:/rems-admin2/node_modules diff --git a/docker-compose-local-build.yml b/docker-compose-local-build.yml index c5e7e76..8d1b9ff 100644 --- a/docker-compose-local-build.yml +++ b/docker-compose-local-build.yml @@ -105,6 +105,8 @@ services: SERVER_NAME: 'CodeX REMS Administrator Prototype #2' PORT: 8095 FRONTEND_PORT: 9095 + AUTH_SERVER_URI: 'http://localhost:8095' + RESOURCE_SERVER: 'http://localhost:8095' depends_on: pims_remsadmin_mongo: condition: service_healthy diff --git a/docker-compose.yml b/docker-compose.yml index 92f5397..c8ef00c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -71,6 +71,8 @@ services: SERVER_NAME: 'CodeX REMS Administrator Prototype #2' PORT: 8095 FRONTEND_PORT: 9095 + AUTH_SERVER_URI: 'http://localhost:8095' + RESOURCE_SERVER: 'http://localhost:8095' depends_on: pims_remsadmin_mongo: condition: service_healthy From 03391201d5a832e028e8e5ae0fda653aee8d242d Mon Sep 17 00:00:00 2001 From: Sahil Malhotra Date: Tue, 22 Oct 2024 20:59:32 -0400 Subject: [PATCH 3/6] ssh debug session --- .github/workflows/playwright.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/playwright.yml b/.github/workflows/playwright.yml index 4dea381..8d8704d 100644 --- a/.github/workflows/playwright.yml +++ b/.github/workflows/playwright.yml @@ -111,11 +111,14 @@ jobs: VSAC_API_KEY: ${{secrets.VSAC_API_KEY}} - name: Start containers - run: docker compose -f docker-compose-local-build.yml up -d --wait --force-recreate + run: docker compose -f docker-compose-local-build.yml up -d --force-recreate working-directory: ./rems-setup env: VSAC_API_KEY: ${{secrets.VSAC_API_KEY}} + - name: Setup upterm session + uses: lhotari/action-upterm@v1 + - uses: actions/setup-node@v3 with: node-version: 18 From ebc56d7014103ae834cacae87fbbdb2ef03490ee Mon Sep 17 00:00:00 2001 From: Sahil Malhotra Date: Wed, 23 Oct 2024 09:50:39 -0400 Subject: [PATCH 4/6] remove ssh debugging --- .github/workflows/playwright.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/playwright.yml b/.github/workflows/playwright.yml index 8d8704d..9b7c368 100644 --- a/.github/workflows/playwright.yml +++ b/.github/workflows/playwright.yml @@ -115,10 +115,7 @@ jobs: working-directory: ./rems-setup env: VSAC_API_KEY: ${{secrets.VSAC_API_KEY}} - - - name: Setup upterm session - uses: lhotari/action-upterm@v1 - + - uses: actions/setup-node@v3 with: node-version: 18 From d14420e68e6897eabf0c391d162f2909381667a5 Mon Sep 17 00:00:00 2001 From: Sahil Malhotra Date: Wed, 23 Oct 2024 09:53:07 -0400 Subject: [PATCH 5/6] add wait to flag to container start --- .github/workflows/playwright.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/playwright.yml b/.github/workflows/playwright.yml index 9b7c368..2d51043 100644 --- a/.github/workflows/playwright.yml +++ b/.github/workflows/playwright.yml @@ -111,7 +111,7 @@ jobs: VSAC_API_KEY: ${{secrets.VSAC_API_KEY}} - name: Start containers - run: docker compose -f docker-compose-local-build.yml up -d --force-recreate + run: docker compose -f docker-compose-local-build.yml up -d --wait --force-recreate working-directory: ./rems-setup env: VSAC_API_KEY: ${{secrets.VSAC_API_KEY}} From 9a23e01e107e2cb28ba7190080453cac478c39f7 Mon Sep 17 00:00:00 2001 From: Sahil Malhotra Date: Mon, 23 Dec 2024 10:22:17 -0500 Subject: [PATCH 6/6] mongo ci/cd --- .github/mongo-docker-cd-dev.yml | 43 ++++++++++++++++++++++++++++++++ .github/mongo-docker-cd.yml | 44 +++++++++++++++++++++++++++++++++ .github/mongo-docker-ci.yml | 19 ++++++++++++++ .github/mongo-docker-tag-cd.yml | 42 +++++++++++++++++++++++++++++++ Dockerfile.mongo | 5 ++++ 5 files changed, 153 insertions(+) create mode 100644 .github/mongo-docker-cd-dev.yml create mode 100644 .github/mongo-docker-cd.yml create mode 100644 .github/mongo-docker-ci.yml create mode 100644 .github/mongo-docker-tag-cd.yml create mode 100644 Dockerfile.mongo diff --git a/.github/mongo-docker-cd-dev.yml b/.github/mongo-docker-cd-dev.yml new file mode 100644 index 0000000..630fb71 --- /dev/null +++ b/.github/mongo-docker-cd-dev.yml @@ -0,0 +1,43 @@ +name: Mongo Development Docker Image CD + +on: + push: + branches: [ dev ] + workflow_dispatch: + +jobs: + mongo-docker-cd: + runs-on: ubuntu-latest + steps: + + - name: Checkout Repository + uses: actions/checkout@v3 + with: + submodules: true + + - name: Setup Docker Buildx + uses: docker/setup-buildx-action@v2 + + - name: Docker meta data + id: docker-meta-data + uses: docker/metadata-action@v4 + with: + images: codexrems/mongo + flavor: latest=false + + - name: Log in to Docker Hub + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_TOKEN }} + + - name: Build and push mongo Docker image + uses: docker/build-push-action@v5 + with: + context: . + platforms: linux/amd64,linux/arm64 + file: Dockerfile.mongo + push: true + tags: codexrems/mongo:experimental + labels: ${{ steps.docker-meta-data.outputs.labels }} + diff --git a/.github/mongo-docker-cd.yml b/.github/mongo-docker-cd.yml new file mode 100644 index 0000000..af24e66 --- /dev/null +++ b/.github/mongo-docker-cd.yml @@ -0,0 +1,44 @@ +name: Mongo Docker Image CD + +on: + push: + branches: [ main ] + workflow_dispatch: + +jobs: + mongo-docker-cd: + runs-on: ubuntu-latest + steps: + + - name: Checkout Repository + uses: actions/checkout@v3 + with: + submodules: true + + - name: Setup Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Docker meta data + id: docker-meta-data + uses: docker/metadata-action@v4 + with: + images: codexrems/mongo + flavor: latest=false + + - name: Log in to Docker Hub + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_TOKEN }} + + - name: Build and push Mongo Docker image + uses: docker/build-push-action@v6 + with: + context: . + platforms: linux/amd64,linux/arm64 + file: Dockerfile.mongo + push: true + tags: codexrems/mongo:latest + labels: ${{ steps.docker-meta-data.outputs.labels }} + + diff --git a/.github/mongo-docker-ci.yml b/.github/mongo-docker-ci.yml new file mode 100644 index 0000000..ce28501 --- /dev/null +++ b/.github/mongo-docker-ci.yml @@ -0,0 +1,19 @@ +name: Mongo Docker Image CI + +on: + pull_request: + branches: [ main, dev ] + workflow_dispatch: + +jobs: + docker-ci: + runs-on: ubuntu-latest + steps: + + - name: Checkout Repository + uses: actions/checkout@v2 + with: + submodules: true + + - name: Test Server Docker image Builds + run: docker build -f Dockerfile.mongo . \ No newline at end of file diff --git a/.github/mongo-docker-tag-cd.yml b/.github/mongo-docker-tag-cd.yml new file mode 100644 index 0000000..77a9e98 --- /dev/null +++ b/.github/mongo-docker-tag-cd.yml @@ -0,0 +1,42 @@ +name: Mongo Docker Tagged Image CD +on: + workflow_dispatch: + push: + tags: + - '*' + +jobs: + docker: + runs-on: ubuntu-latest + steps: + + - name: Checkout Repository + uses: actions/checkout@v3 + with: + submodules: true + + - name: Setup Docker Buildx + uses: docker/setup-buildx-action@v2 + + - name: Docker meta data + id: docker-meta-data + uses: docker/metadata-action@v4 + with: + images: codexrems/mongo + flavor: latest=false + + - name: Log in to Docker Hub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_TOKEN }} + + - name: Build and push + uses: docker/build-push-action@v5 + with: + context: . + push: true + platforms: linux/amd64,linux/arm64 + file: Dockerfile.mongo + tags: ${{ steps.docker-meta-data.outputs.tags }} + labels: ${{ steps.docker-meta-data.outputs.labels }} diff --git a/Dockerfile.mongo b/Dockerfile.mongo new file mode 100644 index 0000000..362b620 --- /dev/null +++ b/Dockerfile.mongo @@ -0,0 +1,5 @@ +FROM mongo:latest + +ENV MONGO_INITDB_ROOT_USERNAME=mongo-user +ENV MONGO_INITDB_ROOT_PASSWORD=mongo-password +COPY ./mongo-init.js /docker-entrypoint-initdb.d/mongo-init.js