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.
Add Kubernetes
Service
for Dagger EngineContext
We operate a large-scale software factory supporting key business units (DSM/DSI).
To enhance our CI capabilities and accelerate delivery, we are deploying Dagger as our new CI solution.
Our setup:
This aims to provide a scalable and reliable CI platform aligned with our business objectives.
Current Limitation
The current Helm chart exposes Dagger only via a NodePort configured directly on the pods (
DaemonSet
orStatefulSet
).As a result, each CI pipeline must explicitly target a specific node IP, for example:
This approach:
✅ Solution
This PR introduces:
dagger-engine
pod :sessionAffinity: ClientIP
) to ensure that all requests from a pipeline are routed to the same pod, maintaining execution consistency.Changes
engine.service.*
configuration invalues.yaml
engine-service.yaml
app:
label to pods so the Service selector can match themhostPort
configuration ifservice.enabled
istrue
Goal
This change enables a more scalable, resilient, and Kubernetes-native integration of Dagger, and removes the need to target specific nodes from the CI.