change pipeline generation + add tf dockerfile

This commit is contained in:
kochetkov.s 2026-01-23 17:41:12 +03:00
parent 4c72a2855d
commit 56d0152dc5
2 changed files with 31 additions and 30 deletions

View File

@ -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

View File

@ -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