feat: add environments values inheritance#741
Conversation
47c0dc8 to
7b89699
Compare
7b89699 to
eaff5a1
Compare
|
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
f51532d to
23d4ec7
Compare
f3a5e66 to
ec2a1b0
Compare
250e323 to
145b4da
Compare
|
Nice ! 💪 @mumoshu , with the additional I like this implementation as it looks like a fairly simple way to reduce boilerplate while avoiding |
145b4da to
cee650a
Compare
|
@Vince-Chenal @hileef Hey! First of all, this looks awesome! I'm definitely looking forward to merging this with only a few changes described below. Can you confirm? My motivation for doing that is to make it work in concert with So what I'd like to do before merging this pull request is to change This will result in the This way, we can inject values "before the common layedValues derived from the template, but after all static values" via Not only each All in all, this design would give you all the benefits of environment templates along with layered values. Maximum reusability and DRY. WDYT? |
|
Hello @mumoshu , thanks for the feedback ! I've had a look at #840 and your summary proposal here, IMHO I think it's great 💪 I'll open a PR targetting this one shortly to add the change you requested, |
81d4476 to
61ab651
Compare
|
Hello again @mumoshu , it took me a while to have time to spend on this topic, ➡️ could you take a look and let us know if these updated changes fits your expectation ? |
1bec42f to
e4bd518
Compare
0c612e1 to
b679091
Compare
|
Hey everyone! OK then... can we make this a per-helmfile.yaml setting, rather than a runtime flag? Just a quick guess, but having something like: in helmfile.yaml would work 🤔 It shouldn't be simple Or, you don't mind setting this feature flag for every helmfile.yaml you use, naming it like It may NOT sound like a backward-compatibility breaker to you, because it breaks only when you enabled this runtime feature, yeah... However, regardless of how it is called, I'm concerned about the possibility that the same helmfile.yaml can be translated differently depending on a runtime setting of Helmfile, which eliminates the benefit of Helmfile- declarativeness. To retain declarativeness as we enhance our configuration language, built around YAML and Go templates, I'd still say that having a declarative way to change Helmfile's behavior is key. Thank you very much for your patience @Vince-Chenal, and everyone commented on this long-standing proposal! I hope you are still around, and my suggestion makes sense to you. |
b679091 to
57ede2e
Compare
|
Hey @mumoshu, Tell me if that's what you had in mind |
94855fb to
f6b1611
Compare
233e1e0 to
bf62ed3
Compare
1b1a8f0 to
e867ba4
Compare
54059db to
6de4001
Compare
07e9b14 to
d37ac4b
Compare
d37ac4b to
68140ea
Compare
68140ea to
c617d4f
Compare
9a74260 to
eb672f4
Compare
eb672f4 to
4cf7641
Compare
Signed-off-by: Vincent Chenal <[email protected]>
4cf7641 to
6b096fc
Compare
|
closing this, it is outdated at this point |
|
@zhaque44 How is this outdated? Has there been a recent build that enables an equivalent feature? |
Refers to this discussion: #726
Summary
Allow inheriting values defined in previous values items.
There were some concerns about the risk of introducing a breaking change with this feature.
I added a
featuresfield at helmfile root in order to enable this behaviour on a per-helmfile basis and avoid introducing breaking changes.Default behaviour stays the same with environment values.
Example
We added a dedicated test for EnvironmentValuesLoader.