Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 15 additions & 3 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ RUN \
pip install azure-cli && \
apk del --purge build

ARG PROVIDERS

VOLUME ["/data"]

WORKDIR /data
Expand All @@ -23,7 +25,17 @@ COPY ossutil /usr/bin

ENV RETRIEVE_TF_PROVIDER=/tmp/retrieve_tf_provider.sh

RUN $RETRIEVE_TF_PROVIDER random 3.1.0
RUN $RETRIEVE_TF_PROVIDER alicloud 1.140.0
# default provider
RUN $RETRIEVE_TF_PROVIDER hashicorp random 3.1.0
RUN $RETRIEVE_TF_PROVIDER hashicorp alicloud 1.140.0

# additional designated provider
RUN if [ "${PROVIDERS}" = "" ] ;then \
echo "There is no additional designated provider"; \
else \
for provider in ${PROVIDERS//,/ }; do \
$RETRIEVE_TF_PROVIDER ${provider//\// }; \
done \
fi

ENTRYPOINT ["tail", "-f", "/dev/null"]
ENTRYPOINT ["tail", "-f", "/dev/null"]
6 changes: 6 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,12 @@ $ docker build -t oamdev/docker-terraform:$TAG .
$ docker push oamdev/docker-terraform:$TAG
```

# Additional integration of provider into the image
Specify -build-arg PROVIDERS=$GROUP/$NAME/$VERSION
```shell
$ docker build --build-arg PROVIDERS=tencentcloudstack/tencentcloud/1.72.0,hashicorp/aws/4.13.0 -t oamdev/docker-terraform:$TAG .
```

# oam-dev/docker-terraform

- tag: 1.0.7
Expand Down
14 changes: 8 additions & 6 deletions retrieve_tf_provider.sh
Original file line number Diff line number Diff line change
@@ -1,14 +1,16 @@
set -x
# accept two arguments from command line
# 1. the name of the Terraform provider
# 2. the version of the Terraform provider
# 1. the group of the Terraform provider
# 2. the name of the Terraform provider
# 3. the version of the Terraform provider

PROVIDER_NAME=$1
PROVIDER_VERSION=$2
PROVIDER_GROUP=$1
PROVIDER_NAME=$2
PROVIDER_VERSION=$3

echo "Downloading: $PROVIDER_NAME, $PROVIDER_VERSION"

TERRAFORM_DIR=/root/.terraform.d/plugins/registry.terraform.io/hashicorp
TERRAFORM_DIR=/root/.terraform.d/plugins/registry.terraform.io/$PROVIDER_GROUP
HASHICORP_RELEASE_DOMAIN=https://releases.hashicorp.com

PROVIDER_RUL=$HASHICORP_RELEASE_DOMAIN/terraform-provider-"$PROVIDER_NAME"/"$PROVIDER_VERSION"/terraform-provider-"$PROVIDER_NAME"_"$PROVIDER_VERSION"_linux_amd64.zip
Expand All @@ -17,4 +19,4 @@ wget "$PROVIDER_RUL" -O provider.zip &&
chmod +x terraform-provider-"$PROVIDER_NAME"_* &&
mkdir -p $TERRAFORM_DIR/"$PROVIDER_NAME"/"$PROVIDER_VERSION"/linux_amd64 &&
mv terraform-provider-"$PROVIDER_NAME"_* $TERRAFORM_DIR/"$PROVIDER_NAME"/"$PROVIDER_VERSION"/linux_amd64 &&
rm -f provider.zip
rm -f provider.zip