Skip to content

Helm: switch MDS deployment to lakefs-enterprise image with lakefs mds run #396

@N-o-Z

Description

@N-o-Z

Background

The mds deployment in the lakeFS Helm chart currently runs the standalone Python treeverse/mds container. The metadata search service has been folded into the lakeFS Enterprise binary (lakefs mds run, see lakefs-enterprise commits cf350b6 and 7a36dab), so the chart should drive the same container image as the lakeFS server and invoke it as a subcommand.

Goals

  • Default the MDS deployment to the treeverse/lakefs-enterprise image, tracking image.enterprise.tag so the MDS pod stays in lockstep with the lakeFS server version.
  • Override the image's default ["run"] CMD so the container actually starts the metadata search service (lakefs mds run --config /app/config.yaml).
  • Keep a low-friction rollback path to the legacy treeverse/mds container via values overrides only — no chart edits required — since the chart already supports dynamic config (registry, tag, args, env, config blob).
  • Refresh the example mds.config in values.yaml to the new metadata_search schema (pkg/config/config.go MetadataSearch).

Non-goals

  • Migration tooling for existing data written by the legacy MDS container.
  • Changes to the lakefs-enterprise image itself; lakefs mds run already exists upstream.

Proposed changes

  • Add mds.repository / mds.tag template helpers with treeverse/lakefs-enterprise and image.enterprise.tag defaults.
  • Add mds.command and mds.args values (default args run lakefs mds run --config /app/config.yaml) so users can override either the ENTRYPOINT or the arguments.
  • Drop the PYTHONPATH workaround that was specific to the Python image (rollback users can re-add via extraEnvVars).
  • Update the mds.config example to the lakeFS Enterprise metadata_search schema, document the rollback override block in values.yaml.
  • Bump chart version and add a CHANGELOG entry.

Rollback path (no chart edits)

mds:
  image:
    repository: treeverse/mds
    tag: "0.2.1"
  args: ["--config", "/app/config.yaml"]
  extraEnvVars:
    - name: PYTHONPATH
      value: /home/arktika/.local/lib/python3.13/site-packages
  config:
    lakefs: { endpoint: ..., access_key_id: ..., secret_access_key: ... }
    metadata_settings: { since: ..., max_commits: 100 }
    repositories: { ... }

PR

#395

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions