Skip to content

Commit d1d34fc

Browse files
Use ServiceMetadata strings in Helm charts (#172)
Description of changes: Use the fields in the service metadata file (`metadata.yaml`) to produce nicer descriptions in the Helm chart. By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
1 parent 42fb21d commit d1d34fc

File tree

5 files changed

+20
-9
lines changed

5 files changed

+20
-9
lines changed

cmd/ack-generate/command/release.go

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import (
2323
"github.com/spf13/cobra"
2424

2525
ackgenerate "github.com/aws-controllers-k8s/code-generator/pkg/generate/ack"
26+
ackmetadata "github.com/aws-controllers-k8s/code-generator/pkg/metadata"
2627
ackmodel "github.com/aws-controllers-k8s/code-generator/pkg/model"
2728
)
2829

@@ -91,8 +92,14 @@ func generateRelease(cmd *cobra.Command, args []string) error {
9192
if err != nil {
9293
return err
9394
}
95+
96+
metadata, err := ackmetadata.NewServiceMetadata(optMetadataConfigPath)
97+
if err != nil {
98+
return err
99+
}
100+
94101
ts, err := ackgenerate.Release(
95-
m, optTemplateDirs,
102+
m, metadata, optTemplateDirs,
96103
releaseVersion, optImageRepository, optServiceAccountName,
97104
)
98105
if err != nil {

pkg/generate/ack/release.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import (
1818
ttpl "text/template"
1919

2020
"github.com/aws-controllers-k8s/code-generator/pkg/generate/templateset"
21+
ackmetadata "github.com/aws-controllers-k8s/code-generator/pkg/metadata"
2122
ackmodel "github.com/aws-controllers-k8s/code-generator/pkg/model"
2223
)
2324

@@ -49,6 +50,7 @@ var (
4950
// generating an ACK service controller release (Helm artifacts, etc)
5051
func Release(
5152
m *ackmodel.Model,
53+
metadata *ackmetadata.ServiceMetadata,
5254
templateBasePaths []string,
5355
// releaseVersion is the SemVer string describing the release that the Helm
5456
// chart will install
@@ -70,6 +72,7 @@ func Release(
7072
metaVars := m.MetaVars()
7173
releaseVars := &templateReleaseVars{
7274
metaVars,
75+
metadata,
7376
releaseVersion,
7477
imageRepository,
7578
serviceAccountName,
@@ -88,6 +91,7 @@ func Release(
8891
// outputs Go code for a release artifact
8992
type templateReleaseVars struct {
9093
templateset.MetaVars
94+
Metadata *ackmetadata.ServiceMetadata
9195
// ReleaseVersion is the semver release tag (or Git SHA1 commit) that is
9296
// used for the binary image artifacts and Helm release version
9397
ReleaseVersion string

pkg/metadata/service_metadata.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -104,17 +104,17 @@ func (m *ServiceMetadata) getVersionsByStatus(status APIStatus) []string {
104104
// path to a metadata file
105105
func NewServiceMetadata(
106106
metadataPath string,
107-
) (ServiceMetadata, error) {
107+
) (*ServiceMetadata, error) {
108108
if metadataPath == "" {
109-
return ServiceMetadata{}, ErrNoServiceMetadataFile
109+
return &ServiceMetadata{}, ErrNoServiceMetadataFile
110110
}
111111
content, err := ioutil.ReadFile(metadataPath)
112112
if err != nil {
113-
return ServiceMetadata{}, err
113+
return &ServiceMetadata{}, err
114114
}
115115
gc := ServiceMetadata{}
116116
if err = yaml.Unmarshal(content, &gc); err != nil {
117-
return ServiceMetadata{}, err
117+
return &ServiceMetadata{}, err
118118
}
119-
return gc, nil
119+
return &gc, nil
120120
}

pkg/model/multiversion/manager.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ var (
3737
// and APIInfos.
3838
type APIVersionManager struct {
3939
gitRepo *git.Repository
40-
metadata ackmetadata.ServiceMetadata
40+
metadata *ackmetadata.ServiceMetadata
4141

4242
hubVersion string
4343
spokeVersions []string

templates/helm/Chart.yaml.tpl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
apiVersion: v1
22
name: {{ .ServiceIDClean }}-chart
3-
description: A Helm chart for the ACK service controller for {{ .ServiceIDClean }}
3+
description: A Helm chart for the ACK service controller for {{ .Metadata.Service.FullName }} ({{ .Metadata.Service.ShortName }})
44
version: {{ .ReleaseVersion }}
55
appVersion: {{ .ReleaseVersion }}
66
home: https://github.com/aws-controllers-k8s/{{ .ServiceIDClean }}-controller
@@ -10,7 +10,7 @@ sources:
1010
maintainers:
1111
- name: ACK Admins
1212
url: https://github.com/orgs/aws-controllers-k8s/teams/ack-admin
13-
- name: {{ .ServiceIDClean }} Admins
13+
- name: {{ .Metadata.Service.ShortName }} Admins
1414
url: https://github.com/orgs/aws-controllers-k8s/teams/{{ .ServiceIDClean }}-maintainer
1515
keywords:
1616
- aws

0 commit comments

Comments
 (0)