From da8f76e6bda04b2b0658bf59ed9497860d261e4b Mon Sep 17 00:00:00 2001 From: Kevin Wan Date: Fri, 11 Dec 2020 18:53:40 +0800 Subject: [PATCH] add category docker & kube (#276) --- tools/goctl/api/gogen/template.go | 5 +- tools/goctl/api/gogen/template_test.go | 2 +- tools/goctl/docker/template.go | 25 +++++++ tools/goctl/goctl.go | 4 +- tools/goctl/kube/kube.go | 82 +++++++++++----------- tools/goctl/model/sql/gen/template.go | 18 ++--- tools/goctl/model/sql/gen/template_test.go | 2 +- tools/goctl/rpc/generator/template.go | 5 +- tools/goctl/rpc/generator/template_test.go | 5 +- tools/goctl/tpl/templates.go | 26 ++++--- 10 files changed, 104 insertions(+), 70 deletions(-) diff --git a/tools/goctl/api/gogen/template.go b/tools/goctl/api/gogen/template.go index 0ea13336..c593ae24 100644 --- a/tools/goctl/api/gogen/template.go +++ b/tools/goctl/api/gogen/template.go @@ -38,11 +38,12 @@ func RevertTemplate(name string) error { return util.CreateTemplate(category, name, content) } -func Update(category string) error { +func Update() error { err := Clean() if err != nil { return err } + return util.InitTemplates(category, templates) } @@ -50,6 +51,6 @@ func Clean() error { return util.Clean(category) } -func GetCategory() string { +func Category() string { return category } diff --git a/tools/goctl/api/gogen/template_test.go b/tools/goctl/api/gogen/template_test.go index 8f242544..0ab44d73 100644 --- a/tools/goctl/api/gogen/template_test.go +++ b/tools/goctl/api/gogen/template_test.go @@ -84,7 +84,7 @@ func TestUpdate(t *testing.T) { assert.Equal(t, string(data), modifyData) - assert.Nil(t, Update(category)) + assert.Nil(t, Update()) data, err = ioutil.ReadFile(file) assert.Nil(t, err) diff --git a/tools/goctl/docker/template.go b/tools/goctl/docker/template.go index 61ad9d85..d9036848 100644 --- a/tools/goctl/docker/template.go +++ b/tools/goctl/docker/template.go @@ -39,7 +39,32 @@ CMD ["./{{.ExeFile}}"{{.Argument}}] ` ) +func Clean() error { + return util.Clean(category) +} + func GenTemplates(_ *cli.Context) error { + return initTemplate() +} + +func Category() string { + return category +} + +func RevertTemplate(name string) error { + return util.CreateTemplate(category, name, dockerTemplate) +} + +func Update() error { + err := Clean() + if err != nil { + return err + } + + return initTemplate() +} + +func initTemplate() error { return util.InitTemplates(category, map[string]string{ dockerTemplateFile: dockerTemplate, }) diff --git a/tools/goctl/goctl.go b/tools/goctl/goctl.go index 86c4b6f7..053a2b71 100644 --- a/tools/goctl/goctl.go +++ b/tools/goctl/goctl.go @@ -476,7 +476,7 @@ var ( Flags: []cli.Flag{ cli.StringFlag{ Name: "category,c", - Usage: "the category of template, enum [api,rpc,model]", + Usage: "the category of template, enum [api,rpc,model,docker,kube]", }, }, Action: tpl.UpdateTemplates, @@ -487,7 +487,7 @@ var ( Flags: []cli.Flag{ cli.StringFlag{ Name: "category,c", - Usage: "the category of template, enum [api,rpc,model]", + Usage: "the category of template, enum [api,rpc,model,docker,kube]", }, cli.StringFlag{ Name: "name,n", diff --git a/tools/goctl/kube/kube.go b/tools/goctl/kube/kube.go index 8b82c503..7dc1461f 100644 --- a/tools/goctl/kube/kube.go +++ b/tools/goctl/kube/kube.go @@ -16,47 +16,23 @@ const ( portLimit = 32767 ) -var errUnknownServiceType = errors.New("unknown service type") - -type ( - ServiceType string - - KubeRequest struct { - Env string - ServiceName string - ServiceType ServiceType - Namespace string - Schedule string - Replicas int - RevisionHistoryLimit int - Port int - LimitCpu int - LimitMem int - RequestCpu int - RequestMem int - SuccessfulJobsHistoryLimit int - HpaMinReplicas int - HpaMaxReplicas int - } - - Deployment struct { - Name string - Namespace string - Image string - Secret string - Replicas int - Revisions int - Port int - NodePort int - UseNodePort bool - RequestCpu int - RequestMem int - LimitCpu int - LimitMem int - MinReplicas int - MaxReplicas int - } -) +type Deployment struct { + Name string + Namespace string + Image string + Secret string + Replicas int + Revisions int + Port int + NodePort int + UseNodePort bool + RequestCpu int + RequestMem int + LimitCpu int + LimitMem int + MinReplicas int + MaxReplicas int +} func DeploymentCommand(c *cli.Context) error { nodePort := c.Int("nodePort") @@ -96,9 +72,33 @@ func DeploymentCommand(c *cli.Context) error { }) } +func Category() string { + return category +} + +func Clean() error { + return util.Clean(category) +} + func GenTemplates(_ *cli.Context) error { return util.InitTemplates(category, map[string]string{ deployTemplateFile: deploymentTemplate, jobTemplateFile: jobTmeplate, }) } + +func RevertTemplate(name string) error { + return util.CreateTemplate(category, name, deploymentTemplate) +} + +func Update() error { + err := Clean() + if err != nil { + return err + } + + return util.InitTemplates(category, map[string]string{ + deployTemplateFile: deploymentTemplate, + jobTemplateFile: jobTmeplate, + }) +} diff --git a/tools/goctl/model/sql/gen/template.go b/tools/goctl/model/sql/gen/template.go index a4c2d567..aed221fe 100644 --- a/tools/goctl/model/sql/gen/template.go +++ b/tools/goctl/model/sql/gen/template.go @@ -54,6 +54,14 @@ var templates = map[string]string{ errTemplateFile: template.Error, } +func Category() string { + return category +} + +func Clean() error { + return util.Clean(category) +} + func GenTemplates(_ *cli.Context) error { return util.InitTemplates(category, templates) } @@ -66,18 +74,10 @@ func RevertTemplate(name string) error { return util.CreateTemplate(category, name, content) } -func Clean() error { - return util.Clean(category) -} - -func Update(category string) error { +func Update() error { err := Clean() if err != nil { return err } return util.InitTemplates(category, templates) } - -func GetCategory() string { - return category -} diff --git a/tools/goctl/model/sql/gen/template_test.go b/tools/goctl/model/sql/gen/template_test.go index ded461a0..60b5d2ae 100644 --- a/tools/goctl/model/sql/gen/template_test.go +++ b/tools/goctl/model/sql/gen/template_test.go @@ -85,7 +85,7 @@ func TestUpdate(t *testing.T) { assert.Equal(t, string(data), modifyData) - assert.Nil(t, Update(category)) + assert.Nil(t, Update()) data, err = ioutil.ReadFile(file) assert.Nil(t, err) diff --git a/tools/goctl/rpc/generator/template.go b/tools/goctl/rpc/generator/template.go index 1816f900..8f41fa06 100644 --- a/tools/goctl/rpc/generator/template.go +++ b/tools/goctl/rpc/generator/template.go @@ -54,14 +54,15 @@ func Clean() error { return util.Clean(category) } -func Update(category string) error { +func Update() error { err := Clean() if err != nil { return err } + return util.InitTemplates(category, templates) } -func GetCategory() string { +func Category() string { return category } diff --git a/tools/goctl/rpc/generator/template_test.go b/tools/goctl/rpc/generator/template_test.go index 53f95ebe..db519d5f 100644 --- a/tools/goctl/rpc/generator/template_test.go +++ b/tools/goctl/rpc/generator/template_test.go @@ -97,8 +97,7 @@ func TestUpdate(t *testing.T) { } assert.Equal(t, "modify", string(data)) - err = Update(category) - assert.Nil(t, err) + assert.Nil(t, Update()) data, err = ioutil.ReadFile(mainTpl) if err != nil { @@ -109,6 +108,6 @@ func TestUpdate(t *testing.T) { func TestGetCategory(t *testing.T) { _ = Clean() - result := GetCategory() + result := Category() assert.Equal(t, category, result) } diff --git a/tools/goctl/tpl/templates.go b/tools/goctl/tpl/templates.go index a07efbb2..c1b42272 100644 --- a/tools/goctl/tpl/templates.go +++ b/tools/goctl/tpl/templates.go @@ -76,12 +76,16 @@ func UpdateTemplates(ctx *cli.Context) (err error) { } }() switch category { - case gogen.GetCategory(): - return gogen.Update(category) - case rpcgen.GetCategory(): - return rpcgen.Update(category) - case modelgen.GetCategory(): - return modelgen.Update(category) + case docker.Category(): + return docker.Update() + case gogen.Category(): + return gogen.Update() + case kube.Category(): + return kube.Update() + case rpcgen.Category(): + return rpcgen.Update() + case modelgen.Category(): + return modelgen.Update() default: err = fmt.Errorf("unexpected category: %s", category) return @@ -97,11 +101,15 @@ func RevertTemplates(ctx *cli.Context) (err error) { } }() switch category { - case gogen.GetCategory(): + case docker.Category(): + return docker.RevertTemplate(filename) + case kube.Category(): + return kube.RevertTemplate(filename) + case gogen.Category(): return gogen.RevertTemplate(filename) - case rpcgen.GetCategory(): + case rpcgen.Category(): return rpcgen.RevertTemplate(filename) - case modelgen.GetCategory(): + case modelgen.Category(): return modelgen.RevertTemplate(filename) default: err = fmt.Errorf("unexpected category: %s", category)