From 25bae2df041dcf4ec5db9082efed34fd317e4d4b Mon Sep 17 00:00:00 2001 From: Work Date: Mon, 26 Jan 2026 15:39:06 +0300 Subject: [PATCH] change pipeline generation + add tf dockerfile --- .gitlab-ci.yml | 2 +- Dockerfile | 28 +++++++--------------------- 2 files changed, 8 insertions(+), 22 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 04c7a0d..5635d74 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -3,7 +3,7 @@ stages: - trigger variables: - TERRAFORM_IMAGE_NAME: cr.yandex/crp3ccidau046kdj8g9q/terraform/terragrunt:v0.9.8 + TERRAFORM_IMAGE_NAME: cr.yandex/crp3ccidau046kdj8g9q/terraform/terragrunt:v0.9 generate-pipeline: stage: generate diff --git a/Dockerfile b/Dockerfile index 0f03f6a..ce0d7d0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -12,30 +12,14 @@ ARG TERRAGRUNT_VERSION=0.93.11 RUN curl -fsSL https://github.com/gruntwork-io/terragrunt/releases/download/v${TERRAGRUNT_VERSION}/terragrunt_linux_amd64 -o /usr/local/bin/terragrunt && \ chmod +x /usr/local/bin/terragrunt -RUN mkdir -p /usr/local/share/terraform/plugins - -RUN mkdir -p /usr/local/share/terraform/plugins/registry.terraform.io/yandex-cloud/yandex/0.100.0/linux_amd64 && \ - for i in 1 2 3; do curl -fsSL --retry 3 --retry-delay 2 https://releases.hashicorp.com/terraform-provider-yandex/0.100.0/terraform-provider-yandex_0.100.0_linux_amd64.zip -o /tmp/yandex.zip && break || sleep 2; done && \ - unzip -q /tmp/yandex.zip -d /usr/local/share/terraform/plugins/registry.terraform.io/yandex-cloud/yandex/0.100.0/linux_amd64 && \ - chmod +x /usr/local/share/terraform/plugins/registry.terraform.io/yandex-cloud/yandex/0.100.0/linux_amd64/terraform-provider-yandex_* && \ - rm -f /tmp/yandex.zip - -RUN mkdir -p /usr/local/share/terraform/plugins/registry.terraform.io/hashicorp/kubernetes/2.23.0/linux_amd64 && \ - for i in 1 2 3; do curl -fsSL --retry 3 --retry-delay 2 https://releases.hashicorp.com/terraform-provider-kubernetes/2.23.0/terraform-provider-kubernetes_2.23.0_linux_amd64.zip -o /tmp/kubernetes.zip && break || sleep 2; done && \ - unzip -q /tmp/kubernetes.zip -d /usr/local/share/terraform/plugins/registry.terraform.io/hashicorp/kubernetes/2.23.0/linux_amd64 && \ - chmod +x /usr/local/share/terraform/plugins/registry.terraform.io/hashicorp/kubernetes/2.23.0/linux_amd64/terraform-provider-kubernetes_* && \ - rm -f /tmp/kubernetes.zip - -RUN mkdir -p /usr/local/share/terraform/plugins/registry.terraform.io/hashicorp/random/3.1.0/linux_amd64 && \ - for i in 1 2 3; do curl -fsSL --retry 3 --retry-delay 2 https://releases.hashicorp.com/terraform-provider-random/3.1.0/terraform-provider-random_3.1.0_linux_amd64.zip -o /tmp/random.zip && break || sleep 2; done && \ - unzip -q /tmp/random.zip -d /usr/local/share/terraform/plugins/registry.terraform.io/hashicorp/random/3.1.0/linux_amd64 && \ - chmod +x /usr/local/share/terraform/plugins/registry.terraform.io/hashicorp/random/3.1.0/linux_amd64/terraform-provider-random_* && \ - rm -f /tmp/random.zip +# Create plugin cache directory - Terraform will download providers here from Yandex mirror +RUN mkdir -p /root/.terraform.d/plugin-cache +# Configure Terraform to use Yandex Terraform registry mirror RUN mkdir -p /root/.terraform.d && \ echo 'provider_installation {' > /root/.terraformrc && \ - echo ' filesystem_mirror {' >> /root/.terraformrc && \ - echo ' path = "/usr/local/share/terraform/plugins"' >> /root/.terraformrc && \ + echo ' network_mirror {' >> /root/.terraformrc && \ + echo ' url = "https://terraform-mirror.yandexcloud.net/"' >> /root/.terraformrc && \ echo ' include = ["registry.terraform.io/*/*"]' >> /root/.terraformrc && \ echo ' }' >> /root/.terraformrc && \ echo ' direct {' >> /root/.terraformrc && \ @@ -43,6 +27,8 @@ RUN mkdir -p /root/.terraform.d && \ echo ' }' >> /root/.terraformrc && \ echo '}' >> /root/.terraformrc +ENV TF_PLUGIN_CACHE_DIR=/root/.terraform.d/plugin-cache + ENV TG_TF_PATH=/usr/local/bin/terraform WORKDIR /workspace