feat: add custom runner image support to ProjectSettings#1584
feat: add custom runner image support to ProjectSettings#1584quay-devel wants to merge 2 commits into
Conversation
✅ Deploy Preview for cheerful-kitten-f556a0 canceled.
|
Allow workspace admins to configure a custom runner container image per project, with registry allowlist validation, pull secret support, and feature flag gating across all layers. Image selection precedence: ProjectSettings > agent registry > operator default. Includes API input validation, gRPC presenter fields, frontend settings UI with port/adapter pattern, conformance test suite, and comprehensive imageref unit tests. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
66eb3c3 to
cb76a49
Compare
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
✨ Simplify code
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
CodeRabbit chat interactions are restricted to organization members for this repository. Ask an organization member to interact with CodeRabbit, or set |
- Detect docker/podman at script start via $RUNTIME variable - Change RUNNER_TYPE from claude-code to claude-agent-sdk - Check AG-UI / endpoint by HTTP status code (405 is valid) - Make SUID/SGID check advisory (SecurityContext prevents escalation) - Fix find pipeline under pipefail with -xdev, timeout, tr - Add /workspace and /home/user directories to runner Dockerfile - Fix TSL search query syntax for project_settings lookup Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Summary
runner_imageandrunner_image_pull_secretfields to ProjectSettings across the full stack: proto/gRPC, API server (model, migration, handler with input validation, presenters), CRD schema, operator, control-plane reconciler, Go/Python/TypeScript SDKs, and frontend settings UIRUNNER_IMAGE_ALLOWED_REGISTRIES, pull secret type validation (kubernetes.io/dockerconfigjson), feature flag gating (feature.custom-runner-image.enabled)ProjectSettingsPort/ProjectSettingsAdapter, gated by workspace-scoped Unleash flagimagerefpackage with 22 table-driven unit tests (both operator and control-plane modules)run-conformance.sh) validating non-root execution, filesystem paths, health endpoints, env var isolation, OCI labels, and SUID checksTest plan
go vet ./...(operator, control-plane, ambient-api-server)tsc --noEmitwith zero errors🤖 Generated with Claude Code