commit e7b8e406a8d8aef6730e747f6b7c465495b18c8fc7f0a6fcc46f02a63c8c7bbe
| author | 斟酌 鵬兄 <tgckpg@gmail.com> |
| date | 2026-04-01T16:07:32Z |
| subject | Agent can now poll osupgrade resources from cluster |
commit e7b8e406a8d8aef6730e747f6b7c465495b18c8fc7f0a6fcc46f02a63c8c7bbe
Author: 斟酌 鵬兄 <tgckpg@gmail.com>
Date: 2026-04-01T16:07:32Z
Agent can now poll osupgrade resources from cluster
---
alpine/install-packages.sh | 1 +
clitools/Dockerfile | 3 ++-
clitools/makefile | 36 ++++++++++++++++++++++++++----------
clitools/pkg/cmd/agent/agent.go | 2 +-
clitools/pkg/cmd/version/version.go | 2 +-
clitools/pkg/node/agent.go | 2 +-
clitools/pkg/templates/values.go | 2 +-
7 files changed, 33 insertions(+), 15 deletions(-)
diff --git a/alpine/install-packages.sh b/alpine/install-packages.sh
index 4a5af20..9b26dc6 100755
--- a/alpine/install-packages.sh
+++ b/alpine/install-packages.sh
@@ -41,6 +41,7 @@ if [ -z "$CTL_BIN" ]; then
exit 1
fi
ln -s "$CTL_BIN" /usr/local/bin/ctl
+ctl version
mkdir -p /var/run/crio
diff --git a/clitools/Dockerfile b/clitools/Dockerfile
index 7164d68..d6d9765 100644
--- a/clitools/Dockerfile
+++ b/clitools/Dockerfile
@@ -9,4 +9,5 @@ WORKDIR /
COPY bin/ctl-linux-aarch64-${VERSION} ./ctl
COPY --from=cacerts /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
-CMD [ "/ctl", "agent" ]
+ENTRYPOINT ["/ctl"]
+CMD ["agent"]
diff --git a/clitools/makefile b/clitools/makefile
index 9b835ae..98e1bc0 100644
--- a/clitools/makefile
+++ b/clitools/makefile
@@ -1,31 +1,47 @@
+# Should be the same as upstream version in prodution
VERSION ?= dev
-KUBE_VERSION=v1.35.3
+# Target kube version
+KUBE_VERSION ?= v1.35.1
+
+GIT_REV=$(shell git rev-parse HEAD)
BIN_DIR := bin
BUILDINFO_FILE := pkg/buildinfo/buildinfo_gen.go
-$(BUILDINFO_FILE):
- echo 'package buildinfo' > $@
- echo '' >> $@
- echo 'const DefaultKubernetesVersion = "$(KUBE_VERSION)"' >> $@
-
-build: $(BUILDINFO_FILE)
+# Never cache this
+.buildinfo:
+ echo 'package buildinfo' > $(BUILDINFO_FILE)
+ echo 'const (' >> $(BUILDINFO_FILE)
+ echo ' Version = "$(VERSION)"' >> $(BUILDINFO_FILE)
+ echo ' KubeVersion = "$(KUBE_VERSION)"' >> $(BUILDINFO_FILE)
+ echo ' GitRevision = "$(GIT_REV)"' >> $(BUILDINFO_FILE)
+ echo ' Timestamp = "$(shell TZ=UTC date +%Y%m%d.%H%M%S)"' >> $(BUILDINFO_FILE)
+ echo ')' >> $(BUILDINFO_FILE)
+ echo ''
+
+build: .buildinfo
mkdir -p $(BIN_DIR)
GOOS=linux GOARCH=arm64 go build -o $(BIN_DIR)/ctl-linux-aarch64-$(VERSION) ./cmd/ctl/
-build-agent:
+build-agent: build
docker build \
--platform=linux/arm64 \
--build-arg VERSION=$(VERSION) \
-t localhost/monok8s/control-agent:$(VERSION) .
-build-local:
+build-local: .buildinfo
go build -o $(BIN_DIR)/ctl-$(VERSION) ./cmd/ctl
run:
go run ./cmd/ctl
clean:
- rm -rf $(BIN_DIR)
+ docker image rm localhost/monok8s/control-agent:$(VERSION)
+ rm -rf $(BIN_DIR) \
+ $(BUILDINFO_FILE)
+
+all: build build-agent build-local
+
+.PHONY: clean all run .buildinfo build build-local build-agent
diff --git a/clitools/pkg/cmd/agent/agent.go b/clitools/pkg/cmd/agent/agent.go
index 068cbbd..990dfdc 100644
--- a/clitools/pkg/cmd/agent/agent.go
+++ b/clitools/pkg/cmd/agent/agent.go
@@ -35,7 +35,7 @@ func NewCmdAgent(flags *genericclioptions.ConfigFlags) *cobra.Command {
rendered := templates.DefaultMonoKSConfig(vals)
cfg = &rendered
- klog.InfoS("starting init", "node", cfg.Spec.NodeName, "envFile", envFile)
+ klog.InfoS("starting agent", "node", cfg.Spec.NodeName, "envFile", envFile)
clients, err := kube.NewClients(flags)
if err != nil {
diff --git a/clitools/pkg/cmd/version/version.go b/clitools/pkg/cmd/version/version.go
index a351a64..804b642 100644
--- a/clitools/pkg/cmd/version/version.go
+++ b/clitools/pkg/cmd/version/version.go
@@ -14,7 +14,7 @@ func NewCmdVersion() *cobra.Command {
Short: "Print the version information",
RunE: func(cmd *cobra.Command, _ []string) error {
- _, err := fmt.Fprintln(cmd.OutOrStdout(), buildInfo.Version)
+ _, err := fmt.Fprintln(cmd.OutOrStdout(), fmt.Sprintf("%s %s(%s)", buildInfo.Version, buildInfo.GitRevision, buildInfo.Timestamp))
return err
},
}
diff --git a/clitools/pkg/node/agent.go b/clitools/pkg/node/agent.go
index 0fd4706..c875281 100644
--- a/clitools/pkg/node/agent.go
+++ b/clitools/pkg/node/agent.go
@@ -300,7 +300,7 @@ func applyControlAgentDaemonSet(ctx context.Context, kubeClient kubernetes.Inter
Name: "agent",
Image: controlAgentImage,
ImagePullPolicy: corev1.PullNever,
- Args: []string{"agent"},
+ Args: []string{"agent", "--env-file", "$(CLUSTER_ENV_FILE)"},
Env: []corev1.EnvVar{
{
Name: "NODE_NAME",
diff --git a/clitools/pkg/templates/values.go b/clitools/pkg/templates/values.go
index 573e0dc..5329ff1 100644
--- a/clitools/pkg/templates/values.go
+++ b/clitools/pkg/templates/values.go
@@ -45,7 +45,7 @@ func defaultTemplateValues() TemplateValues {
return TemplateValues{
Hostname: "monok8s-master-1",
NodeName: "monok8s-master-1",
- KubernetesVersion: buildinfo.Version,
+ KubernetesVersion: buildinfo.KubeVersion,
ClusterName: "monok8s",
ClusterDomain: "cluster.local",
PodSubnet: "10.244.0.0/16",