# Copyright 2022 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

timeout: 7200s # 2hr
tags:
  - infra-cicd-nginx-nginx
substitutions:
  _PROJECT_ID: ${PROJECT_ID}
  _BUILD: "true"
  _: "nginx"
  _SERVICE: "nginx"
  _PIPELINE_LOCATION: "us-central1"
  _ARCHETYPE: "APZ"
  _ZONE_INDEX: "[0,1]"
  _REGION_INDEX: "[0,1]"

steps:
  - name: "hashicorp/terraform:1.8.2"
    id: "create-infra"
    entrypoint: "sh"
    dir: "examples/nginx/infra-repo/terraform/platform-infra"
    args:
      - "-xe"
      - "-c"
      - |
        [[ "${_BUILD}" == "false" ]] && exit 0
        terraform init -backend-config="bucket=${_PROJECT_ID}"
        terraform apply -var="project_id=${_PROJECT_ID}" \
        -var="service_name=${_SERVICE}" -var="app_name=${_}" -var="archetype=${_ARCHETYPE}" \
        -var="zone_index=${_ZONE_INDEX}" -var="region_index=${_REGION_INDEX}" -var="pipeline_location=${_PIPELINE_LOCATION}" \
        --auto-approve
