|
|
|
@@ -6,7 +6,7 @@ lib:
|
|
|
|
|
k3sCommit,
|
|
|
|
|
k3sRepoSha256 ? lib.fakeHash,
|
|
|
|
|
k3sVendorHash ? lib.fakeHash,
|
|
|
|
|
# taken from ./scripts/version.sh VERSION_ROOT https://github.com/k3s-io/k3s/blob/v1.23.3%2Bk3s1/scripts/version.sh#L47
|
|
|
|
|
# taken from ./scripts/version.sh VERSION_ROOT
|
|
|
|
|
k3sRootVersion,
|
|
|
|
|
k3sRootSha256 ? lib.fakeHash,
|
|
|
|
|
# Based on the traefik charts here: https://github.com/k3s-io/k3s/blob/d71ab6317e22dd34673faa307a412a37a16767f6/scripts/download#L29-L32
|
|
|
|
@@ -14,15 +14,27 @@ lib:
|
|
|
|
|
chartVersions,
|
|
|
|
|
# Air gap container images that are released as assets with every k3s release
|
|
|
|
|
imagesVersions,
|
|
|
|
|
# taken from ./scripts/version.sh VERSION_CNIPLUGINS https://github.com/k3s-io/k3s/blob/v1.23.3%2Bk3s1/scripts/version.sh#L45
|
|
|
|
|
# taken from ./scripts/version.sh VERSION_CNIPLUGINS
|
|
|
|
|
k3sCNIVersion,
|
|
|
|
|
k3sCNISha256 ? lib.fakeHash,
|
|
|
|
|
# taken from ./scripts/version.sh VERSION_CONTAINERD
|
|
|
|
|
containerdVersion,
|
|
|
|
|
containerdSha256 ? lib.fakeHash,
|
|
|
|
|
# taken from ./scripts/version.sh PKG_CONTAINERD_K3S
|
|
|
|
|
containerdPackage,
|
|
|
|
|
# run `grep github.com/kubernetes-sigs/cri-tools go.mod | head -n1 | awk '{print $4}'` in the k3s repo at the tag
|
|
|
|
|
criCtlVersion,
|
|
|
|
|
updateScript ? null,
|
|
|
|
|
# taken from ./scripts/version.sh VERSION_FLANNEL
|
|
|
|
|
flannelVersion,
|
|
|
|
|
# taken from ./scripts/version.sh VERSION_FLANNEL_PLUGIN
|
|
|
|
|
flannelPluginVersion,
|
|
|
|
|
# taken from ./scripts/version.sh VERSION_KUBE_ROUTER
|
|
|
|
|
kubeRouterVersion,
|
|
|
|
|
# taken from ./scripts/version.sh VERSION_CRI_DOCKERD
|
|
|
|
|
criDockerdVersion,
|
|
|
|
|
# taken from ./scripts/version.sh VERSION_HELM_JOB
|
|
|
|
|
helmJobVersion,
|
|
|
|
|
}@attrs:
|
|
|
|
|
|
|
|
|
|
# builder.nix contains a "builder" expression that, given k3s version and hash
|
|
|
|
@@ -109,23 +121,58 @@ let
|
|
|
|
|
priority = 5;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
# https://github.com/k3s-io/k3s/blob/5fb370e53e0014dc96183b8ecb2c25a61e891e76/scripts/build#L19-L40
|
|
|
|
|
versionldflags = [
|
|
|
|
|
"-X github.com/k3s-io/k3s/pkg/version.Version=v${k3sVersion}"
|
|
|
|
|
"-X github.com/k3s-io/k3s/pkg/version.GitCommit=${lib.substring 0 8 k3sCommit}"
|
|
|
|
|
"-X github.com/k3s-io/k3s/pkg/version.UpstreamGolang=go${go.version}"
|
|
|
|
|
"-X k8s.io/client-go/pkg/version.gitVersion=v${k3sVersion}"
|
|
|
|
|
"-X k8s.io/client-go/pkg/version.gitCommit=${k3sCommit}"
|
|
|
|
|
"-X k8s.io/client-go/pkg/version.gitTreeState=clean"
|
|
|
|
|
"-X k8s.io/client-go/pkg/version.buildDate=1970-01-01T01:01:01Z"
|
|
|
|
|
"-X k8s.io/component-base/version.gitVersion=v${k3sVersion}"
|
|
|
|
|
"-X k8s.io/component-base/version.gitCommit=${k3sCommit}"
|
|
|
|
|
"-X k8s.io/component-base/version.gitTreeState=clean"
|
|
|
|
|
"-X k8s.io/component-base/version.buildDate=1970-01-01T01:01:01Z"
|
|
|
|
|
"-X github.com/kubernetes-sigs/cri-tools/pkg/version.Version=v${criCtlVersion}"
|
|
|
|
|
"-X github.com/containerd/containerd/version.Version=v${containerdVersion}"
|
|
|
|
|
"-X github.com/containerd/containerd/version.Package=github.com/k3s-io/containerd"
|
|
|
|
|
];
|
|
|
|
|
# https://github.com/k3s-io/k3s/blob/fd48cd623340a4a6e3b2717dede368283cedec1a/scripts/build#L23-L59
|
|
|
|
|
versionldflags =
|
|
|
|
|
let
|
|
|
|
|
PKG = "github.com/k3s-io/k3s";
|
|
|
|
|
PKG_CONTAINERD = "github.com/containerd/containerd/v2";
|
|
|
|
|
PKG_CRICTL = "sigs.k8s.io/cri-tools/pkg";
|
|
|
|
|
PKG_K8S_BASE = "k8s.io/component-base";
|
|
|
|
|
PKG_K8S_CLIENT = "k8s.io/client-go/pkg";
|
|
|
|
|
PKG_CNI_PLUGINS = "github.com/containernetworking/plugins";
|
|
|
|
|
PKG_KUBE_ROUTER = "github.com/cloudnativelabs/kube-router/v2";
|
|
|
|
|
PKG_CRI_DOCKERD = "github.com/Mirantis/cri-dockerd";
|
|
|
|
|
PKG_ETCD = "go.etcd.io/etcd";
|
|
|
|
|
PKG_HELM_CONTROLLER = "github.com/k3s-io/helm-controller";
|
|
|
|
|
buildDate = "1970-01-01T01:01:01Z";
|
|
|
|
|
in
|
|
|
|
|
[
|
|
|
|
|
"-X ${PKG}/pkg/version.Version=${k3sVersion}"
|
|
|
|
|
"-X ${PKG}/pkg/version.GitCommit=${lib.substring 0 8 k3sCommit}"
|
|
|
|
|
"-X ${PKG}/pkg/version.UpstreamGolang=go${go.version}"
|
|
|
|
|
|
|
|
|
|
"-X ${PKG_K8S_CLIENT}/version.gitVersion=v${k3sVersion}"
|
|
|
|
|
"-X ${PKG_K8S_CLIENT}/version.gitCommit=${k3sCommit}"
|
|
|
|
|
"-X ${PKG_K8S_CLIENT}/version.gitTreeState=clean"
|
|
|
|
|
"-X ${PKG_K8S_CLIENT}/version.buildDate=${buildDate}"
|
|
|
|
|
|
|
|
|
|
"-X ${PKG_K8S_BASE}/version.gitVersion=v${k3sVersion}"
|
|
|
|
|
"-X ${PKG_K8S_BASE}/version.gitCommit=${k3sCommit}"
|
|
|
|
|
"-X ${PKG_K8S_BASE}/version.gitTreeState=clean"
|
|
|
|
|
"-X ${PKG_K8S_BASE}/version.buildDate=${buildDate}"
|
|
|
|
|
|
|
|
|
|
"-X ${PKG_CRICTL}/version.Version=${criCtlVersion}"
|
|
|
|
|
|
|
|
|
|
"-X ${PKG_CONTAINERD}/version.Version=${containerdVersion}"
|
|
|
|
|
"-X ${PKG_CONTAINERD}/version.Package=${containerdPackage}"
|
|
|
|
|
|
|
|
|
|
"-X ${PKG_CNI_PLUGINS}/pkg/utils/buildversion.BuildVersion=${k3sCNIVersion}"
|
|
|
|
|
"-X ${PKG_CNI_PLUGINS}/plugins/meta/flannel.Program=flannel"
|
|
|
|
|
"-X ${PKG_CNI_PLUGINS}/plugins/meta/flannel.Version=${flannelPluginVersion}+${flannelVersion}"
|
|
|
|
|
"-X ${PKG_CNI_PLUGINS}/plugins/meta/flannel.Commit=HEAD"
|
|
|
|
|
"-X ${PKG_CNI_PLUGINS}/plugins/meta/flannel.buildDate=${buildDate}"
|
|
|
|
|
|
|
|
|
|
"-X ${PKG_KUBE_ROUTER}/pkg/version.Version=${kubeRouterVersion}"
|
|
|
|
|
"-X ${PKG_KUBE_ROUTER}/pkg/version.BuildDate=${buildDate}"
|
|
|
|
|
|
|
|
|
|
"-X ${PKG_CRI_DOCKERD}/cmd/version.Version=${criDockerdVersion}"
|
|
|
|
|
"-X ${PKG_CRI_DOCKERD}/cmd/version.GitCommit=HEAD"
|
|
|
|
|
"-X ${PKG_CRI_DOCKERD}/cmd/version.BuildTime=${buildDate}"
|
|
|
|
|
|
|
|
|
|
"-X ${PKG_ETCD}/api/v3/version.GitSHA=HEAD"
|
|
|
|
|
|
|
|
|
|
"-X ${PKG_HELM_CONTROLLER}/pkg/controllers/chart.DefaultJobImage=rancher/klipper-helm:${helmJobVersion}"
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
# bundled into the k3s binary
|
|
|
|
|
traefik = {
|
|
|
|
|