From 7c47d1f7588d8d2b859c11f07f6a21e4dbe872f3 Mon Sep 17 00:00:00 2001 From: Nicholas Thomson Date: Fri, 27 Aug 2021 13:14:06 -0700 Subject: [PATCH] Use `ServiceMetadata` in release --- cmd/ack-generate/command/release.go | 9 ++++++++- pkg/generate/ack/release.go | 4 ++++ pkg/metadata/service_metadata.go | 10 +++++----- pkg/model/multiversion/manager.go | 2 +- templates/helm/Chart.yaml.tpl | 4 ++-- 5 files changed, 20 insertions(+), 9 deletions(-) diff --git a/cmd/ack-generate/command/release.go b/cmd/ack-generate/command/release.go index d448d2e3..77f8d772 100644 --- a/cmd/ack-generate/command/release.go +++ b/cmd/ack-generate/command/release.go @@ -23,6 +23,7 @@ import ( "github.com/spf13/cobra" ackgenerate "github.com/aws-controllers-k8s/code-generator/pkg/generate/ack" + ackmetadata "github.com/aws-controllers-k8s/code-generator/pkg/metadata" ackmodel "github.com/aws-controllers-k8s/code-generator/pkg/model" ) @@ -91,8 +92,14 @@ func generateRelease(cmd *cobra.Command, args []string) error { if err != nil { return err } + + metadata, err := ackmetadata.NewServiceMetadata(optMetadataConfigPath) + if err != nil { + return err + } + ts, err := ackgenerate.Release( - m, optTemplateDirs, + m, metadata, optTemplateDirs, releaseVersion, optImageRepository, optServiceAccountName, ) if err != nil { diff --git a/pkg/generate/ack/release.go b/pkg/generate/ack/release.go index 28d2bbb6..b123a327 100644 --- a/pkg/generate/ack/release.go +++ b/pkg/generate/ack/release.go @@ -18,6 +18,7 @@ import ( ttpl "text/template" "github.com/aws-controllers-k8s/code-generator/pkg/generate/templateset" + ackmetadata "github.com/aws-controllers-k8s/code-generator/pkg/metadata" ackmodel "github.com/aws-controllers-k8s/code-generator/pkg/model" ) @@ -49,6 +50,7 @@ var ( // generating an ACK service controller release (Helm artifacts, etc) func Release( m *ackmodel.Model, + metadata *ackmetadata.ServiceMetadata, templateBasePaths []string, // releaseVersion is the SemVer string describing the release that the Helm // chart will install @@ -70,6 +72,7 @@ func Release( metaVars := m.MetaVars() releaseVars := &templateReleaseVars{ metaVars, + metadata, releaseVersion, imageRepository, serviceAccountName, @@ -88,6 +91,7 @@ func Release( // outputs Go code for a release artifact type templateReleaseVars struct { templateset.MetaVars + Metadata *ackmetadata.ServiceMetadata // ReleaseVersion is the semver release tag (or Git SHA1 commit) that is // used for the binary image artifacts and Helm release version ReleaseVersion string diff --git a/pkg/metadata/service_metadata.go b/pkg/metadata/service_metadata.go index 9fb16ae0..4a265690 100644 --- a/pkg/metadata/service_metadata.go +++ b/pkg/metadata/service_metadata.go @@ -104,17 +104,17 @@ func (m *ServiceMetadata) getVersionsByStatus(status APIStatus) []string { // path to a metadata file func NewServiceMetadata( metadataPath string, -) (ServiceMetadata, error) { +) (*ServiceMetadata, error) { if metadataPath == "" { - return ServiceMetadata{}, ErrNoServiceMetadataFile + return &ServiceMetadata{}, ErrNoServiceMetadataFile } content, err := ioutil.ReadFile(metadataPath) if err != nil { - return ServiceMetadata{}, err + return &ServiceMetadata{}, err } gc := ServiceMetadata{} if err = yaml.Unmarshal(content, &gc); err != nil { - return ServiceMetadata{}, err + return &ServiceMetadata{}, err } - return gc, nil + return &gc, nil } diff --git a/pkg/model/multiversion/manager.go b/pkg/model/multiversion/manager.go index 70a6b1a3..14e39927 100644 --- a/pkg/model/multiversion/manager.go +++ b/pkg/model/multiversion/manager.go @@ -37,7 +37,7 @@ var ( // and APIInfos. type APIVersionManager struct { gitRepo *git.Repository - metadata ackmetadata.ServiceMetadata + metadata *ackmetadata.ServiceMetadata hubVersion string spokeVersions []string diff --git a/templates/helm/Chart.yaml.tpl b/templates/helm/Chart.yaml.tpl index 8e7cbd90..13774a7b 100644 --- a/templates/helm/Chart.yaml.tpl +++ b/templates/helm/Chart.yaml.tpl @@ -1,6 +1,6 @@ apiVersion: v1 name: {{ .ServiceIDClean }}-chart -description: A Helm chart for the ACK service controller for {{ .ServiceIDClean }} +description: A Helm chart for the ACK service controller for {{ .Metadata.Service.FullName }} ({{ .Metadata.Service.ShortName }}) version: {{ .ReleaseVersion }} appVersion: {{ .ReleaseVersion }} home: https://github.com/aws-controllers-k8s/{{ .ServiceIDClean }}-controller @@ -10,7 +10,7 @@ sources: maintainers: - name: ACK Admins url: https://github.com/orgs/aws-controllers-k8s/teams/ack-admin - - name: {{ .ServiceIDClean }} Admins + - name: {{ .Metadata.Service.ShortName }} Admins url: https://github.com/orgs/aws-controllers-k8s/teams/{{ .ServiceIDClean }}-maintainer keywords: - aws