Skip to content

Bug: Helm 4 sub-chart extraction breaks ma sandbox sync; demo tars not uploaded to MinIO #1291

@paulzim

Description

@paulzim

Describe the bug: Two related issues in _sync(). First, Helm 4.2.0 changed sub-chart resolution — helm dependency update downloads .tgz archives into charts/, but Helm 4 requires extracted directories. The previous code passed --dependency-update directly to helm upgrade/helm install, which downloads the archives and immediately tries to render them, causing the upgrade to fail. Second, _create_pipeline_demo_crs() applies Pipeline and PipelineRun CRs that reference s3://default/bert_local.tar without first uploading the tar to MinIO. The Cadence workflow starts and immediately fails on the S3 fetch.

To reproduce: (1) Run ma sandbox sync with Helm 4.2.0+ installed — the upgrade fails with a sub-chart-not-found error even though .tgz files are present in charts/. (2) Run ma sandbox demo pipeline on a fresh sandbox — the Cadence starlark-workflow activity fails immediately with an S3 object-not-found error; the MinIO default bucket is empty.

Expected behavior: ma sandbox sync completes successfully with Helm 4.x. ma sandbox demo pipeline uploads all demo tars to MinIO before applying CRs, so the workflow can fetch them.

Affected file: python/michelangelo/cli/sandbox/sandbox.py

Additional context: Fix for issue 1: add _helm_extract_dependencies() which runs after helm dependency update and extracts every .tgz in charts/ into a directory, then removes the archive; remove --dependency-update from the helm commands. Fix for issue 2: add _upload_demo_tars(demo_dir) which uploads all *.tar files in the demo directory to MinIO (http://localhost:9091, minioadmin/minioadmin) before CRs are applied; call it at the top of _create_pipeline_demo_crs().

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions