From 2949191db397d624eeb4d2fd2c255a44c470406e Mon Sep 17 00:00:00 2001 From: Tim Ebert Date: Tue, 10 Sep 2024 13:41:03 +0200 Subject: [PATCH 1/5] fix build-yawollet-image to use target platform --- Earthfile | 6 +++--- README.md | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Earthfile b/Earthfile index f6c37a12..313c1478 100644 --- a/Earthfile +++ b/Earthfile @@ -105,8 +105,8 @@ validate-yawollet-image: build-yawollet-image: FROM +packer - ARG USEROS - ARG USERARCH + ARG TARGETOS + ARG TARGETARCH ARG MACHINE_FLAVOR=c1.2 ARG VOLUME_TYPE=storage_premium_perf6 @@ -127,7 +127,7 @@ build-yawollet-image: COPY +get-envoy/envoy out/envoy/envoy COPY +get-envoy/envoylibs out/envoy/lib - COPY (+build/controller --CONTROLLER=yawollet --GOOS=$USEROS --GOARCH=$USERARCH) out/yawollet + COPY (+build/controller --CONTROLLER=yawollet --GOOS=$TARGETOS --GOARCH=$TARGETARCH) out/yawollet COPY +set-version/VERSION . COPY image image diff --git a/README.md b/README.md index 0c9d1e1a..2126dfad 100644 --- a/README.md +++ b/README.md @@ -103,7 +103,7 @@ earthly +validate-yawollet-image ``` ```shell -earthly +build-yawollet-image \ +earthly --platform=linux/amd64 +build-yawollet-image \ --OS_NETWORK_ID="$OS_NETWORK_ID" \ --OS_FLOATING_NETWORK_ID="$OS_FLOATING_NETWORK_ID" \ --OS_SECURITY_GROUP_ID="$OS_SECURITY_GROUP_ID" \ From 374fc2ef386d79361330491a4a268df7d88fb737 Mon Sep 17 00:00:00 2001 From: Tim Ebert Date: Tue, 10 Sep 2024 13:41:03 +0200 Subject: [PATCH 2/5] Allow setting `PACKER_GITHUB_API_TOKEN` When developing and performing many builds, one might be required to set a GitHub API token in packer for resolving rate limits. --- Earthfile | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Earthfile b/Earthfile index 313c1478..a9a30bae 100644 --- a/Earthfile +++ b/Earthfile @@ -337,6 +337,10 @@ golangci-lint: packer: FROM hashicorp/packer:$PACKER_VERSION + + # set this env var to get higher GitHub API requests + ARG PACKER_GITHUB_API_TOKEN + RUN packer plugins install github.com/hashicorp/openstack RUN apk add ansible RUN apk add openssh-client From a715ec0afce00f2dee276878f3dfcee0d617ca5f Mon Sep 17 00:00:00 2001 From: Tim Ebert Date: Tue, 10 Sep 2024 13:41:03 +0200 Subject: [PATCH 3/5] Drop unsupported terraform config fields --- hack/packer-infrastructure/main.tf | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/hack/packer-infrastructure/main.tf b/hack/packer-infrastructure/main.tf index dfa24fef..397dd6aa 100644 --- a/hack/packer-infrastructure/main.tf +++ b/hack/packer-infrastructure/main.tf @@ -13,6 +13,4 @@ terraform { } } -provider "openstack" { - use_octavia = false -} +provider "openstack" {} From fb674fafcf5255b74f26dcfcbb3f8a67f09aa89d Mon Sep 17 00:00:00 2001 From: Tim Ebert Date: Tue, 10 Sep 2024 13:41:03 +0200 Subject: [PATCH 4/5] Drop unneeded terraform provider --- hack/packer-infrastructure/main.tf | 4 ---- 1 file changed, 4 deletions(-) diff --git a/hack/packer-infrastructure/main.tf b/hack/packer-infrastructure/main.tf index 397dd6aa..d3934e4c 100644 --- a/hack/packer-infrastructure/main.tf +++ b/hack/packer-infrastructure/main.tf @@ -6,10 +6,6 @@ terraform { source = "terraform-provider-openstack/openstack" version = ">= 1.47" } - template = { - source = "hashicorp/template" - version = "2.2.0" - } } } From 3ab40a27efb51d4aad4de117df89db94dd0ddbc2 Mon Sep 17 00:00:00 2001 From: Tim Ebert Date: Tue, 10 Sep 2024 13:41:04 +0200 Subject: [PATCH 5/5] Simplify yawollet image build --- README.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 2126dfad..49c127f9 100644 --- a/README.md +++ b/README.md @@ -87,9 +87,8 @@ earthly +destroy-packer-environment \ Before running our `Earthly` targets, set the needed environment variables: ```shell -export OS_NETWORK_ID= -export OS_FLOATING_NETWORK_ID= -export OS_SECURITY_GROUP_ID= +# set OS_NETWORK_ID, OS_FLOATING_NETWORK_ID, OS_SECURITY_GROUP_ID from terraform state +source <(jq -r '.outputs | del(.OS_SOURCE_IMAGE) | keys[] as $k | "export \($k)=\(.[$k].value)"' hack/packer-infrastructure/terraform.tfstate) export OS_SOURCE_IMAGE= export IMAGE_VISIBILITY= ```