Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
74c4b78
Signed-off-by: belloafeez <werkjober@gmail.com>
werkmanne Aug 1, 2024
4191358
docker compose updated
werkmanne Aug 1, 2024
87fc6c0
docker compose update
werkmanne Aug 1, 2024
f3bc998
updated odoo addons
werkmanne Aug 1, 2024
d1a52de
updated esc task deploy
werkmanne Aug 1, 2024
4a03e91
udtaed
werkmanne Aug 2, 2024
4eb879a
Signed-off-by: belloafeez <werkjober@gmail.com>
werkmanne Aug 1, 2024
ce673ab
docker compose updated
werkmanne Aug 1, 2024
8f94e3d
updated esc task deploy
werkmanne Aug 1, 2024
cb37465
docker compose update
werkmanne Aug 1, 2024
ab3ebf1
udtaed
werkmanne Aug 2, 2024
281a7cc
updated odoo addons
werkmanne Aug 1, 2024
733e784
Merge branch 'axmsoftware-new' of github.com:energy-iot/docker-openem…
werkmanne Aug 2, 2024
bef1f15
updated
werkmanne Aug 2, 2024
0cabdde
updated
werkmanne Aug 2, 2024
829500e
dsgwe
werkmanne Aug 2, 2024
9b3e636
updated esc task deploy
werkmanne Aug 1, 2024
f899fe1
udtaed
werkmanne Aug 2, 2024
572aa2b
Signed-off-by: belloafeez <werkjober@gmail.com>
werkmanne Aug 1, 2024
d46a624
docker compose update
werkmanne Aug 1, 2024
7d0c5cb
updated esc task deploy
werkmanne Aug 1, 2024
78dde44
udtaed
werkmanne Aug 2, 2024
50955b0
updated
werkmanne Aug 2, 2024
a913e81
updated
werkmanne Aug 2, 2024
85246fa
dsgwe
werkmanne Aug 2, 2024
f1c4a5f
Merge branch 'axmsoftware-new' of github.com:energy-iot/docker-openem…
werkmanne Aug 2, 2024
0c27c48
updated
werkmanne Aug 2, 2024
dd76041
updated
werkmanne Aug 2, 2024
f14bb51
updated
werkmanne Aug 2, 2024
51a291f
updated
werkmanne Aug 2, 2024
38f30c8
updated
werkmanne Aug 2, 2024
d5a6775
updated
werkmanne Aug 2, 2024
40c7569
updated
werkmanne Aug 4, 2024
5b38ac9
updated
werkmanne Aug 5, 2024
a5c9b7c
updated
werkmanne Aug 5, 2024
6c2bcd1
updated
werkmanne Aug 5, 2024
7d9e97a
updated
werkmanne Aug 5, 2024
51accb2
updated
werkmanne Aug 5, 2024
598b628
updated
werkmanne Aug 7, 2024
e4589a4
updated
werkmanne Aug 7, 2024
19a049a
updated
werkmanne Aug 7, 2024
79d7f05
updated
werkmanne Aug 7, 2024
f1aff1d
updated
werkmanne Aug 7, 2024
709e986
updated
werkmanne Aug 7, 2024
ad06cde
updated
werkmanne Aug 7, 2024
ca0480a
updated
werkmanne Aug 7, 2024
312b381
updated
werkmanne Aug 7, 2024
908756d
updated
werkmanne Aug 7, 2024
cd808d7
updated
werkmanne Aug 7, 2024
682b3ea
updated
werkmanne Aug 7, 2024
c040df6
updated
werkmanne Aug 10, 2024
0f244d7
updated
werkmanne Sep 2, 2024
bea93fd
updated
werkmanne Sep 2, 2024
dc03488
updated
werkmanne Sep 2, 2024
c552221
Update terraform.tfvars
aidan-barnes-axm Nov 23, 2025
3211158
Update terraform.tfvars (#32)
aidan-barnes-axm Nov 23, 2025
c59821c
Update Dockerfile to use Temurin instead of OpenJDK
aidan-barnes-axm Nov 23, 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
44 changes: 26 additions & 18 deletions .github/workflows/deploy-pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ env:
IMAGE_NAME_VALUE_2: openems-backend
# IMAGE_NAME_VALUE_3: openems-db
IMAGE_NAME_VALUE_4: odoo
IMAGE_NAME_VALUE_5: odoo-db
# IMAGE_NAME_VALUE_5: odoo-db
IMAGE_NAME_VALUE_6: openems-edge
TERRAFORM_ACTION: apply
ECS_TD: .github/workflows/openems-deployment-td.json
Expand Down Expand Up @@ -71,7 +71,7 @@ jobs:
- name: Check if ECR repositories exist
env:
# List your repository names here
REPO_NAMES: '${{ env.IMAGE_NAME_VALUE_1 }},${{ env.IMAGE_NAME_VALUE_2 }},${{ env.IMAGE_NAME_VALUE_4 }},${{ env.IMAGE_NAME_VALUE_5 }},${{ env.IMAGE_NAME_VALUE_6 }}'
REPO_NAMES: '${{ env.IMAGE_NAME_VALUE_1 }},${{ env.IMAGE_NAME_VALUE_2 }},${{ env.IMAGE_NAME_VALUE_4 }},${{ env.IMAGE_NAME_VALUE_6 }}'
run: |
IFS=',' read -ra REPOS <<< "$REPO_NAMES"
for repo in "${REPOS[@]}"; do
Expand All @@ -89,7 +89,7 @@ jobs:
- name: Create ECR repositories
env:
# List your repository names here
REPO_NAMES: '${{ env.IMAGE_NAME_VALUE_1 }},${{ env.IMAGE_NAME_VALUE_2 }},${{ env.IMAGE_NAME_VALUE_4 }},${{ env.IMAGE_NAME_VALUE_5 }},${{ env.IMAGE_NAME_VALUE_6 }}'
REPO_NAMES: '${{ env.IMAGE_NAME_VALUE_1 }},${{ env.IMAGE_NAME_VALUE_2 }},${{ env.IMAGE_NAME_VALUE_4 }},${{ env.IMAGE_NAME_VALUE_6 }}'
run: |
IFS=',' read -ra REPOS <<< "$REPO_NAMES"
for repo in "${REPOS[@]}"; do
Expand Down Expand Up @@ -123,9 +123,17 @@ jobs:
- name: Login to Amazon ECR
uses: aws-actions/amazon-ecr-login@v1

# - name: Set up Docker Buildx
# uses: docker/setup-buildx-action@v2

# - name: Install Docker Compose
# run: |
# curl -L "https://github.com/docker/compose/releases/download/2.20.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# chmod +x /usr/local/bin/docker-compose

- name: Build an image from Docker Compose
run: |
docker-compose build
docker compose build

- name: Run Trivy vulnerability scanner
uses: aquasecurity/trivy-action@master
Expand Down Expand Up @@ -155,12 +163,12 @@ jobs:
format: 'sarif'
output: 'trivy-results.sarif'

- name: Run Trivy vulnerability scanner
uses: aquasecurity/trivy-action@master
with:
image-ref: 'docker.io/library/${{ env.IMAGE_NAME_VALUE_5 }}:latest'
format: 'sarif'
output: 'trivy-results.sarif'
# - name: Run Trivy vulnerability scanner
# uses: aquasecurity/trivy-action@master
# with:
# image-ref: 'docker.io/library/${{ env.IMAGE_NAME_VALUE_5 }}:latest'
# format: 'sarif'
# output: 'trivy-results.sarif'

- name: Run Trivy vulnerability scanner
uses: aquasecurity/trivy-action@master
Expand Down Expand Up @@ -223,19 +231,19 @@ jobs:
container-name: openems-deployment-container-odoo
image: ${{ secrets.ECR_REGISTRY }}/${{ env.IMAGE_NAME_VALUE_4 }}:latest

- name: Modify Amazon ECS task definition with forth container
id: render-odoo-db-container
uses: aws-actions/amazon-ecs-render-task-definition@v1
with:
task-definition: ${{ steps.render-odoo-container.outputs.task-definition }}
container-name: openems-deployment-container-odoo-db
image: ${{ secrets.ECR_REGISTRY }}/${{ env.IMAGE_NAME_VALUE_4 }}:latest
# - name: Modify Amazon ECS task definition with forth container
# id: render-odoo-db-container
# uses: aws-actions/amazon-ecs-render-task-definition@v1
# with:
# task-definition: ${{ steps.render-odoo-container.outputs.task-definition }}
# container-name: openems-deployment-container-odoo-db
# image: ${{ secrets.ECR_REGISTRY }}/${{ env.IMAGE_NAME_VALUE_4 }}:latest

- name: Modify Amazon ECS task definition with fifth container
id: render-edge-container
uses: aws-actions/amazon-ecs-render-task-definition@v1
with:
task-definition: ${{ steps.render-odoo-db-container.outputs.task-definition }}
task-definition: ${{ steps.render-odoo-container.outputs.task-definition }}
container-name: openems-deployment-container-edge
image: ${{ secrets.ECR_REGISTRY }}/${{ env.IMAGE_NAME_VALUE_6 }}:latest

Expand Down
196 changes: 3 additions & 193 deletions .github/workflows/destroy-pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ env:
IMAGE_NAME_VALUE_2: openems-backend
# IMAGE_NAME_VALUE_3: openems-db
IMAGE_NAME_VALUE_4: odoo
IMAGE_NAME_VALUE_5: odoo-db
# IMAGE_NAME_VALUE_5: odoo-db
IMAGE_NAME_VALUE_6: openems-edge
TERRAFORM_ACTION: destroy
ECS_TD: .github/workflows/openems-deployment-td.json
Expand All @@ -34,8 +34,8 @@ jobs:
aws-secret-access-key: ${{ env.AWS_SECRET_ACCESS_KEY }}
aws-region: ${{ env.AWS_REGION }}

# Build AWS infrastructure
deploy_aws_infrastructure:
# Destroy AWS infrastructure
destroy_aws_infrastructure:
name: Build AWS infrastructure
needs: configure_aws_credentials
runs-on: ubuntu-latest
Expand All @@ -55,193 +55,3 @@ jobs:
- name: Run Terraform apply/destroy
working-directory: ./iac
run: terraform ${{ env.TERRAFORM_ACTION }} -auto-approve

# Create ECR repository
create_ecr_repository:
name: Create ECR repository
needs:
- deploy_aws_infrastructure
- configure_aws_credentials
if: needs.deploy_aws_infrastructure.output.terraform_action != 'destroy'
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Check if ECR repositories exist
env:
# List your repository names here
REPO_NAMES: '${{ env.IMAGE_NAME_VALUE_1 }},${{ env.IMAGE_NAME_VALUE_2 }},${{ env.IMAGE_NAME_VALUE_4 }},${{ env.IMAGE_NAME_VALUE_5 }},${{ env.IMAGE_NAME_VALUE_6 }}'
run: |
IFS=',' read -ra REPOS <<< "$REPO_NAMES"
for repo in "${REPOS[@]}"; do
echo "Checking repository: $repo"
result=$(aws ecr describe-repositories --repository-names "$repo" 2>/dev/null | jq -r '.repositories[0]?.repositoryName // empty')
if [[ -z "$result" ]]; then
echo "Repository $repo does not exist."
else
echo "Repository $repo exists."
echo "repo_name_$repo=$result" >> $GITHUB_ENV
fi
done
continue-on-error: true

- name: Create ECR repositories
env:
# List your repository names here
REPO_NAMES: '${{ env.IMAGE_NAME_VALUE_1 }},${{ env.IMAGE_NAME_VALUE_2 }},${{ env.IMAGE_NAME_VALUE_4 }},${{ env.IMAGE_NAME_VALUE_5 }},${{ env.IMAGE_NAME_VALUE_6 }}'
run: |
IFS=',' read -ra REPOS <<< "$REPO_NAMES"
for repo in "${REPOS[@]}"; do
echo "Creating repository: $repo"
if ! aws ecr describe-repositories --repository-names "$repo" 2>/dev/null; then
aws ecr create-repository --repository-name "$repo"
echo "Repository $repo created."
else
echo "Repository $repo already exists."
fi
done
# aws ecr put-registry-scanning-configuration \
# --scan-type ENHANCED \
# --rules '["scanFrequency" : "SCAN_ON_PUSH"]' \
# --region ${{ env.AWS_REGION }}

# Build Docker Image

build_scan_push:
name: Build, Scan and push Docker image to ECR
needs:
- configure_aws_credentials
- deploy_aws_infrastructure
- create_ecr_repository
if: needs.deploy_aws_infrastructure.output.terraform_action != 'destroy'
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Login to Amazon ECR
uses: aws-actions/amazon-ecr-login@v1

- name: Build an image from Docker Compose
run: |
docker-compose build

- name: Run Trivy vulnerability scanner
uses: aquasecurity/trivy-action@master
with:
image-ref: 'docker.io/library/${{ env.IMAGE_NAME_VALUE_1 }}:latest'
format: 'sarif'
output: 'trivy-results.sarif'

- name: Run Trivy vulnerability scanner
uses: aquasecurity/trivy-action@master
with:
image-ref: 'docker.io/library/${{ env.IMAGE_NAME_VALUE_2 }}:latest'
format: 'sarif'
output: 'trivy-results.sarif'

# - name: Run Trivy vulnerability scanner
# uses: aquasecurity/trivy-action@master
# with:
# image-ref: 'docker.io/library/${{ env.IMAGE_NAME_VALUE_3 }}:latest'
# format: 'sarif'
# output: 'trivy-results.sarif'

- name: Run Trivy vulnerability scanner
uses: aquasecurity/trivy-action@master
with:
image-ref: 'docker.io/library/${{ env.IMAGE_NAME_VALUE_4 }}:latest'
format: 'sarif'
output: 'trivy-results.sarif'

- name: Run Trivy vulnerability scanner
uses: aquasecurity/trivy-action@master
with:
image-ref: 'docker.io/library/${{ env.IMAGE_NAME_VALUE_5 }}:latest'
format: 'sarif'
output: 'trivy-results.sarif'

- name: Run Trivy vulnerability scanner
uses: aquasecurity/trivy-action@master
with:
image-ref: 'docker.io/library/${{ env.IMAGE_NAME_VALUE_6 }}:latest'
format: 'sarif'
output: 'trivy-results.sarif'

# - name: Upload Trivy scan results to GitHub Security tab
# uses: github/codeql-action/upload-sarif@v2
# with:
# sarif_file: 'trivy-results.sarif'

- name: Grant execute permission to the script
run: chmod +x ./push-to-ecr.sh

- name: Retag Docker image and Push Docker Image to Amazon ECR
run: ./push-to-ecr.sh

create_td_revision_restart_ecs:
name: Create new task definition revision and Restart ECS
needs:
- configure_aws_credentials
- deploy_aws_infrastructure
- create_ecr_repository
- build_scan_push
if: needs.deploy_aws_infrastructure.output.terraform_action != 'destroy'
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4

- name: Render Amazon ECS task definition for first container
id: render-ui-container
uses: aws-actions/amazon-ecs-render-task-definition@v1
with:
task-definition: ${{ env.ECS_TD }}
container-name: openems-deployment-container-ui
image: ${{ secrets.ECR_REGISTRY }}/${{ env.IMAGE_NAME_VALUE_1 }}:latest

- name: Modify Amazon ECS task definition with first container
id: render-backend-container
uses: aws-actions/amazon-ecs-render-task-definition@v1
with:
task-definition: ${{ steps.render-ui-container.outputs.task-definition }}
container-name: openems-deployment-container-backend
image: ${{ secrets.ECR_REGISTRY }}/${{ env.IMAGE_NAME_VALUE_2 }}:latest

# - name: Modify Amazon ECS task definition with second container
# id: render-backend-db-container
# uses: aws-actions/amazon-ecs-render-task-definition@v1
# with:
# task-definition: ${{ steps.render-backend-container.outputs.task-definition }}

- name: Modify Amazon ECS task definition with third container
id: render-odoo-container
uses: aws-actions/amazon-ecs-render-task-definition@v1
with:
task-definition: ${{ steps.render-backend-container.outputs.task-definition }}
container-name: openems-deployment-container-odoo
image: ${{ secrets.ECR_REGISTRY }}/${{ env.IMAGE_NAME_VALUE_4 }}:latest

- name: Modify Amazon ECS task definition with forth container
id: render-odoo-db-container
uses: aws-actions/amazon-ecs-render-task-definition@v1
with:
task-definition: ${{ steps.render-odoo-container.outputs.task-definition }}
container-name: openems-deployment-container-odoo-db
image: ${{ secrets.ECR_REGISTRY }}/${{ env.IMAGE_NAME_VALUE_4 }}:latest

- name: Modify Amazon ECS task definition with fifth container
id: render-edge-container
uses: aws-actions/amazon-ecs-render-task-definition@v1
with:
task-definition: ${{ steps.render-odoo-db-container.outputs.task-definition }}
container-name: openems-deployment-container-edge
image: ${{ secrets.ECR_REGISTRY }}/${{ env.IMAGE_NAME_VALUE_6 }}:latest

- name: Deploy to Amazon ECS service
uses: aws-actions/amazon-ecs-deploy-task-definition@v1
with:
task-definition: ${{ steps.render-backend-container.outputs.task-definition }}
service: ${{ env.ECS_SERVICE }}
cluster: ${{ env.ECS_CLUSTER }}
Loading
Loading