Skip to content
Closed

Aws2 #68

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
152 commits
Select commit Hold shift + click to select a range
f729946
Initial commit
HamzaAburaneh Nov 19, 2025
a687fe6
chore: migrate source code
HamzaAburaneh Nov 24, 2025
d517ff1
feat: add base terragrunt files and folders
HamzaAburaneh Nov 25, 2025
0bc0292
feat: create ECR module
HamzaAburaneh Nov 26, 2025
3916b52
feat: add hosted zone
HamzaAburaneh Nov 26, 2025
26820b5
fix: edit module name
HamzaAburaneh Nov 26, 2025
8729cea
feat: add ssm module
HamzaAburaneh Nov 26, 2025
11f7f01
fix: add descriptive name
HamzaAburaneh Nov 26, 2025
58b18aa
Merge pull request #2 from cds-snc/feat/add_ecr
HamzaAburaneh Nov 26, 2025
4ce22fb
Merge pull request #4 from cds-snc/feat/add_hosted_zone
HamzaAburaneh Nov 26, 2025
50d33f4
Merge pull request #5 from cds-snc/feat/add_ssm_module
HamzaAburaneh Nov 26, 2025
cad3d92
feat: create iam module
HamzaAburaneh Nov 26, 2025
fdb2ee9
Merge pull request #6 from cds-snc/feat/add-iam-module
HamzaAburaneh Nov 26, 2025
9f69790
feat: add required files for lb module
HamzaAburaneh Nov 27, 2025
d1e77da
fix: use updated ssl_policy and stop creating ACM cert
HamzaAburaneh Nov 27, 2025
1511f29
Merge pull request #7 from cds-snc/feat/add-lb-module
HamzaAburaneh Nov 27, 2025
b958165
feat: add ECS module for feedback-viewer application
HamzaAburaneh Nov 27, 2025
2217b94
fix: use latest module version
HamzaAburaneh Nov 27, 2025
fd9ab00
fix: update default values for cpu, memory, & desired counts
HamzaAburaneh Nov 27, 2025
1857930
fix: remove unused variables
HamzaAburaneh Nov 27, 2025
6d07da7
Merge pull request #8 from cds-snc/feat/add-ecs-module
HamzaAburaneh Nov 27, 2025
c8e8694
refactor: remove DocumentDB credentials from SSM module
HamzaAburaneh Nov 27, 2025
cfbbfc4
refactor: clean up IAM module and update staging config
HamzaAburaneh Nov 27, 2025
56796f5
feat: add dto-feedback-cj shared infrastructure references
HamzaAburaneh Nov 27, 2025
c729e81
style: fix indentation
HamzaAburaneh Nov 27, 2025
b3f812c
Merge pull request #9 from cds-snc/feat/refactor-shared-infrastructure
HamzaAburaneh Nov 27, 2025
d7b9f0c
chore: update git ignore
HamzaAburaneh Nov 27, 2025
2e6a682
feat: add docker file and docker-compose for local testing
HamzaAburaneh Nov 27, 2025
9d1ce87
feat: add GitHub Actions workflows for staging deployment
HamzaAburaneh Nov 27, 2025
e01a92c
fix: update role names
HamzaAburaneh Nov 27, 2025
7c947a8
fix: version mismatch
HamzaAburaneh Nov 28, 2025
4f54af6
Update .github/workflows/tf_apply_staging.yml
HamzaAburaneh Nov 28, 2025
c24f688
Update .github/workflows/tf_plan_staging.yml
HamzaAburaneh Nov 28, 2025
e7a1136
Update docker/Dockerfile
HamzaAburaneh Nov 28, 2025
909bdaa
Update .gitignore
HamzaAburaneh Nov 28, 2025
e30973a
Update .gitignore
HamzaAburaneh Nov 28, 2025
441fe28
refactor: convert LB security group to use separate rule resources
HamzaAburaneh Nov 28, 2025
5a9bb25
Merge branch 'feat/add-infrastructure-workflows' of https://github.co…
HamzaAburaneh Nov 28, 2025
94b2cea
Merge pull request #10 from cds-snc/feat/add-infrastructure-workflows
HamzaAburaneh Nov 28, 2025
d56a521
fix: update ssm value to not conflict
HamzaAburaneh Nov 28, 2025
81a05dd
Merge pull request #11 from cds-snc/fix/update-ssm-value
HamzaAburaneh Nov 28, 2025
c228eab
fix: correct Terragrunt output references
HamzaAburaneh Nov 28, 2025
da05451
fix: align ECS module variable names with dependency outputs
HamzaAburaneh Nov 28, 2025
863e6a7
refactor: clean up ECS module dependencies
HamzaAburaneh Nov 28, 2025
b1761fa
Merge pull request #12 from cds-snc/fix/correct-terragrunt-output
HamzaAburaneh Nov 28, 2025
8ce5e74
fix: update layer version
HamzaAburaneh Nov 28, 2025
dec9ca5
Merge pull request #13 from cds-snc/feat/update-layer-version
HamzaAburaneh Nov 28, 2025
73efdfe
fix: update layer version
HamzaAburaneh Nov 28, 2025
62254a9
Merge pull request #14 from cds-snc/feat/update-layer-version
HamzaAburaneh Nov 28, 2025
1966ad5
fix: docker build path
HamzaAburaneh Nov 28, 2025
b2e2979
Merge pull request #15 from cds-snc/fix/update-docker-file-paths
HamzaAburaneh Nov 28, 2025
c16707e
fix: update secrets needed for application
HamzaAburaneh Nov 28, 2025
e62b6a6
fix: format
HamzaAburaneh Nov 28, 2025
36a6729
Merge pull request #16 from cds-snc/fix/update-ecs-secrets
HamzaAburaneh Nov 28, 2025
4866b52
fix: allow egress traffic from the ECS tasks to DocumentDB
HamzaAburaneh Dec 1, 2025
01fdcd0
Merge pull request #17 from cds-snc/fix/update-ecs-secrets
HamzaAburaneh Dec 1, 2025
7e75719
fix: install cert for docdb
HamzaAburaneh Dec 1, 2025
7679abc
Merge pull request #19 from cds-snc/feat/add-cert-documentdb
HamzaAburaneh Dec 1, 2025
d2fc99b
fix: update secrets
HamzaAburaneh Dec 1, 2025
ad8778a
fix: remove redundant rule
HamzaAburaneh Dec 1, 2025
c6e1abf
fix: update ports
HamzaAburaneh Dec 1, 2025
e8ffe9f
fix: try removing from/to ports
HamzaAburaneh Dec 1, 2025
e7be4c8
fix: revert security_group.tf
HamzaAburaneh Dec 1, 2025
62ebd7f
Merge pull request #21 from cds-snc/feat/update-ecs-secrets
HamzaAburaneh Dec 1, 2025
e228c20
Update Dockerfile
HamzaAburaneh Dec 1, 2025
4b5895a
Merge pull request #22 from cds-snc/feat/update-dockerfile
HamzaAburaneh Dec 1, 2025
1e6c0a8
fix: use aws docs to configure cert
HamzaAburaneh Dec 1, 2025
5515085
Merge pull request #23 from cds-snc/feat/update-dockerfile
HamzaAburaneh Dec 1, 2025
051892a
fix: remove bintray dependency
HamzaAburaneh Dec 1, 2025
f35741d
fix: remove unused python widget
HamzaAburaneh Dec 1, 2025
1630412
fix: remove unused email notify service (replace with CDS notify at s…
HamzaAburaneh Dec 1, 2025
1afb91e
Merge pull request #24 from cds-snc/feat/remove-bintray-dependency
HamzaAburaneh Dec 1, 2025
2d40d9c
fix: remove calling the google doc.
HamzaAburaneh Dec 1, 2025
5110f66
Merge pull request #25 from cds-snc/fix/remove-unused-doc-call
HamzaAburaneh Dec 1, 2025
e7f9836
feat: add health check endpoint for ecs
HamzaAburaneh Dec 1, 2025
31f2ef3
fix: fmt
HamzaAburaneh Dec 1, 2025
be644e6
fix: add base path
HamzaAburaneh Dec 1, 2025
e119290
Merge pull request #26 from cds-snc/feat/add-health-check
HamzaAburaneh Dec 2, 2025
80ddb51
fix: enable server forward header
HamzaAburaneh Dec 2, 2025
bf6853d
fix: remove redundant rule
HamzaAburaneh Dec 2, 2025
fccd3d5
Merge pull request #27 from cds-snc/feat/add-env-var-forwarder
HamzaAburaneh Dec 2, 2025
36f3fd7
fix: update versions to resolve security vulnerabilities.
HamzaAburaneh Dec 4, 2025
411a76a
fix: update apache version 5.3
HamzaAburaneh Dec 4, 2025
f18cff3
fix: update version 5.4
HamzaAburaneh Dec 4, 2025
ede3d6b
Merge pull request #28 from cds-snc/fix/security-vulnerabilities
HamzaAburaneh Dec 4, 2025
a9f65d8
feat: add GC IP validation filter with RDAP integration
HamzaAburaneh Dec 8, 2025
339bbaa
chore: add GC IP cache and filter configuration
HamzaAburaneh Dec 8, 2025
f4cac54
feat: add encrypted IP whitelist file support
HamzaAburaneh Dec 8, 2025
20e9cb3
ci: decrypt IP whitelist during Docker build
HamzaAburaneh Dec 8, 2025
03155ee
chore: add IP whitelist encryption scripts
HamzaAburaneh Dec 8, 2025
a70b06d
fix: delete decrypt.sh
HamzaAburaneh Dec 8, 2025
34f6698
Merge pull request #29 from cds-snc/feat/ip-whitelist-setup
HamzaAburaneh Dec 9, 2025
c57f949
Update gc_ip_whitelist.txt.gpg
HamzaAburaneh Dec 9, 2025
fb84cd8
Merge pull request #30 from cds-snc/feat/ip-whitelist-setup
HamzaAburaneh Dec 9, 2025
762dbe0
Update gc_ip_whitelist.txt.gpg
HamzaAburaneh Dec 9, 2025
1b62eb7
feat: exclude health check endpoint from being blocked
HamzaAburaneh Dec 9, 2025
e80ef55
Merge pull request #31 from cds-snc/chore/whitelist_ip
HamzaAburaneh Dec 9, 2025
fadc95f
feat: merge ServiceCanada/feedback-viewer main branch into sync-servi…
HamzaAburaneh Feb 16, 2026
02cabfc
delete old infra
HamzaAburaneh Feb 16, 2026
9f3c912
hide settings
HamzaAburaneh Feb 16, 2026
f8d8e90
remove files
HamzaAburaneh Feb 16, 2026
2ca28e1
remove unneeded files
HamzaAburaneh Feb 16, 2026
e849445
fix: upgrade poi-ooxml from 4.1.2 to 5.4.0 to resolve CVE vulnerability
HamzaAburaneh Feb 16, 2026
42c8cd0
Potential fix for code scanning alert no. 17: Information exposure th…
HamzaAburaneh Feb 16, 2026
e3e7bf1
fix: remove deprecated Bintray repository references
HamzaAburaneh Feb 16, 2026
38d2634
Potential fix for code scanning alert no. 14: Information exposure th…
HamzaAburaneh Feb 16, 2026
b2bc2bd
Potential fix for code scanning alert no. 15: Information exposure th…
HamzaAburaneh Feb 16, 2026
e87858a
fix error message
HamzaAburaneh Feb 16, 2026
a684c63
Merge pull request #33 from cds-snc/sync-servicecanada
HamzaAburaneh Feb 16, 2026
2855a60
feat: add security.txt ALB listener rule for HackerOne
HamzaAburaneh Feb 18, 2026
4731138
Merge pull request #35 from cds-snc/feat/add-hacker-one-challenge
HamzaAburaneh Feb 18, 2026
b6db78b
Merge remote-tracking branch 'servicecanada/main' into merge-servicec…
HamzaAburaneh Feb 25, 2026
b671178
Revert docker/Dockerfile and remove main.yml - keep only code changes
HamzaAburaneh Feb 25, 2026
77fbb9e
Remove agents.md, update Dockerfile to Java 21 to match pom.xml
HamzaAburaneh Feb 25, 2026
9e5dfdd
Fix CSRF vulnerability: remove csrf.disable() to use Spring default C…
HamzaAburaneh Feb 25, 2026
c4b44a3
Fix poi-ooxml vulnerability: update from 5.3.0 to 5.4.0 (GHSA-gmg8-59…
HamzaAburaneh Feb 25, 2026
fc118a4
Merge pull request #36 from cds-snc/merge-servicecanada-main
HamzaAburaneh Feb 25, 2026
dc0b7f3
Fix javax.servlet to jakarta.servlet for Spring Boot 3 / Java 21 comp…
HamzaAburaneh Feb 25, 2026
c90590a
Fix critical Tomcat vulnerability: override tomcat-embed-core to 10.1.49
HamzaAburaneh Feb 25, 2026
02ef6f3
Fix critical Spring Security vulnerability: override spring-security-…
HamzaAburaneh Feb 25, 2026
b6e0935
Merge pull request #37 from cds-snc/merge-servicecanada-main
HamzaAburaneh Feb 25, 2026
386f5a0
fix: add missing org.slf4j.Logger import in BadWords.java
HamzaAburaneh Feb 25, 2026
9a95d5b
fix: upgrade dependencies to resolve Dependabot security alerts
HamzaAburaneh Feb 25, 2026
07a173d
fix: resolve CodeQL code scanning alerts
HamzaAburaneh Feb 25, 2026
207ec6c
Merge pull request #38 from cds-snc/fix/badwords-logger-import
HamzaAburaneh Feb 25, 2026
f99a7b8
fix: add missing Logger imports and patch dependency vulnerabilities
HamzaAburaneh Feb 25, 2026
d265912
fix: bump logback to 1.5.18, allow assertj GHSA in dependency review
HamzaAburaneh Feb 25, 2026
08034a3
Merge pull request #39 from cds-snc/fix/logger-import-and-dependency-…
HamzaAburaneh Feb 25, 2026
8f24332
fix: patch all dependency vulnerabilities and fix ReportController
HamzaAburaneh Feb 25, 2026
54740f4
fix: update sbom version
HamzaAburaneh Mar 3, 2026
19247ec
Merge pull request #40 from cds-snc/fix/logger-import-and-dependency-…
HamzaAburaneh Mar 3, 2026
30ee032
feat: extend hacker one pilot till march 29th
HamzaAburaneh Mar 5, 2026
318143b
Merge pull request #41 from cds-snc/feat/extend_hackerone_pilot
HamzaAburaneh Mar 5, 2026
9928984
fix: bump jackson-core and tomcat-embed-core for security
HamzaAburaneh Mar 11, 2026
69c02b1
Merge pull request #42 from cds-snc/fix/dependabot-security-updates
HamzaAburaneh Mar 11, 2026
fa2bab5
fix: remove unused python scripts and reports feature
HamzaAburaneh Mar 11, 2026
eaa3ad7
Merge pull request #43 from cds-snc/fix/remove-unused-python-reports
HamzaAburaneh Mar 11, 2026
31039e6
Potential fix for code scanning alert no. 10: Information exposure th…
HamzaAburaneh Mar 11, 2026
03e8dfc
Merge pull request #44 from cds-snc/alert-autofix-10
HamzaAburaneh Mar 11, 2026
7be3e00
fix: remove unused email service and notification dependency
HamzaAburaneh Mar 11, 2026
be9e85a
Merge pull request #45 from cds-snc/fix/remove-unused-email-service
HamzaAburaneh Mar 11, 2026
2ac7d6d
fix: register gcIpCache and add RDAP request timeout to prevent ECS h…
HamzaAburaneh Mar 11, 2026
8a7c764
Merge pull request #46 from cds-snc/fix/gc-ip-cache-v2
HamzaAburaneh Mar 11, 2026
cad0ef0
fix: add updated IP to GC IP whitelist
HamzaAburaneh Mar 11, 2026
39aa035
Merge pull request #47 from cds-snc/fix/gc-ip-cache-v2
HamzaAburaneh Mar 11, 2026
030e7a5
fix: resolve ELB health check failures and RDAP SSL errors
HamzaAburaneh Mar 11, 2026
965fc19
Merge pull request #48 from cds-snc/fix/ecs-health-check-and-rdap-ssl
HamzaAburaneh Mar 11, 2026
edae7a4
fix: add container health check with startPeriod to survive slow startup
HamzaAburaneh Mar 11, 2026
6979912
fix: add missing spring-boot-starter-actuator dependency
HamzaAburaneh Mar 11, 2026
ee06a52
Merge pull request #49 from cds-snc/fix/ecs-health-check-and-rdap-ssl
HamzaAburaneh Mar 11, 2026
4285e55
chore: remove HackerOne security.txt ALB listener rule
HamzaAburaneh Apr 8, 2026
b30d668
Merge pull request #51 from cds-snc/chore/remove-hackerone-security-txt
HamzaAburaneh Apr 8, 2026
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
39 changes: 39 additions & 0 deletions .github/workflows/backstage-catalog-helper.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: Backstage Catalog Info Helper
on:
workflow_dispatch:

permissions:
contents: read

jobs:
update-catalog-info:
runs-on: ubuntu-latest
steps:
- name: Checkout Actions
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
with:
fetch-depth: 0
- name: Run Backstage Catalog Info Helper
uses: cds-snc/backstage-catalog-info-helper-action@v0.3.1
with:
github_app_id: ${{ secrets.SRE_BOT_RW_APP_ID }}
github_app_private_key: ${{ secrets.SRE_BOT_RW_PRIVATE_KEY }}
github_organization: cds-snc
- name: impersonate Read/Write GH App
uses: tibdex/github-app-token@3beb63f4bd073e61482598c45c71c1019b59b73a
id: generate_token
with:
app_id: ${{ secrets.SRE_BOT_RW_APP_ID }}
private_key: ${{ secrets.SRE_BOT_RW_PRIVATE_KEY }}
- name: Create pull request
uses: peter-evans/create-pull-request@6cd32fd93684475c31847837f87bb135d40a2b79 # v7.0.3
with:
token: ${{ steps.generate_token.outputs.token}}
sign-commits: true
commit-message: "Add catalog-info.yaml"
branch: "backstage/catalog-info"
title: "Add catalog-info.yaml"
body: "Adding a basic catalog-info.yaml to start populating the backstage catalog with your components."
labels: "backstage"
add-paths: |
catalog-info.yaml
102 changes: 102 additions & 0 deletions .github/workflows/build_and_deploy_staging.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
name: Build and Push to Container Registry Staging

on:
workflow_dispatch:
push:
branches:
- main

env:
GITHUB_SHA: ${{ github.sha }}
REGISTRY: 992382783569.dkr.ecr.ca-central-1.amazonaws.com

permissions:
id-token: write
contents: write

jobs:
build:
if: github.repository == 'cds-snc/dto-feedback-viewer'
runs-on: ubuntu-latest
steps:
- name: Audit DNS requests
uses: cds-snc/dns-proxy-action@main
env:
DNS_PROXY_FORWARDTOSENTINEL: "true"
DNS_PROXY_LOGANALYTICSWORKSPACEID: ${{ secrets.LOG_ANALYTICS_WORKSPACE_ID }}
DNS_PROXY_LOGANALYTICSSHAREDKEY: ${{ secrets.LOG_ANALYTICS_WORKSPACE_KEY }}

- name: Checkout
uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0

- name: Configure aws credentials using OIDC
uses: aws-actions/configure-aws-credentials@master
with:
role-to-assume: arn:aws:iam::992382783569:role/dto-feedback-viewer-apply
role-session-name: FeedbackViewerGitHubActions
aws-region: "ca-central-1"

- name: Login to Amazon ECR
id: login-ecr
uses: aws-actions/amazon-ecr-login@062b18b96a7aff071d4dc91bc00c4c1a7945b076 # v2.0.1

- name: Decrypt IP whitelist
run: |
echo "${{ secrets.GPG_PASSPHRASE }}" | gpg --batch --yes --quiet \
--passphrase-fd 0 --decrypt \
--output secrets/gc_ip_whitelist.txt \
secrets/gc_ip_whitelist.txt.gpg

- name: Build container
run: |
docker build \
-t $REGISTRY/feedback-viewer:$GITHUB_SHA-`date '+%Y-%m-%d'` \
-t $REGISTRY/feedback-viewer:latest \
-f docker/Dockerfile .

- name: Push containers to Amazon ECR
run: |
docker push $REGISTRY/feedback-viewer:$GITHUB_SHA-`date '+%Y-%m-%d'`
docker push $REGISTRY/feedback-viewer:latest

- name: Restart ECS
run: |
aws ecs update-service --cluster feedback-viewer-cluster --service feedback-viewer-app-service --force-new-deployment > /dev/null 2>&1

# Allow this step to fail so we can handle success/failure and report it to slack. By default it waits for 10 minutes
- name: Wait for ECS Stability
id: ecs_wait
continue-on-error: true
run: |
echo "Wait for 15 minutes for ECS to stabilize.."
sleep 300 # Sleep for 5 minutes. The ecs wait command waits for an additional 10 minutes
aws ecs wait services-stable \
--cluster feedback-viewer-cluster \
--services feedback-viewer-app-service

# Slack notification on failed ECS wait
- name: Slack Notify Failure
if: steps.ecs_wait.outcome == 'failure'
run: |
curl -X POST -H 'Content-type: application/json' \
--data '{"text": "❌ ECS deployment for feedback-viewer failed to stabilize."}' \
${{ secrets.SLACK_WEBHOOK_URL}}

- name: Report deployment to Sentinel
if: steps.ecs_wait.outcome == 'success'
uses: cds-snc/sentinel-forward-data-action@main
with:
input_data: '{"product": "feedback-viewer", "version": "${{ github.sha }}", "repository": "${{ github.repository }}", "environment": "staging"}'
log_type: CDS_Product_Deployment_Data
log_analytics_workspace_id: ${{ secrets.LOG_ANALYTICS_WORKSPACE_ID }}
log_analytics_workspace_key: ${{ secrets.LOG_ANALYTICS_WORKSPACE_KEY }}

- name: Docker generate SBOM
uses: cds-snc/security-tools/.github/actions/generate-sbom@12a0cdea1c5a515dfcbe353693db804a1793c0ed # v4.0.1
env:
TRIVY_DB_REPOSITORY: ${{ vars.TRIVY_DB_REPOSITORY }}
with:
docker_image: "${{ env.REGISTRY }}/feedback-viewer:latest"
dockerfile_path: "./docker/Dockerfile"
sbom_name: "feedback-viewer"
token: "${{ secrets.GITHUB_TOKEN }}"
16 changes: 16 additions & 0 deletions .github/workflows/dependency-review.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
name: Dependency review
on:
pull_request:

permissions:
contents: read

jobs:
dependency-review:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Dependency review
uses: actions/dependency-review-action@v4
28 changes: 28 additions & 0 deletions .github/workflows/export_github_data.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: GitHub repository metadata exporter
on:
workflow_dispatch:
schedule:
- cron: "20 7 * * *"

permissions:
contents: read

jobs:
export-data:
runs-on: ubuntu-latest
steps:
- name: Audit DNS requests
uses: cds-snc/dns-proxy-action@main
env:
DNS_PROXY_FORWARDTOSENTINEL: "true"
DNS_PROXY_LOGANALYTICSWORKSPACEID: ${{ secrets.LOG_ANALYTICS_WORKSPACE_ID }}
DNS_PROXY_LOGANALYTICSSHAREDKEY: ${{ secrets.LOG_ANALYTICS_WORKSPACE_KEY }}
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Export Data
uses: cds-snc/github-repository-metadata-exporter@main
with:
github-app-id: ${{ secrets.SRE_BOT_RO_APP_ID }}
github-app-installation-id: ${{ secrets.SRE_BOT_RO_INSTALLATION_ID }}
github-app-private-key: ${{ secrets.SRE_BOT_RO_PRIVATE_KEY }}
log-analytics-workspace-id: ${{ secrets.LOG_ANALYTICS_WORKSPACE_ID }}
log-analytics-workspace-key: ${{ secrets.LOG_ANALYTICS_WORKSPACE_KEY }}
18 changes: 18 additions & 0 deletions .github/workflows/labels.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: Sync repository labels
on:
issues:
pull_request:
workflow_dispatch:

permissions:
issues: write
pull-requests: write

jobs:
sync-labels:
runs-on: ubuntu-latest
name: Sync repository labels
steps:
- uses: cds-snc/labels@v1
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
51 changes: 0 additions & 51 deletions .github/workflows/main.yml

This file was deleted.

47 changes: 47 additions & 0 deletions .github/workflows/ossf-scorecard.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
name: Scorecards supply-chain security
on:
workflow_dispatch:
schedule:
# Weekly on Saturdays.
- cron: "30 1 * * 6"
push:
branches:
- main

permissions: read-all

jobs:
analysis:
name: Scorecards analysis
runs-on: ubuntu-latest
permissions:
actions: read
contents: read

steps:
- name: "Checkout code"
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
persist-credentials: false

- name: "Run analysis"
uses: ossf/scorecard-action@169c9b9248e36d400bebded8160c7fe2cbbc7762
with:
results_file: ossf-results.json
results_format: json
publish_results: false

- name: "Add metadata"
run: |
full_repo="${{ github.repository }}"
OWNER=${full_repo%/*}
REPO=${full_repo#*/}
jq -c '. + {"metadata_owner": "'$OWNER'", "metadata_repo": "'$REPO'", "metadata_query": "ossf"}' ossf-results.json > ossf-results-modified.json

- name: "Post results to Sentinel"
uses: cds-snc/sentinel-forward-data-action@main
with:
file_name: ossf-results-modified.json
log_type: GitHubMetadata_OSSF_Scorecard
log_analytics_workspace_id: ${{ secrets.LOG_ANALYTICS_WORKSPACE_ID }}
log_analytics_workspace_key: ${{ secrets.LOG_ANALYTICS_WORKSPACE_KEY }}
41 changes: 41 additions & 0 deletions .github/workflows/s3-backup.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: S3 backup
on:
workflow_dispatch:
schedule:
- cron: "0 6 * * *"

permissions:
contents: read

jobs:
s3-backup:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
fetch-depth: 0 # retrieve all history

- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@ececac1a45f3b08a01d2dd070d28d111c5fe6722 # v4.1.0
with:
aws-access-key-id: ${{ secrets.AWS_S3_BACKUP_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_S3_BACKUP_SECRET_ACCESS_KEY }}
aws-region: ca-central-1

- name: Create ZIP bundle
run: |
ZIP_FILE=`basename ${{ github.repository }}`-`date '+%Y-%m-%d'`.zip
zip -rq "${ZIP_FILE}" .
mkdir -p ${{ github.repository }}
mv "${ZIP_FILE}" ${{ github.repository }}

- name: Upload to S3 bucket
run: |
aws s3 sync . s3://${{ secrets.AWS_S3_BACKUP_BUCKET }} --exclude='*' --include='${{ github.repository }}/*'

- name: Notify Slack channel if this job failed
if: ${{ failure() }}
run: |
json='{"text":"S3 backup failed in <https://github.com/${{ github.repository }}>!"}'
curl -X POST -H 'Content-type: application/json' --data "$json" ${{ secrets.SLACK_NOTIFY_WEBHOOK }}
3 changes: 3 additions & 0 deletions .github/workflows/scripts/run-shellcheck.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/bash

docker run --rm -v "$PWD:/mnt" koalaman/shellcheck:v0.7.1 -P ./bin/ -x ./.github/workflows/scripts/*.sh
17 changes: 17 additions & 0 deletions .github/workflows/shellcheck.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
name: Shellcheck
on:
push:
paths:
- "**/*.sh"

permissions:
contents: read

jobs:
shellcheck:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Shellcheck
run: |
.github/workflows/scripts/run-shellcheck.sh
Loading
Loading