Skip to content

Deploy

Deploy #29

Workflow file for this run

name: Deploy
on:
workflow_dispatch:
inputs:
environment:
type: choice
description: Environment to deploy to
required: true
default: 'mec'
options:
- mec
core-image-tag:
description: Core DockerHub image tag
required: false
default: 'v1.2.0'
countryconfig-image-tag:
description: Your Country Config DockerHub image tag
required: true
jobs:
deploy:
environment: ${{ github.event.inputs.environment }}
runs-on: ubuntu-20.04
timeout-minutes: 60
strategy:
matrix:
node-version: [16.20.0]
steps:
- name: Clone core
uses: actions/checkout@v3
with:
fetch-depth: 0
repository: 'opencrvs/opencrvs-core'
path: './opencrvs-core'
- name: Clone country config resource package
uses: actions/checkout@v3
with:
fetch-depth: 0
path: './${{ github.event.repository.name }}'
- name: Set COUNTRY_CONFIG_VERSION from inputs
if: ${{ github.event.inputs.countryconfig-image-tag }}
run: |
cd ${{ github.event.repository.name }}
echo "COUNTRY_CONFIG_VERSION=${{ github.event.inputs.countryconfig-image-tag }}" >> $GITHUB_ENV
git checkout ${{ github.event.inputs.countryconfig-image-tag }}
cd ../
- name: Set CORE_VERSION from inputs
if: ${{ github.event.inputs.core-image-tag }}
run: |
cd opencrvs-core
git checkout ${{ github.event.inputs.core-image-tag }}
echo "CORE_VERSION=${{ github.event.inputs.core-image-tag }}" >> $GITHUB_ENV
- name: Login to DockerHub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Install SSH Key
uses: shimataro/ssh-key-action@v2
with:
key: ${{ secrets.SSH_KEY }}
known_hosts: ${{ secrets.KNOWN_HOSTS }}
- name: Deploy to MEC
if: ${{ github.event.inputs.environment == 'mec' }}
env:
QA_DOMAIN: ${{ secrets.QA_DOMAIN }}
FACTORY_RESET: ${{ secrets.FACTORY_RESET }}
REPLICAS: ${{ secrets.REPLICAS }}
SMTP_PORT: ${{ secrets.SMTP_PORT }}
SMTP_HOST: ${{ secrets.SMTP_HOST }}
SMTP_USERNAME: ${{ secrets.SMTP_USERNAME }}
SMTP_PASSWORD: ${{ secrets.SMTP_PASSWORD }}
ALERT_EMAIL: ${{ secrets.ALERT_EMAIL }}
DOCKERHUB_ACCOUNT: ${{ secrets.DOCKERHUB_ACCOUNT }}
DOCKERHUB_REPO: ${{ secrets.DOCKERHUB_REPO }}
KIBANA_USERNAME: ${{ secrets.KIBANA_USERNAME }}
KIBANA_PASSWORD: ${{ secrets.KIBANA_PASSWORD }}
MONGODB_ADMIN_USER: ${{ secrets.MONGODB_ADMIN_USER }}
MONGODB_ADMIN_PASSWORD: ${{ secrets.MONGODB_ADMIN_PASSWORD }}
ELASTICSEARCH_SUPERUSER_PASSWORD: ${{ secrets.ELASTICSEARCH_SUPERUSER_PASSWORD }}
MINIO_ROOT_USER: ${{ secrets.MINIO_ROOT_USER }}
MINIO_ROOT_PASSWORD: ${{ secrets.MINIO_ROOT_PASSWORD }}
TOKENSEEDER_MOSIP_AUTH__PARTNER_APIKEY: ${{ secrets.TOKENSEEDER_MOSIP_AUTH__PARTNER_APIKEY }}
TOKENSEEDER_MOSIP_AUTH__PARTNER_MISP_LK: ${{ secrets.TOKENSEEDER_MOSIP_AUTH__PARTNER_MISP_LK }}
TOKENSEEDER_CRYPTO_SIGNATURE__SIGN_P12_FILE_PASSWORD: ${{ secrets.TOKENSEEDER_CRYPTO_SIGNATURE__SIGN_P12_FILE_PASSWORD }}
NATIONAL_ID_OIDP_CLIENT_ID: ${{ secrets.NATIONAL_ID_OIDP_CLIENT_ID }}
NATIONAL_ID_OIDP_BASE_URL: ${{ secrets.NATIONAL_ID_OIDP_BASE_URL }}
NATIONAL_ID_OIDP_REST_URL: ${{ secrets.NATIONAL_ID_OIDP_REST_URL }}
NATIONAL_ID_OIDP_VOLUNTARY_CLAIMS: ${{ secrets.NATIONAL_ID_OIDP_VOLUNTARY_CLAIMS }}
NATIONAL_ID_OIDP_ESSENTIAL_CLAIMS: ${{ secrets.NATIONAL_ID_OIDP_ESSENTIAL_CLAIMS }}
NATIONAL_ID_OIDP_CLIENT_PRIVATE_KEY: ${{ secrets.NATIONAL_ID_OIDP_CLIENT_PRIVATE_KEY }}
NATIONAL_ID_OIDP_JWT_AUD_CLAIM: ${{ secrets.NATIONAL_ID_OIDP_JWT_AUD_CLAIM }}
SSH_USER: ubuntu
run: |
cd opencrvs-core
bash deploy.sh --clear-data=${{ env.FACTORY_RESET }} --restore-metadata=${{ env.FACTORY_RESET }} qa ${{ env.QA_DOMAIN }} ${{ env.CORE_VERSION }} ${{ env.COUNTRY_CONFIG_VERSION }} ../${{ github.event.repository.name }} ${{ env.REPLICAS }}