--- kind: pipeline type: kubernetes name: Terraform root module trigger: event: - cron - push branch: - main steps: - name: pipeline init image: hashicorp/terraform:1.1.8 commands: - mkdir -p ~/.ssh - chmod 700 ~/.ssh - echo "$${CI_SSH_KEY}" | base64 -d > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - ssh-keyscan git.thomasklein.me >> ~/.ssh/known_hosts - chmod 640 ~/.ssh/known_hosts environment: CI_SSH_KEY: from_secret: ci-ssh-key - name: terraform init image: hashicorp/terraform:1.1.8 commands: - terraform init - name: terraform plan image: hashicorp/terraform:1.1.8 commands: - terraform plan -out .tfplan - name: terraform apply when: when: branch: - main event: - push image: hashicorp/terraform:1.1.8 commands: - terraform apply -plan .tfplan -auto-approve