feat(cf-runtime): add opt-in pod-per-step runtime mode#713
Draft
masontikhonov wants to merge 1 commit into
Draft
feat(cf-runtime): add opt-in pod-per-step runtime mode#713masontikhonov wants to merge 1 commit into
masontikhonov wants to merge 1 commit into
Conversation
Add runtime.podPerStep.enabled (default: false) to support the new KubernetesPodPerStep engine runtime, where the engine creates a Kubernetes pod per pipeline step instead of using DinD: - rbac.yaml: when enabled, expand the codefresh-engine Role to manage step pods (pods, pods/log, pods/exec, pods/attach, pvcs, configmaps, secrets create/update/delete for per-build buildkit registry docker-config, events) - values.yaml: new runtime.podPerStep block with buildkit/crane image defaults, workspace PVC parameters and stepScheduler passthrough - runtime-env-spec-tmpl.yaml: when enabled, emit runtimeScheduler.type=KubernetesPodPerStep, runtimeScheduler.pvcs (workspace), runtimeScheduler.stepScheduler, BUILDKIT_IMAGE/CRANE_IMAGE env vars, and dockerDaemonScheduler.type=Empty - condition off dind-only resources (dind Service, dind daemon ConfigMap, gencerts-dind post-install hooks) when enabled - chart unit tests for both modes Default (disabled) rendering is byte-identical to the current chart. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
masontikhonov
marked this pull request as draft
July 7, 2026 16:18
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds an opt-in
runtime.podPerStep.enabledmode to the cf-runtime chart for the newKubernetesPodPerStepengine runtime (one Kubernetes pod per pipeline step, no DinD). Part of the cross-repo pod-per-step effort (engine, cf-api, runtime-environment-manager, dind-volume-provisioner PRs in parallel).When enabled:
codefresh-engineRole is expanded to manage step pods (pods CRUD+watch, pods/log, pods/exec, pods/attach, PVC get/list, configmaps get, secrets get/create/update/delete for per-build buildkit registry docker-config, events list/watch)runtimeScheduler.type: KubernetesPodPerStep, aworkspacePVC recipe underruntimeScheduler.pvcs, optionalruntimeScheduler.stepSchedulerdefaults, andBUILDKIT_IMAGE/CRANE_IMAGEenv vars;dockerDaemonSchedulerbecomes{type: Empty}codefresh-dind-configConfigMap,gencerts-dindpost-install hooks) are not installedWhen disabled (default) the rendered chart is byte-identical to today — verified by diffing
helm templateoutput against main.Tests: 4 new helm-unittest cases (RBAC both modes, dind resource gating, full runtime-spec render in pod-per-step mode); full suite 61/61 green;
helm lintpasses in both modes.Related PRs
🤖 Generated with Claude Code