1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- package kube
- import "github.com/spf13/cobra"
- var (
- varStringName string
- varStringNamespace string
- varStringImage string
- varStringSecret string
- varIntRequestCpu int
- varIntRequestMem int
- varIntLimitCpu int
- varIntLimitMem int
- varStringO string
- varIntReplicas int
- varIntRevisions int
- varIntPort int
- varIntNodePort int
- varIntMinReplicas int
- varIntMaxReplicas int
- varStringHome string
- varStringRemote string
- varStringBranch string
- varStringServiceAccount string
- // Cmd describes a kube command.
- Cmd = &cobra.Command{
- Use: "kube",
- Short: "Generate kubernetes files",
- }
- deployCmd = &cobra.Command{
- Use: "deploy",
- Short: "Generate deployment yaml file",
- RunE: deploymentCommand,
- }
- )
- func init() {
- deployCmd.Flags().StringVar(&varStringName, "name", "", "The name of deployment (required)")
- deployCmd.Flags().StringVar(&varStringNamespace, "namespace", "", "The namespace of deployment (required)")
- deployCmd.Flags().StringVar(&varStringImage, "image", "", "The docker image of deployment (required)")
- deployCmd.Flags().StringVar(&varStringSecret, "secret", "", "The secret to image pull from registry")
- deployCmd.Flags().IntVar(&varIntRequestCpu, "requestCpu", 500, "The request cpu to deploy")
- deployCmd.Flags().IntVar(&varIntRequestMem, "requestMem", 512, "The request memory to deploy")
- deployCmd.Flags().IntVar(&varIntLimitCpu, "limitCpu", 1000, "The limit cpu to deploy")
- deployCmd.Flags().IntVar(&varIntLimitMem, "limitMem", 1024, "The limit memory to deploy")
- deployCmd.Flags().StringVar(&varStringO, "o", "", "The output yaml file (required)")
- deployCmd.Flags().IntVar(&varIntReplicas, "replicas", 3, "The number of replicas to deploy")
- deployCmd.Flags().IntVar(&varIntRevisions, "revisions", 5, "The number of revision history to limit")
- deployCmd.Flags().IntVar(&varIntPort, "port", 0, "The port of the deployment to listen on pod (required)")
- deployCmd.Flags().IntVar(&varIntNodePort, "nodePort", 0, "The nodePort of the deployment to expose")
- deployCmd.Flags().IntVar(&varIntMinReplicas, "minReplicas", 3, "The min replicas to deploy")
- deployCmd.Flags().IntVar(&varIntMaxReplicas, "maxReplicas", 10, "The max replicas to deploy")
- deployCmd.Flags().StringVar(&varStringHome, "home", "", "The goctl home path of the template, "+
- "--home and --remote cannot be set at the same time, if they are, --remote has higher priority")
- deployCmd.Flags().StringVar(&varStringRemote, "remote", "", "The remote git repo of the template, "+
- "--home and --remote cannot be set at the same time, if they are, --remote has higher priority\n\tThe git repo "+
- "directory must be consistent with the https://github.com/zeromicro/go-zero-template directory structure")
- deployCmd.Flags().StringVar(&varStringBranch, "branch", "", "The branch of the remote repo, it "+
- "does work with --remote")
- deployCmd.Flags().StringVar(&varStringServiceAccount, "serviceAccount", "", "The ServiceAccount "+
- "for the deployment")
- deployCmd.MarkFlagRequired("name")
- deployCmd.MarkFlagRequired("namespace")
- deployCmd.MarkFlagRequired("o")
- deployCmd.MarkFlagRequired("port")
- Cmd.AddCommand(deployCmd)
- }
|