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 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 Registerer, logger *log.Logger)
- type FlagInfo
- type Registerer
Constants ¶
const ( KubeClientQpsDefault = "5" // DefaultQPS from k8s.io/client-go/rest/config.go KubeClientBurstDefault = "10" // DefaultBurst from k8s.io/client-go/rest/config.go )
const ( ObjectPatcherKubeClientQpsDefault = "5" // DefaultQPS from k8s.io/client-go/rest/config.go ObjectPatcherKubeClientBurstDefault = "10" // DefaultBurst from k8s.io/client-go/rest/config.go ObjectPatcherKubeClientTimeoutDefault = "10s" )
const ( ForcedDurationForDebugLevel = 30 * time.Minute ProxyJsonLogKey = "proxyJsonLog" )
ForcedDurationForDebugLevel - force expiration for debug level.
const ( ValidatingServerCertPathDefault = "/validating-certs/tls.crt" ValidatingServerKeyPathDefault = "/validating-certs/tls.key" ValidatingServiceNameDefault = "shell-operator-validating-svc" ValidatingListenAddrDefault = "0.0.0.0" ValidatingListenPortDefault = "9680" ValidatingCAPathDefault = "/validating-certs/ca.crt" ValidatingConfigurationNameDefault = "shell-operator-hooks" ValidatingFailurePolicyTypeDefault = "Fail" )
Default values for validating webhook configuration
const ( ConversionServerCertPathDefault = "/conversion-certs/tls.crt" ConversionServerKeyPathDefault = "/conversion-certs/tls.key" ConversionServiceNameDefault = "shell-operator-conversion-svc" ConversionListenAddrDefault = "0.0.0.0" ConversionListenPortDefault = "9681" ConversionCAPathDefault = "/conversion-certs/ca.crt" )
Default values for conversion webhook configuration
Variables ¶
var ( AppName = "shell-operator" AppDescription = "Run your custom cluster-wide scripts in reaction to Kubernetes events or on schedule." AppStartMessage = "shell-operator" )
var ( HooksDir = "hooks" TempDir = "/tmp/shell-operator" )
var ( Namespace = "" ListenAddress = "0.0.0.0" ListenPort = "9115" )
var ( KubeContext = "" KubeConfig = "" KubeServer = "" KubeClientFieldManager = "" )
var ( KubeClientQps float32 KubeClientBurst int )
var ( ObjectPatcherKubeClientQps float32 ObjectPatcherKubeClientBurst int ObjectPatcherKubeClientTimeout time.Duration )
var ( LogLevel = "info" LogNoTime = false LogType = "text" LogProxyHookJSON = false )
Use info level with timestamps and a text output by default
var ( ValidatingWebhookConfigurationName string ValidatingWebhookServiceName string ValidatingWebhookServerCert string ValidatingWebhookServerKey string ValidatingWebhookCA string ValidatingWebhookClientCA []string ValidatingWebhookFailurePolicy string ValidatingWebhookListenPort string ValidatingWebhookListenAddress string )
Validating webhook flag variables - exported so they can be used after parsing
var ( ConversionWebhookServiceName string ConversionWebhookServerCert string ConversionWebhookServerKey string ConversionWebhookCA string ConversionWebhookClientCA []string ConversionWebhookListenPort string ConversionWebhookListenAddress string )
Conversion webhook flag variables - exported so they can be used after parsing
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",
},
"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",
},
"listen-address": {
"listen-address",
"Address to use to serve metrics to Prometheus. Can be set with $SHELL_OPERATOR_LISTEN_ADDRESS.",
"SHELL_OPERATOR_LISTEN_ADDRESS",
},
"listen-port": {
"listen-port",
"Port to use to serve metrics to Prometheus. Can be set with $SHELL_OPERATOR_LISTEN_PORT.",
"SHELL_OPERATOR_LISTEN_PORT",
},
"prometheus-metrics-prefix": {
"prometheus-metrics-prefix",
"Prefix for Prometheus metrics. Can be set with $SHELL_OPERATOR_PROMETHEUS_METRICS_PREFIX.",
"SHELL_OPERATOR_PROMETHEUS_METRICS_PREFIX",
},
"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",
},
"namespace": {
"namespace",
"A namespace of a shell-operator. Used to setup validating webhooks. Can be set with $SHELL_OPERATOR_NAMESPACE.",
"SHELL_OPERATOR_NAMESPACE",
},
}
var DebugHttpServerAddr = ""
var DebugKeepTmpFiles = false
var DebugKubernetesAPI = false
var DebugUnixSocket = "/var/run/shell-operator/debug.socket"
var PrometheusMetricsPrefix = "shell_operator_"
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 ¶
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 DefineKubeClientFlags ¶
func DefineLoggingFlags ¶
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 ¶
DefineValidatingWebhookFlags defines flags for ValidatingWebhook server.
func OperatorUsageTemplate ¶
func SetupLogging ¶
func SetupLogging(runtimeConfig Registerer, logger *log.Logger)
SetupLogging sets logger formatter and level.