-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Render Single Component #122
Conversation
d6164d8
to
cad627d
Compare
Not done yet / Caveats:
|
dd4e6b5
to
45d27d5
Compare
I fixed the remaining open points and was even able to find a solution to support vault references: By creating a fake VaultBackend, references are "revealed" to the path in Vault they specify. |
6eaf8b1
to
b21ef94
Compare
b21ef94
to
8276e98
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM overall. Feel free to do the _relsymlink
refactoring or not.
2f36a30
to
d5ed0f7
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This PR has fallen into classic scope creep. From what I can see, I would have made at least three PRs out of this.
- Remove the build component test container image build
- Restructure
- Add the functionality
Why? Because this results in smaller commits with a more narrow scope and thus are easier to review. It also allows to separate discussions from each other. I might question one thing but agree with others. If in a separate PR, I can approve the one and discuss on the other.
Yes I am aware of the fact that some changes rely on each other. But combining them is what in german we call a Mogelpackung which might work in politics but should not be done in software engineering.
89c4156
to
04e49e9
Compare
I moved as many changes into own PRs as possible. This last one still includes the change of command structure and the actual component compile functionality since they're too closely intertwined. |
04e49e9
to
df7ce4f
Compare
df7ce4f
to
0ce1b25
Compare
To group all component specific commands.
The command groups broke the env var integration.
The command `compile` was moved to the `catalog` command group.
Co-authored-by: Simon Gerber <simon.gerber@vshn.ch>
0ce1b25
to
9bef754
Compare
Render a single component by faking the required parts of the inventory. Additional classes can be specified with the
--values/-f
flag (multiple possible).For the compilation to succeed, a user is responsible to provide all required parameters (which are not covered in the
defaults.yml
).This changes the CLI structure: There's two new command groups:
catalog
andcomponent
. The previouscompile
andclean
commands are moved to thecatalog
group and thenew-component
was moved together with thecompile-component
command into thecomponent
group:commodore component new
commodore component compile
commodore catalog compile
This first implementation doesn't support secret refs. This means all used secret refs in thedefaults.yml
must be overridden with concrete values in the provided classes.Vault secret refs are supported and get revealed to the path they reference (e.g.
?{vaultkv:${customer:name}/${cluster:name}/backup-cluster-objects/password}
becomest-silent-test-1234/c-green-test-1234/backup-cluster-objects/password
)Closes #74