Phase 6: Pod-based task execution with sidecar support#19
Merged
vdemeester merged 4 commits intomainfrom Feb 6, 2026
Merged
Conversation
- Apply stepTemplate defaults to steps (image, env, workingDir) - Handle task-level volumes with emptyDir support - Add variable substitution for workingDir - Override entrypoint for scripts to handle images with custom entrypoints - Create workingDir if it doesn't exist in container These fixes enable most example pipelines to run successfully with mallet: - steptemplate-pipelinerun: Now works with stepTemplate image/env - volumes-pipelinerun: Now correctly mounts emptyDir volumes - workspace-override-pipelinerun: Now substitutes workspace paths in workingDir Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
12/13 examples now passing with mallet: - Fixed stepTemplate, volumes, workingDir, and entrypoint issues - Sidecar networking is a known limitation (standalone containers) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Similar to Tekton, each task now runs in its own Podman pod: - All containers share network namespace (sidecars accessible via localhost) - Host aliases map sidecar names to 127.0.0.1 for DNS resolution - Steps run sequentially in the pod - Sidecars run alongside steps and are accessible by hostname Changes: - CreatePodWithOptions: Support host aliases for sidecar name resolution - CreateContainerInPod: Use pod field in JSON body instead of query param - RunContainerInPod: Full container lifecycle within a pod - executeTask: Refactored to use pods, start sidecars, run steps in pod All 13 example pipelines now pass, including sidecar-pipelinerun. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
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.
Summary
Implements pod-based task execution for mallet, similar to how Tekton runs tasks in Kubernetes pods:
Bug Fixes
New Features
CreatePodWithOptions: Pods with host aliases for sidecar name resolutionRunContainerInPod: Full container lifecycle within a podexecuteTaskto use pods for all tasksTest Results
All 13 example pipelines now pass:
redis:6379✅Test plan
go test ./...)🤖 Generated with Claude Code