Skip to content

feat(helm): mount a custom catalog profile and validate it against mappings - #142

Open
shimoncohen wants to merge 2 commits into
masterfrom
feat/helm-profile-override
Open

shimoncohen wants to merge 2 commits into
masterfrom
feat/helm-profile-override

Conversation

@shimoncohen

Copy link
Copy Markdown
Contributor

The catalog profile plugin is built into the image, so a team can't serve an older profile on a newer image (DEM /api/dem/v1 is pinned to pycsw:v4.3.7 for its v1 mc_dem profile). A profile that doesn't match mappings.py only fails at runtime with KeyError.

  • profile.name / profile.schemaFile mount profile.py and profile.xsd from existingConfigmap over pycsw/plugins/profiles/<name>/.
  • pycsw.profile.validate fails the render when the profile reads a pycsw: key missing from mappings.py, or doesn't reference schemaFile. The consuming chart calls it where it builds the ConfigMap.
  • No profile set: rendered output unchanged.

Tested: DEM v1 profile on common/pycsw:v7.0.3 on dem-dev, 21 CSW requests byte-identical to v4.3.7; render fails on v1/v2 profile-mappings mismatches.

Refs: MapColonies/helm-charts#684

🤖 Generated with Claude Code

…ppings

The catalog profile plugin ships in the image, so a team can't serve an
older profile (e.g. DEM v1 mc_dem) on a newer image. profile.name and
profile.schemaFile mount profile.py and profile.xsd from existingConfigmap
over pycsw/plugins/profiles/<name>/.

A profile that reads a mappings['pycsw:X'] key missing from mappings.py
crashes pycsw with KeyError. pycsw.profile.validate fails the render
instead; the consuming chart calls it where it builds the ConfigMap, the
only place both files are readable (a subchart can't read parent files).

Unset profile renders byte-identical to before.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@shimoncohen shimoncohen self-assigned this Oct 20, 2026
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants