Skip to content

Extend .schema.yaml to avoid duplication #262

@applejag

Description

@applejag

Use case: monorepo with lots of Helm charts. Instead of having copies of the same config in each chart, I would instead be able to have 1 "common"/"shared" config file, and then have each chart's config files extend that one.

This would still allow each chart to have some overrides.

Example:

.
├── .schema.yaml
└── charts
    ├── some-chart
    │   ├── Chart.yaml
    │   └── .schema.yaml
    └── some-other-chart
        ├── Chart.yaml
        └── .schema.yaml
# ./schema.yaml

useHelmDocs: true
k8sSchemaVersion: v1.33.1
# ./charts/some-chart/.schema.yaml

extends: [ ../../.schema.yaml ] # relative to this file

bundle: true # override some settings just for this chart

This would be a config-only feature. There would not be any equivalent command-line flags for this.

Implementation wise this would need to do some recursion in the LoadConfig function. The tricky part would be to make sure the values override each other in the correct order

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions