@@ -56,6 +56,9 @@ APP_IMAGE_NAME ?= app
5656KAGENT_ADK_IMAGE_NAME ?= kagent-adk
5757GOLANG_ADK_IMAGE_NAME ?= golang-adk
5858SKILLS_INIT_IMAGE_NAME ?= skills-init
59+ ACP_SANDBOX_BASE_IMAGE_NAME ?= acp-sandbox-base
60+ ACP_SANDBOX_HERMES_IMAGE_NAME ?= acp-sandbox-hermes
61+ ACP_SANDBOX_OPENCLAW_IMAGE_NAME ?= acp-sandbox-openclaw
5962
6063CONTROLLER_IMAGE_TAG ?= $(VERSION )
6164UI_IMAGE_TAG ?= $(VERSION )
@@ -64,13 +67,17 @@ KAGENT_ADK_IMAGE_TAG ?= $(VERSION)
6467GOLANG_ADK_IMAGE_TAG ?= $(VERSION )
6568GOLANG_ADK_FULL_IMAGE_TAG ?= $(VERSION ) -full
6669SKILLS_INIT_IMAGE_TAG ?= $(VERSION )
70+ ACP_SANDBOX_IMAGE_TAG ?= $(VERSION )
6771CONTROLLER_IMG ?= $(DOCKER_REGISTRY ) /$(DOCKER_REPO ) /$(CONTROLLER_IMAGE_NAME ) :$(CONTROLLER_IMAGE_TAG )
6872UI_IMG ?= $(DOCKER_REGISTRY ) /$(DOCKER_REPO ) /$(UI_IMAGE_NAME ) :$(UI_IMAGE_TAG )
6973APP_IMG ?= $(DOCKER_REGISTRY ) /$(DOCKER_REPO ) /$(APP_IMAGE_NAME ) :$(APP_IMAGE_TAG )
7074KAGENT_ADK_IMG ?= $(DOCKER_REGISTRY ) /$(DOCKER_REPO ) /$(KAGENT_ADK_IMAGE_NAME ) :$(KAGENT_ADK_IMAGE_TAG )
7175GOLANG_ADK_IMG ?= $(DOCKER_REGISTRY ) /$(DOCKER_REPO ) /$(GOLANG_ADK_IMAGE_NAME ) :$(GOLANG_ADK_IMAGE_TAG )
7276GOLANG_ADK_FULL_IMG ?= $(DOCKER_REGISTRY ) /$(DOCKER_REPO ) /$(GOLANG_ADK_IMAGE_NAME ) :$(GOLANG_ADK_FULL_IMAGE_TAG )
7377SKILLS_INIT_IMG ?= $(DOCKER_REGISTRY ) /$(DOCKER_REPO ) /$(SKILLS_INIT_IMAGE_NAME ) :$(SKILLS_INIT_IMAGE_TAG )
78+ ACP_SANDBOX_BASE_IMG ?= $(DOCKER_REGISTRY ) /$(DOCKER_REPO ) /$(ACP_SANDBOX_BASE_IMAGE_NAME ) :$(ACP_SANDBOX_IMAGE_TAG )
79+ ACP_SANDBOX_HERMES_IMG ?= $(DOCKER_REGISTRY ) /$(DOCKER_REPO ) /$(ACP_SANDBOX_HERMES_IMAGE_NAME ) :$(ACP_SANDBOX_IMAGE_TAG )
80+ ACP_SANDBOX_OPENCLAW_IMG ?= $(DOCKER_REGISTRY ) /$(DOCKER_REPO ) /$(ACP_SANDBOX_OPENCLAW_IMAGE_NAME ) :$(ACP_SANDBOX_IMAGE_TAG )
7481
7582# take from go/go.mod
7683AWK ?= $(shell command -v gawk || command -v awk)
@@ -238,20 +245,25 @@ build-img-versions: ## Print the fully-qualified image tags for all components
238245 @echo golang-adk=$(GOLANG_ADK_IMG )
239246 @echo golang-adk-full=$(GOLANG_ADK_FULL_IMG )
240247 @echo skills-init=$(SKILLS_INIT_IMG )
248+ @echo acp-sandbox-base=$(ACP_SANDBOX_BASE_IMG )
249+ @echo acp-sandbox-hermes=$(ACP_SANDBOX_HERMES_IMG )
250+ @echo acp-sandbox-openclaw=$(ACP_SANDBOX_OPENCLAW_IMG )
241251
242252.PHONY : controller-manifests
243253controller-manifests : # # Regenerate CRD manifests and copy them into the Helm chart
244254 make -C go manifests
245255 cp go/api/config/crd/bases/* helm/kagent-crds/templates/
246256
247257.PHONY : build-controller
248- build-controller : # # Build and push the controller image (embeds agent runtime digests via scripts/controller-digest-ldflags.sh)
249- build-controller : buildx-create controller-manifests build-app build-golang-adk build-golang-adk-full
258+ build-controller : # # Build and push the controller image (embeds agent runtime + acp-sandbox digests via scripts/controller-digest-ldflags.sh)
259+ build-controller : buildx-create controller-manifests build-app build-golang-adk build-golang-adk-full build-acp-sandbox-openclaw build-acp-sandbox-hermes
250260 @set -e; \
251261 DIGEST_LDFLAGS=$$(CONTAINER_RUNTIME=$(CONTAINER_RUNTIME ) \
252262 APP_IMG=$(APP_IMG ) \
253263 GOLANG_ADK_IMG=$(GOLANG_ADK_IMG ) \
254264 GOLANG_ADK_FULL_IMG=$(GOLANG_ADK_FULL_IMG ) \
265+ ACP_SANDBOX_OPENCLAW_IMG=$(ACP_SANDBOX_OPENCLAW_IMG ) \
266+ ACP_SANDBOX_HERMES_IMG=$(ACP_SANDBOX_HERMES_IMG ) \
255267 ./scripts/controller-digest-ldflags.sh); \
256268 $(DOCKER_BUILDER ) $(DOCKER_BUILD_ARGS ) $(TOOLS_IMAGE_BUILD_ARGS ) \
257269 --build-arg LDFLAGS=" $( LDFLAGS) $$ DIGEST_LDFLAGS" \
@@ -295,6 +307,28 @@ build-skills-init: buildx-create
295307 $(DOCKER_BUILDER ) $(DOCKER_BUILD_ARGS ) -t $(SKILLS_INIT_IMG ) -f docker/skills-init/Dockerfile ./go
296308 $(DOCKER_PUSH ) $(SKILLS_INIT_IMG )
297309
310+ .PHONY : build-acp-sandbox
311+ build-acp-sandbox : # # Build and push all ACP sandbox agent images (hermes, openclaw)
312+ build-acp-sandbox : build-acp-sandbox-hermes build-acp-sandbox-openclaw
313+
314+ .PHONY : build-acp-sandbox-base
315+ build-acp-sandbox-base : # # Build and push the ACP sandbox base image (acp-shim only, no agent)
316+ build-acp-sandbox-base : buildx-create
317+ $(DOCKER_BUILDER ) $(DOCKER_BUILD_ARGS ) $(TOOLS_IMAGE_BUILD_ARGS ) --target base -t $(ACP_SANDBOX_BASE_IMG ) -f docker/acp-sandbox/Dockerfile ./go
318+ $(DOCKER_PUSH ) $(ACP_SANDBOX_BASE_IMG )
319+
320+ .PHONY : build-acp-sandbox-hermes
321+ build-acp-sandbox-hermes : # # Build and push the ACP sandbox Hermes image
322+ build-acp-sandbox-hermes : buildx-create
323+ $(DOCKER_BUILDER ) $(DOCKER_BUILD_ARGS ) $(TOOLS_IMAGE_BUILD_ARGS ) --target hermes -t $(ACP_SANDBOX_HERMES_IMG ) -f docker/acp-sandbox/Dockerfile ./go
324+ $(DOCKER_PUSH ) $(ACP_SANDBOX_HERMES_IMG )
325+
326+ .PHONY : build-acp-sandbox-openclaw
327+ build-acp-sandbox-openclaw : # # Build and push the ACP sandbox OpenClaw image
328+ build-acp-sandbox-openclaw : buildx-create
329+ $(DOCKER_BUILDER ) $(DOCKER_BUILD_ARGS ) $(TOOLS_IMAGE_BUILD_ARGS ) --target openclaw -t $(ACP_SANDBOX_OPENCLAW_IMG ) -f docker/acp-sandbox/Dockerfile ./go
330+ $(DOCKER_PUSH ) $(ACP_SANDBOX_OPENCLAW_IMG )
331+
298332.PHONY : push
299333push : # # Push all component images (controller, ui, app, ADKs)
300334push : push-controller push-ui push-app push-kagent-adk push-golang-adk push-golang-adk-full
0 commit comments