commodore
commodore copied to clipboard
Support different versions per instance of a component
This PR changes Commodore to
- Create separate worktrees for each component alias
- Create class symlinks for each component alias
- Create each alias target with only the defaults and component class symlinked from the alias worktree
- Read instance versions from
parameters.components.<instance-name>
Note that per-instance versions only work correctly only for components which use ${_base_directory} in their config when specifying Jsonnet files or Helm chart/YAML locations in kapitan.compile and kapitan.dependencies. Note, that components should use ${_base_directory} anyway, and new components created from the template use ${_base_directory} out of the box.
TODO:
- [ ] Implement support for overriding the URL or path for individual component instances
- [ ] Test cases which cover new features
Resolves #563
Checklist
- [x] Keep pull requests small so they can be easily reviewed.
- [ ] Update the documentation.
- [ ] Update tests.
- [x] Categorize the PR by setting a good title and adding one of the labels:
bug,enhancement,documentation,change,breaking,dependencyas they show up in the changelog