PoC: `inflate` command
Description of the change:
Adds an opm alpha inflate command that takes as input a veneer api and outputs a declarative config.
Each veneer "strategy" is defined by a cue file built into the project. Strategies can also be provided directly by the user. Strategy development guide coming soon.
Example:
opm alpha inflate example_yaml -o yaml
Motivation for the change:
- Provide veneer apis for DC users.
- Veneer API users don't need to know about how veneer apis are built at all, but:
- Wanted a system easy to extend both for opm maintainers and opm users
- opm maintainers can write new veneers by embedding a cue file
- opm users can provide custom veneer strategies by passing a cue file as input
Reviewer Checklist
- [ ] Implementation matches the proposed design, or proposal is updated to match implementation
- [ ] Sufficient unit test coverage
- [ ] Sufficient end-to-end test coverage
- [ ] Docs updated or added to
/docs - [ ] Commit messages sensible and descriptive
[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: ecordell
The full list of commands accepted by this bot can be found here.
The pull request process is described here
- ~~OWNERS~~ [ecordell]
Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment
@ecordell: PR needs rebase.
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.