pkg/kt/command/options/global.go
package options
import (
"fmt"
"github.com/alibaba/kt-connect/pkg/kt/util"
)
func GlobalFlags() []OptionConfig {
flags := []OptionConfig{
{
Target: "Namespace",
Alias: "n",
DefaultValue: util.DefaultNamespace,
Description: "Specify target namespace (otherwise follow kubeconfig current context)",
},
{
Target: "Kubeconfig",
Alias: "c",
DefaultValue: "",
Description: "Specify path of KubeConfig file",
},
{
Target: "Context",
DefaultValue: "",
Description: "Specify current context of kubeconfig",
},
{
Target: "Image",
Alias: "i",
DefaultValue: fmt.Sprintf("%s:v%s", util.ImageKtShadow, Store.Version),
Description: "Customize shadow image",
},
{
Target: "ImagePullSecret",
DefaultValue: "",
Description: "Custom image pull secret",
},
{
Target: "ServiceAccount",
DefaultValue: "default",
Description: "Specify ServiceAccount name for shadow pod",
},
{
Target: "NodeSelector",
DefaultValue: "",
Description: "Specify location of shadow and route pod by node label, e.g. 'disk=ssd,region=hangzhou'",
},
{
Target: "Debug",
Alias: "d",
DefaultValue: false,
Description: "Print debug log",
},
{
Target: "WithLabel",
Alias: "l",
DefaultValue: "",
Description: "Extra labels on shadow pod e.g. 'label1=val1,label2=val2'",
},
{
Target: "WithAnnotation",
DefaultValue: "",
Description: "Extra annotation on shadow pod e.g. 'annotation1=val1,annotation2=val2'",
},
{
Target: "PortForwardTimeout",
DefaultValue: 10,
Description: "Seconds to wait before port-forward connection timeout",
},
{
Target: "PodCreationTimeout",
DefaultValue: 60,
Description: "Seconds to wait before shadow or router pod creation timeout",
},
{
Target: "UseShadowDeployment",
DefaultValue: false,
Description: "Deploy shadow container as deployment",
},
{
Target: "UseLocalTime",
DefaultValue: false,
Description: "Use local time for resource heartbeat timestamp",
},
{
Target: "ForceUpdate",
Alias: "f",
DefaultValue: false,
Description: "Always re-pull the latest shadow and router image",
},
{
Target: "AsWorker",
DefaultValue: false,
Description: "Run as worker process",
Hidden: true,
},
{
Target: "PodQuota",
DefaultValue: "",
Description: "Specify resource limit for shadow and router pod, e.g. '0.5c,512m'",
},
{
Target: "IpVersion",
DefaultValue: 4,
Description: "network type connect local and remote,the value could be '4' or '6'",
},
}
return flags
}