Skip to content

Commit e9a1221

Browse files
Merge pull request #171 from juanluisvaladas/bump-kp-1.33.1
Bump kube-proxy versions
2 parents 66d6e43 + 361b1c4 commit e9a1221

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+1280
-0
lines changed
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
*
2+
.*
3+
!alpine-keys
4+
!files

images/kube-proxy/v1.30.13/Dockerfile

Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
ARG BUILDER_IMAGE=docker.io/library/golang:1.23.8-alpine3.20
2+
3+
FROM --platform=$BUILDPLATFORM $BUILDER_IMAGE AS build-base
4+
5+
RUN apk add --no-interactive --no-cache patch make bash rsync
6+
7+
FROM build-base AS kube-proxy
8+
9+
# https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.30.md#source-code
10+
ARG K8S_VERSION=1.30.13
11+
ARG K8S_HASH=c8da67f99b147ebc3c11d9feaa55e8551623b2727434ddfa64528e302838b703eb5bb408320468bd6c86a86f28a2c606afdada0d432aae817a389bb855e2bb21
12+
13+
RUN set -euo pipefail \
14+
&& wget -q "https://dl.k8s.io/v${K8S_VERSION}/kubernetes-src.tar.gz" \
15+
&& { echo "${K8S_HASH} *kubernetes-src.tar.gz" | sha512sum -c -; } \
16+
&& mkdir -p /go/kubernetes \
17+
&& tar xf kubernetes-src.tar.gz -C /go/kubernetes \
18+
&& rm kubernetes-src.tar.gz
19+
20+
ARG TARGETARCH
21+
RUN --mount=source=files,target=/run/stage/files,ro \
22+
--mount=type=tmpfs,target=/go/kubernetes/_output \
23+
--mount=type=cache,id=kube-proxy-go-cache-$TARGETARCH,target=/run/stage/kube-proxy-go-cache \
24+
--network=none \
25+
set -euo pipefail \
26+
&& { [ "$TARGETARCH" != riscv64 ] || patch -d /go/kubernetes -p0 </run/stage/files/riscv64.patch; } \
27+
&& du -sh /run/stage/kube-proxy-go-cache \
28+
&& GOCACHE=/run/stage/kube-proxy-go-cache KUBE_BUILD_PLATFORMS="linux/$TARGETARCH" make -C /go/kubernetes \
29+
WHAT='-trimpath -buildvcs=false cmd/kube-proxy' \
30+
FORCE_HOST_GO=y \
31+
KUBE_STATIC_OVERRIDES=kube-proxy \
32+
KUBE_VERBOSE=9 \
33+
&& mkdir -p /opt/stage \
34+
&& mv /go/kubernetes/_output/local/bin/linux/*/kube-proxy /opt/stage/kube-proxy
35+
36+
FROM build-base AS iptables-wrapper
37+
38+
ARG IPTABLES_WRAPPER_VERSION=06cad2ec6cb5ed0945b383fb185424c0a67f55eb
39+
ARG IPTABLES_WRAPPER_HASH=fde9ccd22b337fd297180cd21938c0a82030187fc29aabb6800472295d62752a
40+
41+
RUN set -euo pipefail \
42+
&& wget -qO iptables-wrapper.tar.gz "https://github.com/kubernetes-sigs/iptables-wrappers/archive/$IPTABLES_WRAPPER_VERSION.tar.gz" \
43+
&& { echo "${IPTABLES_WRAPPER_HASH} *iptables-wrapper.tar.gz" | sha256sum -c -; } \
44+
&& mkdir -p /go/iptables-wrapper \
45+
&& tar xf iptables-wrapper.tar.gz --strip-components=1 -C /go/iptables-wrapper \
46+
&& rm iptables-wrapper.tar.gz
47+
48+
ARG TARGETARCH
49+
RUN --mount=source=files,target=/run/stage/files,ro \
50+
--mount=type=tmpfs,target=/go/iptables-wrapper/bin \
51+
--mount=type=cache,id=iptables-wrapper-go-cache-$TARGETARCH,target=/root/.cache/go-build \
52+
--network=none \
53+
set -euo pipefail \
54+
&& du -sh /root/.cache/go-build \
55+
&& (cd /go/iptables-wrapper && patch </run/stage/files/iptables-wrapper.patch) \
56+
&& GOARCH="$TARGETARCH" make -C /go/iptables-wrapper build \
57+
&& mv /go/iptables-wrapper/bin/iptables-wrapper /go/iptables-wrapper
58+
59+
FROM --platform=$BUILDPLATFORM $BUILDER_IMAGE AS baselayout
60+
ARG TARGETARCH
61+
RUN --mount=source=alpine-keys/$TARGETARCH,target=/run/stage/alpine/keys,ro \
62+
--mount=from=iptables-wrapper,source=/go/iptables-wrapper,target=/run/stage/iptables-wrapper,ro \
63+
set -euo pipefail \
64+
&& case "${TARGETARCH-}" in \
65+
amd64) export APK_ARCH=x86_64 ;; \
66+
arm64) export APK_ARCH=aarch64 ;; \
67+
arm) export APK_ARCH=armv7 ;; \
68+
riscv64) export APK_ARCH=riscv64 ;; \
69+
*) echo Unsupported target platform: "${TARGETARCH-}"; exit 1;; \
70+
esac \
71+
&& mkdir -p -- /opt/stage/etc/apk \
72+
&& cp -a /etc/apk/repositories /run/stage/alpine/keys /opt/stage/etc/apk \
73+
&& apk add --no-interactive --root /opt/stage --arch "$APK_ARCH" --initdb \
74+
alpine-release \
75+
busybox \
76+
tzdata \
77+
ca-certificates-bundle \
78+
conntrack-tools \
79+
ipset \
80+
iptables \
81+
iptables-legacy \
82+
kmod \
83+
&& cp -a /run/stage/iptables-wrapper/iptables-wrapper-installer.sh /run/stage/iptables-wrapper/iptables-wrapper /opt/stage \
84+
&& chroot /opt/stage /iptables-wrapper-installer.sh \
85+
&& sed -i -e 's,^D:/bin/sh ,D:,' -e '/D:alpine-keys/d' /opt/stage/lib/apk/db/installed \
86+
&& bins="$(chroot /opt/stage /bin/busybox --list-full)" \
87+
&& apk del --no-interactive --no-network --root /opt/stage --purge busybox alpine-keys \
88+
&& for bin in $bins; do \
89+
link="$(readlink "/opt/stage/$bin")"; \
90+
[ "${link##*/}" != busybox ] || rm "/opt/stage/$bin"; \
91+
done \
92+
&& rm -r /opt/stage/etc/issue /opt/stage/etc/apk/repositories /opt/stage/var/cache
93+
94+
FROM scratch
95+
COPY --from=baselayout /opt/stage /
96+
COPY --from=kube-proxy /opt/stage/kube-proxy /usr/local/bin/kube-proxy
97+
98+
ENTRYPOINT ["/usr/local/bin/kube-proxy"]

