Skip to content

Commit

Permalink
Merge pull request #133 from kon-angelo/update-tf-providers
Browse files Browse the repository at this point in the history
Update TF providers
  • Loading branch information
kon-angelo authored Mar 17, 2023
2 parents e21ba02 + b0925c9 commit e6ad896
Show file tree
Hide file tree
Showing 20 changed files with 124 additions and 169 deletions.
36 changes: 20 additions & 16 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,42 +3,43 @@
# SPDX-License-Identifier: Apache-2.0

############# golang-base
ARG PROVIDER=all
FROM golang:1.19.6 AS golang-base

############# terraform-base
############# terraform-bundle
FROM golang-base AS terraform-base

# install unzip (needed for unzipping terraform provider plugins)
RUN apt-get update && \
apt-get install -y unzip

WORKDIR /tmp/terraformer
COPY ./build/fetch-providers.sh .

# overwrite to build provider-specific image
ARG PROVIDER=all
ARG PROVIDER

# copy provider-specifc TF_VERSION
COPY ./build/$PROVIDER/TF_VERSION .

RUN export TF_VERSION=$(cat ./TF_VERSION) && \
# install terraform and needed provider plugins
mkdir -p /go/src/github.com/hashicorp && \
#RUN wget -O- https://apt.releases.hashicorp.com/gpg | gpg --dearmor | sudo tee /usr/share/keyrings/hashicorp-archive-keyring.gpg && \
# echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list && \
# sudo apt update && sudo apt install terraform


RUN export TF_VERSION=$(cat ./TF_VERSION) && mkdir -p /go/src/github.com/hashicorp && \
git clone --single-branch --depth 1 --branch v${TF_VERSION} https://github.com/hashicorp/terraform.git /go/src/github.com/hashicorp/terraform && \
cd /go/src/github.com/hashicorp/terraform && \
go install ./tools/terraform-bundle
CGO_ENABLED=0 go install

# copy provider-specific terraform-bundle.hcl
COPY ./build/$PROVIDER/terraform-bundle.hcl .
RUN ./fetch-providers.sh
COPY ./build/$PROVIDER/terraform-bundle.hcl ./main.tf

# fetch providers locally
RUN mkdir tfproviders && terraform providers mirror tfproviders

############# builder
FROM golang-base AS builder

WORKDIR /go/src/github.com/gardener/terraformer
COPY . .

ARG PROVIDER=all
ARG PROVIDER

RUN make install PROVIDER=$PROVIDER

Expand All @@ -53,8 +54,10 @@ WORKDIR /
ENV TF_DEV=true
ENV TF_RELEASE=true

COPY --from=terraform-base /tmp/terraformer/terraform /bin/terraform
COPY build/tf_cli_config.tfrc /
ENV TF_CLI_CONFIG_FILE="/tf_cli_config.tfrc"
COPY --from=terraform-base /tmp/terraformer/tfproviders/ /terraform-providers/
COPY --from=terraform-base /go/bin/terraform /bin/terraform
COPY --from=builder /go/bin/terraformer /

ENTRYPOINT ["/terraformer"]
Expand All @@ -65,8 +68,9 @@ FROM golang-base AS dev
WORKDIR /go/src/github.com/gardener/terraformer
VOLUME /go/src/github.com/gardener/terraformer

COPY --from=terraform-base /tmp/terraformer/terraform /bin/terraform
COPY build/tf_cli_config.tfrc ./.terraform.rc
COPY --from=terraform-base /tmp/terraformer/tfproviders/ /terraform-providers/
COPY --from=terraform-base /go/bin/terraform /bin/terraform

COPY vendor vendor
COPY Makefile VERSION go.mod go.sum ./
2 changes: 1 addition & 1 deletion build/alicloud/TF_VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.15.5
1.3.9
22 changes: 10 additions & 12 deletions build/alicloud/terraform-bundle.hcl
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,15 @@
# SPDX-License-Identifier: Apache-2.0

terraform {
version = "TF_VERSION"
}

