Make cds up --target helm self-contained (build images, prepare cluster, import images)
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- docker, helm, kubernetes, python
- Domain
- cli, infrastructure
Research direction
Start by reading the cds up --target helm flow and the referenced scripts: scripts/k8s/build-images.sh, scripts/k8s/k3d-up.sh, and scripts/k8s/install.sh. Then review the discussion on PR #608 and coordinate with the companion lifecycle-unification issue, since this issue calls for a joint design rather than an isolated change. Done means the unified lifecycle plan covers image building, cluster preparation, and image import for the Helm target.
Written by the indexing model from the issue text.
Description
Context
Non-blocking follow-up flagged during review of #608 (Kubernetes target support). See docs/plan/pr-608-change-requests.md on that PR branch and the review comment linked below.
cds up --target compose is fully self-contained — it builds images and starts everything in one command. cds up --target helm is not: it only renders the chart and runs helm upgrade --install + kubectl wait/rollout status. It never builds the local images, never creates/ensures a reachable cluster, and never imports images into that cluster.
Those three steps currently live entirely outside cds, in scripts/k8s/build-images.sh (make k3d-build), scripts/k8s/k3d-up.sh (make k3d-up), and scripts/k8s/install.sh (make k3d-install, which just wraps cds up --target helm with the right --kube-context/--namespace/--release). So for Kubernetes, cds is only the "render + install into an already-prepared cluster" step today, while for Compose it owns the whole lifecycle.
Task
Consider bringing image building, cluster preparation, and image import into the Kubernetes lifecycle owned by cds, so the Helm target reaches parity with Compose's self-contained up. Per the PR discussion, this should be designed together with the broader lifecycle-unification follow-up (see companion issue) rather than added incrementally on its own.
Source: https://github.com/RonaldHensbergen/composable-data-stack/pull/608#issuecomment-5546103309
Estimated effort: 6-8 hours
- Dominant language
- Python
- Stars
- 8
- Forks
- 12
- Avg merge
- 1d 2h
- Merged PRs (30d)
- 93
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from RonaldHensbergen/composable-data-stack
-
area:cli priority:low refactor
Difficulty 2/5 1-3 hours Newbie friendliness 77/100
RonaldHensbergen/composable-data-stack#915 ·
Maintainers usually reply within 1 day
-
area:cli priority:low refactor size:small
Difficulty 1/5 Under an hour Newbie friendliness 88/100
RonaldHensbergen/composable-data-stack#906 ·
Maintainers usually reply within 1 day
-
area:docs documentation hacktoberfest priority:low size:small
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
RonaldHensbergen/composable-data-stack#865 ·
Maintainers usually reply within 1 day
-
tests/test_dagster_entrypoint_backend_guard.py fails on Windows (hard dependency on 'sh')Possibly taken A pull request linked to this issue is open or already merged. Openarea:images bug priority:medium python
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
RonaldHensbergen/composable-data-stack#564 ·
Maintainers usually reply within 1 day
-
area:configuration area:security enhancement priority:medium size:small
RonaldHensbergen/composable-data-stack#932 ·
Maintainers usually reply within 1 day
All issues in RonaldHensbergen/composable-data-stack
Similar issues
-
Project submission:Open
Difficulty 1/5 Under an hour Newbie friendliness 72/100
slavakurilyak/awesome-ai-agents#845 ·
Maintainers usually reply within 1 day
-
tests: pin that the atomic writers in utils/paths.py stage the temporary file in the target's directoryPossibly taken A pull request linked to this issue is open or already merged. Opendifficulty:2 enhancement good first issue
Difficulty 1/5 1-3 hours Newbie friendliness 92/100
MakazhanAlpamys/Soup#2178 ·
Maintainers usually reply within 1 day
-
[BUG] dcg.waggr permutation p-values are folded twice, so near-zero scores get the smallest p-valuesOpen
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
scverse/rapids-singlecell#854 ·
Maintainers usually reply within 1 day
-
Slang input: int8_t4_packed and uint8_t4_packed are copied into CrossGLPossibly taken @ninglinLiu claimed this today. Openarea:frontend backend:slang bug direction:input
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
Maintainers usually reply within 1 day
-
random_elements(unique=True) on an OrderedDict: ZeroDivisionError once only zero weights remain, AssertionError with use_weighting=FalsePossibly taken A pull request linked to this issue is open or already merged. Open
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
Maintainers usually reply within 13 days