diff --git a/live/terragrunt.hcl b/live/terragrunt.hcl index 78249c0..799a0b0 100644 --- a/live/terragrunt.hcl +++ b/live/terragrunt.hcl @@ -1,6 +1,3 @@ -# Глобальная конфигурация Terragrunt -# Настройка удаленного бэкенда для хранения состояния - remote_state { backend = "s3" generate = { @@ -12,8 +9,8 @@ remote_state { bucket = "tfstate-terragrunt-stage" key = "${path_relative_to_include()}/terraform.tfstate" region = "ru-central1" - access_key = get_env("S3_ACCESS_KEY", "") - secret_key = get_env("S3_SECRET_KEY", "") + access_key = get_env("S3_ACCESS_KEY", get_env("AWS_ACCESS_KEY_ID", "")) + secret_key = get_env("S3_SECRET_KEY", get_env("AWS_SECRET_ACCESS_KEY", "")) skip_region_validation = true skip_credentials_validation = true skip_metadata_api_check = true diff --git a/scripts/generate-pipeline.sh b/scripts/generate-pipeline.sh index abc3e63..d212c55 100755 --- a/scripts/generate-pipeline.sh +++ b/scripts/generate-pipeline.sh @@ -63,24 +63,26 @@ find live -name "terragrunt.hcl" -not -path "*/.terragrunt-cache/*" | sort | whi ;; esac - # Get the folder ID variable name and use it in the generated YAML cat >> "$OUTPUT_FILE" << EOF validate-${job_prefix}: stage: validate - image: ${TERRAFORM_IMAGE_NAME} + image: \${TERRAFORM_IMAGE_NAME} variables: TG_ROOT: "${component_dir}" ENVIRONMENT: "${env}" YC_FOLDER_ID: "\${${folder_var}}" - YC_TOKEN: "${YC_IAM_TOKEN}" - S3_ACCESS_KEY: "${S3_ACCESS_KEY}" - S3_SECRET_KEY: "${S3_SECRET_KEY}" - S3_STATE_BUCKET: "${S3_STATE_BUCKET}" + YC_TOKEN: "\${YC_IAM_TOKEN}" + S3_ACCESS_KEY: "\${S3_ACCESS_KEY}" + S3_SECRET_KEY: "\${S3_SECRET_KEY}" + S3_STATE_BUCKET: "\${S3_STATE_BUCKET}" TG_TF_PATH: "/usr/local/bin/terraform" before_script: - - echo "DEBUG: S3_ACCESS_KEY=\${S3_ACCESS_KEY}" - - echo "DEBUG: S3_SECRET_KEY=\${S3_SECRET_KEY}" - - export AWS_EC2_METADATA_DISABLED=true + - echo "${S3_ACCESS_KEY}" + - echo "${S3_SECRET_KEY}" + - export S3_ACCESS_KEY="\${S3_ACCESS_KEY}" + - export S3_SECRET_KEY="\${S3_SECRET_KEY}" + - export AWS_ACCESS_KEY_ID="\${S3_ACCESS_KEY}" + - export AWS_SECRET_ACCESS_KEY="\${S3_SECRET_KEY}" - cd \${TG_ROOT} script: - terragrunt init -reconfigure @@ -98,20 +100,21 @@ EOF cat >> "$OUTPUT_FILE" << EOF plan-${job_prefix}: stage: plan - image: ${TERRAFORM_IMAGE_NAME} + image: \${TERRAFORM_IMAGE_NAME} variables: TG_ROOT: "${component_dir}" ENVIRONMENT: "${env}" YC_FOLDER_ID: "\${${folder_var}}" - YC_TOKEN: "${YC_IAM_TOKEN}" - S3_ACCESS_KEY: "${S3_ACCESS_KEY}" - S3_SECRET_KEY: "${S3_SECRET_KEY}" - S3_STATE_BUCKET: "${S3_STATE_BUCKET}" + YC_TOKEN: "\${YC_IAM_TOKEN}" + S3_ACCESS_KEY: "\${S3_ACCESS_KEY}" + S3_SECRET_KEY: "\${S3_SECRET_KEY}" + S3_STATE_BUCKET: "\${S3_STATE_BUCKET}" TG_TF_PATH: "/usr/local/bin/terraform" before_script: - - echo "DEBUG: S3_ACCESS_KEY=\${S3_ACCESS_KEY}" - - echo "DEBUG: S3_SECRET_KEY=\${S3_SECRET_KEY}" - - export AWS_EC2_METADATA_DISABLED=true + - export S3_ACCESS_KEY="\${S3_ACCESS_KEY}" + - export S3_SECRET_KEY="\${S3_SECRET_KEY}" + - export AWS_ACCESS_KEY_ID="\${S3_ACCESS_KEY}" + - export AWS_SECRET_ACCESS_KEY="\${S3_SECRET_KEY}" - cd \${TG_ROOT} script: - terragrunt init -reconfigure @@ -140,20 +143,21 @@ EOF cat >> "$OUTPUT_FILE" << EOF apply-${job_prefix}: stage: apply - image: ${TERRAFORM_IMAGE_NAME} + image: \${TERRAFORM_IMAGE_NAME} variables: TG_ROOT: "${component_dir}" ENVIRONMENT: "${env}" YC_FOLDER_ID: "\${${folder_var}}" - YC_TOKEN: "${YC_IAM_TOKEN}" - S3_ACCESS_KEY: "${S3_ACCESS_KEY}" - S3_SECRET_KEY: "${S3_SECRET_KEY}" - S3_STATE_BUCKET: "${S3_STATE_BUCKET}" + YC_TOKEN: "\${YC_IAM_TOKEN}" + S3_ACCESS_KEY: "\${S3_ACCESS_KEY}" + S3_SECRET_KEY: "\${S3_SECRET_KEY}" + S3_STATE_BUCKET: "\${S3_STATE_BUCKET}" TG_TF_PATH: "/usr/local/bin/terraform" before_script: - - echo "DEBUG: S3_ACCESS_KEY=\${S3_ACCESS_KEY}" - - echo "DEBUG: S3_SECRET_KEY=\${S3_SECRET_KEY}" - - export AWS_EC2_METADATA_DISABLED=true + - export S3_ACCESS_KEY="\${S3_ACCESS_KEY}" + - export S3_SECRET_KEY="\${S3_SECRET_KEY}" + - export AWS_ACCESS_KEY_ID="\${S3_ACCESS_KEY}" + - export AWS_SECRET_ACCESS_KEY="\${S3_SECRET_KEY}" - cd \${TG_ROOT} script: - terragrunt init -reconfigure