This is an automated email from the ASF dual-hosted git repository.
zhongxjian pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-kubernetes.git
The following commit(s) were added to refs/heads/master by this push:
new 88e8edf2 [fix] update read profile logic
88e8edf2 is described below
commit 88e8edf2739189dc0135d7cd20a33e1984cc8dc3
Author: mfordjody <[email protected]>
AuthorDate: Sun Dec 15 09:26:29 2024 +0800
[fix] update read profile logic
---
manifests/charts/base/values.yaml | 3 ++-
operator/cmd/cluster/install.go | 2 +-
operator/cmd/validation/validation.go | 3 ++-
operator/pkg/render/manifest.go | 17 +++++++++++++----
4 files changed, 18 insertions(+), 7 deletions(-)
diff --git a/manifests/charts/base/values.yaml
b/manifests/charts/base/values.yaml
index 868a5f25..5b243433 100644
--- a/manifests/charts/base/values.yaml
+++ b/manifests/charts/base/values.yaml
@@ -16,4 +16,5 @@
base:
## dubboctl disable dubbo configuration crds in base.
enableDubboConfigCRD: true
-defaultRevision: "default"
\ No newline at end of file
+
+defaultRevision: "default"
diff --git a/operator/cmd/cluster/install.go b/operator/cmd/cluster/install.go
index a9f2f289..641a346d 100644
--- a/operator/cmd/cluster/install.go
+++ b/operator/cmd/cluster/install.go
@@ -64,7 +64,7 @@ func InstallCmdWithArgs(ctx cli.Context, rootArgs *RootArgs,
iArgs *installArgs)
p := NewPrinterForWriter(cmd.OutOrStderr())
cl := clog.NewConsoleLogger(cmd.OutOrStdout(),
cmd.ErrOrStderr(), installerScope)
p.Printf("%v\n", art.DubboArt())
- return Install(kubeClient, rootArgs, iArgs)
+ return Install(kubeClient, rootArgs, iArgs, cl,
cmd.OutOrStdout(), p)
},
}
return ic
diff --git a/operator/cmd/validation/validation.go
b/operator/cmd/validation/validation.go
index e9d9848a..c59ea24b 100644
--- a/operator/cmd/validation/validation.go
+++ b/operator/cmd/validation/validation.go
@@ -7,12 +7,13 @@ import (
"github.com/apache/dubbo-kubernetes/operator/pkg/apis"
"github.com/apache/dubbo-kubernetes/operator/pkg/util"
"github.com/apache/dubbo-kubernetes/operator/pkg/values"
+ "github.com/apache/dubbo-kubernetes/pkg/kube"
"sigs.k8s.io/yaml"
)
type Warnings = util.Errors
-func ParseAndValidateDubboOperator(dopMap values.Map) (Warnings, util.Errors) {
+func ParseAndValidateDubboOperator(dopMap values.Map, client kube.Client)
(Warnings, util.Errors) {
dop := &apis.DubboOperator{}
dec := json.NewDecoder(bytes.NewBufferString(dopMap.JSON()))
dec.DisallowUnknownFields()
diff --git a/operator/pkg/render/manifest.go b/operator/pkg/render/manifest.go
index 30c0d27b..54897fe6 100644
--- a/operator/pkg/render/manifest.go
+++ b/operator/pkg/render/manifest.go
@@ -27,6 +27,7 @@ func MergeInputs(filenames []string, flags []string, client
kube.Client) (values
if err != nil {
return nil, err
}
+
for i, fn := range filenames {
var b []byte
var err error
@@ -50,16 +51,24 @@ func MergeInputs(filenames []string, flags []string, client
kube.Client) (values
}
ConfigBase.MergeFrom(m)
}
+
if err := ConfigBase.SetSpecPaths(flags...); err != nil {
return nil, err
}
+
path := ConfigBase.GetPathString("")
profile := ConfigBase.GetPathString("spec.profile")
+ value, _ := ConfigBase.GetPathMap("spec.values")
base, err := readProfile(path, profile)
if err != nil {
return base, err
}
base.MergeFrom(ConfigBase)
+
+ if value != nil {
+ base.MergeFrom(values.Map{"spec": values.Map{"values": value}})
+ }
+
return base, nil
}
@@ -86,7 +95,7 @@ func readBuiltinProfile(path, profile string) (values.Map,
error) {
fs := manifests.BuiltinDir(path)
file, err := fs.Open(fmt.Sprintf("profiles/%v.yaml", profile))
if err != nil {
- return nil, err
+ return nil, fmt.Errorf("profile %q not found: %v", profile, err)
}
pb, err := io.ReadAll(file)
if err != nil {
@@ -111,7 +120,7 @@ func GenerateManifest(files []string, setFlags []string,
logger clog.Logger, cli
if err != nil {
return nil, nil, fmt.Errorf("merge inputs: %v", err)
}
- if err := validateDubboOperator(merged, logger); err != nil {
+ if err := validateDubboOperator(merged, client, logger); err != nil {
return nil, nil, fmt.Errorf("validateDubboOperator err:%v", err)
}
allManifests := map[component.Name]manifest.ManifestSet{}
@@ -156,8 +165,8 @@ func GenerateManifest(files []string, setFlags []string,
logger clog.Logger, cli
return val, merged, nil
}
-func validateDubboOperator(dop values.Map, logger clog.Logger) error {
- warnings, errs := validation.ParseAndValidateDubboOperator(dop)
+func validateDubboOperator(dop values.Map, client kube.Client, logger
clog.Logger) error {
+ warnings, errs := validation.ParseAndValidateDubboOperator(dop, client)
if err := errs.ToErrors(); err != nil {
return err
}