Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

eCR Viewer setup script + variable pattern setting 🖌️ #51

Merged
merged 20 commits into from
Mar 3, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
2afb855
wip
alismx Feb 24, 2025
81a6d84
feat: Update environment vars configurations and services version in …
alismx Feb 25, 2025
cb2bede
feat: Update docker compose files with dynamic version, refactor fold…
alismx Feb 26, 2025
292d071
feat(workflows): add multiple packer build jobs and improve file orga…
alismx Feb 26, 2025
9900a9f
refactor: rename 'packer_build_main' to 'packer_build' in GitHub acti…
alismx Feb 26, 2025
ac3c5b6
feat: parameterize service name in docker compose file
alismx Feb 26, 2025
98511df
feat: add workflow_dispatch event to packMachines.yml
alismx Feb 26, 2025
0b98659
feat: append dibbs_version to vm_name in ubuntu server config
alismx Feb 26, 2025
3f80641
feat: update output directory path in ubuntu.pkr.hcl config file
alismx Feb 26, 2025
da2b1ed
feat: modify output directory path in packer config
alismx Feb 26, 2025
b38253c
feat(docker): update environment variable management in dibbs-ecr-viewer
alismx Feb 28, 2025
9b732ed
feat(docker): add service and version details to ecr viewer, modify b…
alismx Feb 28, 2025
9bc52ba
feat: enhance configuration for ecr-viewer and update build script
alismx Feb 28, 2025
e8028b4
chore(docker): remove trailing spaces and export environment variables
alismx Feb 28, 2025
ae56369
feat: Export env variables for docker compose and persist reboot
alismx Feb 28, 2025
d425339
chore: clean up environment variables in ecr-viewer.env
alismx Feb 28, 2025
71b2aa9
refactor: rename environment files and script variables to match new …
alismx Mar 1, 2025
6c66db2
refactor: rename environment files and update references in .gitignor…
alismx Mar 1, 2025
32e5216
feat: refactor packer workflow and remove redundant variable declarat…
alismx Mar 3, 2025
3591b1f
docs: correct typo in wizard.sh comment about clear_dot_env function
alismx Mar 3, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 5 additions & 8 deletions .github/workflows/dibbsVm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ permissions:
contents: read

jobs:

build:
runs-on: ubuntu-latest

Expand All @@ -25,11 +26,7 @@ jobs:
echo "::set-output name=version::$version"

- name: Build dibbs-vm for dibbs-ecr-viewer
if: ${{ steps.extract.outputs.service == 'dibbs-ecr-viewer' }}
run: |
echo "Building dibbs-vm version ${{ steps.extract.outputs.version }} for ${{ steps.extract.outputs.service }}"

- name: Build dibbs-vm for dibbs-query-connector
if: ${{ steps.extract.outputs.service == 'dibbs-query-connector' }}
run: |
echo "Building dibbs-vm version ${{ steps.extract.outputs.version }} for ${{ steps.extract.outputs.service }}"
uses: ./.github/workflows/packMachines.yml
with:
service: ${{ steps.extract.outputs.service }}
version: ${{ steps.extract.outputs.version }}
92 changes: 76 additions & 16 deletions .github/workflows/packMachines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,22 @@ on:
push:
branches:
- main
workflow_call:
inputs:
service:
required: true
type: string
version:
required: true
type: string
workflow_dispatch:
inputs:
service:
required: true
type: string
version:
required: true
type: string

permissions:
contents: read
Expand All @@ -19,16 +35,17 @@ jobs:
what_to_check: ./packer
uses: ./.github/workflows/checkForChanges.yml

packer_build:
if: needs.workflow_changes.outputs.has_changes == 'true' || needs.packer_changes.outputs.has_changes == 'true'
packer_build_main:
if: (needs.workflow_changes.outputs.has_changes == 'true' || needs.packer_changes.outputs.has_changes == 'true') && (github.event_name == 'push')
runs-on: ubuntu-latest
strategy:
matrix:
include:
- provisioners: ${{ inputs.provisioners }}
- services: ['dibbs-ecr-viewer', 'dibbs-query-connector']
steps:
- uses: actions/checkout@v4

- name: Set up Packer
uses: hashicorp/setup-packer@1aa358be5cf73883762b302a3a03abd66e75b232
with:
Expand All @@ -38,19 +55,62 @@ jobs:
- name: Set up QEMU
uses: docker/setup-qemu-action@4574d27a4764455b42196d70a065bc6853246a25

- name: Run `packer init`
working-directory: ./packer
id: init
run: "packer init ./ubuntu.pkr.hcl"
# dibbs-ecr-viewer
- name: Run `packer init dibbs-ecr-viewer`
working-directory: ./packer/ubuntu-server
run: packer init .

- name: Run `packer validate`
working-directory: ./packer
id: validate
run: "packer validate ./ubuntu.pkr.hcl"
- name: Run `packer validate dibbs-ecr-viewer`
working-directory: ./packer/ubuntu-server
run: packer validate --var dibbs_service=dibbs-ecr-viewer --var dibbs_version=main .

- name: Run `packer build dibbs-ecr-viewer`
working-directory: ./packer/ubuntu-server
run: packer build --var dibbs_service=dibbs-ecr-viewer --var dibbs_version=main .

# dibbs-query-connector
- name: Run `packer init dibbs-query-connector`
working-directory: ./packer/ubuntu-server
run: packer init .

- name: Run `packer validate dibbs-query-connector`
working-directory: ./packer/ubuntu-server
run: packer validate --var dibbs_service=dibbs-query-connector --var dibbs_version=main .

