Documentation ¶
Index ¶
- Constants
- Variables
- func CommandWithDefaultUsageTemplate(kpApp *kingpin.Application, name, help string) *kingpin.CmdClause
- func DefineConversionWebhookFlags(cmd *kingpin.CmdClause)
- func DefineDebugFlags(kpApp *kingpin.Application, cmd *kingpin.CmdClause)
- func DefineDebugUnixSocketFlag(cmd *kingpin.CmdClause)
- func DefineJqFlags(cmd *kingpin.CmdClause)
- func DefineKubeClientFlags(cmd *kingpin.CmdClause)
- func DefineLoggingFlags(cmd *kingpin.CmdClause)
- func DefineStartCommandFlags(kpApp *kingpin.Application, cmd *kingpin.CmdClause)
- func DefineValidatingWebhookFlags(cmd *kingpin.CmdClause)
- func OperatorUsageTemplate(appName string) string
- func SetupLogging(runtimeConfig *config.Config)
- type FlagInfo
- type ProxyJsonWrapperFormatter
Constants ¶
View Source
const ( ForcedDurationForDebugLevel = 30 * time.Minute ProxyJsonLogKey = "proxyJsonLog" )
ForcedDurationForDebugLevel - force expiration for debug level.
Variables ¶
View Source
var ( AppName = "shell-operator" AppDescription = "Run your custom cluster-wide scripts in reaction to Kubernetes events or on schedule." AppStartMessage = "shell-operator" )
View Source
var ( HooksDir = "hooks" TempDir = "/tmp/shell-operator" )
View Source
var ( Namespace = "" ListenAddress = "0.0.0.0" ListenPort = "9115" HookMetricsListenPort = "" )
View Source
var ( KubeContext = "" KubeConfig = "" KubeServer = "" )
View Source
var ( KubeClientQpsDefault = "5" // DefaultQPS from k8s.io/client-go/rest/config.go KubeClientQps float32 KubeClientBurstDefault = "10" // DefaultBurst from k8s.io/client-go/rest/config.go KubeClientBurst int )
View Source
var ( ObjectPatcherKubeClientQpsDefault = "5" // DefaultQPS from k8s.io/client-go/rest/config.go ObjectPatcherKubeClientQps float32 ObjectPatcherKubeClientBurstDefault = "10" // DefaultBurst from k8s.io/client-go/rest/config.go ObjectPatcherKubeClientBurst int ObjectPatcherKubeClientTimeoutDefault = "10s" ObjectPatcherKubeClientTimeout time.Duration )
View Source
var ( LogLevel = "info" LogNoTime = false LogType = "text" LogProxyHookJSON = false )
Use info level with timestamps and a text output by default
View Source
var CommonFlagsInfo = map[string]FlagInfo{ "hooks-dir": { "hooks-dir", "A path to a hooks file structure. Can be set with $SHELL_OPERATOR_HOOKS_DIR.", "SHELL_OPERATOR_HOOKS_DIR", true, }, "tmp-dir": { "tmp-dir", "A path to store temporary files with data for hooks. Can be set with $SHELL_OPERATOR_TMP_DIR.", "SHELL_OPERATOR_TMP_DIR", true, }, "listen-address": { "listen-address", "Address to use to serve metrics to Prometheus. Can be set with $SHELL_OPERATOR_LISTEN_ADDRESS.", "SHELL_OPERATOR_LISTEN_ADDRESS", true, }, "listen-port": { "listen-port", "Port to use to serve metrics to Prometheus. Can be set with $SHELL_OPERATOR_LISTEN_PORT.", "SHELL_OPERATOR_LISTEN_PORT", true, }, "prometheus-metrics-prefix": { "prometheus-metrics-prefix", "Prefix for Prometheus metrics. Can be set with $SHELL_OPERATOR_PROMETHEUS_METRICS_PREFIX.", "SHELL_OPERATOR_PROMETHEUS_METRICS_PREFIX", true, }, "hook-metrics-listen-port": { "hook-metrics-listen-port", "Port to use to serve hooks’ custom metrics to Prometheus. Can be set with $SHELL_OPERATOR_HOOK_METRICS_LISTEN_PORT. Equal to listen-port if empty.", "SHELL_OPERATOR_HOOK_METRICS_LISTEN_PORT", true, }, "namespace": { "namespace", "A namespace of a shell-operator. Used to setup validating webhooks. Can be set with $SHELL_OPERATOR_NAMESPACE.", "SHELL_OPERATOR_NAMESPACE", true, }, }
View Source
var ConversionWebhookSettings = &conversion.WebhookSettings{ Settings: server.Settings{ ServerCertPath: "/conversion-certs/tls.crt", ServerKeyPath: "/conversion-certs/tls.key", ClientCAPaths: nil, ServiceName: "shell-operator-conversion-svc", ListenAddr: "0.0.0.0", ListenPort: "9681", }, CAPath: "/conversion-certs/ca.crt", }
View Source
var DebugHttpServerAddr = ""
View Source
var DebugKeepTmpFiles = "no"
View Source
var DebugKubernetesAPI = false
View Source
var DebugUnixSocket = "/var/run/shell-operator/debug.socket"
View Source
var JqLibraryPath = ""
View Source
var PrometheusMetricsPrefix = "shell_operator_"
View Source
var ValidatingWebhookSettings = &admission.WebhookSettings{ Settings: server.Settings{ ServerCertPath: "/validating-certs/tls.crt", ServerKeyPath: "/validating-certs/tls.key", ClientCAPaths: nil, ServiceName: "shell-operator-validating-svc", ListenAddr: "0.0.0.0", ListenPort: "9680", }, CAPath: "/validating-certs/ca.crt", ConfigurationName: "shell-operator-hooks", }
View Source
var Version = "v1.2.0-dev"
Functions ¶
func CommandWithDefaultUsageTemplate ¶
func CommandWithDefaultUsageTemplate(kpApp *kingpin.Application, name, help string) *kingpin.CmdClause
CommandWithDefaultUsageTemplate is used to workaround an absence of per-command usage templates
func DefineConversionWebhookFlags ¶
func DefineConversionWebhookFlags(cmd *kingpin.CmdClause)
DefineConversionWebhookFlags defines flags for ConversionWebhook server.
func DefineDebugFlags ¶
func DefineDebugFlags(kpApp *kingpin.Application, cmd *kingpin.CmdClause)
DefineDebugFlags init global command line flags for debug.
func DefineDebugUnixSocketFlag ¶
func DefineDebugUnixSocketFlag(cmd *kingpin.CmdClause)
func DefineJqFlags ¶
func DefineJqFlags(cmd *kingpin.CmdClause)
DefineJqFlags set flag for jq library
func DefineKubeClientFlags ¶
func DefineKubeClientFlags(cmd *kingpin.CmdClause)
func DefineLoggingFlags ¶
func DefineLoggingFlags(cmd *kingpin.CmdClause)
DefineLoggingFlags defines flags for logger settings.
func DefineStartCommandFlags ¶
func DefineStartCommandFlags(kpApp *kingpin.Application, cmd *kingpin.CmdClause)
DefineStartCommandFlags set shell-operator flags for cmd
func DefineValidatingWebhookFlags ¶
func DefineValidatingWebhookFlags(cmd *kingpin.CmdClause)
DefineValidatingWebhookFlags defines flags for ValidatingWebhook server.
func OperatorUsageTemplate ¶
func SetupLogging ¶
SetupLogging sets logger formatter and level.
Types ¶
Click to show internal directories.
Click to hide internal directories.