Pass CleanupOnFail to the Upgrade Step [#65]

I don't love the mismatch between the helm.Config field (CleanupOnFail)
and the setting name (cleanup_failed_upgrade). I do think the setting
name should contain "upgrade" since it's specific to the upgrade command,
but if I make the config field CleanupFailedUpgrade, it becomes the new
longest field name, and gofmt creates a bunch of churn. Is that a good
enough reason...?
This commit is contained in:
Erin Call 2020-01-07 12:56:33 -08:00
parent 8c6c6fbfa5
commit b6ba856c31
No known key found for this signature in database
GPG key ID: 4071FF6C15B8DAD1
4 changed files with 29 additions and 24 deletions

View file

@ -39,6 +39,7 @@ Installations are triggered when the `helm_command` setting is "upgrade." They c
| timeout | duration | | Timeout for any *individual* Kubernetes operation. The installation's full runtime may exceed this duration. |
| force | boolean | | Pass `--force` to `helm upgrade`. |
| atomic_upgrade | boolean | | Pass `--atomic` to `helm upgrade`. |
| cleanup_failed_upgrade | boolean | | Pass `--cleanup-on-fail` to `helm upgrade`. |
| values | list\<string\> | | Chart values to use as the `--set` argument to `helm upgrade`. |
| string_values | list\<string\> | | Chart values to use as the `--set-string` argument to `helm upgrade`. |
| values_files | list\<string\> | | Values to use as `--values` arguments to `helm upgrade`. |

View file

@ -44,6 +44,7 @@ type Config struct {
Release string `` // Release argument to use in applicable helm commands
Force bool `` // Pass --force to applicable helm commands
AtomicUpgrade bool `split_words:"true"` // Pass --atomic to `helm upgrade`
CleanupOnFail bool `envconfig:"CLEANUP_FAILED_UPGRADE"` // Pass --cleanup-on-fail to `helm upgrade`
LintStrictly bool `split_words:"true"` // Pass --strict to `helm lint`
Stdout io.Writer `ignored:"true"`

View file

@ -110,6 +110,7 @@ var upgrade = func(cfg Config) []Step {
Timeout: cfg.Timeout,
Force: cfg.Force,
Atomic: cfg.AtomicUpgrade,
CleanupOnFail: cfg.CleanupOnFail,
})
return steps

View file

@ -142,6 +142,7 @@ func (suite *PlanTestSuite) TestUpgrade() {
Release: "post_malone_circles",
Force: true,
AtomicUpgrade: true,
CleanupOnFail: true,
}
steps := upgrade(cfg)
@ -164,6 +165,7 @@ func (suite *PlanTestSuite) TestUpgrade() {
Timeout: cfg.Timeout,
Force: cfg.Force,
Atomic: true,
CleanupOnFail: true,
}
suite.Equal(expected, upgrade)