Skip to content
This repository has been archived by the owner on Dec 15, 2022. It is now read-only.

Commit

Permalink
dockerfile: make the provider-specific config contained and add provi…
Browse files Browse the repository at this point in the history
…der source as env var

Signed-off-by: Muvaffak Onus <[email protected]>
  • Loading branch information
muvaf committed Sep 13, 2021
1 parent 6a1657e commit 22c2cd5
Show file tree
Hide file tree
Showing 3 changed files with 241 additions and 10 deletions.
24 changes: 17 additions & 7 deletions cluster/images/provider-tf-aws-controller/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -6,29 +6,39 @@ ARG TINI_VERSION
ENV USER_ID=1001

# Setup Terraform environment

## Provider-dependent configuration
ENV TERRAFORM_VERSION 1.0.5
ENV TERRAFORM_PROVIDER_AWS_VERSION 3.56.0
ENV PLUGIN_DIR /terraform/provider-mirror/registry.terraform.io/hashicorp/aws/${TERRAFORM_PROVIDER_AWS_VERSION}/linux_${ARCH}
ENV TERRAFORM_PROVIDER_SOURCE terraform-provider-aws
ENV TERRAFORM_PROVIDER_VERSION 3.56.0
## End of - Provider-dependent configuration

ENV PLUGIN_DIR /terraform/provider-mirror/registry.terraform.io/hashicorp/provider/${TERRAFORM_PROVIDER_VERSION}/linux_${ARCH}
ENV TF_CLI_CONFIG_FILE /terraform/.terraformrc
ENV TF_FORK 0

RUN mkdir -p ${PLUGIN_DIR}

ADD https://releases.hashicorp.com/terraform/${TERRAFORM_VERSION}/terraform_${TERRAFORM_VERSION}_linux_${ARCH}.zip /tmp
ADD https://releases.hashicorp.com/terraform-provider-aws/${TERRAFORM_PROVIDER_AWS_VERSION}/terraform-provider-aws_${TERRAFORM_PROVIDER_AWS_VERSION}_linux_${ARCH}.zip /tmp
ADD https://releases.hashicorp.com/${TERRAFORM_PROVIDER_SOURCE}/${TERRAFORM_PROVIDER_VERSION}/${TERRAFORM_PROVIDER_SOURCE}_${TERRAFORM_PROVIDER_VERSION}_linux_${ARCH}.zip /tmp
ADD terraformrc.hcl ${TF_CLI_CONFIG_FILE}

RUN unzip /tmp/terraform_${TERRAFORM_VERSION}_linux_${ARCH}.zip -d /usr/local/bin \
&& chmod +x /usr/local/bin/terraform \
&& rm /tmp/terraform_${TERRAFORM_VERSION}_linux_${ARCH}.zip \
&& unzip /tmp/terraform-provider-aws_${TERRAFORM_PROVIDER_AWS_VERSION}_linux_${ARCH}.zip -d ${PLUGIN_DIR} \
&& unzip /tmp/${TERRAFORM_PROVIDER_SOURCE}_${TERRAFORM_PROVIDER_VERSION}_linux_${ARCH}.zip -d ${PLUGIN_DIR} \
&& chmod +x ${PLUGIN_DIR}/* \
&& rm /tmp/terraform-provider-aws_${TERRAFORM_PROVIDER_AWS_VERSION}_linux_${ARCH}.zip \
&& rm /tmp/${TERRAFORM_PROVIDER_SOURCE}_${TERRAFORM_PROVIDER_VERSION}_linux_${ARCH}.zip \
&& chown -R ${USER_ID}:${USER_ID} /terraform
# End of - Setup Terraform environment

ADD provider /usr/local/bin/crossplane-tf-aws-provider
ADD provider /usr/local/bin/crossplane-provider

USER ${USER_ID}
EXPOSE 8080
ENTRYPOINT ["crossplane-tf-aws-provider"]

# TODO(muvaf): Rename one of them and use single one everywhere.
ENV XP_TERRAFORM_PROVIDER_SOURCE ${TERRAFORM_PROVIDER_SOURCE}
ENV XP_TERRAFORM_PROVIDER_VERSION ${TERRAFORM_PROVIDER_VERSION}

ENTRYPOINT ["crossplane-provider"]
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ go 1.16

require (
github.com/aws/aws-sdk-go-v2 v0.23.0
github.com/crossplane-contrib/terrajet v0.0.0-20210910164339-91e8214dc722
github.com/crossplane-contrib/terrajet v0.0.0-20210913112933-4c1b52bdd159
github.com/crossplane/crossplane-runtime v0.15.1-0.20210907213605-9779b31a42ce
github.com/crossplane/crossplane-tools v0.0.0-20210320162312-1baca298c527
github.com/crossplane/provider-aws v0.19.0
Expand Down
Loading

0 comments on commit 22c2cd5

Please sign in to comment.