Skip to content

Commit d55ce27

Browse files
authored
CVE fixes, openshift support (kagent-dev#941)
Go 1.25.1 Python 3.13.7 Node 22.19 - CVE fixes 202509 - open shift support in UI container - pull secrets for agents --------- Signed-off-by: Dmytro Rashko <dmitriy.rashko@amdocs.com>
1 parent c605477 commit d55ce27

50 files changed

Lines changed: 499 additions & 315 deletions

Some content is hidden

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

.github/workflows/ci.yaml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ jobs:
8181
echo "Cache key: ${{ needs.setup.outputs.cache-key }}"
8282
make helm-install
8383
make push-test-agent
84+
kubectl wait --for=condition=Ready agents.kagent.dev -n kagent --all --timeout=60s || kubectl get po -n kagent -o wide ||:
8485
kubectl wait --for=condition=Ready agents.kagent.dev -n kagent --all --timeout=60s
8586
8687
- name: Run e2e tests
@@ -112,7 +113,7 @@ jobs:
112113
- name: Set up Go
113114
uses: actions/setup-go@v4
114115
with:
115-
go-version: "1.24"
116+
go-version: "1.25"
116117
cache: true
117118
cache-dependency-path: go/go.sum
118119

@@ -227,13 +228,13 @@ jobs:
227228
- name: Set up Go
228229
uses: actions/setup-go@v5
229230
with:
230-
go-version: "1.24"
231+
go-version: "1.25"
231232
cache: true
232233
cache-dependency-path: go/go.sum
233234
- name: golangci-lint
234235
uses: golangci/golangci-lint-action@v8
235236
with:
236-
version: v2.1
237+
version: v2.5.0
237238
working-directory: go
238239

239240
python-test:

Makefile

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,9 @@ BUILDX_BUILDER_NAME ?= kagent-builder-$(BUILDKIT_VERSION)
2727

2828
DOCKER_BUILDER ?= docker buildx
2929
DOCKER_BUILD_ARGS ?= --push --platform linux/$(LOCALARCH)
30+
3031
KIND_CLUSTER_NAME ?= kagent
32+
KIND_IMAGE_VERSION ?= 1.34.0
3133

3234
CONTROLLER_IMAGE_NAME ?= controller
3335
UI_IMAGE_NAME ?= ui
@@ -50,20 +52,21 @@ TOOLS_GO_VERSION ?= $(shell $(AWK) '/^go / { print $$2 }' go/go.mod)
5052
export GOTOOLCHAIN=go$(TOOLS_GO_VERSION)
5153

5254
# Version information for the build
53-
LDFLAGS := "-X github.com/kagent-dev/kagent/go/internal/version.Version=$(VERSION) \
54-
-X github.com/kagent-dev/kagent/go/internal/version.GitCommit=$(GIT_COMMIT) \
55-
-X github.com/kagent-dev/kagent/go/internal/version.BuildDate=$(BUILD_DATE)"
55+
LDFLAGS := "-X github.com/$(DOCKER_REPO)/go/internal/version.Version=$(VERSION) \
56+
-X github.com/$(DOCKER_REPO)/go/internal/version.GitCommit=$(GIT_COMMIT) \
57+
-X github.com/$(DOCKER_REPO)/go/internal/version.BuildDate=$(BUILD_DATE)"
5658

5759
#tools versions
58-
TOOLS_UV_VERSION ?= 0.8.4
59-
TOOLS_BUN_VERSION ?= 1.2.19
60-
TOOLS_NODE_VERSION ?= 22.18.0
60+
TOOLS_UV_VERSION ?= 0.8.22
61+
TOOLS_BUN_VERSION ?= 1.2.22
62+
TOOLS_NODE_VERSION ?= 22.19.0
6163
TOOLS_PYTHON_VERSION ?= 3.13
62-
TOOLS_KIND_IMAGE_VERSION ?= 1.33.2
6364

6465
# build args
6566
TOOLS_IMAGE_BUILD_ARGS = --build-arg VERSION=$(VERSION)
6667
TOOLS_IMAGE_BUILD_ARGS += --build-arg LDFLAGS=$(LDFLAGS)
68+
TOOLS_IMAGE_BUILD_ARGS += --build-arg DOCKER_REPO=$(DOCKER_REPO)
69+
TOOLS_IMAGE_BUILD_ARGS += --build-arg DOCKER_REGISTRY=$(DOCKER_REGISTRY)
6770
TOOLS_IMAGE_BUILD_ARGS += --build-arg BASE_IMAGE_REGISTRY=$(BASE_IMAGE_REGISTRY)
6871
TOOLS_IMAGE_BUILD_ARGS += --build-arg TOOLS_GO_VERSION=$(TOOLS_GO_VERSION)
6972
TOOLS_IMAGE_BUILD_ARGS += --build-arg TOOLS_UV_VERSION=$(TOOLS_UV_VERSION)
@@ -130,8 +133,9 @@ build-all: buildx-create
130133
$(DOCKER_BUILDER) build $(BUILD_ARGS) $(TOOLS_IMAGE_BUILD_ARGS) -f python/Dockerfile ./python
131134

132135
.PHONY: push-test-agent
133-
push-test-agent: build-kagent-adk
134-
$(DOCKER_BUILDER) build --push --build-arg DOCKER_REGISTRY=$(DOCKER_REGISTRY) --build-arg VERSION=$(VERSION) -t $(DOCKER_REGISTRY)/kebab:latest -f go/test/e2e/agents/kebab/Dockerfile ./go/test/e2e/agents/kebab
136+
push-test-agent: buildx-create build-kagent-adk
137+
echo "Building FROM DOCKER_REGISTRY=$(DOCKER_REGISTRY)/$(DOCKER_REPO)/kagent-adk:$(VERSION)"
138+
$(DOCKER_BUILDER) build --push $(BUILD_ARGS) $(TOOLS_IMAGE_BUILD_ARGS) -t $(DOCKER_REGISTRY)/kebab:latest -f go/test/e2e/agents/kebab/Dockerfile ./go/test/e2e/agents/kebab
135139
kubectl apply --namespace kagent --context kind-$(KIND_CLUSTER_NAME) -f go/test/e2e/agents/kebab/agent.yaml
136140

137141
.PHONY: create-kind-cluster
@@ -342,15 +346,19 @@ helm-publish: helm-version
342346
helm push ./$(HELM_DIST_FOLDER)/kgateway-agent-$(VERSION).tgz $(HELM_REPO)/kagent/agents
343347

344348
.PHONY: kagent-cli-install
345-
kagent-cli-install: use-kind-cluster build-cli-local helm-version
346-
KAGENT_HELM_REPO=./helm/ ./go/bin/kagent-local install
349+
kagent-cli-install: use-kind-cluster build-cli-local helm-version helm-install-provider
347350
KAGENT_HELM_REPO=./helm/ ./go/bin/kagent-local dashboard
348351

349352
.PHONY: kagent-cli-port-forward
350353
kagent-cli-port-forward: use-kind-cluster
351354
@echo "Port forwarding to kagent CLI..."
352355
kubectl port-forward -n kagent service/kagent-controller 8083:8083
353356

357+
.PHONY: kagent-ui-port-forward
358+
kagent-ui-port-forward: use-kind-cluster
359+
open http://localhost:8082/
360+
kubectl port-forward -n kagent service/kagent-ui 8082:8080
361+
354362
.PHONY: kagent-addon-install
355363
kagent-addon-install: use-kind-cluster
356364
#to test the kagent addons - installing istio, grafana, prometheus, metrics-server

go/Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -129,12 +129,12 @@ ENVTEST ?= $(LOCALBIN)/setup-envtest
129129
GOLANGCI_LINT = $(LOCALBIN)/golangci-lint
130130

131131
## Tool Versions
132-
CONTROLLER_TOOLS_VERSION ?= v0.17.1
132+
CONTROLLER_TOOLS_VERSION ?= v0.19.0
133133
#ENVTEST_VERSION is the version of controller-runtime release branch to fetch the envtest setup script (i.e. release-0.20)
134134
ENVTEST_VERSION ?= $(shell go list -m -f "{{ .Version }}" sigs.k8s.io/controller-runtime | awk -F'[v.]' '{printf "release-%d.%d", $$2, $$3}')
135135
#ENVTEST_K8S_VERSION is the version of Kubernetes to use for setting up ENVTEST binaries (i.e. 1.31)
136136
ENVTEST_K8S_VERSION ?= $(shell go list -m -f "{{ .Version }}" k8s.io/api | awk -F'[v.]' '{printf "1.%d", $$3}')
137-
GOLANGCI_LINT_VERSION ?= v2.4.0
137+
GOLANGCI_LINT_VERSION ?= v2.5.0
138138

139139
.PHONY: controller-gen
140140
controller-gen: $(CONTROLLER_GEN) ## Download controller-gen locally if necessary.

go/cli/internal/cli/dashboard.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,6 @@ import (
1313
func DashboardCmd(ctx context.Context, cfg *config.Config) {
1414
fmt.Fprintln(os.Stderr, "Dashboard is not available on this platform")
1515
fmt.Fprintln(os.Stderr, "You can easily start the dashboard by running:")
16-
fmt.Fprintln(os.Stderr, "kubectl port-forward -n kagent service/kagent-ui 8082:80")
16+
fmt.Fprintln(os.Stderr, "kubectl port-forward -n kagent service/kagent-ui 8082:8080")
1717
fmt.Fprintln(os.Stderr, "and then opening http://localhost:8082 in your browser")
1818
}

go/cli/internal/cli/dashboard_darwin.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import (
1515

1616
func DashboardCmd(ctx context.Context, cfg *config.Config) {
1717
ctx, cancel := context.WithCancel(ctx)
18-
cmd := exec.CommandContext(ctx, "kubectl", "-n", cfg.Namespace, "port-forward", "service/kagent-ui", "8082:80")
18+
cmd := exec.CommandContext(ctx, "kubectl", "-n", cfg.Namespace, "port-forward", "service/kagent-ui", "8082:8080")
1919

2020
defer func() {
2121
cancel()
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
3.13.5
1+
3.13.7

go/config/crd/bases/kagent.dev_agents.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
33
kind: CustomResourceDefinition
44
metadata:
55
annotations:
6-
controller-gen.kubebuilder.io/version: v0.17.1
6+
controller-gen.kubebuilder.io/version: v0.19.0
77
name: agents.kagent.dev
88
spec:
99
group: kagent.dev

go/config/crd/bases/kagent.dev_mcpservers.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
33
kind: CustomResourceDefinition
44
metadata:
55
annotations:
6-
controller-gen.kubebuilder.io/version: v0.17.1
6+
controller-gen.kubebuilder.io/version: v0.19.0
77
name: mcpservers.kagent.dev
88
spec:
99
group: kagent.dev

go/config/crd/bases/kagent.dev_memories.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
33
kind: CustomResourceDefinition
44
metadata:
55
annotations:
6-
controller-gen.kubebuilder.io/version: v0.17.1
6+
controller-gen.kubebuilder.io/version: v0.19.0
77
name: memories.kagent.dev
88
spec:
99
group: kagent.dev

go/config/crd/bases/kagent.dev_modelconfigs.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
33
kind: CustomResourceDefinition
44
metadata:
55
annotations:
6-
controller-gen.kubebuilder.io/version: v0.17.1
6+
controller-gen.kubebuilder.io/version: v0.19.0
77
name: modelconfigs.kagent.dev
88
spec:
99
group: kagent.dev

0 commit comments

Comments
 (0)