mirror of
https://github.com/helmfile/helmfile.git
synced 2026-10-18 15:14:04 +02:00
Implement --diff-args (#959)
Signed-off-by: Jan-Otto Kröpke <mail@jkroepke.de>
This commit is contained in:
+9
-1
@@ -1369,11 +1369,17 @@ func (a *App) apply(r *Run, c ApplyConfigProvider) (bool, bool, []error) {
|
||||
PostRenderer: c.PostRenderer(),
|
||||
}
|
||||
|
||||
// join --args and --diff-args together to one string.
|
||||
args := strings.Join([]string{c.Args(), c.DiffArgs()}, " ")
|
||||
helm.SetExtraArgs(argparser.GetArgs(args, r.state)...)
|
||||
|
||||
infoMsg, releasesToBeUpdated, releasesToBeDeleted, errs := r.diff(false, detailedExitCode, c, diffOpts)
|
||||
if len(errs) > 0 {
|
||||
return false, false, errs
|
||||
}
|
||||
|
||||
helm.SetExtraArgs()
|
||||
|
||||
var toDelete []state.ReleaseSpec
|
||||
for _, r := range releasesToBeDeleted {
|
||||
toDelete = append(toDelete, r)
|
||||
@@ -1586,7 +1592,8 @@ func (a *App) diff(r *Run, c DiffConfigProvider) (*string, bool, bool, []error)
|
||||
ok, errs := a.withNeeds(r, c, true, func(st *state.HelmState) []error {
|
||||
helm := r.helm
|
||||
|
||||
helm.SetExtraArgs(argparser.GetArgs(c.Args(), r.state)...)
|
||||
args := strings.Join([]string{c.Args(), c.DiffArgs()}, " ")
|
||||
helm.SetExtraArgs(argparser.GetArgs(args, r.state)...)
|
||||
|
||||
var errs []error
|
||||
|
||||
@@ -1610,6 +1617,7 @@ func (a *App) diff(r *Run, c DiffConfigProvider) (*string, bool, bool, []error)
|
||||
}
|
||||
infoMsg, updated, deleted, errs = filtered.diff(true, c.DetailedExitcode(), c, opts)
|
||||
|
||||
helm.SetExtraArgs(argparser.GetArgs(c.Args(), r.state)...)
|
||||
return errs
|
||||
})
|
||||
|
||||
|
||||
@@ -2215,6 +2215,7 @@ type applyConfig struct {
|
||||
stripTrailingCR bool
|
||||
interactive bool
|
||||
skipDiffOnInstall bool
|
||||
diffArgs string
|
||||
logger *zap.SugaredLogger
|
||||
wait bool
|
||||
waitForJobs bool
|
||||
@@ -2348,6 +2349,10 @@ func (a applyConfig) SkipDiffOnInstall() bool {
|
||||
return a.skipDiffOnInstall
|
||||
}
|
||||
|
||||
func (a applyConfig) DiffArgs() string {
|
||||
return a.diffArgs
|
||||
}
|
||||
|
||||
// helmfile-template-only flags
|
||||
|
||||
func (a applyConfig) IncludeCRDs() bool {
|
||||
|
||||
@@ -79,6 +79,8 @@ type ApplyConfigProvider interface {
|
||||
SkipCleanup() bool
|
||||
SkipDiffOnInstall() bool
|
||||
|
||||
DiffArgs() string
|
||||
|
||||
DAGConfig
|
||||
|
||||
concurrencyConfig
|
||||
@@ -130,6 +132,7 @@ type DiffConfigProvider interface {
|
||||
NoHooks() bool
|
||||
SuppressDiff() bool
|
||||
SkipDiffOnInstall() bool
|
||||
DiffArgs() string
|
||||
|
||||
DAGConfig
|
||||
|
||||
|
||||
@@ -16,6 +16,7 @@ import (
|
||||
|
||||
type diffConfig struct {
|
||||
args string
|
||||
diffArgs string
|
||||
values []string
|
||||
retainValuesFiles bool
|
||||
set []string
|
||||
@@ -47,6 +48,10 @@ func (a diffConfig) Args() string {
|
||||
return a.args
|
||||
}
|
||||
|
||||
func (a diffConfig) DiffArgs() string {
|
||||
return a.diffArgs
|
||||
}
|
||||
|
||||
func (a diffConfig) Values() []string {
|
||||
return a.values
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user