images/kube-proxy/v1.30.13/README.md

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# kube-proxy
2+
3+
This is k0s's [kube-proxy] image. It's an Alpine variant of what can be found in
4+
the upstream [iptables-distroless] image, plus the `kube-proxy` executable. It
5+
uses the new binary `iptables-wrapper`, so that it doesn't need a shell anymore.
6+
7+
## False positive security vulnerabilities
8+
9+
The following CVEs are flagged by trivy and do not affect the `kube-proxy`
10+
binary:
11+
12+
* [CVE-2023-47108]
13+
<https://github.com/kubernetes/kubernetes/pull/121842>
14+
> This DOES NOT impact kubernetes, as we use OpenTelemetry only for tracing,
15+
> and not for metrics. `go.opentelemetry.io/otel/sdk/metric` is not a
16+
> dependency of this project.
17+
* [CVE-2024-45310]
18+
This is a runc vulnerability regarding container execution. Kube-proxy is not
19+
concerned with container management at all.
20+
21+
Notes:
22+
23+
* Alpine's `kmod` package depends on `/bin/sh` for its trigger scripts run at
24+
package installation. Hence `apk` refuses to purge `busybox`. Have a little
25+
nasty hack in place that fiddles with Alpine's package database to remove that
26+
dependency after installation, so that `busybox`, and hence the shell, can be
27+
purged.
28+
* Include the `alpine-release` package, so that the image has a proper
29+
`/etc/os-release` file. This enables the security scanning of the Alpine
30+
packages. As that package depends on `alpine-keys`, which is not required
31+
here, pull the same trick as for the `kmod` package and remove that dependency
32+
as well.
33+
* Kube-Proxy's [nftables backend] ([KEP-3866]) needs the `nft` binary, which is
34+
not yet part of this image.
35+
36+
[kube-proxy]: https://kubernetes.io/docs/reference/command-line-tools-reference/kube-proxy/
37+
[iptables-distroless]: https://github.com/kubernetes/release/tree/master/images/build/distroless-iptables/distroless
38+
[CVE-2023-47108]: https://avd.aquasec.com/nvd/cve-2023-47108
39+
[CVE-2024-45310]: https://avd.aquasec.com/nvd/cve-2024-45310
40+
[nftables backend]: https://github.com/kubernetes/enhancements/issues/3866
41+
[KEP-3866]: https://github.com/kubernetes/enhancements/blob/master/keps/sig-network/3866-nftables-proxy/README.md
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
-----BEGIN PUBLIC KEY-----
2+
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1yHJxQgsHQREclQu4Ohe
3+
qxTxd1tHcNnvnQTu/UrTky8wWvgXT+jpveroeWWnzmsYlDI93eLI2ORakxb3gA2O
4+
Q0Ry4ws8vhaxLQGC74uQR5+/yYrLuTKydFzuPaS1dK19qJPXB8GMdmFOijnXX4SA
5+
jixuHLe1WW7kZVtjL7nufvpXkWBGjsfrvskdNA/5MfxAeBbqPgaq0QMEfxMAn6/R
6+
L5kNepi/Vr4S39Xvf2DzWkTLEK8pcnjNkt9/aafhWqFVW7m3HCAII6h/qlQNQKSo
7+
GuH34Q8GsFG30izUENV9avY7hSLq7nggsvknlNBZtFUcmGoQrtx3FmyYsIC8/R+B
8+
ywIDAQAB
9+
-----END PUBLIC KEY-----
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
-----BEGIN PUBLIC KEY-----
2+
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwlzMkl7b5PBdfMzGdCT0
3+
cGloRr5xGgVmsdq5EtJvFkFAiN8Ac9MCFy/vAFmS8/7ZaGOXoCDWbYVLTLOO2qtX
4+
yHRl+7fJVh2N6qrDDFPmdgCi8NaE+3rITWXGrrQ1spJ0B6HIzTDNEjRKnD4xyg4j
5+
g01FMcJTU6E+V2JBY45CKN9dWr1JDM/nei/Pf0byBJlMp/mSSfjodykmz4Oe13xB
6+
Ca1WTwgFykKYthoLGYrmo+LKIGpMoeEbY1kuUe04UiDe47l6Oggwnl+8XD1MeRWY
7+
sWgj8sF4dTcSfCMavK4zHRFFQbGp/YFJ/Ww6U9lA3Vq0wyEI6MCMQnoSMFwrbgZw
8+
wwIDAQAB
9+
-----END PUBLIC KEY-----
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
-----BEGIN PUBLIC KEY-----
2+
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAutQkua2CAig4VFSJ7v54
3+
ALyu/J1WB3oni7qwCZD3veURw7HxpNAj9hR+S5N/pNeZgubQvJWyaPuQDm7PTs1+
4+
tFGiYNfAsiibX6Rv0wci3M+z2XEVAeR9Vzg6v4qoofDyoTbovn2LztaNEjTkB+oK
5+
tlvpNhg1zhou0jDVYFniEXvzjckxswHVb8cT0OMTKHALyLPrPOJzVtM9C1ew2Nnc
6+
3848xLiApMu3NBk0JqfcS3Bo5Y2b1FRVBvdt+2gFoKZix1MnZdAEZ8xQzL/a0YS5
7+
Hd0wj5+EEKHfOd3A75uPa/WQmA+o0cBFfrzm69QDcSJSwGpzWrD1ScH3AK8nWvoj
8+
v7e9gukK/9yl1b4fQQ00vttwJPSgm9EnfPHLAtgXkRloI27H6/PuLoNvSAMQwuCD
9+
hQRlyGLPBETKkHeodfLoULjhDi1K2gKJTMhtbnUcAA7nEphkMhPWkBpgFdrH+5z4
10+
Lxy+3ek0cqcI7K68EtrffU8jtUj9LFTUC8dERaIBs7NgQ/LfDbDfGh9g6qVj1hZl
11+
k9aaIPTm/xsi8v3u+0qaq7KzIBc9s59JOoA8TlpOaYdVgSQhHHLBaahOuAigH+VI
12+
isbC9vmqsThF2QdDtQt37keuqoda2E6sL7PUvIyVXDRfwX7uMDjlzTxHTymvq2Ck
13+
htBqojBnThmjJQFgZXocHG8CAwEAAQ==
14+
-----END PUBLIC KEY-----
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
-----BEGIN PUBLIC KEY-----
2+
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAr8s1q88XpuJWLCZALdKj
3+
lN8wg2ePB2T9aIcaxryYE/Jkmtu+ZQ5zKq6BT3y/udt5jAsMrhHTwroOjIsF9DeG
4+
e8Y3vjz+Hh4L8a7hZDaw8jy3CPag47L7nsZFwQOIo2Cl1SnzUc6/owoyjRU7ab0p
5+
iWG5HK8IfiybRbZxnEbNAfT4R53hyI6z5FhyXGS2Ld8zCoU/R4E1P0CUuXKEN4p0
6+
64dyeUoOLXEWHjgKiU1mElIQj3k/IF02W89gDj285YgwqA49deLUM7QOd53QLnx+
7+
xrIrPv3A+eyXMFgexNwCKQU9ZdmWa00MjjHlegSGK8Y2NPnRoXhzqSP9T9i2HiXL
8+
VQIDAQAB
9+
-----END PUBLIC KEY-----
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
-----BEGIN PUBLIC KEY-----
2+
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAq0BFD1D4lIxQcsqEpQzU
3+
pNCYM3aP1V/fxxVdT4DWvSI53JHTwHQamKdMWtEXetWVbP5zSROniYKFXd/xrD9X
4+
0jiGHey3lEtylXRIPxe5s+wXoCmNLcJVnvTcDtwx/ne2NLHxp76lyc25At+6RgE6
5+
ADjLVuoD7M4IFDkAsd8UQ8zM0Dww9SylIk/wgV3ZkifecvgUQRagrNUdUjR56EBZ
6+
raQrev4hhzOgwelT0kXCu3snbUuNY/lU53CoTzfBJ5UfEJ5pMw1ij6X0r5S9IVsy
7+
KLWH1hiO0NzU2c8ViUYCly4Fe9xMTFc6u2dy/dxf6FwERfGzETQxqZvSfrRX+GLj
8+
/QZAXiPg5178hT/m0Y3z5IGenIC/80Z9NCi+byF1WuJlzKjDcF/TU72zk0+PNM/H
9+
Kuppf3JT4DyjiVzNC5YoWJT2QRMS9KLP5iKCSThwVceEEg5HfhQBRT9M6KIcFLSs
10+
mFjx9kNEEmc1E8hl5IR3+3Ry8G5/bTIIruz14jgeY9u5jhL8Vyyvo41jgt9sLHR1
11+
/J1TxKfkgksYev7PoX6/ZzJ1ksWKZY5NFoDXTNYUgzFUTOoEaOg3BAQKadb3Qbbq
12+
XIrxmPBdgrn9QI7NCgfnAY3Tb4EEjs3ON/BNyEhUENcXOH6I1NbcuBQ7g9P73kE4
13+
VORdoc8MdJ5eoKBpO8Ww8HECAwEAAQ==
14+
-----END PUBLIC KEY-----
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
-----BEGIN PUBLIC KEY-----
2+
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3v8/ye/V/t5xf4JiXLXa
3+
hWFRozsnmn3hobON20GdmkrzKzO/eUqPOKTpg2GtvBhK30fu5oY5uN2ORiv2Y2ht
4+
eLiZ9HVz3XP8Fm9frha60B7KNu66FO5P2o3i+E+DWTPqqPcCG6t4Znk2BypILcit
5+
wiPKTsgbBQR2qo/cO01eLLdt6oOzAaF94NH0656kvRewdo6HG4urbO46tCAizvCR
6+
CA7KGFMyad8WdKkTjxh8YLDLoOCtoZmXmQAiwfRe9pKXRH/XXGop8SYptLqyVVQ+
7+
tegOD9wRs2tOlgcLx4F/uMzHN7uoho6okBPiifRX+Pf38Vx+ozXh056tjmdZkCaV
8+
aQIDAQAB
9+
-----END PUBLIC KEY-----
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
-----BEGIN PUBLIC KEY-----
2+
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAyduVzi1mWm+lYo2Tqt/0
3+
XkCIWrDNP1QBMVPrE0/ZlU2bCGSoo2Z9FHQKz/mTyMRlhNqTfhJ5qU3U9XlyGOPJ
4+
piM+b91g26pnpXJ2Q2kOypSgOMOPA4cQ42PkHBEqhuzssfj9t7x47ppS94bboh46
5+
xLSDRff/NAbtwTpvhStV3URYkxFG++cKGGa5MPXBrxIp+iZf9GnuxVdST5PGiVGP
6+
ODL/b69sPJQNbJHVquqUTOh5Ry8uuD2WZuXfKf7/C0jC/ie9m2+0CttNu9tMciGM
7+
EyKG1/Xhk5iIWO43m4SrrT2WkFlcZ1z2JSf9Pjm4C2+HovYpihwwdM/OdP8Xmsnr
8+
DzVB4YvQiW+IHBjStHVuyiZWc+JsgEPJzisNY0Wyc/kNyNtqVKpX6dRhMLanLmy+
9+
f53cCSI05KPQAcGj6tdL+D60uKDkt+FsDa0BTAobZ31OsFVid0vCXtsbplNhW1IF
10+
HwsGXBTVcfXg44RLyL8Lk/2dQxDHNHzAUslJXzPxaHBLmt++2COa2EI1iWlvtznk
11+
Ok9WP8SOAIj+xdqoiHcC4j72BOVVgiITIJNHrbppZCq6qPR+fgXmXa+sDcGh30m6
12+
9Wpbr28kLMSHiENCWTdsFij+NQTd5S47H7XTROHnalYDuF1RpS+DpQidT5tUimaT
13+
JZDr++FjKrnnijbyNF8b98UCAwEAAQ==
14+
-----END PUBLIC KEY-----
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
-----BEGIN PUBLIC KEY-----
2+
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwR4uJVtJOnOFGchnMW5Y
3+
j5/waBdG1u5BTMlH+iQMcV5+VgWhmpZHJCBz3ocD+0IGk2I68S5TDOHec/GSC0lv
4+
6R9o6F7h429GmgPgVKQsc8mPTPtbjJMuLLs4xKc+viCplXc0Nc0ZoHmCH4da6fCV
5+
tdpHQjVe6F9zjdquZ4RjV6R6JTiN9v924dGMAkbW/xXmamtz51FzondKC52Gh8Mo
6+
/oA0/T0KsCMCi7tb4QNQUYrf+Xcha9uus4ww1kWNZyfXJB87a2kORLiWMfs2IBBJ
7+
TmZ2Fnk0JnHDb8Oknxd9PvJPT0mvyT8DA+KIAPqNvOjUXP4bnjEHJcoCP9S5HkGC
8+
IQIDAQAB
9+
-----END PUBLIC KEY-----
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
-----BEGIN PUBLIC KEY-----
2+
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnpUpyWDWjlUk3smlWeA0
3+
lIMW+oJ38t92CRLHH3IqRhyECBRW0d0aRGtq7TY8PmxjjvBZrxTNDpJT6KUk4LRm
4+
a6A6IuAI7QnNK8SJqM0DLzlpygd7GJf8ZL9SoHSH+gFsYF67Cpooz/YDqWrlN7Vw
5+
tO00s0B+eXy+PCXYU7VSfuWFGK8TGEv6HfGMALLjhqMManyvfp8hz3ubN1rK3c8C
6+
US/ilRh1qckdbtPvoDPhSbTDmfU1g/EfRSIEXBrIMLg9ka/XB9PvWRrekrppnQzP
7+
hP9YE3x/wbFc5QqQWiRCYyQl/rgIMOXvIxhkfe8H5n1Et4VAorkpEAXdsfN8KSVv
8+
LSMazVlLp9GYq5SUpqYX3KnxdWBgN7BJoZ4sltsTpHQ/34SXWfu3UmyUveWj7wp0
9+
x9hwsPirVI00EEea9AbP7NM2rAyu6ukcm4m6ATd2DZJIViq2es6m60AE6SMCmrQF
10+
wmk4H/kdQgeAELVfGOm2VyJ3z69fQuywz7xu27S6zTKi05Qlnohxol4wVb6OB7qG
11+
LPRtK9ObgzRo/OPumyXqlzAi/Yvyd1ZQk8labZps3e16bQp8+pVPiumWioMFJDWV
12+
GZjCmyMSU8V6MB6njbgLHoyg2LCukCAeSjbPGGGYhnKLm1AKSoJh3IpZuqcKCk5C
13+
8CM1S15HxV78s9dFntEqIokCAwEAAQ==
14+
-----END PUBLIC KEY-----
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
--- Makefile
2+
+++ Makefile
3+
@@ -7,7 +7,7 @@ $(BIN_DIR):
4+
mkdir -p $(BIN_DIR)
5+
6+
build: $(BIN_DIR)
7+
- CGO_ENABLED=0 $(GO) build -ldflags='-s -w -extldflags="-static" -buildid=""' -trimpath -o $(BIN_DIR)/iptables-wrapper github.com/kubernetes-sigs/iptables-wrappers
8+
+ CGO_ENABLED=0 $(GO) build -ldflags='-s -w -extldflags="-static" -buildid=""' -trimpath -buildvcs=false -o $(BIN_DIR)/iptables-wrapper github.com/kubernetes-sigs/iptables-wrappers
9+
10+
vet: ## Run go vet against code.
11+
$(GO) vet ./...
12+
--- iptables-wrapper-installer.sh
13+
+++ iptables-wrapper-installer.sh
14+
@@ -85,11 +85,15 @@ done
15+
16+
if [ -z "${no_sanity_check}" ]; then
17+
# Ensure dependencies are installed
18+
- if ! version=$("${sbin}/iptables-nft" --version 2> /dev/null); then
19+
- echo "ERROR: iptables-nft is not installed" 1>&2
20+
- exit 1
21+
+ # NOTE(k0s): iptables-nft will fail under QEMU with the below error
22+
+ # message, hence use iptables-legacy for the version check
23+
+ if ! version=$("${sbin}/iptables-nft" --version 2>&1); then
24+
+ if [ "$version" != "iptables: Failed to initialize nft: Protocol not supported" ]; then
25+
+ echo "ERROR: iptables-nft is not installed" 1>&2
26+
+ exit 1
27+
+ fi
28+
fi
29+
- if ! "${sbin}/iptables-legacy" --version > /dev/null 2>&1; then
30+
+ if ! version=$("${sbin}/iptables-legacy" --version 2> /dev/null); then
31+
echo "ERROR: iptables-legacy is not installed" 1>&2
32+
exit 1
33+
fi
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
--- hack/lib/golang.sh
2+
+++ hack/lib/golang.sh
3+
@@ -25,6 +25,7 @@ readonly KUBE_SUPPORTED_SERVER_PLATFORMS=(
4+
linux/arm64
5+
linux/s390x
6+
linux/ppc64le
7+
+ linux/riscv64
8+
)
9+
10+
# The node platforms we build for
11+
@@ -33,6 +34,7 @@ readonly KUBE_SUPPORTED_NODE_PLATFORMS=(
12+
linux/arm64
13+
linux/s390x
14+
linux/ppc64le
15+
+ linux/riscv64
16+
windows/amd64
17+
)
18+
19+
@@ -45,6 +47,7 @@ readonly KUBE_SUPPORTED_CLIENT_PLATFORMS=(
20+
linux/arm64
21+
linux/s390x
22+
linux/ppc64le
23+
+ linux/riscv64
24+
darwin/amd64
25+
darwin/arm64
26+
windows/amd64
27+
@@ -59,6 +62,7 @@ readonly KUBE_SUPPORTED_TEST_PLATFORMS=(
28+
linux/arm64
29+
linux/s390x
30+
linux/ppc64le
31+
+ linux/riscv64
32+
darwin/amd64
33+
darwin/arm64
34+
windows/amd64
35+
--- hack/lib/util.sh
36+
+++ hack/lib/util.sh
37+
@@ -185,8 +185,11 @@ kube::util::host_arch() {
38+
ppc64le*)
39+
host_arch=ppc64le
40+
;;
41+
+ riscv64)
42+
+ host_arch=riscv64
43+
+ ;;
44+
*)
45+
- kube::log::error "Unsupported host arch. Must be x86_64, 386, arm, arm64, s390x or ppc64le."
46+
+ kube::log::error "Unsupported host arch. Must be x86_64, 386, arm, arm64, s390x, ppc64le or riscv64."
47+
exit 1
48+
;;
49+
esac
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
*
2+
.*
3+
!alpine-keys
4+
!files

0 commit comments

Comments
 (0)