elysium-actions/action.yml

75 lines
3 KiB
YAML

name: Oasis Auto Config Action
description: Configure env for deploying apps using Oasis Automagically
inputs:
infisical-token:
description: Infisical token for CI or Prod
required: true
deploy-env:
description: Deploy Environment (ci or edge)
required: true
kubeconfig:
description: Kubeconfig for Oasis
required: false
extra-secret-paths:
description: Additional Secrets to fetch
required: false
extra-secret-envs:
description: Additional Envs for secrets to fetch
required: false
garden-version:
description: Version of Garden to deploy
required: false
oasis-branch:
description: Branch of Oasis to use
required: false
default: master
oasis-workspace:
descipriont: Workspace to setup Oasis
required: false
runs:
using: composite
steps:
- name: Configure Workflow
shell: bash
run: |
if [ ${{ inputs.deploy-env }} == "edge" ]; then
WORKFLOW_SECRET=/workflows/oasis-edge-deploy
elif [ ${{ inputs.deploy-env }} == "ci" ]; then
WORKFLOW_SECRET=/workflows/oasis-ci-deploy
else
echo "Error! deploy-env required, and must be 'ci' or 'edge'!"
exit 1
fi
# Save Envars
echo OASIS_INFISICAL_TOKEN=${{ inputs.infisical-token }} >> $GITHUB_ENV
echo OASIS_PATH_FETCH=$WORKFLOW_SECRET,${{ inputs.extra-secret-paths }} >> $GITHUB_ENV # /workflows/oasis-<deploy-type>-deploy, ...extra-secret-paths
echo OASIS_ENV_FETCH=${{ inputs.deploy-env }},${{ inputs.extra-secret-envs }} >> $GITHUB_ENV #<deploy-type>, ...extra-secret-envs
- name: Setup Oasis Envars
uses: https://gitea.dunemask.dev/elysium/elysium-actions@infisical-env
with:
infisical-token: ${{ env.OASIS_INFISICAL_TOKEN }}
secret-envs: ${{ env.OASIS_ENV_FETCH }}
secret-paths: ${{ env.OASIS_PATH_FETCH }}
- name: Configure Kubeconfig
shell: bash
run: |
if [ -n "${{ inputs.kubeconfig }}" ] && [ "${{ inputs.kubeconfig }}" != "" ]; then
echo "Using Provided Kubernetes Config"
echo OASIS_WORKFLOW_KUBECONFIG=${{ inputs.kubeconfig }} >> $GITHUB_ENV
elif [ "${{ inputs.deploy-env }}" == "edge" ]; then
echo "Using Edge Kubernetes Config"
echo OASIS_WORKFLOW_KUBECONFIG=${{env.KUBERNETES_CONFIG_USW_EDGE}} >> $GITHUB_ENV
elif [ "${{ inputs.deploy-env }}" == "ci" ]; then
echo "Using Dev Kubernetes Config"
echo OASIS_WORKFLOW_KUBECONFIG=${{env.KUBERNETES_CONFIG_USW_DEV}} >> $GITHUB_ENV
else
echo "Error! deploy-env required, and must be 'ci' or 'edge'!"
exit 1
fi
- name: Oasis Setup
uses: https://gitea.dunemask.dev/elysium/elysium-actions@oasis-setup-advanced
with:
garden-version: ${{ inputs.garden-version }}
oasis-branch: ${{ inputs.oasis-branch }}
oasis-workspace: ${{ inputs.oasis-workspace }}
kubeconfig: ${{ env.OASIS_WORKFLOW_KUBECONFIG }}