terraform-aws: update
This commit is contained in:
parent
7948911f29
commit
831f5528fa
@ -1,29 +1,32 @@
|
||||
FROM artifact.onwalk.net/public/terraform:latest as builder
|
||||
|
||||
# Build IAC Runner
|
||||
FROM artifact.onwalk.net/public/alpine-awscli-python3:latest as release
|
||||
FROM artifact.onwalk.net/devops/eksctl:latest as eksctl
|
||||
FROM artifact.onwalk.net/devops/terraform:latest as terraform
|
||||
FROM artifact.onwalk.net/devops/terragrunt:latest as terragrunt
|
||||
FROM artifact.onwalk.net/base/alpine-awscli-python3:latest as prod
|
||||
|
||||
ENV KUBECTL_VERSION=1.19.3
|
||||
ENV HELMCTL_VERSION=3.11.1
|
||||
ENV HELMCTL_BASE_URL="https://get.helm.sh"
|
||||
|
||||
COPY --from=builder /bin/terraform /bin/
|
||||
COPY --from=eksctl /usr/local/bin/eksctl /bin/
|
||||
COPY --from=terraform /bin/terraform /bin/
|
||||
COPY --from=terragrunt /usr/local/bin/terragrunt /bin/
|
||||
|
||||
# install helm in apline
|
||||
RUN case `uname -m` in \
|
||||
x86_64) ARCH=amd64; ;; \
|
||||
aarch64) ARCH=arm64; ;; \
|
||||
loongarch64) ARCH=loongarch64; ;; \
|
||||
*) echo "un-supported arch, exit ..."; exit 1; ;; \
|
||||
esac && wget ${HELMCTL_BASE_URL}/helm-v${HELMCTL_VERSION}-linux-${ARCH}.tar.gz -O - | tar -xz && mv linux-${ARCH}/helm /usr/bin/helm && chmod +x /usr/bin/helm && rm -rf linux-${ARCH} && chmod 755 /usr//bin/helm
|
||||
|
||||
# install kubectl in apline
|
||||
RUN wget -O /usr/local/bin/kubectl https://storage.googleapis.com/kubernetes-release/release/v${KUBECTL_VERSION}/bin/linux/amd64/kubectl && chmod +x /usr/local/bin/kubectl
|
||||
|
||||
# make terraform plugin cache
|
||||
COPY provider-cache.tf /tmp/provider-cache.tf
|
||||
RUN mkdir -pv $HOME/.terraform.d/plugins && \
|
||||
cd /tmp && terraform init && \
|
||||
mv .terraform/providers/* $HOME/.terraform.d/plugins && \
|
||||
rm -rf .terraform && rm -rf provider-cache.tf
|
||||
# config terraform cli
|
||||
# ENV TF_CLI_ARGS_init="-plugin-dir=$HOME/.terraform.d/plugins"
|
||||
|
||||
# install python3
|
||||
# RUN apk --no-cache add python3 py3-pip
|
||||
|
||||
# packages for eks-environment/kubernetes/addon.sh
|
||||
RUN pip install --upgrade pip --user && \
|
||||
pip install pyyaml
|
||||
ADD provider.tf /tmp/provider-cache.tf
|
||||
RUN mkdir -p $HOME/.terraform.d/plugins && mkdir -pv /data/terraform/ && \
|
||||
cd /tmp && terraform init && mv .terraform/providers/* $HOME/.terraform.d/plugins && terraform providers mirror /data/terraform/ && \
|
||||
rm -rf .terraform && rm -rf provider-cache.tf .terraform.lock.hcl
|
||||
COPY .terraformrc /root/
|
||||
|
||||
ENTRYPOINT ["/bin/sh", "-c"]
|
||||
|
||||
@ -1,18 +1,31 @@
|
||||
provider "aws" {}
|
||||
provider "tls" {}
|
||||
provider "null" {}
|
||||
provider "helm" {}
|
||||
provider "template" {}
|
||||
provider "kubernetes" {}
|
||||
provider "kubectl" {}
|
||||
|
||||
terraform {
|
||||
required_providers {
|
||||
local = {
|
||||
source = "hashicorp/local"
|
||||
}
|
||||
aws = {
|
||||
source = "hashicorp/aws"
|
||||
}
|
||||
tls = {
|
||||
source = "hashicorp/tls"
|
||||
}
|
||||
helm = {
|
||||
source = "hashicorp/helm"
|
||||
}
|
||||
local = {
|
||||
source = "hashicorp/local"
|
||||
}
|
||||
kubectl = {
|
||||
source = "gavinbunney/kubectl"
|
||||
version = ">= 1.7.0"
|
||||
}
|
||||
kubernetes = {
|
||||
source = "hashicorp/kubernetes"
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user