- name: Run `packer build dibbs-query-connector`
working-directory: ./packer/ubuntu-server
run: packer build --var dibbs_service=dibbs-query-connector --var dibbs_version=main .

packer_build_workflows:
if: (needs.workflow_changes.outputs.has_changes == 'true' || needs.packer_changes.outputs.has_changes == 'true') && (github.event_name == 'workflow_call' || github.event_name == 'workflow_dispatch')
runs-on: ubuntu-latest
strategy:
matrix:
include:
- provisioners: ${{ inputs.provisioners }}
steps:
- uses: actions/checkout@v4

## TODO: Add matrixed provisioner build here
- name: Build Packer Image
working-directory: ./packer
run: packer build ./ubuntu.pkr.hcl
- name: Set up Packer
uses: hashicorp/setup-packer@1aa358be5cf73883762b302a3a03abd66e75b232
with:
version: 1.11.2

# Needed for ISO builder
- name: Set up QEMU
uses: docker/setup-qemu-action@4574d27a4764455b42196d70a065bc6853246a25

- name: Run `packer init ${{ inputs.service }}`
working-directory: ./packer/ubuntu-server
run: packer init .

- name: Run `packer validate ${{ inputs.service }}`
working-directory: ./packer/ubuntu-server
run: packer validate --var dibbs_service=${{ inputs.service }} --var dibbs_version=${{ inputs.version }} .

# workflow_call and workflow_dispatch for either service
- name: Run `packer build ${{ inputs.service }}`
working-directory: ./packer/ubuntu-server
run: packer build --var dibbs_service=${{ inputs.service }} --var dibbs_version=${{ inputs.version }} .

## TODO: Decide how to export artifact.
## TODO: Decide how to export artifact.
9 changes: 9 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
packer/ubuntu-server/build/*

docker/dibbs-ecr-viewer/.env
docker/dibbs-ecr-viewer/ecr-viewer.wizard
docker/dibbs-ecr-viewer/ecr-viewer.bak

docker/dibbs-query-connectory/.env
docker/dibbs-query-connectory/query-connectory.wizard.env
docker/dibbs-query-connectory/query-connectory.env.bak
22 changes: 22 additions & 0 deletions docker/dibbs-ecr-viewer/dibbs-ecr-viewer.env
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
AWS_REGION=${AWS_REGION}
ECR_BUCKET_NAME=${ECR_BUCKET_NAME}

AZURE_STORAGE_CONNECTION_STRING=${AZURE_STORAGE_CONNECTION_STRING}
AZURE_CONTAINER_NAME=${AZURE_CONTAINER_NAME}

HOSTNAME=0.0.0.0

NBS_AUTH=${NBS_AUTH}
NBS_PUB_KEY=${NBS_PUB_KEY}

CONFIG_NAME=${CONFIG_NAME}

DATABASE_URL=${DATABASE_URL}

SQL_SERVER_USER=${SQL_SERVER_USER}
SQL_SERVER_PASSWORD=${SQL_SERVER_PASSWORD}
SQL_SERVER_HOST=${SQL_SERVER_HOST}
DB_CIPHER=${DB_CIPHER}

DIBBS_SERVICE=dibbs-ecr-viewer
DIBBS_VERSION=${DIBBS_VERSION}
Original file line number Diff line number Diff line change
Expand Up @@ -2,58 +2,58 @@ version: '3.8'

services:
ecr-viewer:
image: ghcr.io/cdcgov/dibbs-ecr-viewer/ecr-viewer:v2.0.0-beta
image: ghcr.io/cdcgov/$DIBBS_SERVICE/ecr-viewer:$DIBBS_VERSION
restart: always
env_file: "ecr-viewer.env"
env_file: "dibbs-ecr-viewer.env"
ports:
- "3000:3000"
networks:
- dibbs

ingestion:
image: ghcr.io/cdcgov/dibbs-ecr-viewer/ingestion:v2.0.0-beta
image: ghcr.io/cdcgov/$DIBBS_SERVICE/ingestion:$DIBBS_VERSION
restart: always
ports:
- "8080:8080"
networks:
- dibbs

validation:
image: ghcr.io/cdcgov/dibbs-ecr-viewer/validation:v2.0.0-beta
image: ghcr.io/cdcgov/$DIBBS_SERVICE/validation:$DIBBS_VERSION
restart: always
ports:
- "8081:8080"
networks:
- dibbs

fhir-converter:
image: ghcr.io/cdcgov/dibbs-ecr-viewer/fhir-converter:v2.0.0-beta
image: ghcr.io/cdcgov/$DIBBS_SERVICE/fhir-converter:$DIBBS_VERSION
restart: always
ports:
- "8082:8080"
networks:
- dibbs

message-parser:
image: ghcr.io/cdcgov/dibbs-ecr-viewer/message-parser:v2.0.0-beta
image: ghcr.io/cdcgov/$DIBBS_SERVICE/message-parser:$DIBBS_VERSION
restart: always
ports:
- "8083:8080"
networks:
- dibbs

trigger-code-reference:
image: ghcr.io/cdcgov/dibbs-ecr-viewer/trigger-code-reference:v2.0.0-beta
image: ghcr.io/cdcgov/$DIBBS_SERVICE/trigger-code-reference:$DIBBS_VERSION
restart: always
ports:
- "8084:8080"
networks:
- dibbs

orchestration:
image: ghcr.io/cdcgov/dibbs-ecr-viewer/orchestration:v2.0.0-beta
env_file: "orchestration.env"
restart: always
image: ghcr.io/cdcgov/$DIBBS_SERVICE/orchestration:$DIBBS_VERSION
env_file: "dibbs-orchestration.env"
restart: always
ports:
- "8085:8080"
networks:
Expand Down
Loading