Skip to content

chore: Migrate staging environment to AWS #83

chore: Migrate staging environment to AWS

chore: Migrate staging environment to AWS #83

Workflow file for this run

name: Matrix Deployment
on: [push]
env:
GKE_ZONE: ${{ secrets.GKE_ZONE }}
CLUSTER_NAME: ${{ secrets.CLUSTER_NAME }}
NAMESPACE: ${{ secrets.NAMESPACE }}
SYNAPSE_DOMAIN: ${{ secrets.SYNAPSE_DOMAIN }}
ELEMENT_DOMAIN: ${{ secrets.ELEMENT_DOMAIN }}
APP_NAME: ${{ secrets.APP_NAME }}
DATABASE_INSTANCE_CONNECTION_NAME: ${{ secrets.DATABASE_INSTANCE_CONNECTION_NAME }}
DB_HOST: ${{ secrets.DB_HOST }}
DB_NAME: ${{ secrets.DB_NAME }}
DB_PASSWORD: ${{ secrets.DB_PASSWORD }}
DB_USER: ${{ secrets.DB_USER }}
SERVER_NAME: ${{ secrets.SERVER_NAME }}
JWT_ENABLED: ${{ secrets.JWT_ENABLED }}
JWT_SECRET: ${{ secrets.JWT_SECRET }}
JWT_ALGORITHM: ${{ secrets.JWT_ALGORITHM }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_REGION: ${{ secrets.AWS_REGION }}
jobs:
deploy_to_testing:
name: Deploy testing matrix server to EKS
runs-on: ubuntu-latest
strategy:
matrix:
environment: [test, sil-testing]
# if: ${{ github.ref == 'refs/heads/develop'}}
environment:
name: ${{ matrix.environment }}
steps:
- name: Checkout
uses: actions/checkout@v3
- id: "auth"
uses: "aws-actions/configure-aws-credentials@v1"
with:
aws-access-key-id: ${{ env.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ env.AWS_SECRET_ACCESS_KEY }}
aws-region: ${{env.AWS_REGION}}
- name: Install Helm
run: |
curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash
- name: Update kube config
run: aws eks update-kubeconfig --name $CLUSTER_NAME --region $AWS_REGION
- name: Deploy to Amazon Kubernetes Service
shell: bash
run: cd deploy/ && cat deploy.sh && sh deploy.sh
deploy_to_prod:
name: Deploy prod matrix server to GKE
runs-on: ubuntu-latest
strategy:
matrix:
environment: [prod, sil-prod]
environment:
name: ${{ matrix.environment }}
if: ${{ github.ref == 'refs/heads/main'}}
steps:
- name: Checkout
uses: actions/checkout@v3
- id: "auth"
uses: "google-github-actions/auth@v1"
with:
credentials_json: ${{ secrets.GOOGLE_APPLICATION_CREDENTIALS }}
project_id: ${{ secrets.GOOGLE_CLOUD_PROJECT }}
- name: Install Helm
run: |
curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash
- uses: google-github-actions/get-gke-credentials@v1
with:
cluster_name: ${{ env.CLUSTER_NAME }}
location: ${{ env.GKE_ZONE }}
- name: Deploy to Google Kubernetes engine
shell: bash
run: cd deploy/ && cat deploy.sh && sh deploy.sh