Add commonMetadata to flux build/diff
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
This commit is contained in:
@@ -28,6 +28,7 @@ import (
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
"github.com/fluxcd/pkg/ssa"
|
||||
"github.com/theckman/yacspin"
|
||||
"k8s.io/apimachinery/pkg/api/meta"
|
||||
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
|
||||
@@ -212,7 +213,7 @@ func (b *Builder) getKustomization(ctx context.Context) (*kustomizev1.Kustomizat
|
||||
// and overlays the manifests with the resources specified in the resourcesPath
|
||||
// It expects a kustomization.yaml file in the resourcesPath, and it will
|
||||
// generate a kustomization.yaml file if it doesn't exist
|
||||
func (b *Builder) Build() ([]byte, error) {
|
||||
func (b *Builder) Build() ([]*unstructured.Unstructured, error) {
|
||||
m, err := b.build()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
@@ -223,7 +224,16 @@ func (b *Builder) Build() ([]byte, error) {
|
||||
return nil, fmt.Errorf("kustomize build failed: %w", err)
|
||||
}
|
||||
|
||||
return resources, nil
|
||||
objects, err := ssa.ReadObjects(bytes.NewReader(resources))
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("kustomize build failed: %w", err)
|
||||
}
|
||||
|
||||
if m := b.kustomization.Spec.CommonMetadata; m != nil {
|
||||
ssa.SetCommonMetadata(objects, m.Labels, m.Annotations)
|
||||
}
|
||||
|
||||
return objects, nil
|
||||
}
|
||||
|
||||
func (b *Builder) build() (m resmap.ResMap, err error) {
|
||||
|
||||
@@ -39,10 +39,10 @@ import (
|
||||
"sigs.k8s.io/cli-utils/pkg/object"
|
||||
"sigs.k8s.io/yaml"
|
||||
|
||||
kustomizev1 "github.com/fluxcd/kustomize-controller/api/v1"
|
||||
"github.com/fluxcd/pkg/ssa"
|
||||
|
||||
"github.com/fluxcd/flux2/v2/pkg/printers"
|
||||
kustomizev1 "github.com/fluxcd/kustomize-controller/api/v1"
|
||||
)
|
||||
|
||||
func (b *Builder) Manager() (*ssa.ResourceManager, error) {
|
||||
@@ -58,12 +58,12 @@ func (b *Builder) Manager() (*ssa.ResourceManager, error) {
|
||||
func (b *Builder) Diff() (string, bool, error) {
|
||||
output := strings.Builder{}
|
||||
createdOrDrifted := false
|
||||
res, err := b.Build()
|
||||
objects, err := b.Build()
|
||||
if err != nil {
|
||||
return "", createdOrDrifted, err
|
||||
}
|
||||
// convert the build result into Kubernetes unstructured objects
|
||||
objects, err := ssa.ReadObjects(bytes.NewReader(res))
|
||||
|
||||
err = ssa.SetNativeKindsDefaults(objects)
|
||||
if err != nil {
|
||||
return "", createdOrDrifted, err
|
||||
}
|
||||
@@ -76,10 +76,6 @@ func (b *Builder) Diff() (string, bool, error) {
|
||||
ctx, cancel := context.WithTimeout(context.Background(), b.timeout)
|
||||
defer cancel()
|
||||
|
||||
if err := ssa.SetNativeKindsDefaults(objects); err != nil {
|
||||
return "", createdOrDrifted, err
|
||||
}
|
||||
|
||||
if b.spinner != nil {
|
||||
err = b.spinner.Start()
|
||||
if err != nil {
|
||||
|
||||
Reference in New Issue
Block a user