providers {
alicloud = {
versions = ["1.149.0"]
}
template = {
versions = ["2.1.2"]
}
null = {
versions = ["2.1.2"]
required_providers {
alicloud = {
version = "1.149.0"
}
template = {
version = "2.1.2"
}
null = {
version = "3.2.1"
}
}
}
2 changes: 1 addition & 1 deletion build/all/TF_VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.15.5
1.3.9
66 changes: 32 additions & 34 deletions build/all/terraform-bundle.hcl
Original file line number Diff line number Diff line change
Expand Up @@ -3,37 +3,35 @@
# SPDX-License-Identifier: Apache-2.0

terraform {
version = "TF_VERSION"
}

providers {
aws = {
versions = ["3.66.0"]
}
azurerm = {
versions = ["2.68.0"]
}
google = {
versions = ["4.19.0"]
}
google-beta = {
versions = ["4.19.0"]
}
openstack = {
versions = ["1.37.0"]
source = "terraform-provider-openstack/openstack"
}
alicloud = {
versions = ["1.149.0"]
}
metal = {
versions = ["3.1.0"]
source = "equinix/metal"
}
template = {
versions = ["2.1.2"]
}
null = {
versions = ["2.1.2"]
}
}
required_providers {
aws = {
version = "4.55.0"
}
azurerm = {
version = "3.44.0"
}
google = {
version = "4.53.1"
}
google-beta = {
version = "4.53.1"
}
openstack = {
version = "1.49.0"
source = "terraform-provider-openstack/openstack"
}
alicloud = {
version = "1.149.0"
}
metal = {
version = "3.1.0"
source = "equinix/metal"
}
template = {
version = "2.1.2"
}
null = {
version = "3.2.1"
}
}
}
2 changes: 1 addition & 1 deletion build/aws/TF_VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.15.5
1.3.9
21 changes: 8 additions & 13 deletions build/aws/terraform-bundle.hcl
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,12 @@
# SPDX-License-Identifier: Apache-2.0

terraform {
version = "TF_VERSION"
}

providers {
aws = {
versions = ["3.66.0"]
}
template = {
versions = ["2.1.2"]
}
null = {
versions = ["2.1.2"]
required_providers {
aws = {
version = "4.55.0"
}
null = {
version = "3.2.1"
}
}
}
}
2 changes: 1 addition & 1 deletion build/azure/TF_VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.15.5
1.3.9
21 changes: 8 additions & 13 deletions build/azure/terraform-bundle.hcl
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,12 @@
# SPDX-License-Identifier: Apache-2.0

terraform {
version = "TF_VERSION"
}

providers {
azurerm = {
versions = ["2.68.0"]
}
template = {
versions = ["2.1.2"]
}
null = {
versions = ["2.1.2"]
required_providers {
azurerm = {
version = "3.44.0"
}
null = {
version = "3.2.1"
}
}
}
}
2 changes: 1 addition & 1 deletion build/equinixmetal/TF_VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.15.5
1.3.9
12 changes: 5 additions & 7 deletions build/equinixmetal/terraform-bundle.hcl
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,10 @@
# SPDX-License-Identifier: Apache-2.0

terraform {
version = "TF_VERSION"
}

providers {
metal = {
versions = ["3.1.0"]
source = "equinix/metal"
required_providers {
metal = {
version = "3.1.0"
source = "equinix/metal"
}
}
}
33 changes: 0 additions & 33 deletions build/fetch-providers.sh

This file was deleted.

2 changes: 1 addition & 1 deletion build/gcp/TF_VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.15.5
1.3.9
25 changes: 10 additions & 15 deletions build/gcp/terraform-bundle.hcl
Original file line number Diff line number Diff line change
Expand Up @@ -3,20 +3,15 @@
# SPDX-License-Identifier: Apache-2.0

terraform {
version = "TF_VERSION"
}

providers {
google = {
versions = ["4.19.0"]
}
google-beta = {
versions = ["4.19.0"]
}
template = {
versions = ["2.1.2"]
}
null = {
versions = ["2.1.2"]
required_providers {
google = {
version = "4.53.1"
}
google-beta = {
version = "4.53.1"
}
null = {
version = "3.2.1"
}
}
}
2 changes: 1 addition & 1 deletion build/openstack/TF_VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.15.5
1.3.9
22 changes: 9 additions & 13 deletions build/openstack/terraform-bundle.hcl
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,14 @@
# SPDX-License-Identifier: Apache-2.0

terraform {
version = "TF_VERSION"
}

providers {
openstack = {
versions = ["1.37.0"]
source = "terraform-provider-openstack/openstack"
}
template = {
versions = ["2.1.2"]
}
null = {
versions = ["2.1.2"]
required_providers {
openstack = {
version = "1.49.0"
source = "terraform-provider-openstack/openstack"
}
null = {
version = "3.2.1"
}
}
}

2 changes: 1 addition & 1 deletion build/slim/TF_VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.15.5
1.3.9
7 changes: 3 additions & 4 deletions build/slim/terraform-bundle.hcl
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
# SPDX-License-Identifier: Apache-2.0

terraform {
version = "TF_VERSION"
}

providers {}
required_providers {
}
}
11 changes: 11 additions & 0 deletions build/tf_cli_config.tfrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
provider_installation {
filesystem_mirror {
path = "/terraform-providers"
include = ["*/*/*"]
}

direct {
# disallow any provider downloading
exclude = ["*/*/*"]
}
}
Loading

0 comments on commit e6ad896

Please sign in to comment.