Skip to content

Commit 5d55c7b

Browse files
authored
fix(containerd): missing runtime type (#173)
1 parent bb8f106 commit 5d55c7b

7 files changed

Lines changed: 185 additions & 159 deletions

File tree

.github/workflows/ci.yaml

Lines changed: 18 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -67,28 +67,17 @@ jobs:
6767
version: v2.12.2
6868

6969
build:
70+
# online: standard binary that pulls OCI images at runtime.
71+
# offline: air-gapped binary with all OCI images embedded (built via the
72+
# `-offline` make targets, which mirror release.yaml). Both glibc and musl
73+
# are built for amd64/arm64 so every published variant is exercised on PRs.
7074
runs-on: ubuntu-latest
7175
strategy:
7276
matrix:
73-
include:
74-
# glibc builds
75-
- goos: linux
76-
goarch: amd64
77-
libc: glibc
78-
build_target: build
79-
- goos: linux
80-
goarch: arm64
81-
libc: glibc
82-
build_target: build
83-
# musl builds (required for Alpine and other musl-based distros)
84-
- goos: linux
85-
goarch: amd64
86-
libc: musl
87-
build_target: build-musl
88-
- goos: linux
89-
goarch: arm64
90-
libc: musl
91-
build_target: build-musl
77+
goos: [linux]
78+
goarch: [amd64, arm64]
79+
libc: [glibc, musl]
80+
variant: [online, offline]
9281
steps:
9382
- name: "[preparation] checkout the current branch"
9483
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
@@ -99,12 +88,19 @@ jobs:
9988
cache-dependency-path: go.sum
10089
- name: "[preparation] install cross-compilation toolchains"
10190
run: sudo make install-cross-compilers${{ matrix.libc == 'musl' && ' install-musl-cross-compilers' || '' }}
102-
- name: "[execution] build the binary for ${{ matrix.goos }}/${{ matrix.goarch }} (${{ matrix.libc }})"
103-
run: make ${{ matrix.build_target }} GOOS=${{ matrix.goos }} GOARCH=${{ matrix.goarch }}
91+
- name: "[preparation] resolve build target"
92+
id: target
93+
run: |
94+
TARGET="build"
95+
if [[ "${{ matrix.libc }}" == "musl" ]]; then TARGET="build-musl"; fi
96+
if [[ "${{ matrix.variant }}" == "offline" ]]; then TARGET="${TARGET}-offline"; fi
97+
echo "build_target=${TARGET}" >> "$GITHUB_OUTPUT"
98+
- name: "[execution] build the binary for ${{ matrix.goos }}/${{ matrix.goarch }} (${{ matrix.libc }}, ${{ matrix.variant }})"
99+
run: make ${{ steps.target.outputs.build_target }} GOOS=${{ matrix.goos }} GOARCH=${{ matrix.goarch }}
104100
- name: "[execution] upload artifact"
105101
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
106102
with:
107-
name: kubesolo-${{ matrix.goos }}-${{ matrix.goarch }}${{ matrix.libc == 'musl' && '-musl' || '' }}
103+
name: kubesolo-${{ matrix.goos }}-${{ matrix.goarch }}${{ matrix.libc == 'musl' && '-musl' || '' }}${{ matrix.variant == 'offline' && '-offline' || '' }}
108104
path: ./dist/kubesolo
109105
retention-days: 30
110106

build/download-deps.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
OS="linux"
66
ARCH="amd64"
77
# Set versions
8-
CONTAINERD_VERSION="2.2.3"
8+
CONTAINERD_VERSION="2.2.5"
99
CRUN_VERSION="1.26"
1010
CNI_VERSION="v1.9.0"
1111
PORTAINER_AGENT_VERSION="2.39.4"

go.mod

Lines changed: 43 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,12 @@ require (
1717
github.com/spf13/cobra v1.10.2
1818
github.com/stretchr/testify v1.11.1
1919
github.com/urfave/cli/v2 v2.27.7
20-
golang.org/x/sys v0.45.0
20+
golang.org/x/sys v0.46.0
2121
gopkg.in/yaml.v2 v2.4.0
22-
k8s.io/api v0.35.4
23-
k8s.io/apimachinery v0.35.4
22+
k8s.io/api v0.35.6
23+
k8s.io/apimachinery v0.35.6
2424
k8s.io/apiserver v0.35.4
25-
k8s.io/client-go v0.35.4
25+
k8s.io/client-go v0.35.6
2626
k8s.io/component-base v0.35.4
2727
k8s.io/kubernetes v1.34.8
2828
)
@@ -220,16 +220,16 @@ require (
220220
go.uber.org/zap v1.27.1 // indirect
221221
go.yaml.in/yaml/v2 v2.4.4 // indirect
222222
go.yaml.in/yaml/v3 v3.0.4 // indirect
223-
golang.org/x/crypto v0.52.0 // indirect
223+
golang.org/x/crypto v0.53.0 // indirect
224224
golang.org/x/exp v0.0.0-20260410095643-746e56fc9e2f // indirect
225-
golang.org/x/mod v0.35.0 // indirect
225+
golang.org/x/mod v0.36.0 // indirect
226226
golang.org/x/net v0.55.0 // indirect
227227
golang.org/x/oauth2 v0.34.0 // indirect
228-
golang.org/x/sync v0.20.0 // indirect
229-
golang.org/x/term v0.43.0 // indirect
230-
golang.org/x/text v0.37.0 // indirect
228+
golang.org/x/sync v0.21.0 // indirect
229+
golang.org/x/term v0.44.0 // indirect
230+
golang.org/x/text v0.38.0 // indirect
231231
golang.org/x/time v0.15.0 // indirect
232-
golang.org/x/tools v0.44.0 // indirect
232+
golang.org/x/tools v0.45.0 // indirect
233233
google.golang.org/genproto/googleapis/api v0.0.0-20260120221211-b8f7ae30c516 // indirect
234234
google.golang.org/genproto/googleapis/rpc v0.0.0-20260120221211-b8f7ae30c516 // indirect
235235
google.golang.org/grpc v1.80.0 // indirect
@@ -244,7 +244,7 @@ require (
244244
k8s.io/cluster-bootstrap v0.0.0 // indirect
245245
k8s.io/component-helpers v0.33.6 // indirect
246246
k8s.io/controller-manager v0.32.2 // indirect
247-
k8s.io/cri-api v0.35.0 // indirect
247+
k8s.io/cri-api v0.35.6 // indirect
248248
k8s.io/cri-client v0.33.6 // indirect
249249
k8s.io/csi-translation-lib v0.0.0 // indirect
250250
k8s.io/dynamic-resource-allocation v0.0.0 // indirect
@@ -276,38 +276,38 @@ require (
276276
replace (
277277
github.com/cilium/ebpf => github.com/cilium/ebpf v0.9.1
278278
github.com/containerd/containerd/api => github.com/containerd/containerd/api v1.10.0
279-
github.com/containerd/containerd/v2 => github.com/k3s-io/containerd/v2 v2.2.3-k3s1
279+
github.com/containerd/containerd/v2 => github.com/k3s-io/containerd/v2 v2.2.5-k3s2
280280
github.com/googleapis/gnostic => github.com/googleapis/gnostic v0.5.5
281281
github.com/opencontainers/runc => github.com/opencontainers/runc v1.3.3
282-
k8s.io/api => github.com/k3s-io/kubernetes/staging/src/k8s.io/api v1.34.8-k3s1
283-
k8s.io/apiextensions-apiserver => github.com/k3s-io/kubernetes/staging/src/k8s.io/apiextensions-apiserver v1.34.8-k3s1
284-
k8s.io/apimachinery => github.com/k3s-io/kubernetes/staging/src/k8s.io/apimachinery v1.34.8-k3s1
285-
k8s.io/apiserver => github.com/k3s-io/kubernetes/staging/src/k8s.io/apiserver v1.34.8-k3s1
286-
k8s.io/cli-runtime => github.com/k3s-io/kubernetes/staging/src/k8s.io/cli-runtime v1.34.8-k3s1
287-
k8s.io/client-go => github.com/k3s-io/kubernetes/staging/src/k8s.io/client-go v1.34.8-k3s1
288-
k8s.io/cloud-provider => github.com/k3s-io/kubernetes/staging/src/k8s.io/cloud-provider v1.34.8-k3s1
289-
k8s.io/cluster-bootstrap => github.com/k3s-io/kubernetes/staging/src/k8s.io/cluster-bootstrap v1.34.8-k3s1
290-
k8s.io/code-generator => github.com/k3s-io/kubernetes/staging/src/k8s.io/code-generator v1.34.8-k3s1
291-
k8s.io/component-base => github.com/k3s-io/kubernetes/staging/src/k8s.io/component-base v1.34.8-k3s1
292-
k8s.io/component-helpers => github.com/k3s-io/kubernetes/staging/src/k8s.io/component-helpers v1.34.8-k3s1
293-
k8s.io/controller-manager => github.com/k3s-io/kubernetes/staging/src/k8s.io/controller-manager v1.34.8-k3s1
294-
k8s.io/cri-api => github.com/k3s-io/kubernetes/staging/src/k8s.io/cri-api v1.34.8-k3s1
295-
k8s.io/cri-client => github.com/k3s-io/kubernetes/staging/src/k8s.io/cri-client v1.34.8-k3s1
296-
k8s.io/csi-translation-lib => github.com/k3s-io/kubernetes/staging/src/k8s.io/csi-translation-lib v1.34.8-k3s1
297-
k8s.io/dynamic-resource-allocation => github.com/k3s-io/kubernetes/staging/src/k8s.io/dynamic-resource-allocation v1.34.8-k3s1
298-
k8s.io/endpointslice => github.com/k3s-io/kubernetes/staging/src/k8s.io/endpointslice v1.34.8-k3s1
299-
k8s.io/externaljwt => github.com/k3s-io/kubernetes/staging/src/k8s.io/externaljwt v1.34.8-k3s1
300-
k8s.io/kms => github.com/k3s-io/kubernetes/staging/src/k8s.io/kms v1.34.8-k3s1
301-
k8s.io/kube-aggregator => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-aggregator v1.34.8-k3s1
302-
k8s.io/kube-controller-manager => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-controller-manager v1.34.8-k3s1
303-
k8s.io/kube-proxy => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-proxy v1.34.8-k3s1
304-
k8s.io/kube-scheduler => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-scheduler v1.34.8-k3s1
305-
k8s.io/kubectl => github.com/k3s-io/kubernetes/staging/src/k8s.io/kubectl v1.34.8-k3s1
306-
k8s.io/kubelet => github.com/k3s-io/kubernetes/staging/src/k8s.io/kubelet v1.34.8-k3s1
307-
k8s.io/kubernetes => github.com/k3s-io/kubernetes v1.34.8-k3s1
308-
k8s.io/legacy-cloud-providers => github.com/k3s-io/kubernetes/staging/src/k8s.io/legacy-cloud-providers v1.34.8-k3s1
309-
k8s.io/metrics => github.com/k3s-io/kubernetes/staging/src/k8s.io/metrics v1.34.8-k3s1
310-
k8s.io/mount-utils => github.com/k3s-io/kubernetes/staging/src/k8s.io/mount-utils v1.34.8-k3s1
311-
k8s.io/pod-security-admission => github.com/k3s-io/kubernetes/staging/src/k8s.io/pod-security-admission v1.34.8-k3s1
312-
k8s.io/sample-apiserver => github.com/k3s-io/kubernetes/staging/src/k8s.io/sample-apiserver v1.34.8-k3s1
282+
k8s.io/api => github.com/k3s-io/kubernetes/staging/src/k8s.io/api v1.34.9-k3s1
283+
k8s.io/apiextensions-apiserver => github.com/k3s-io/kubernetes/staging/src/k8s.io/apiextensions-apiserver v1.34.9-k3s1
284+
k8s.io/apimachinery => github.com/k3s-io/kubernetes/staging/src/k8s.io/apimachinery v1.34.9-k3s1
285+
k8s.io/apiserver => github.com/k3s-io/kubernetes/staging/src/k8s.io/apiserver v1.34.9-k3s1
286+
k8s.io/cli-runtime => github.com/k3s-io/kubernetes/staging/src/k8s.io/cli-runtime v1.34.9-k3s1
287+
k8s.io/client-go => github.com/k3s-io/kubernetes/staging/src/k8s.io/client-go v1.34.9-k3s1
288+
k8s.io/cloud-provider => github.com/k3s-io/kubernetes/staging/src/k8s.io/cloud-provider v1.34.9-k3s1
289+
k8s.io/cluster-bootstrap => github.com/k3s-io/kubernetes/staging/src/k8s.io/cluster-bootstrap v1.34.9-k3s1
290+
k8s.io/code-generator => github.com/k3s-io/kubernetes/staging/src/k8s.io/code-generator v1.34.9-k3s1
291+
k8s.io/component-base => github.com/k3s-io/kubernetes/staging/src/k8s.io/component-base v1.34.9-k3s1
292+
k8s.io/component-helpers => github.com/k3s-io/kubernetes/staging/src/k8s.io/component-helpers v1.34.9-k3s1
293+
k8s.io/controller-manager => github.com/k3s-io/kubernetes/staging/src/k8s.io/controller-manager v1.34.9-k3s1
294+
k8s.io/cri-api => github.com/k3s-io/kubernetes/staging/src/k8s.io/cri-api v1.34.9-k3s1
295+
k8s.io/cri-client => github.com/k3s-io/kubernetes/staging/src/k8s.io/cri-client v1.34.9-k3s1
296+
k8s.io/csi-translation-lib => github.com/k3s-io/kubernetes/staging/src/k8s.io/csi-translation-lib v1.34.9-k3s1
297+
k8s.io/dynamic-resource-allocation => github.com/k3s-io/kubernetes/staging/src/k8s.io/dynamic-resource-allocation v1.34.9-k3s1
298+
k8s.io/endpointslice => github.com/k3s-io/kubernetes/staging/src/k8s.io/endpointslice v1.34.9-k3s1
299+
k8s.io/externaljwt => github.com/k3s-io/kubernetes/staging/src/k8s.io/externaljwt v1.34.9-k3s1
300+
k8s.io/kms => github.com/k3s-io/kubernetes/staging/src/k8s.io/kms v1.34.9-k3s1
301+
k8s.io/kube-aggregator => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-aggregator v1.34.9-k3s1
302+
k8s.io/kube-controller-manager => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-controller-manager v1.34.9-k3s1
303+
k8s.io/kube-proxy => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-proxy v1.34.9-k3s1
304+
k8s.io/kube-scheduler => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-scheduler v1.34.9-k3s1
305+
k8s.io/kubectl => github.com/k3s-io/kubernetes/staging/src/k8s.io/kubectl v1.34.9-k3s1
306+
k8s.io/kubelet => github.com/k3s-io/kubernetes/staging/src/k8s.io/kubelet v1.34.9-k3s1
307+
k8s.io/kubernetes => github.com/k3s-io/kubernetes v1.34.9-k3s1
308+
k8s.io/legacy-cloud-providers => github.com/k3s-io/kubernetes/staging/src/k8s.io/legacy-cloud-providers v1.34.9-k3s1
309+
k8s.io/metrics => github.com/k3s-io/kubernetes/staging/src/k8s.io/metrics v1.34.9-k3s1
310+
k8s.io/mount-utils => github.com/k3s-io/kubernetes/staging/src/k8s.io/mount-utils v1.34.9-k3s1
311+
k8s.io/pod-security-admission => github.com/k3s-io/kubernetes/staging/src/k8s.io/pod-security-admission v1.34.9-k3s1
312+
k8s.io/sample-apiserver => github.com/k3s-io/kubernetes/staging/src/k8s.io/sample-apiserver v1.34.9-k3s1
313313
)

0 commit comments

Comments
 (0)