93fc91a1c0a7931c5849ca17e4df0c6b97b631f0
[pti/rtp.git] /
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
5
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.
8
9 Test Plan:
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
16
17 Story: 2010739
18 Task: 48283
19
20 Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
21 Change-Id: Ib325520a52b5264ca568116667fab91652a8da65
22 ---
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(-)
27
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
32 @@ -2,6 +2,7 @@
33  # export DH_VERBOSE = 1
34  
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
43  
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
48 +
49         cp Makefile ingress-nginx
50  
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
58  
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 '.')
63  
64 @@ -23,6 +24,10 @@ override_dh_auto_build:
65         mkdir -p $(STAGING)
66         cp files/metadata.yaml $(STAGING)
67         cp -Rv fluxcd-manifests $(STAGING)
68 +
69 +       sed -i 's/@ARCH@/$(DEB_HOST_ARCH)/g' \
70 +               $(STAGING)/fluxcd-manifests/ingress-nginx/ingress-nginx-static-overrides.yaml
71 +
72         mkdir -p $(STAGING)/charts
73         cp /usr/lib/helm/*.tgz $(STAGING)/charts
74  
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:
80  defaultBackend:
81    image:
82      digest: ""
83 -    repository: registry.k8s.io/defaultbackend-amd64
84 +    repository: registry.k8s.io/defaultbackend-@ARCH@
85      tag: "1.5"
86    nodeSelector:
87      node-role.kubernetes.io/control-plane: ""
88 -- 
89 2.30.2
90