From e426a6666f78dc9bf833b77937b65628c429712a Mon Sep 17 00:00:00 2001 From: David Sauer Date: Fri, 22 Mar 2024 19:57:42 +0100 Subject: [PATCH 01/33] update kind and kubectl via renovate --- image/Containerfile | 18 +++++++++++++----- renovate.json | 28 ++++++++++++++++++++++++++-- 2 files changed, 39 insertions(+), 7 deletions(-) diff --git a/image/Containerfile b/image/Containerfile index 0ce90cd..3888259 100644 --- a/image/Containerfile +++ b/image/Containerfile @@ -2,7 +2,6 @@ FROM ubuntu:22.04@sha256:77906da86b60585ce12215807090eb327e7386c8fafb5402369e421 VOLUME /var/lib/containers/storage USER root -ENV KIND_EXPERIMENTAL_PROVIDER=podman RUN apt update && \ apt dist-upgrade -y && \ @@ -32,12 +31,21 @@ RUN cp /usr/share/containers/storage.conf /etc/containers/storage.conf && \ COPY rootfs/lib/modules /lib/modules -RUN curl -Lo /usr/bin/kind https://kind.sigs.k8s.io/dl/v0.20.0/kind-linux-amd64 && \ - chmod +x /usr/bin/kind +# kind +ENV KIND_VERSION=v0.22.0 +ENV KIND_EXPERIMENTAL_PROVIDER=podman +RUN curl -Lo /usr/bin/kind https://kind.sigs.k8s.io/dl/v0.20.0/kind-linux-amd64 \ + && chmod +x /usr/bin/kind -RUN curl -Lo /usr/bin/kubectl https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl && \ - chmod +x /usr/bin/kubectl +# kubectl +ENV KUBECTL_VERSION=v1.29.3 +RUN curl -L --silent --fail -o /usr/bin/kubectl https://storage.googleapis.com/kubernetes-release/release/${KUBECTL_VERSION}/bin/linux/amd64/kubectl \ + && chmod +x /usr/bin/kubectl RUN curl -Lo /tmp/go.tar.gz https://go.dev/dl/go1.21.4.linux-amd64.tar.gz && \ tar -C /usr/local -xzf /tmp/go.tar.gz ENV PATH=$PATH:/usr/local/go/bin + +RUN kind --version +RUN kubectl version --client=true +RUN podman --version diff --git a/renovate.json b/renovate.json index f549c1c..2f11dab 100644 --- a/renovate.json +++ b/renovate.json @@ -15,5 +15,29 @@ "automergeType": "pr", "platformAutomerge": true, "rebaseWhen": "behind-base-branch", - "labels": ["bot"] -} + "labels": [ + "bot" + ], + "regexManagers": [ + { + "fileMatch": [ + "^Dockerfile$" + ], + "matchStrings": [ + "ENV KUBECTL_VERSION=(?.*?)\n" + ], + "depNameTemplate": "kubernetes/kubernetes", + "datasourceTemplate": "github-tags" + }, + { + "fileMatch": [ + "^Dockerfile$" + ], + "matchStrings": [ + "ENV KIND_VERSION=(?.*?)\n" + ], + "depNameTemplate": "kubernetes-sigs/kind", + "datasourceTemplate": "github-tags" + } + ] +} \ No newline at end of file From 553eb7b082bb0c8776dc428ea3259df226e1de0e Mon Sep 17 00:00:00 2001 From: David Sauer Date: Fri, 22 Mar 2024 21:01:42 +0100 Subject: [PATCH 02/33] removed /lib/modules folder --- image/Containerfile | 2 -- image/rootfs/lib/modules/.gitkeep | 0 2 files changed, 2 deletions(-) delete mode 100644 image/rootfs/lib/modules/.gitkeep diff --git a/image/Containerfile b/image/Containerfile index 3888259..34677f6 100644 --- a/image/Containerfile +++ b/image/Containerfile @@ -29,8 +29,6 @@ RUN cp /usr/share/containers/storage.conf /etc/containers/storage.conf && \ chmod 4755 /usr/bin/newgidmap && \ chmod 4755 /usr/bin/newuidmap -COPY rootfs/lib/modules /lib/modules - # kind ENV KIND_VERSION=v0.22.0 ENV KIND_EXPERIMENTAL_PROVIDER=podman diff --git a/image/rootfs/lib/modules/.gitkeep b/image/rootfs/lib/modules/.gitkeep deleted file mode 100644 index e69de29..0000000 From f2d041d2a5313fa22989297ba63627351cd2e9f6 Mon Sep 17 00:00:00 2001 From: David Sauer Date: Fri, 22 Mar 2024 21:04:41 +0100 Subject: [PATCH 03/33] fixup! removed /lib/modules folder --- image/Containerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/image/Containerfile b/image/Containerfile index 34677f6..9d837fa 100644 --- a/image/Containerfile +++ b/image/Containerfile @@ -27,7 +27,8 @@ RUN cp /usr/share/containers/storage.conf /etc/containers/storage.conf && \ # -e 's|^#ignore_chown_errors.*|ignore_chown_errors = "true"|' \ -e 's|^mountopt[[:space:]]*=.*$|mountopt = "nodev,fsync=0"|g' /etc/containers/storage.conf && \ chmod 4755 /usr/bin/newgidmap && \ - chmod 4755 /usr/bin/newuidmap + chmod 4755 /usr/bin/newuidmap && \ + mkdir -p /lib/modules # kind ENV KIND_VERSION=v0.22.0 From 81e5ee103d014f122ec1b655437ebe56676324d6 Mon Sep 17 00:00:00 2001 From: David Sauer Date: Fri, 22 Mar 2024 21:09:10 +0100 Subject: [PATCH 04/33] install from ubunutu packages --- image/Containerfile | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/image/Containerfile b/image/Containerfile index 9d837fa..b71c103 100644 --- a/image/Containerfile +++ b/image/Containerfile @@ -5,18 +5,7 @@ USER root RUN apt update && \ apt dist-upgrade -y && \ - apt install gpg curl lsb-release sudo vim -y - -RUN mkdir -p /etc/apt/keyrings && \ - curl -fsSL "https://download.opensuse.org/repositories/devel:kubic:libcontainers:unstable/xUbuntu_$(lsb_release -rs)/Release.key" \ - | gpg --dearmor \ - | tee /etc/apt/keyrings/devel_kubic_libcontainers_unstable.gpg > /dev/null && \ - echo \ - "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/devel_kubic_libcontainers_unstable.gpg]\ - https://download.opensuse.org/repositories/devel:kubic:libcontainers:unstable/xUbuntu_$(lsb_release -rs)/ /" \ - | tee /etc/apt/sources.list.d/devel:kubic:libcontainers:unstable.list > /dev/null && \ - apt update && \ - apt install -y fuse-overlayfs podman && \ + apt install gpg curl lsb-release sudo vim fuse-overlayfs podman containers-storage -y && apt clean RUN cp /usr/share/containers/storage.conf /etc/containers/storage.conf && \ From 9e4ab41132adf683d6f24db18b10a1a38b0d5cd4 Mon Sep 17 00:00:00 2001 From: David Sauer Date: Fri, 22 Mar 2024 21:10:30 +0100 Subject: [PATCH 05/33] fixup! install from ubunutu packages --- image/Containerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/image/Containerfile b/image/Containerfile index b71c103..c3e5487 100644 --- a/image/Containerfile +++ b/image/Containerfile @@ -5,7 +5,7 @@ USER root RUN apt update && \ apt dist-upgrade -y && \ - apt install gpg curl lsb-release sudo vim fuse-overlayfs podman containers-storage -y && + apt install gpg curl lsb-release sudo vim fuse-overlayfs podman containers-storage -y && \ apt clean RUN cp /usr/share/containers/storage.conf /etc/containers/storage.conf && \ From b1988de55b75041ad87da0e0cea4d74f300cbc0f Mon Sep 17 00:00:00 2001 From: David Sauer Date: Fri, 22 Mar 2024 21:15:25 +0100 Subject: [PATCH 06/33] debug --- .github/workflows/pipeline.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pipeline.yml b/.github/workflows/pipeline.yml index d9c1a57..dedadb3 100644 --- a/.github/workflows/pipeline.yml +++ b/.github/workflows/pipeline.yml @@ -42,7 +42,7 @@ jobs: -v $(pwd)/test:/test --privileged --security-opt="label=disable" ${{ env.TEST_IMAGE }} - /bin/sh -c "/usr/bin/kind create cluster -v 2147483647 --config ./test/kind-in-podman.yaml --wait 60s + /bin/sh -c "(/usr/bin/kind create cluster -v 2147483647 --config ./test/kind-in-podman.yaml --wait 60s --retain || (cat $(kind export logs) && podman ps -a)) && kubectl get no -o wide && kubectl get ns && cd ./test && go test . -v" From df9520cae610212136765ae169ed01e50189d8ea Mon Sep 17 00:00:00 2001 From: David Sauer Date: Fri, 22 Mar 2024 21:22:59 +0100 Subject: [PATCH 07/33] fixup! debug --- image/Containerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/image/Containerfile b/image/Containerfile index c3e5487..00b8d24 100644 --- a/image/Containerfile +++ b/image/Containerfile @@ -1,4 +1,4 @@ -FROM ubuntu:22.04@sha256:77906da86b60585ce12215807090eb327e7386c8fafb5402369e421f44eff17e +FROM ubuntu:23.10 VOLUME /var/lib/containers/storage USER root From 0c65df4994692d42d1a24d99e45d872e328665f2 Mon Sep 17 00:00:00 2001 From: David Sauer Date: Fri, 22 Mar 2024 21:28:17 +0100 Subject: [PATCH 08/33] use --no-install-recommends --- image/Containerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/image/Containerfile b/image/Containerfile index 00b8d24..7b654ca 100644 --- a/image/Containerfile +++ b/image/Containerfile @@ -1,12 +1,12 @@ FROM ubuntu:23.10 -VOLUME /var/lib/containers/storage USER root RUN apt update && \ apt dist-upgrade -y && \ - apt install gpg curl lsb-release sudo vim fuse-overlayfs podman containers-storage -y && \ + apt install gpg curl lsb-release sudo vim fuse-overlayfs podman containers-storage uidmap ca-certificates --yes --no-install-recommends && \ apt clean +VOLUME /var/lib/containers/storage RUN cp /usr/share/containers/storage.conf /etc/containers/storage.conf && \ mkdir -p /var/lib/shared && \ From e78ec9c0e26321d7e3706ee07885f30be102765f Mon Sep 17 00:00:00 2001 From: David Sauer Date: Fri, 22 Mar 2024 21:34:18 +0100 Subject: [PATCH 09/33] extracted downloading to its own stage --- image/Containerfile | 34 +++++++++++++++++++++++++--------- 1 file changed, 25 insertions(+), 9 deletions(-) diff --git a/image/Containerfile b/image/Containerfile index 7b654ca..07798e1 100644 --- a/image/Containerfile +++ b/image/Containerfile @@ -1,10 +1,29 @@ +FROM ubuntu:23.10 AS downloader + +RUN apt update && \ + apt install -y curl ca-certificates + +# kind +ENV KIND_VERSION=v0.22.0 +RUN curl -Lo /usr/bin/kind https://kind.sigs.k8s.io/dl/v0.20.0/kind-linux-amd64 \ + && chmod +x /usr/bin/kind + +# kubectl +ENV KUBECTL_VERSION=v1.29.3 +RUN curl -L --silent --fail -o /usr/bin/kubectl https://storage.googleapis.com/kubernetes-release/release/${KUBECTL_VERSION}/bin/linux/amd64/kubectl \ + && chmod +x /usr/bin/kubectl + +# golang +RUN curl -Lo /tmp/go.tar.gz https://go.dev/dl/go1.21.4.linux-amd64.tar.gz && \ + tar -C /usr/local -xzf /tmp/go.tar.gz + FROM ubuntu:23.10 USER root RUN apt update && \ apt dist-upgrade -y && \ - apt install gpg curl lsb-release sudo vim fuse-overlayfs podman containers-storage uidmap ca-certificates --yes --no-install-recommends && \ + apt install fuse-overlayfs podman containers-storage uidmap --yes --no-install-recommends && \ apt clean VOLUME /var/lib/containers/storage @@ -20,20 +39,17 @@ RUN cp /usr/share/containers/storage.conf /etc/containers/storage.conf && \ mkdir -p /lib/modules # kind -ENV KIND_VERSION=v0.22.0 ENV KIND_EXPERIMENTAL_PROVIDER=podman -RUN curl -Lo /usr/bin/kind https://kind.sigs.k8s.io/dl/v0.20.0/kind-linux-amd64 \ - && chmod +x /usr/bin/kind +COPY --from downloader /usr/bin/kind /usr/bin/kind # kubectl -ENV KUBECTL_VERSION=v1.29.3 -RUN curl -L --silent --fail -o /usr/bin/kubectl https://storage.googleapis.com/kubernetes-release/release/${KUBECTL_VERSION}/bin/linux/amd64/kubectl \ - && chmod +x /usr/bin/kubectl +COPY --from downloader /usr/bin/kubectl /usr/bin/kubectl -RUN curl -Lo /tmp/go.tar.gz https://go.dev/dl/go1.21.4.linux-amd64.tar.gz && \ - tar -C /usr/local -xzf /tmp/go.tar.gz +# golang +COPY --from downloader /usr/local/go /usr/local/go ENV PATH=$PATH:/usr/local/go/bin RUN kind --version RUN kubectl version --client=true RUN podman --version +RUN go version From 67c0e0d6d0e6605852b68c1e7216a1fbe89f50a7 Mon Sep 17 00:00:00 2001 From: David Sauer Date: Fri, 22 Mar 2024 21:36:36 +0100 Subject: [PATCH 10/33] fixup! extracted downloading to its own stage --- image/Containerfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/image/Containerfile b/image/Containerfile index 07798e1..a29c70e 100644 --- a/image/Containerfile +++ b/image/Containerfile @@ -40,13 +40,13 @@ RUN cp /usr/share/containers/storage.conf /etc/containers/storage.conf && \ # kind ENV KIND_EXPERIMENTAL_PROVIDER=podman -COPY --from downloader /usr/bin/kind /usr/bin/kind +COPY --from=downloader /usr/bin/kind /usr/bin/kind # kubectl -COPY --from downloader /usr/bin/kubectl /usr/bin/kubectl +COPY --from=downloader /usr/bin/kubectl /usr/bin/kubectl # golang -COPY --from downloader /usr/local/go /usr/local/go +COPY --from=downloader /usr/local/go /usr/local/go ENV PATH=$PATH:/usr/local/go/bin RUN kind --version From 336d19e089f06b0b95a2efaea307b71ea1ca18b5 Mon Sep 17 00:00:00 2001 From: David Sauer Date: Fri, 22 Mar 2024 21:38:47 +0100 Subject: [PATCH 11/33] fixup! fixup! extracted downloading to its own stage --- image/Containerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/image/Containerfile b/image/Containerfile index a29c70e..e4f76cc 100644 --- a/image/Containerfile +++ b/image/Containerfile @@ -23,7 +23,7 @@ USER root RUN apt update && \ apt dist-upgrade -y && \ - apt install fuse-overlayfs podman containers-storage uidmap --yes --no-install-recommends && \ + apt install fuse-overlayfs podman containers-storage uidmap ca-certificates --yes --no-install-recommends && \ apt clean VOLUME /var/lib/containers/storage From 7ffb5ad11f598c2d824a87330f6c2c1622101269 Mon Sep 17 00:00:00 2001 From: David Sauer Date: Fri, 22 Mar 2024 21:42:56 +0100 Subject: [PATCH 12/33] removed additional directories --- image/Containerfile | 4 ---- 1 file changed, 4 deletions(-) diff --git a/image/Containerfile b/image/Containerfile index e4f76cc..dd7cc0f 100644 --- a/image/Containerfile +++ b/image/Containerfile @@ -28,11 +28,7 @@ RUN apt update && \ VOLUME /var/lib/containers/storage RUN cp /usr/share/containers/storage.conf /etc/containers/storage.conf && \ - mkdir -p /var/lib/shared && \ - mkdir -p /var/lib/containerd/io.containerd.snapshotter.v1.fuse-overlayfs && \ sed -i -e 's|^#mount_program|mount_program|g' \ - -e '/additionalimage.*/a "/var/lib/shared",' \ - # -e 's|^#ignore_chown_errors.*|ignore_chown_errors = "true"|' \ -e 's|^mountopt[[:space:]]*=.*$|mountopt = "nodev,fsync=0"|g' /etc/containers/storage.conf && \ chmod 4755 /usr/bin/newgidmap && \ chmod 4755 /usr/bin/newuidmap && \ From f67245156df3f703b26781f2c86c0fc6cff5cbae Mon Sep 17 00:00:00 2001 From: David Sauer Date: Fri, 22 Mar 2024 21:46:57 +0100 Subject: [PATCH 13/33] removed uidmap configuration --- image/Containerfile | 2 -- 1 file changed, 2 deletions(-) diff --git a/image/Containerfile b/image/Containerfile index dd7cc0f..6d48ba5 100644 --- a/image/Containerfile +++ b/image/Containerfile @@ -30,8 +30,6 @@ VOLUME /var/lib/containers/storage RUN cp /usr/share/containers/storage.conf /etc/containers/storage.conf && \ sed -i -e 's|^#mount_program|mount_program|g' \ -e 's|^mountopt[[:space:]]*=.*$|mountopt = "nodev,fsync=0"|g' /etc/containers/storage.conf && \ - chmod 4755 /usr/bin/newgidmap && \ - chmod 4755 /usr/bin/newuidmap && \ mkdir -p /lib/modules # kind From f983a55ad687e6fc471958affe2bbb78f7db3457 Mon Sep 17 00:00:00 2001 From: David Sauer Date: Fri, 22 Mar 2024 21:51:04 +0100 Subject: [PATCH 14/33] removed uidmap package --- image/Containerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/image/Containerfile b/image/Containerfile index 6d48ba5..446c22f 100644 --- a/image/Containerfile +++ b/image/Containerfile @@ -23,7 +23,7 @@ USER root RUN apt update && \ apt dist-upgrade -y && \ - apt install fuse-overlayfs podman containers-storage uidmap ca-certificates --yes --no-install-recommends && \ + apt install fuse-overlayfs podman containers-storage ca-certificates --yes --no-install-recommends && \ apt clean VOLUME /var/lib/containers/storage From 4828de63718d6a730358815abfb797c523e08d8e Mon Sep 17 00:00:00 2001 From: David Sauer Date: Fri, 22 Mar 2024 21:55:27 +0100 Subject: [PATCH 15/33] removed mount options configuration --- image/Containerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/image/Containerfile b/image/Containerfile index 446c22f..56ecfc9 100644 --- a/image/Containerfile +++ b/image/Containerfile @@ -29,7 +29,8 @@ VOLUME /var/lib/containers/storage RUN cp /usr/share/containers/storage.conf /etc/containers/storage.conf && \ sed -i -e 's|^#mount_program|mount_program|g' \ - -e 's|^mountopt[[:space:]]*=.*$|mountopt = "nodev,fsync=0"|g' /etc/containers/storage.conf && \ + # -e 's|^mountopt[[:space:]]*=.*$|mountopt = "nodev,fsync=0"|g' \ + /etc/containers/storage.conf && \ mkdir -p /lib/modules # kind From f57640a4cec00986b339d8b7c72ede2410fae849 Mon Sep 17 00:00:00 2001 From: David Sauer Date: Fri, 22 Mar 2024 21:59:11 +0100 Subject: [PATCH 16/33] documented reason for /lib/modules --- image/Containerfile | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/image/Containerfile b/image/Containerfile index 56ecfc9..bfa9901 100644 --- a/image/Containerfile +++ b/image/Containerfile @@ -30,12 +30,13 @@ VOLUME /var/lib/containers/storage RUN cp /usr/share/containers/storage.conf /etc/containers/storage.conf && \ sed -i -e 's|^#mount_program|mount_program|g' \ # -e 's|^mountopt[[:space:]]*=.*$|mountopt = "nodev,fsync=0"|g' \ - /etc/containers/storage.conf && \ - mkdir -p /lib/modules + /etc/containers/storage.conf # kind ENV KIND_EXPERIMENTAL_PROVIDER=podman COPY --from=downloader /usr/bin/kind /usr/bin/kind +# nedded by deamonset kindnet +RUN mkdir -p /lib/modules # kubectl COPY --from=downloader /usr/bin/kubectl /usr/bin/kubectl From 767f62d8427fec9a2b72b986a49697637eff073d Mon Sep 17 00:00:00 2001 From: David Sauer Date: Fri, 22 Mar 2024 22:00:03 +0100 Subject: [PATCH 17/33] removed configuration for mount_program --- image/Containerfile | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/image/Containerfile b/image/Containerfile index bfa9901..3e1f904 100644 --- a/image/Containerfile +++ b/image/Containerfile @@ -27,10 +27,7 @@ RUN apt update && \ apt clean VOLUME /var/lib/containers/storage -RUN cp /usr/share/containers/storage.conf /etc/containers/storage.conf && \ - sed -i -e 's|^#mount_program|mount_program|g' \ - # -e 's|^mountopt[[:space:]]*=.*$|mountopt = "nodev,fsync=0"|g' \ - /etc/containers/storage.conf +RUN cp /usr/share/containers/storage.conf /etc/containers/storage.conf # kind ENV KIND_EXPERIMENTAL_PROVIDER=podman From 55944c176d29acffb70f2c18517248045ba90d40 Mon Sep 17 00:00:00 2001 From: David Sauer Date: Fri, 22 Mar 2024 22:04:27 +0100 Subject: [PATCH 18/33] removed fuse-overlayfs --- image/Containerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/image/Containerfile b/image/Containerfile index 3e1f904..fc09b91 100644 --- a/image/Containerfile +++ b/image/Containerfile @@ -23,7 +23,7 @@ USER root RUN apt update && \ apt dist-upgrade -y && \ - apt install fuse-overlayfs podman containers-storage ca-certificates --yes --no-install-recommends && \ + apt install podman containers-storage ca-certificates --yes --no-install-recommends && \ apt clean VOLUME /var/lib/containers/storage From ec4870294fb3592659070de3a91769df87e45d4d Mon Sep 17 00:00:00 2001 From: David Sauer Date: Fri, 22 Mar 2024 22:09:52 +0100 Subject: [PATCH 19/33] removed containers-storage package --- image/Containerfile | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/image/Containerfile b/image/Containerfile index fc09b91..5433390 100644 --- a/image/Containerfile +++ b/image/Containerfile @@ -23,11 +23,8 @@ USER root RUN apt update && \ apt dist-upgrade -y && \ - apt install podman containers-storage ca-certificates --yes --no-install-recommends && \ + apt install podman ca-certificates --yes --no-install-recommends && \ apt clean -VOLUME /var/lib/containers/storage - -RUN cp /usr/share/containers/storage.conf /etc/containers/storage.conf # kind ENV KIND_EXPERIMENTAL_PROVIDER=podman From bff327d002f0a5f2700f0d0a741a10dca2bfbae2 Mon Sep 17 00:00:00 2001 From: David Sauer Date: Sat, 23 Mar 2024 15:07:49 +0100 Subject: [PATCH 20/33] Revert "removed containers-storage package" This reverts commit ec4870294fb3592659070de3a91769df87e45d4d. --- image/Containerfile | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/image/Containerfile b/image/Containerfile index 5433390..fc09b91 100644 --- a/image/Containerfile +++ b/image/Containerfile @@ -23,8 +23,11 @@ USER root RUN apt update && \ apt dist-upgrade -y && \ - apt install podman ca-certificates --yes --no-install-recommends && \ + apt install podman containers-storage ca-certificates --yes --no-install-recommends && \ apt clean +VOLUME /var/lib/containers/storage + +RUN cp /usr/share/containers/storage.conf /etc/containers/storage.conf # kind ENV KIND_EXPERIMENTAL_PROVIDER=podman From 5c316214e7289901081f26d78d996c4c4a1e08af Mon Sep 17 00:00:00 2001 From: David Sauer Date: Sat, 23 Mar 2024 15:08:24 +0100 Subject: [PATCH 21/33] removed containers-storage configuration --- image/Containerfile | 3 --- 1 file changed, 3 deletions(-) diff --git a/image/Containerfile b/image/Containerfile index fc09b91..313a0dd 100644 --- a/image/Containerfile +++ b/image/Containerfile @@ -25,9 +25,6 @@ RUN apt update && \ apt dist-upgrade -y && \ apt install podman containers-storage ca-certificates --yes --no-install-recommends && \ apt clean -VOLUME /var/lib/containers/storage - -RUN cp /usr/share/containers/storage.conf /etc/containers/storage.conf # kind ENV KIND_EXPERIMENTAL_PROVIDER=podman From dd89ad6d38c33a8a5c8e5cc54bce7b491efb44c6 Mon Sep 17 00:00:00 2001 From: David Sauer Date: Sat, 23 Mar 2024 15:10:38 +0100 Subject: [PATCH 22/33] Revert "removed containers-storage configuration" This reverts commit 5c316214e7289901081f26d78d996c4c4a1e08af. --- image/Containerfile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/image/Containerfile b/image/Containerfile index 313a0dd..fc09b91 100644 --- a/image/Containerfile +++ b/image/Containerfile @@ -25,6 +25,9 @@ RUN apt update && \ apt dist-upgrade -y && \ apt install podman containers-storage ca-certificates --yes --no-install-recommends && \ apt clean +VOLUME /var/lib/containers/storage + +RUN cp /usr/share/containers/storage.conf /etc/containers/storage.conf # kind ENV KIND_EXPERIMENTAL_PROVIDER=podman From bc56fb4263d5bda1dda4620dcd3e1c12639277c3 Mon Sep 17 00:00:00 2001 From: David Sauer Date: Sat, 23 Mar 2024 15:11:06 +0100 Subject: [PATCH 23/33] removed volume for storage --- image/Containerfile | 1 - 1 file changed, 1 deletion(-) diff --git a/image/Containerfile b/image/Containerfile index fc09b91..3fb4c3d 100644 --- a/image/Containerfile +++ b/image/Containerfile @@ -25,7 +25,6 @@ RUN apt update && \ apt dist-upgrade -y && \ apt install podman containers-storage ca-certificates --yes --no-install-recommends && \ apt clean -VOLUME /var/lib/containers/storage RUN cp /usr/share/containers/storage.conf /etc/containers/storage.conf From ecd9bdf74c72961c7fabf7c0a9c4c5101bbed384 Mon Sep 17 00:00:00 2001 From: David Sauer Date: Sat, 23 Mar 2024 15:12:58 +0100 Subject: [PATCH 24/33] Revert "removed volume for storage" This reverts commit bc56fb4263d5bda1dda4620dcd3e1c12639277c3. --- image/Containerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/image/Containerfile b/image/Containerfile index 3fb4c3d..fc09b91 100644 --- a/image/Containerfile +++ b/image/Containerfile @@ -25,6 +25,7 @@ RUN apt update && \ apt dist-upgrade -y && \ apt install podman containers-storage ca-certificates --yes --no-install-recommends && \ apt clean +VOLUME /var/lib/containers/storage RUN cp /usr/share/containers/storage.conf /etc/containers/storage.conf From 0c909edf8a97d14de508bc3b75105e42a4481d3a Mon Sep 17 00:00:00 2001 From: David Sauer Date: Sat, 23 Mar 2024 15:55:38 +0100 Subject: [PATCH 25/33] precompile tests --- .github/workflows/pipeline.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pipeline.yml b/.github/workflows/pipeline.yml index dedadb3..9168ad3 100644 --- a/.github/workflows/pipeline.yml +++ b/.github/workflows/pipeline.yml @@ -36,8 +36,12 @@ jobs: - name: Build Image run: podman build --format docker -f image/Containerfile -t ${{ env.TEST_IMAGE }} ./image + - name: Build Tests + run: cd ./test && go test -c . + - name: Execute Tests run: > + go test -c podman run --rm -v $(pwd)/test:/test --privileged @@ -45,7 +49,7 @@ jobs: /bin/sh -c "(/usr/bin/kind create cluster -v 2147483647 --config ./test/kind-in-podman.yaml --wait 60s --retain || (cat $(kind export logs) && podman ps -a)) && kubectl get no -o wide && kubectl get ns - && cd ./test && go test . -v" + && cd ./test && ./test.test" release: runs-on: ubuntu-latest From 98e42a19a2c29cb661c4cf658d18e2d7dbc8a634 Mon Sep 17 00:00:00 2001 From: David Sauer Date: Sat, 23 Mar 2024 15:58:39 +0100 Subject: [PATCH 26/33] fixup! precompile tests --- .github/workflows/pipeline.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/pipeline.yml b/.github/workflows/pipeline.yml index 9168ad3..ed34de9 100644 --- a/.github/workflows/pipeline.yml +++ b/.github/workflows/pipeline.yml @@ -41,7 +41,6 @@ jobs: - name: Execute Tests run: > - go test -c podman run --rm -v $(pwd)/test:/test --privileged From 2b9c8f7faa223875166513c206d355d1be69a641 Mon Sep 17 00:00:00 2001 From: David Sauer Date: Sat, 23 Mar 2024 16:04:34 +0100 Subject: [PATCH 27/33] fixup! fixup! precompile tests --- .github/workflows/pipeline.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pipeline.yml b/.github/workflows/pipeline.yml index ed34de9..01a078d 100644 --- a/.github/workflows/pipeline.yml +++ b/.github/workflows/pipeline.yml @@ -48,7 +48,7 @@ jobs: /bin/sh -c "(/usr/bin/kind create cluster -v 2147483647 --config ./test/kind-in-podman.yaml --wait 60s --retain || (cat $(kind export logs) && podman ps -a)) && kubectl get no -o wide && kubectl get ns - && cd ./test && ./test.test" + && cd ./test && ./test.test -v" release: runs-on: ubuntu-latest From 3c3b3e14589c5c1edc3f6848a98de452954c4396 Mon Sep 17 00:00:00 2001 From: David Sauer Date: Sat, 23 Mar 2024 16:08:41 +0100 Subject: [PATCH 28/33] fixup! fixup! fixup! precompile tests --- .github/workflows/pipeline.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pipeline.yml b/.github/workflows/pipeline.yml index 01a078d..c95d675 100644 --- a/.github/workflows/pipeline.yml +++ b/.github/workflows/pipeline.yml @@ -48,7 +48,7 @@ jobs: /bin/sh -c "(/usr/bin/kind create cluster -v 2147483647 --config ./test/kind-in-podman.yaml --wait 60s --retain || (cat $(kind export logs) && podman ps -a)) && kubectl get no -o wide && kubectl get ns - && cd ./test && ./test.test -v" + && cd ./test && ./test.test -test.v" release: runs-on: ubuntu-latest From dbe6031ff110d59861c8e182d879aedcf570b34c Mon Sep 17 00:00:00 2001 From: David Sauer Date: Sat, 23 Mar 2024 16:13:20 +0100 Subject: [PATCH 29/33] use golang setup action to cache dependencies and build artifacts --- .github/workflows/pipeline.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/pipeline.yml b/.github/workflows/pipeline.yml index c95d675..f085efd 100644 --- a/.github/workflows/pipeline.yml +++ b/.github/workflows/pipeline.yml @@ -36,6 +36,9 @@ jobs: - name: Build Image run: podman build --format docker -f image/Containerfile -t ${{ env.TEST_IMAGE }} ./image + - name: Set up Go + uses: actions/setup-go@v5 + - name: Build Tests run: cd ./test && go test -c . From 324a6614da68d542b32e09bc6cb5d4e2f856f6bf Mon Sep 17 00:00:00 2001 From: David Sauer Date: Sat, 23 Mar 2024 16:14:14 +0100 Subject: [PATCH 30/33] removed golang from image --- image/Containerfile | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/image/Containerfile b/image/Containerfile index fc09b91..d823f08 100644 --- a/image/Containerfile +++ b/image/Containerfile @@ -13,10 +13,6 @@ ENV KUBECTL_VERSION=v1.29.3 RUN curl -L --silent --fail -o /usr/bin/kubectl https://storage.googleapis.com/kubernetes-release/release/${KUBECTL_VERSION}/bin/linux/amd64/kubectl \ && chmod +x /usr/bin/kubectl -# golang -RUN curl -Lo /tmp/go.tar.gz https://go.dev/dl/go1.21.4.linux-amd64.tar.gz && \ - tar -C /usr/local -xzf /tmp/go.tar.gz - FROM ubuntu:23.10 USER root @@ -38,11 +34,7 @@ RUN mkdir -p /lib/modules # kubectl COPY --from=downloader /usr/bin/kubectl /usr/bin/kubectl -# golang -COPY --from=downloader /usr/local/go /usr/local/go -ENV PATH=$PATH:/usr/local/go/bin - +# versions RUN kind --version RUN kubectl version --client=true RUN podman --version -RUN go version From 19ac14c22a17c3f861907e8312508dce775f3c15 Mon Sep 17 00:00:00 2001 From: David Sauer Date: Sat, 23 Mar 2024 16:22:14 +0100 Subject: [PATCH 31/33] fixup! use golang setup action to cache dependencies and build artifacts --- .github/workflows/pipeline.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/pipeline.yml b/.github/workflows/pipeline.yml index f085efd..2f5704a 100644 --- a/.github/workflows/pipeline.yml +++ b/.github/workflows/pipeline.yml @@ -38,6 +38,9 @@ jobs: - name: Set up Go uses: actions/setup-go@v5 + with: + go-version-file: test/go.mod + cache-dependency-path: test/go.sum - name: Build Tests run: cd ./test && go test -c . From c928838a3558b621eacf1e7814fb819dfbb3a4c2 Mon Sep 17 00:00:00 2001 From: David Sauer Date: Sat, 23 Mar 2024 16:28:25 +0100 Subject: [PATCH 32/33] use docker to build image and run tests --- .github/workflows/pipeline.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pipeline.yml b/.github/workflows/pipeline.yml index 2f5704a..95aaf33 100644 --- a/.github/workflows/pipeline.yml +++ b/.github/workflows/pipeline.yml @@ -34,7 +34,7 @@ jobs: sudo systemctl daemon-reload - name: Build Image - run: podman build --format docker -f image/Containerfile -t ${{ env.TEST_IMAGE }} ./image + run: docker build -f image/Containerfile -t ${{ env.TEST_IMAGE }} ./image - name: Set up Go uses: actions/setup-go@v5 @@ -47,7 +47,7 @@ jobs: - name: Execute Tests run: > - podman run --rm + docker run --rm -v $(pwd)/test:/test --privileged --security-opt="label=disable" ${{ env.TEST_IMAGE }} From 7fe8263863ca6eb1c92bbabc401d74cc1e1d9312 Mon Sep 17 00:00:00 2001 From: David Sauer Date: Sat, 23 Mar 2024 16:35:32 +0100 Subject: [PATCH 33/33] removed podman and podman configuration --- .github/workflows/pipeline.yml | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/.github/workflows/pipeline.yml b/.github/workflows/pipeline.yml index 95aaf33..8782d46 100644 --- a/.github/workflows/pipeline.yml +++ b/.github/workflows/pipeline.yml @@ -20,19 +20,6 @@ jobs: - name: Clone repository uses: actions/checkout@v4 - - name: Configure - run: | - sudo apt update - sudo apt install -y fuse-overlayfs podman containernetworking-plugins containers-storage - sudo cp /usr/share/containers/storage.conf /etc/containers/storage.conf - sudo sed -i 's/#mount_program/mount_program/' /etc/containers/storage.conf - sudo podman system reset --force - sudo mkdir -p /etc/systemd/system/user@.service.d/ - sudo touch /etc/systemd/system/user@.service.d/delegate.conf - echo [Service] | sudo tee -a /etc/systemd/system/user@.service.d/delegate.conf - echo Delegate=yes | sudo tee -a /etc/systemd/system/user@.service.d/delegate.conf - sudo systemctl daemon-reload - - name: Build Image run: docker build -f image/Containerfile -t ${{ env.TEST_IMAGE }} ./image