kind: pipeline type: docker name: Apply Cloud infra changes steps: - name: Initialite Terraform resources environment: ARM_CLIENT_ID: from_secret: ARM_CLIENT_ID ARM_CLIENT_SECRET: from_secret: ARM_CLIENT_SECRET ARM_SUBSCRIPTION_ID: from_secret: ARM_SUBSCRIPTION_ID ARM_TENANT_ID: from_secret: ARM_TENANT_ID CLOUDFLARE_EMAIL: from_secret: CLOUDFLARE_EMAIL CLOUDFLARE_API_TOKEN: from_secret: CLOUDFLARE_API_TOKEN ARTIFACTORY_USERNAME: from_secret: ARTIFACTORY_USERNAME ARTIFACTORY_PASSWORD: from_secret: ARTIFACTORY_PASSWORD ARTIFACTORY_URL: from_secret: ARTIFACTORY_URL image: hashicorp/terraform commands: - terraform init - name: Validate Terraform configuration environment: ARM_CLIENT_ID: from_secret: ARM_CLIENT_ID ARM_CLIENT_SECRET: from_secret: ARM_CLIENT_SECRET ARM_SUBSCRIPTION_ID: from_secret: ARM_SUBSCRIPTION_ID ARM_TENANT_ID: from_secret: ARM_TENANT_ID CLOUDFLARE_EMAIL: from_secret: CLOUDFLARE_EMAIL CLOUDFLARE_API_TOKEN: from_secret: CLOUDFLARE_API_TOKEN ARTIFACTORY_USERNAME: from_secret: ARTIFACTORY_USERNAME ARTIFACTORY_PASSWORD: from_secret: ARTIFACTORY_PASSWORD ARTIFACTORY_URL: from_secret: ARTIFACTORY_URL image: hashicorp/terraform commands: - terraform validate - name: Check state changes in infrastructure environment: ARM_CLIENT_ID: from_secret: ARM_CLIENT_ID ARM_CLIENT_SECRET: from_secret: ARM_CLIENT_SECRET ARM_SUBSCRIPTION_ID: from_secret: ARM_SUBSCRIPTION_ID ARM_TENANT_ID: from_secret: ARM_TENANT_ID CLOUDFLARE_EMAIL: from_secret: CLOUDFLARE_EMAIL CLOUDFLARE_API_TOKEN: from_secret: CLOUDFLARE_API_TOKEN ARTIFACTORY_USERNAME: from_secret: ARTIFACTORY_USERNAME ARTIFACTORY_PASSWORD: from_secret: ARTIFACTORY_PASSWORD ARTIFACTORY_URL: from_secret: ARTIFACTORY_URL image: hashicorp/terraform commands: - terraform plan - name: Apply changes environment: ARM_CLIENT_ID: from_secret: ARM_CLIENT_ID ARM_CLIENT_SECRET: from_secret: ARM_CLIENT_SECRET ARM_SUBSCRIPTION_ID: from_secret: ARM_SUBSCRIPTION_ID ARM_TENANT_ID: from_secret: ARM_TENANT_ID CLOUDFLARE_EMAIL: from_secret: CLOUDFLARE_EMAIL CLOUDFLARE_API_TOKEN: from_secret: CLOUDFLARE_API_TOKEN ARTIFACTORY_USERNAME: from_secret: ARTIFACTORY_USERNAME ARTIFACTORY_PASSWORD: from_secret: ARTIFACTORY_PASSWORD ARTIFACTORY_URL: from_secret: ARTIFACTORY_URL image: hashicorp/terraform commands: - terraform apply -auto-approve