Skip to content

Commit

Permalink
Merge pull request #304 from umbrella-network/feature/Implement_Helm_…
Browse files Browse the repository at this point in the history
…Charts

Feature/implement helm charts
  • Loading branch information
sgiovacchini authored Jan 18, 2025
2 parents 25e3cdd + 5ba7814 commit df59e49
Show file tree
Hide file tree
Showing 3 changed files with 142 additions and 3 deletions.
6 changes: 3 additions & 3 deletions .github/workflows/cicd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -179,7 +179,7 @@ jobs:
VERSION: ${{ steps.atifact-reader.outputs.version }}_sbx
BUILDING_ENVIRONMENT: "staging/sbx"
run: >-
yq eval ".images[0].newTag = \"$VERSION\"" -i $BUILDING_ENVIRONMENT/backends/sanctuary/base/kustomization.yaml
yq eval ".global.imageTag = \"$VERSION\"" -i $BUILDING_ENVIRONMENT/backends/sanctuary/bsc01.yaml
- name: Commit and Push to master for SANDBOX
env:
Expand All @@ -197,7 +197,7 @@ jobs:
VERSION: ${{ steps.atifact-reader.outputs.version }}
BUILDING_ENVIRONMENT: ${{ steps.atifact-reader.outputs.environment }}
run: >-
yq eval ".images[0].newTag = \"$VERSION\"" -i $BUILDING_ENVIRONMENT/backends/sanctuary/base/kustomization.yaml
yq eval ".global.imageTag = \"$VERSION\"" -i $BUILDING_ENVIRONMENT/backends/sanctuary/bsc01.yaml
- name: Commit, Push and create Pull Request
env:
Expand All @@ -211,4 +211,4 @@ jobs:
git checkout -b $BRANCH
git commit -a -m "chore(build): $IMAGE"
git push origin -f $BRANCH
gh pr create --base master --title "sanctuary Release" --body "sanctuary" || exit 0
gh pr create --base master --head $BRANCH --title "sanctuary Release" --body "sanctuary" || exit 0
135 changes: 135 additions & 0 deletions .github/workflows/deploy_nonProd.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,135 @@
name: deploy_nonProd
on:
workflow_dispatch:
branches:
- feature/*
- release/*
- hotfix/*
- develop
inputs:
env:
required: true
description: 'Please select env you want to deploy the version'
default: dev
type: choice
options:
- dev
- sbx
jobs:
build_local:
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v4

- name: Configure AWS Credentials to SBX
uses: aws-actions/configure-aws-credentials@v4
if: inputs.env == 'sbx'
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID_NONPROD }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY_NONPROD }}
aws-region: ${{ secrets.AWS_REGION_NONPROD }}
role-to-assume: arn:aws:iam::${{ secrets.AWS_ACCOUNT_NONPROD }}:role/Developers
role-skip-session-tagging: true
role-duration-seconds: 1800

- name: Configure AWS Kubeconfig Credentials to SBX
if: inputs.env == 'sbx'
run: |
aws --region ${{ secrets.AWS_REGION_NONPROD }} eks update-kubeconfig --kubeconfig ~/.kube/config-staging --name ${{ secrets.CLUSTER_NAME_NONPROD }}
- name: Get sbx image tag
id: sbx_tag
if: inputs.env == 'sbx'
run: |
export SBX_TAG=$(kubectl --kubeconfig ~/.kube/config-staging get deployments -n sandbox sanctuary-api-bsc01 -o=jsonpath='{$$.spec.template.spec.containers[:1].image}' | awk -F':' '{print $2}')
echo "The tag is: $SBX_TAG"
echo "tag=$SBX_TAG" >> $GITHUB_OUTPUT
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v4
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID_ECR }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY_ECR }}
aws-region: ${{ secrets.AWS_REGION }}

- name: Log in to Amazon ECR
id: login-ecr
uses: aws-actions/amazon-ecr-login@v1

- name: Extract Docker-image params
id: docker-params
env:
ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }}
run: |
export IMAGE="$ECR_REGISTRY/sanctuary"
echo "image=$IMAGE" >> $GITHUB_OUTPUT
- name: Build and push to develop
if: inputs.env == 'dev'
run: |
docker build -t ${{ steps.docker-params.outputs.image }}:develop .
docker push ${{ steps.docker-params.outputs.image }}:develop
- name: Build and push to sbx
if: inputs.env == 'sbx'
run: |
docker build -t ${{ steps.docker-params.outputs.image }}:${{ steps.sbx_tag.outputs.tag }} .
docker push ${{ steps.docker-params.outputs.image }}:${{ steps.sbx_tag.outputs.tag }}
- name: Log out of Amazon ECR
if: always()
run: docker logout ${{ steps.login-ecr.outputs.registry }}

restart_deployments:
runs-on: ubuntu-latest
needs: build_local
steps:
- name: Check out repository
uses: actions/checkout@v4

- name: Configure AWS Credentials to non-prod
uses: aws-actions/configure-aws-credentials@v4
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID_NONPROD }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY_NONPROD }}
aws-region: ${{ secrets.AWS_REGION_NONPROD }}
role-to-assume: arn:aws:iam::${{ secrets.AWS_ACCOUNT_NONPROD }}:role/Developers
role-skip-session-tagging: true
role-duration-seconds: 1800

- name: Configure AWS Kubeconfig Credentials to non_prod
run: |
aws --region ${{ secrets.AWS_REGION_NONPROD }} eks update-kubeconfig --kubeconfig ~/.kube/config-staging --name ${{ secrets.CLUSTER_NAME_NONPROD }}
- name: Restart deployments to take last Image
run: |
if [ "${{ inputs.env }}" == "dev" ]; then
kubectl --kubeconfig ~/.kube/config-staging scale --replicas=0 deployment/sanctuary-api-bsc01 -n dev
kubectl --kubeconfig ~/.kube/config-staging scale --replicas=1 deployment/sanctuary-api-bsc01 -n dev
kubectl --kubeconfig ~/.kube/config-staging scale --replicas=0 deployment/sanctuary-foreign-chain-worker-bsc01 -n dev
kubectl --kubeconfig ~/.kube/config-staging scale --replicas=1 deployment/sanctuary-foreign-chain-worker-bsc01 -n dev
kubectl --kubeconfig ~/.kube/config-staging scale --replicas=0 deployment/sanctuary-metrics-worker-bsc01 -n dev
kubectl --kubeconfig ~/.kube/config-staging scale --replicas=1 deployment/sanctuary-metrics-worker-bsc01 -n dev
kubectl --kubeconfig ~/.kube/config-staging scale --replicas=0 deployment/sanctuary-resolver-worker-bsc01 -n dev
kubectl --kubeconfig ~/.kube/config-staging scale --replicas=1 deployment/sanctuary-resolver-worker-bsc01 -n dev
kubectl --kubeconfig ~/.kube/config-staging scale --replicas=0 deployment/sanctuary-sync-worker-bsc01 -n dev
kubectl --kubeconfig ~/.kube/config-staging scale --replicas=1 deployment/sanctuary-sync-worker-bsc01 -n dev
kubectl --kubeconfig ~/.kube/config-staging scale --replicas=0 deployment/sanctuary-scheduler-bsc01 -n dev
kubectl --kubeconfig ~/.kube/config-staging scale --replicas=1 deployment/sanctuary-scheduler-bsc01 -n dev
fi
if [ "${{ inputs.env }}" == "sbx" ]; then
kubectl --kubeconfig ~/.kube/config-staging scale --replicas=0 deployment/sanctuary-api-bsc01 -n sandbox
kubectl --kubeconfig ~/.kube/config-staging scale --replicas=1 deployment/sanctuary-api-bsc01 -n sandbox
kubectl --kubeconfig ~/.kube/config-staging scale --replicas=0 deployment/sanctuary-foreign-chain-worker-bsc01 -n sandbox
kubectl --kubeconfig ~/.kube/config-staging scale --replicas=1 deployment/sanctuary-foreign-chain-worker-bsc01 -n sandbox
kubectl --kubeconfig ~/.kube/config-staging scale --replicas=0 deployment/sanctuary-metrics-worker-bsc01 -n sandbox
kubectl --kubeconfig ~/.kube/config-staging scale --replicas=1 deployment/sanctuary-metrics-worker-bsc01 -n sandbox
kubectl --kubeconfig ~/.kube/config-staging scale --replicas=0 deployment/sanctuary-resolver-worker-bsc01 -n sandbox
kubectl --kubeconfig ~/.kube/config-staging scale --replicas=1 deployment/sanctuary-resolver-worker-bsc01 -n sandbox
kubectl --kubeconfig ~/.kube/config-staging scale --replicas=0 deployment/sanctuary-sync-worker-bsc01 -n sandbox
kubectl --kubeconfig ~/.kube/config-staging scale --replicas=1 deployment/sanctuary-sync-worker-bsc01 -n sandbox
kubectl --kubeconfig ~/.kube/config-staging scale --replicas=0 deployment/sanctuary-scheduler-bsc01 -n sandbox
kubectl --kubeconfig ~/.kube/config-staging scale --replicas=1 deployment/sanctuary-scheduler-bsc01 -n sandbox
fi
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,10 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).

## Unreleased
### Added
- GitHub Action to deploy to nonprod
### Fixed
- GitHub Action to use helm charts path

## [5.13.0] - 2024-12-13
### Added
Expand Down

0 comments on commit df59e49

Please sign in to comment.