Skip to content

Commit

Permalink
api/internal/builtins: use plugin/builtin to re-generate files to rec…
Browse files Browse the repository at this point in the history
…eive changes in interface Generate
  • Loading branch information
charles-chenzz committed Sep 5, 2023
1 parent 6b22bd7 commit 3093f19
Show file tree
Hide file tree
Showing 8 changed files with 46 additions and 34 deletions.
7 changes: 5 additions & 2 deletions api/internal/builtins/ConfigMapGenerator.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

27 changes: 15 additions & 12 deletions api/internal/builtins/HelmChartInflationGenerator.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 6 additions & 3 deletions api/internal/builtins/IAMPolicyGenerator.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 5 additions & 2 deletions api/internal/builtins/SecretGenerator.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion plugin/builtin/configmapgenerator/ConfigMapGenerator.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ func (p *plugin) Config(h *resmap.PluginHelpers, config []byte) (err error) {
return
}

func (p *plugin) Generate() (resmap.ResMap, error) {
func (p *plugin) Generate() (resmap.ResMap, []string, error) {
return p.h.ResmapFactory().FromConfigMapArgs(
kv.NewLoader(p.h.Loader(), p.h.Validator()), p.ConfigMapArgs)
}
Original file line number Diff line number Diff line change
Expand Up @@ -232,18 +232,18 @@ func (p *plugin) cleanup() {
}

// Generate implements generator
func (p *plugin) Generate() (rm resmap.ResMap, err error) {
func (p *plugin) Generate() (rm resmap.ResMap, orderKeys []string, err error) {
defer p.cleanup()
if err = p.checkHelmVersion(); err != nil {
return nil, err
return nil, nil, err
}
if path, exists := p.chartExistsLocally(); !exists {
if p.Repo == "" {
return nil, fmt.Errorf(
return nil, nil, fmt.Errorf(
"no repo specified for pull, no chart found at '%s'", path)
}
if _, err := p.runHelmCommand(p.pullCommand()); err != nil {
return nil, err
return nil,nil, err
}
}
if len(p.ValuesInline) > 0 {
Expand All @@ -252,34 +252,34 @@ func (p *plugin) Generate() (rm resmap.ResMap, err error) {
p.ValuesFile, err = p.copyValuesFile()
}
if err != nil {
return nil, err
return nil, nil, err
}
var stdout []byte
stdout, err = p.runHelmCommand(p.AsHelmArgs(p.absChartHome()))
if err != nil {
return nil, err
return nil, nil, err
}

rm, resMapErr := p.h.ResmapFactory().NewResMapFromBytes(stdout)
if resMapErr == nil {
return rm, nil
return rm, nil, nil
}
// try to remove the contents before first "---" because
// helm may produce messages to stdout before it
r := &kio.ByteReader{Reader: bytes.NewBufferString(string(stdout)), OmitReaderAnnotations: true}
nodes, err := r.Read()
if err != nil {
return nil, fmt.Errorf("error reading helm output: %w", err)
return nil, nil, fmt.Errorf("error reading helm output: %w", err)
}

if len(nodes) != 0 {
rm, err = p.h.ResmapFactory().NewResMapFromRNodeSlice(nodes)
if err != nil {
return nil, fmt.Errorf("could not parse rnode slice into resource map: %w", err)
return nil, nil, fmt.Errorf("could not parse rnode slice into resource map: %w", err)
}
return rm, nil
return rm, nil, nil
}
return nil, fmt.Errorf("could not parse bytes into resource map: %w", resMapErr)
return nil, nil, fmt.Errorf("could not parse bytes into resource map: %w", resMapErr)
}

func (p *plugin) pullCommand() []string {
Expand Down
4 changes: 2 additions & 2 deletions plugin/builtin/iampolicygenerator/IAMPolicyGenerator.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,10 @@ func (p *plugin) Config(h *resmap.PluginHelpers, config []byte) (err error) {
return
}

func (p *plugin) Generate() (resmap.ResMap, error) {
func (p *plugin) Generate() (resmap.ResMap, []string, error) {
r := resmap.New()
err := r.ApplyFilter(iampolicygenerator.Filter{
IAMPolicyGenerator: p.IAMPolicyGeneratorArgs,
})
return r, err
return r, nil, err
}
2 changes: 1 addition & 1 deletion plugin/builtin/secretgenerator/SecretGenerator.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ func (p *plugin) Config(h *resmap.PluginHelpers, config []byte) (err error) {
return
}

func (p *plugin) Generate() (resmap.ResMap, error) {
func (p *plugin) Generate() (resmap.ResMap, []string, error) {
return p.h.ResmapFactory().FromSecretArgs(
kv.NewLoader(p.h.Loader(), p.h.Validator()), p.SecretArgs)
}

0 comments on commit 3093f19

Please sign in to comment.