commodore icon indicating copy to clipboard operation
commodore copied to clipboard

Support different versions per instance of a component

Open simu opened this issue 3 years ago • 0 comments

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, dependency as they show up in the changelog

simu avatar Jul 19 '22 14:07 simu