Deploy to NAIS #39
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Deploy to NAIS | |
on: | |
workflow_dispatch: | |
inputs: | |
registry: | |
description: Registry, for example "europe-north1-docker.pkg.dev" | |
required: true | |
type: string | |
repository: | |
description: Registry repository | |
required: true | |
type: string | |
image-name: | |
description: Image name | |
required: true | |
type: string | |
image-tag: | |
description: Tag for the image | |
required: true | |
type: string | |
cluster: | |
description: NAIS cluster environment | |
required: true | |
type: string | |
nais-config-path: | |
description: Path to the NAIS configuration file | |
required: true | |
type: string | |
ref: | |
description: Commit reference of the deployment | |
required: false | |
default: master | |
type: string | |
workflow_call: | |
inputs: | |
registry: | |
description: Registry, for example "europe-north1-docker.pkg.dev" | |
required: true | |
type: string | |
repository: | |
description: Registry repository | |
required: true | |
type: string | |
image-name: | |
description: Image name | |
required: true | |
type: string | |
image-tag: | |
description: Tag for the image | |
required: true | |
type: string | |
cluster: | |
description: NAIS cluster environment | |
required: true | |
type: string | |
nais-config-path: | |
description: Path to the NAIS configuration file | |
required: true | |
type: string | |
ref: | |
description: Commit reference of the deployment | |
required: false | |
default: master | |
type: string | |
jobs: | |
deploy: | |
name: Deploy to NAIS cluster | |
runs-on: ubuntu-latest | |
permissions: | |
contents: "read" | |
id-token: "write" | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/create-github-app-token@v1 | |
id: app-token | |
with: | |
app-id: ${{ secrets.DAPLA_BOT_APP_ID }} | |
private-key: ${{ secrets.DAPLA_BOT_PRIVATE_KEY }} | |
owner: statisticsnorway | |
repositories: maskinporten-guardian, dapla-stat-iac | |
- uses: actions/checkout@v4 | |
name: Retrieve protected configuration | |
with: | |
repository: "statisticsnorway/dapla-stat-iac" | |
path: "ext-config" | |
token: ${{ steps.app-token.outputs.token }} | |
sparse-checkout: | | |
apps/nais/maskinporten-guardian/${{ inputs.cluster }} | |
- name: Configure environment variables | |
run: | | |
ext_config_dir="ext-config/apps/nais/maskinporten-guardian/${{ inputs.cluster }}" | |
echo "ext_config=${ext_config_dir}" >> $GITHUB_ENV | |
- uses: nais/deploy/actions/deploy@v2 | |
env: | |
CLUSTER: ${{ inputs.cluster }} | |
RESOURCE: ${{ inputs.nais-config-path }},${{ env.ext_config }}/protected-application-config.yml,${{ env.ext_config }}/maskinporten-clients.yml | |
VAR: image=${{ inputs.registry }}/${{ secrets.NAIS_MANAGEMENT_PROJECT_ID }}/${{ inputs.repository }}/${{ inputs.image-name }}:${{ inputs.image-tag }} | |
DEPLOY_SERVER: deploy.ssb.cloud.nais.io:443 | |
REF: ${{ inputs.ref }} |