Merge ecf76e0268 into 8034acff6e
This commit is contained in:
commit
3145aca7c0
|
|
@ -32,6 +32,7 @@ func NewBuildCmd(globalCfg *config.GlobalImpl) *cobra.Command {
|
||||||
|
|
||||||
f := cmd.Flags()
|
f := cmd.Flags()
|
||||||
f.BoolVar(&buildOptions.EmbedValues, "embed-values", false, "Read all the values files for every release and embed into the output helmfile.yaml")
|
f.BoolVar(&buildOptions.EmbedValues, "embed-values", false, "Read all the values files for every release and embed into the output helmfile.yaml")
|
||||||
|
f.BoolVar(&buildOptions.SkipCharts, "skip-charts", false, "don't prepare charts when building releases")
|
||||||
|
|
||||||
return cmd
|
return cmd
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -521,11 +521,52 @@ func (a *App) PrintDAGState(c DAGConfigProvider) error {
|
||||||
|
|
||||||
func (a *App) PrintState(c StateConfigProvider) error {
|
func (a *App) PrintState(c StateConfigProvider) error {
|
||||||
return a.ForEachState(func(run *Run) (_ bool, errs []error) {
|
return a.ForEachState(func(run *Run) (_ bool, errs []error) {
|
||||||
err := run.withPreparedCharts("build", state.ChartPrepareOptions{
|
var err error
|
||||||
SkipRepos: true,
|
|
||||||
SkipDeps: true,
|
if !c.SkipCharts() {
|
||||||
Concurrency: 2,
|
err = run.withPreparedCharts("build", state.ChartPrepareOptions{
|
||||||
}, func() {
|
SkipRepos: true,
|
||||||
|
SkipDeps: true,
|
||||||
|
Concurrency: 2,
|
||||||
|
}, func() {
|
||||||
|
if c.EmbedValues() {
|
||||||
|
for i := range run.state.Releases {
|
||||||
|
r := run.state.Releases[i]
|
||||||
|
|
||||||
|
values, err := run.state.LoadYAMLForEmbedding(&r, r.Values, r.MissingFileHandler, r.ValuesPathPrefix)
|
||||||
|
if err != nil {
|
||||||
|
errs = []error{err}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
run.state.Releases[i].Values = values
|
||||||
|
|
||||||
|
secrets, err := run.state.LoadYAMLForEmbedding(&r, r.Secrets, r.MissingFileHandler, r.ValuesPathPrefix)
|
||||||
|
if err != nil {
|
||||||
|
errs = []error{err}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
run.state.Releases[i].Secrets = secrets
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
stateYaml, err := run.state.ToYaml()
|
||||||
|
if err != nil {
|
||||||
|
errs = []error{err}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
sourceFile, err := run.state.FullFilePath()
|
||||||
|
if err != nil {
|
||||||
|
errs = []error{err}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
fmt.Printf("---\n# Source: %s\n\n%+v", sourceFile, stateYaml)
|
||||||
|
|
||||||
|
errs = []error{}
|
||||||
|
})
|
||||||
|
} else {
|
||||||
if c.EmbedValues() {
|
if c.EmbedValues() {
|
||||||
for i := range run.state.Releases {
|
for i := range run.state.Releases {
|
||||||
r := run.state.Releases[i]
|
r := run.state.Releases[i]
|
||||||
|
|
@ -533,7 +574,7 @@ func (a *App) PrintState(c StateConfigProvider) error {
|
||||||
values, err := run.state.LoadYAMLForEmbedding(&r, r.Values, r.MissingFileHandler, r.ValuesPathPrefix)
|
values, err := run.state.LoadYAMLForEmbedding(&r, r.Values, r.MissingFileHandler, r.ValuesPathPrefix)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
errs = []error{err}
|
errs = []error{err}
|
||||||
return
|
return false, errs
|
||||||
}
|
}
|
||||||
|
|
||||||
run.state.Releases[i].Values = values
|
run.state.Releases[i].Values = values
|
||||||
|
|
@ -541,7 +582,7 @@ func (a *App) PrintState(c StateConfigProvider) error {
|
||||||
secrets, err := run.state.LoadYAMLForEmbedding(&r, r.Secrets, r.MissingFileHandler, r.ValuesPathPrefix)
|
secrets, err := run.state.LoadYAMLForEmbedding(&r, r.Secrets, r.MissingFileHandler, r.ValuesPathPrefix)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
errs = []error{err}
|
errs = []error{err}
|
||||||
return
|
return false, errs
|
||||||
}
|
}
|
||||||
|
|
||||||
run.state.Releases[i].Secrets = secrets
|
run.state.Releases[i].Secrets = secrets
|
||||||
|
|
@ -551,24 +592,24 @@ func (a *App) PrintState(c StateConfigProvider) error {
|
||||||
stateYaml, err := run.state.ToYaml()
|
stateYaml, err := run.state.ToYaml()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
errs = []error{err}
|
errs = []error{err}
|
||||||
return
|
return false, errs
|
||||||
}
|
}
|
||||||
|
|
||||||
sourceFile, err := run.state.FullFilePath()
|
sourceFile, err := run.state.FullFilePath()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
errs = []error{err}
|
errs = []error{err}
|
||||||
return
|
return false, errs
|
||||||
}
|
}
|
||||||
fmt.Printf("---\n# Source: %s\n\n%+v", sourceFile, stateYaml)
|
fmt.Printf("---\n# Source: %s\n\n%+v", sourceFile, stateYaml)
|
||||||
|
|
||||||
errs = []error{}
|
errs = []error{}
|
||||||
})
|
}
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
errs = append(errs, err)
|
errs = append(errs, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
return
|
return false, errs
|
||||||
}, false, SetFilter(true))
|
}, false, SetFilter(true))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -264,6 +264,7 @@ type StatusesConfigProvider interface {
|
||||||
|
|
||||||
type StateConfigProvider interface {
|
type StateConfigProvider interface {
|
||||||
EmbedValues() bool
|
EmbedValues() bool
|
||||||
|
SkipCharts() bool
|
||||||
}
|
}
|
||||||
|
|
||||||
type DAGConfigProvider any
|
type DAGConfigProvider any
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,8 @@ package config
|
||||||
type BuildOptions struct {
|
type BuildOptions struct {
|
||||||
// EmbedValues is true if the values should be embedded
|
// EmbedValues is true if the values should be embedded
|
||||||
EmbedValues bool
|
EmbedValues bool
|
||||||
|
// SkipCharts makes Build skip `withPreparedCharts`
|
||||||
|
SkipCharts bool
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewBuildOptions creates a new Apply
|
// NewBuildOptions creates a new Apply
|
||||||
|
|
@ -29,3 +31,8 @@ func NewBuildImpl(g *GlobalImpl, b *BuildOptions) *BuildImpl {
|
||||||
func (b *BuildImpl) EmbedValues() bool {
|
func (b *BuildImpl) EmbedValues() bool {
|
||||||
return b.BuildOptions.EmbedValues
|
return b.BuildOptions.EmbedValues
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// SkipCharts returns skipCharts flag
|
||||||
|
func (b *BuildImpl) SkipCharts() bool {
|
||||||
|
return b.BuildOptions.SkipCharts
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue