diff --git a/cmd/climc/shell/k8s/releaseapps.go b/cmd/climc/shell/k8s/releaseapps.go index 0406189027..73c37457c1 100644 --- a/cmd/climc/shell/k8s/releaseapps.go +++ b/cmd/climc/shell/k8s/releaseapps.go @@ -24,4 +24,30 @@ func initReleaseApps() { printObject(ret) return nil }) + + R(&o.AppCreateOptions{}, cmdN("servicetree"), "Create yunion servicetree helm release", func(s *mcclient.ClientSession, args *o.AppCreateOptions) error { + params, err := args.Params() + if err != nil { + return err + } + ret, err := k8s.ServicetreeReleaseApps.Create(s, params) + if err != nil { + return err + } + printObject(ret) + return nil + }) + + R(&o.AppCreateOptions{}, cmdN("notify"), "Create yunion notify helm release", func(s *mcclient.ClientSession, args *o.AppCreateOptions) error { + params, err := args.Params() + if err != nil { + return err + } + ret, err := k8s.NotifyReleaseApps.Create(s, params) + if err != nil { + return err + } + printObject(ret) + return nil + }) } diff --git a/pkg/mcclient/modules/k8s/helm_release.go b/pkg/mcclient/modules/k8s/helm_release.go index f4efabcbff..0531dcca91 100644 --- a/pkg/mcclient/modules/k8s/helm_release.go +++ b/pkg/mcclient/modules/k8s/helm_release.go @@ -8,9 +8,11 @@ import ( ) var ( - Releases *ReleaseManager - MeterReleaseApps *ReleaseAppManager - dummyReleaseApps *ReleaseAppManager + Releases *ReleaseManager + MeterReleaseApps *ReleaseAppManager + ServicetreeReleaseApps *ReleaseAppManager + NotifyReleaseApps *ReleaseAppManager + dummyReleaseApps *ReleaseAppManager ) type ReleaseManager struct { @@ -36,6 +38,10 @@ func init() { NewNamespaceResourceManager("release", "releases", NewColumns(), NewColumns())} dummyReleaseApps = NewReleaseAppManager("releaseapp", "releaseapps") MeterReleaseApps = NewReleaseAppManager("app_meter", "app_meters") + ServicetreeReleaseApps = NewReleaseAppManager("app_servicetree", "app_servicetrees") + NotifyReleaseApps = NewReleaseAppManager("app_notify", "app_notifies") modules.Register(Releases) modules.Register(MeterReleaseApps) + modules.Register(ServicetreeReleaseApps) + modules.Register(NotifyReleaseApps) } diff --git a/pkg/mcclient/options/k8s/releaseapp.go b/pkg/mcclient/options/k8s/releaseapp.go index 1c7882a324..3b906cc159 100644 --- a/pkg/mcclient/options/k8s/releaseapp.go +++ b/pkg/mcclient/options/k8s/releaseapp.go @@ -24,7 +24,7 @@ func (o AppBaseCreateOptions) Params() (*jsonutils.JSONDict, error) { type AppCreateOptions struct { AppBaseCreateOptions - CHARTNAME string `help:"Helm release app chart name, e.g yunion/meter"` + ChartName string `help:"Helm release app chart name, e.g yunion/meter, yunion/monitor-stack"` } func (o AppCreateOptions) Params() (*jsonutils.JSONDict, error) { @@ -32,6 +32,8 @@ func (o AppCreateOptions) Params() (*jsonutils.JSONDict, error) { if err != nil { return nil, err } - params.Add(jsonutils.NewString(o.CHARTNAME), "chart_name") + if o.ChartName != "" { + params.Add(jsonutils.NewString(o.ChartName), "chart_name") + } return params, nil }