1 From 216117519ba395973a60deca40eb54cf5f6b6516 Mon Sep 17 00:00:00 2001
2 From: Jackie Huang <jackie.huang@windriver.com>
3 Date: Wed, 21 Jun 2023 03:12:42 -0400
4 Subject: [PATCH] ingress-nginx: add multi arch support
6 Use DEB_HOST_ARCH instead of hard-coded 'amd64' in the rules,
7 which adds multi arch support, arm64 will be supported for now.
10 PASS: build-pkgs on x86-64 host
11 PASS: build-image on x86-64 host
12 PASS: build-pkgs on arm64 host
13 PASS: build-image on arm64 host
14 PASS: apply the app on x86-64 target
15 PASS: apply the app on arm64 target
20 Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
21 Change-Id: Ib325520a52b5264ca568116667fab91652a8da65
23 .../upstream/ingress-nginx-helm/debian/deb_folder/rules | 6 ++++++
24 stx-nginx-ingress-controller-helm/debian/deb_folder/rules | 5 +++++
25 .../ingress-nginx/ingress-nginx-static-overrides.yaml | 2 +-
26 3 files changed, 12 insertions(+), 1 deletion(-)
28 diff --git a/helm-charts/upstream/ingress-nginx-helm/debian/deb_folder/rules b/helm-charts/upstream/ingress-nginx-helm/debian/deb_folder/rules
29 index 1b3d91a..247d32b 100644
30 --- a/helm-charts/upstream/ingress-nginx-helm/debian/deb_folder/rules
31 +++ b/helm-charts/upstream/ingress-nginx-helm/debian/deb_folder/rules
33 # export DH_VERBOSE = 1
35 export DEB_VERSION = $(shell dpkg-parsechangelog | egrep '^Version:' | cut -f 2 -d ' ')
36 +export DEB_HOST_ARCH = $(shell dpkg-architecture -qDEB_HOST_ARCH 2>/dev/null)
37 export PATCH_VERSION = $(shell echo $(DEB_VERSION) | cut -f 4 -d '.')
38 export CHART_BASE_VERSION = $(shell echo $(DEB_VERSION) | sed 's/-/./' | cut -d '.' -f 1-3)
39 export CHART_VERSION = $(CHART_BASE_VERSION)+STX.$(PATCH_VERSION)
40 @@ -18,6 +19,11 @@ override_dh_auto_build:
41 # Copy ingress-nginx charts
42 cp -r charts/* ingress-nginx
44 + # Fix the hardcoded image name: defaultbackend-amd64
45 + sed -i 's/amd64/$(DEB_HOST_ARCH)/g' \
46 + ingress-nginx/ingress-nginx/values.yaml \
47 + ingress-nginx/ingress-nginx/README.md
49 cp Makefile ingress-nginx
51 cd ingress-nginx && make CHART_VERSION=$(CHART_VERSION) ingress-nginx
52 diff --git a/stx-nginx-ingress-controller-helm/debian/deb_folder/rules b/stx-nginx-ingress-controller-helm/debian/deb_folder/rules
53 index 20abb50..d92278d 100755
54 --- a/stx-nginx-ingress-controller-helm/debian/deb_folder/rules
55 +++ b/stx-nginx-ingress-controller-helm/debian/deb_folder/rules
56 @@ -5,6 +5,7 @@ export ROOT = debian/tmp
57 export APP_FOLDER = $(ROOT)/usr/local/share/applications/helm
59 export DEB_VERSION = $(shell dpkg-parsechangelog | egrep '^Version:' | cut -f 2 -d ' ')
60 +export DEB_HOST_ARCH = $(shell dpkg-architecture -qDEB_HOST_ARCH 2>/dev/null)
61 export RELEASE = $(shell cat /etc/build.info | grep SW_VERSION | cut -d'"' -f2)
62 export REVISION = $(shell echo $(DEB_VERSION) | cut -f 4 -d '.')
64 @@ -23,6 +24,10 @@ override_dh_auto_build:
66 cp files/metadata.yaml $(STAGING)
67 cp -Rv fluxcd-manifests $(STAGING)
69 + sed -i 's/@ARCH@/$(DEB_HOST_ARCH)/g' \
70 + $(STAGING)/fluxcd-manifests/ingress-nginx/ingress-nginx-static-overrides.yaml
72 mkdir -p $(STAGING)/charts
73 cp /usr/lib/helm/*.tgz $(STAGING)/charts
75 diff --git a/stx-nginx-ingress-controller-helm/stx-nginx-ingress-controller-helm/fluxcd-manifests/ingress-nginx/ingress-nginx-static-overrides.yaml b/stx-nginx-ingress-controller-helm/stx-nginx-ingress-controller-helm/fluxcd-manifests/ingress-nginx/ingress-nginx-static-overrides.yaml
76 index e5f3384..8aa9538 100644
77 --- a/stx-nginx-ingress-controller-helm/stx-nginx-ingress-controller-helm/fluxcd-manifests/ingress-nginx/ingress-nginx-static-overrides.yaml
78 +++ b/stx-nginx-ingress-controller-helm/stx-nginx-ingress-controller-helm/fluxcd-manifests/ingress-nginx/ingress-nginx-static-overrides.yaml
79 @@ -78,7 +78,7 @@ controller:
83 - repository: registry.k8s.io/defaultbackend-amd64
84 + repository: registry.k8s.io/defaultbackend-@ARCH@
87 node-role.kubernetes.io/control-plane: ""