on: workflow_call: inputs: environment: required: true type: string jobs: deploy: name: Release Deploy environment: ${{ inputs.environment }} runs-on: self-hosted # timeout-minutes: 20 steps: - uses: actions/checkout@v4 - name: Kubernetes Deploy run: | # for s in $(echo $SECRETS | jq -r "to_entries|map(\"\(.key)=\(.value|tostring)\")|.[]"); do export $s; done # for s in $(echo $VARS | jq -r "to_entries|map(\"\(.key)=\(.value|tostring)\")|.[]" ); do echo $s && export $s;done for s in $(echo $SECRETS | jq -r "to_entries|map(\"\(.key)=\(.value|tostring)\")|.[]" ); do export $s;done for s in $(echo $VARS | jq -r "to_entries|map(\"\(.key)='\(.value|tostring)'\")|.[]"); do echo $s && export $s; done envsubst < ${{ vars.K3S_MANIFEST }} | kubectl apply -f - env: K3S_DEPLOY_NAME: ${{ inputs.environment }} K3S_NAMESPACE: ${{ vars.K3S_NAMESPACE }} K3S_DOCKER_IMAGE: ${{ vars.DOCKER_REGISTRY }}/${{ inputs.environment }}:${{ github.run_number }} SECRETS: ${{ toJSON(secrets) }} VARS: ${{ toJSON(vars) }}