Merge pull request #3539 from zexi/feature/k8s-cli

climc: k8s api update
This commit is contained in:
Zexi Li
2019-11-08 18:04:24 +08:00
committed by GitHub
15 changed files with 559 additions and 187 deletions
+1 -1
View File
@@ -27,7 +27,7 @@ func initCronJob() {
&o.CronJobCreateOptions{},
cmdN("create"),
"Create cronjob resource",
func(s *mcclient.ClientSession, args *o.JobCreateOptions) error {
func(s *mcclient.ClientSession, args *o.CronJobCreateOptions) error {
params, err := args.Params()
if err != nil {
return err
+23
View File
@@ -0,0 +1,23 @@
// Copyright 2019 Yunion
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package k8s
import (
"yunion.io/x/onecloud/pkg/mcclient/modules/k8s"
)
func initDaemonSet() {
initK8sNamespaceResource("daemonset", k8s.DaemonSets)
}
+18 -1
View File
@@ -41,5 +41,22 @@ func initDeployment() {
return nil
})
cmd.AddR(createCmd)
updateCmd := NewCommand(
&o.DeploymentUpdateOptions{},
cmdN("update"),
"Update deployment resource",
func(s *mcclient.ClientSession, args *o.DeploymentUpdateOptions) error {
params, err := args.Params()
if err != nil {
return err
}
ret, err := k8s.Deployments.Update(s, args.NAME, params)
if err != nil {
return err
}
printObjectYAML(ret)
return nil
})
cmd.AddR(createCmd, updateCmd)
}
+3
View File
@@ -45,6 +45,7 @@ func init() {
initConfigMap()
initDeployment()
initStatefulset()
initDaemonSet()
initPod()
initService()
initIngress()
@@ -57,6 +58,8 @@ func init() {
initJob()
initCronJob()
initRbac()
initApp()
}
+29
View File
@@ -0,0 +1,29 @@
// Copyright 2019 Yunion
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package k8s
import (
//"yunion.io/x/onecloud/pkg/mcclient"
"yunion.io/x/onecloud/pkg/mcclient/modules/k8s"
//o "yunion.io/x/onecloud/pkg/mcclient/options/k8s"
)
func initRbac() {
//cmdRole := initK8sNamespaceResource("rbacrole", k8s.RbacRoles)
initK8sNamespaceResource("rbacrole", k8s.RbacRoles)
initK8sNamespaceResource("rbacrolebinding", k8s.RbacRoleBindings)
initK8sNamespaceResource("serviceaccount", k8s.ServiceAccounts)
//cmdRoleN := cmdRole.CommandNameFactory
}
+1 -1
View File
@@ -36,7 +36,7 @@ func initRelease() {
return nil
})
R(&o.ResourceGetOptions{}, cmdN("show"), "Get helm release details", func(s *mcclient.ClientSession, args *o.ResourceGetOptions) error {
R(&o.NamespaceResourceGetOptions{}, cmdN("show"), "Get helm release details", func(s *mcclient.ClientSession, args *o.NamespaceResourceGetOptions) error {
ret, err := k8s.Releases.Get(s, args.NAME, args.Params())
if err != nil {
return err