Documentation ¶
Overview ¶
Package v1alpha1 implements the v1alpha1 apiVersion of kwok's configuration
Index ¶
- Constants
- Variables
- func RegisterDefaults(scheme *runtime.Scheme) error
- func SetObjectDefaults_KwokConfiguration(in *KwokConfiguration)
- func SetObjectDefaults_KwokctlConfiguration(in *KwokctlConfiguration)
- type Component
- type ComponentPatches
- type Env
- type ExtraArgs
- type HostPathType
- type KwokConfiguration
- type KwokConfigurationOptions
- type KwokctlConfiguration
- type KwokctlConfigurationOptions
- type KwokctlConfigurationStatus
- type KwokctlResource
- type Port
- type Protocol
- type Volume
Constants ¶
const ( // KwokctlConfigurationKind is the kind of the kwokctl configuration. KwokctlConfigurationKind = "KwokctlConfiguration" // ModeStableFeatureGateAndAPI is intended to reduce cluster configuration requirements // Disables all Alpha feature by default, as well as Beta feature that are not eventually GA ModeStableFeatureGateAndAPI = "StableFeatureGateAndAPI" )
const (
// KwokConfigurationKind is the kind of the KwokConfiguration.
KwokConfigurationKind = "KwokConfiguration"
)
const (
// KwokctlResourceKind is the kind of the kwokctl resource.
KwokctlResourceKind = "KwokctlResource"
)
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{ Group: "config.kwok.x-k8s.io", Version: "v1alpha1", } )
Functions ¶
func RegisterDefaults ¶
RegisterDefaults adds defaulters functions to the given scheme. Public to allow building arbitrary schemes. All generated defaulters are covering - they call all nested defaulters.
func SetObjectDefaults_KwokConfiguration ¶
func SetObjectDefaults_KwokConfiguration(in *KwokConfiguration)
func SetObjectDefaults_KwokctlConfiguration ¶
func SetObjectDefaults_KwokctlConfiguration(in *KwokctlConfiguration)
Types ¶
type Component ¶
type Component struct { // Name of the component specified as a DNS_LABEL. // Each component must have a unique name (DNS_LABEL). // Cannot be updated. Name string `json:"name"` // Links is a set of links for the component. // +optional Links []string `json:"links,omitempty"` // Binary is the binary of the component. // +optional Binary string `json:"binary,omitempty"` // Image is the image of the component. // +optional Image string `json:"image,omitempty"` // Command is Entrypoint array. Not executed within a shell. Only works with Image. // +optional Command []string `json:"command,omitempty"` // User is the user for the component. // +optional User string `json:"user,omitempty"` // Args is Arguments to the entrypoint. // +optional Args []string `json:"args,omitempty"` // WorkDir is component's working directory. // +optional WorkDir string `json:"workDir,omitempty"` // Ports is list of ports to expose from the component. // +optional Ports []Port `json:"ports,omitempty"` // Envs is list of environment variables to set in the component. // +optional Envs []Env `json:"envs,omitempty"` // Volumes is a list of named volumes that can be mounted by containers belonging to the component. // +optional Volumes []Volume `json:"volumes,omitempty"` // Version is the version of the component. // +optional Version string `json:"version,omitempty"` }
Component is a component of the cluster.
func (*Component) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Component.
func (*Component) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ComponentPatches ¶
type ComponentPatches struct { // Name is the name of the component. Name string `json:"name"` // ExtraArgs is the extra args to be patched on the component. ExtraArgs []ExtraArgs `json:"extraArgs,omitempty"` // ExtraVolumes is the extra volumes to be patched on the component. ExtraVolumes []Volume `json:"extraVolumes,omitempty"` // ExtraEnvs is the extra environment variables to be patched on the component. ExtraEnvs []Env `json:"extraEnvs,omitempty"` }
ComponentPatches holds information about the component patches.
func (*ComponentPatches) DeepCopy ¶
func (in *ComponentPatches) DeepCopy() *ComponentPatches
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentPatches.
func (*ComponentPatches) DeepCopyInto ¶
func (in *ComponentPatches) DeepCopyInto(out *ComponentPatches)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Env ¶
type Env struct { // Name of the environment variable. Name string `json:"name"` // Value is using the previously defined environment variables in the component. // +optional // +default="" Value string `json:"value,omitempty"` }
Env represents an environment variable present in a Container.
func (*Env) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Env.
func (*Env) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExtraArgs ¶
type ExtraArgs struct { // Key is the key of the extra args. Key string `json:"key"` // Value is the value of the extra args. Value string `json:"value"` }
ExtraArgs holds information about the extra args.
func (*ExtraArgs) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExtraArgs.
func (*ExtraArgs) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HostPathType ¶
type HostPathType string
HostPathType represents the type of storage used for HostPath volumes. +enum
const ( // For backwards compatible, leave it empty if unset HostPathUnset HostPathType = "" // If nothing exists at the given path, an empty directory will be created there // as needed with file mode 0755, having the same group and ownership with Kubelet. HostPathDirectoryOrCreate HostPathType = "DirectoryOrCreate" // A directory must exist at the given path HostPathDirectory HostPathType = "Directory" // If nothing exists at the given path, an empty file will be created there // as needed with file mode 0644, having the same group and ownership with Kubelet. HostPathFileOrCreate HostPathType = "FileOrCreate" // A file must exist at the given path HostPathFile HostPathType = "File" // A UNIX socket must exist at the given path HostPathSocket HostPathType = "Socket" // A character device must exist at the given path HostPathCharDev HostPathType = "CharDevice" // A block device must exist at the given path HostPathBlockDev HostPathType = "BlockDevice" )
Constants for HostPathType.
type KwokConfiguration ¶
type KwokConfiguration struct { //+k8s:conversion-gen=false metav1.TypeMeta `json:",inline"` // Standard list metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ObjectMeta `json:"metadata,omitempty"` // Options holds information about the default value. Options KwokConfigurationOptions `json:"options,omitempty"` }
KwokConfiguration provides configuration for the Kwok.
func (*KwokConfiguration) DeepCopy ¶
func (in *KwokConfiguration) DeepCopy() *KwokConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KwokConfiguration.
func (*KwokConfiguration) DeepCopyInto ¶
func (in *KwokConfiguration) DeepCopyInto(out *KwokConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KwokConfiguration) DeepCopyObject ¶
func (in *KwokConfiguration) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type KwokConfigurationOptions ¶
type KwokConfigurationOptions struct { // EnableCRDs is a list of CRDs to enable. // Once listed in this field, it will no longer be supported by the --config flag. EnableCRDs []string `json:"enableCRDs,omitempty"` // The default IP assigned to the Pod on maintained Nodes. // is the default value for flag --cidr // +default="10.0.0.1/24" CIDR string `json:"cidr,omitempty"` // The ip of all nodes maintained by the Kwok // is the default value for flag --node-ip NodeIP string `json:"nodeIP,omitempty"` // The name of all nodes maintained by the Kwok // is the default value for flag --node-name NodeName string `json:"nodeName,omitempty"` // The port of all nodes maintained by the Kwok // is the default value for flag --node-port NodePort int `json:"nodePort,omitempty"` // TLSCertFile is the file containing x509 Certificate for HTTPS. // If HTTPS serving is enabled, and --tls-cert-file and --tls-private-key-file // is the default value for flag --tls-cert-file TLSCertFile string `json:"tlsCertFile,omitempty"` // TLSPrivateKeyFile is the ile containing x509 private key matching --tls-cert-file. // is the default value for flag --tls-private-key-file TLSPrivateKeyFile string `json:"tlsPrivateKeyFile,omitempty"` // ManageSingleNode is the option to manage a single node name. // is the default value for flag --manage-single-node // Note: when `manage-all-nodes` is specified as true or // `manage-nodes-with-label-selector` or `manage-nodes-with-annotation-selector` is specified, // this is a no-op. ManageSingleNode string `json:"manageSingleNode,omitempty"` // Default option to manage (i.e., maintain heartbeat/liveness of) all Nodes or not. // is the default value for flag --manage-all-nodes // Note: when `manage-single-node` is specified as true or // `manage-nodes-with-label-selector` or `manage-nodes-with-annotation-selector` is specified, // this is a no-op. // +default=false ManageAllNodes *bool `json:"manageAllNodes,omitempty"` // Default annotations specified on Nodes to demand manage. // is the default value for flag --manage-nodes-with-annotation-selector // Note: when `all-node-manage` is specified as true or // `manage-single-node` is specified, // this is a no-op. ManageNodesWithAnnotationSelector string `json:"manageNodesWithAnnotationSelector,omitempty"` // Default labels specified on Nodes to demand manage. // is the default value for flag --manage-nodes-with-label-selector // Note: when `all-node-manage` is specified as true or // `manage-single-node` is specified, // this is a no-op. ManageNodesWithLabelSelector string `json:"manageNodesWithLabelSelector,omitempty"` // If a Node/Pod is on a managed Node and has this annotation status will not be modified // is the default value for flag --disregard-status-with-annotation-selector DisregardStatusWithAnnotationSelector string `json:"disregardStatusWithAnnotationSelector,omitempty"` // If a Node/Pod is on a managed Node and has this label status will not be modified // is the default value for flag --disregard-status-with-label-selector DisregardStatusWithLabelSelector string `json:"disregardStatusWithLabelSelector,omitempty"` // ServerAddress is server address of the Kwok. // is the default value for flag --server-address ServerAddress string `json:"serverAddress,omitempty"` // Experimental support for getting pod ip from CNI, for CNI-related components, Only works with Linux. // is the default value for flag --experimental-enable-cni // +default=false EnableCNI *bool `json:"experimentalEnableCNI,omitempty"` // enableDebuggingHandlers enables server endpoints for log collection // and local running of containers and commands // +default=true EnableDebuggingHandlers *bool `json:"enableDebuggingHandlers,omitempty"` // enableContentionProfiling enables lock contention profiling, if enableDebuggingHandlers is true. // +default=false EnableContentionProfiling *bool `json:"enableContentionProfiling,omitempty"` // EnableProfiling enables /debug/pprof handler, if enableDebuggingHandlers is true. // +default=true EnableProfilingHandler *bool `json:"enableProfilingHandler,omitempty"` // PodPlayStageParallelism is the number of PodPlayStages that are allowed to run in parallel. // +default=4 PodPlayStageParallelism uint `json:"podPlayStageParallelism,omitempty"` // NodePlayStageParallelism is the number of NodePlayStages that are allowed to run in parallel. // +default=4 NodePlayStageParallelism uint `json:"nodePlayStageParallelism,omitempty"` // NodeLeaseDurationSeconds is the duration the Kubelet will set on its corresponding Lease. NodeLeaseDurationSeconds uint `json:"nodeLeaseDurationSeconds,omitempty"` // NodeLeaseParallelism is the number of NodeLeases that are allowed to be processed in parallel. // +default=4 NodeLeaseParallelism uint `json:"nodeLeaseParallelism,omitempty"` }
KwokConfigurationOptions holds information about the options.
func (*KwokConfigurationOptions) DeepCopy ¶
func (in *KwokConfigurationOptions) DeepCopy() *KwokConfigurationOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KwokConfigurationOptions.
func (*KwokConfigurationOptions) DeepCopyInto ¶
func (in *KwokConfigurationOptions) DeepCopyInto(out *KwokConfigurationOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KwokctlConfiguration ¶
type KwokctlConfiguration struct { //+k8s:conversion-gen=false metav1.TypeMeta `json:",inline"` // Standard list metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ObjectMeta `json:"metadata,omitempty"` // Options holds information about the default value. Options KwokctlConfigurationOptions `json:"options,omitempty"` // Components holds information about the components. Components []Component `json:"components,omitempty" patchStrategy:"merge" patchMergeKey:"name"` // ComponentsPatches holds information about the components patches. ComponentsPatches []ComponentPatches `json:"componentsPatches,omitempty" patchStrategy:"merge" patchMergeKey:"name"` // Status holds information about the status. Status KwokctlConfigurationStatus `json:"status,omitempty"` }
KwokctlConfiguration provides configuration for the Kwokctl.
func (*KwokctlConfiguration) DeepCopy ¶
func (in *KwokctlConfiguration) DeepCopy() *KwokctlConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KwokctlConfiguration.
func (*KwokctlConfiguration) DeepCopyInto ¶
func (in *KwokctlConfiguration) DeepCopyInto(out *KwokctlConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KwokctlConfiguration) DeepCopyObject ¶
func (in *KwokctlConfiguration) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type KwokctlConfigurationOptions ¶
type KwokctlConfigurationOptions struct { // EnableCRDs is a list of CRDs to enable. // Once listed in this field, it will no longer be supported by the --config flag. EnableCRDs []string `json:"enableCRDs,omitempty"` // KubeApiserverPort is the port to expose apiserver. // is the default value for flag --kube-apiserver-port and env KWOK_KUBE_APISERVER_PORT KubeApiserverPort uint32 `json:"kubeApiserverPort,omitempty"` // Runtime is the runtime to use. // is the default value for flag --runtime and env KWOK_RUNTIME Runtime string `json:"runtime,omitempty"` // Runtimes is a list of alternate runtimes. When Runtime is empty, // the availability of the runtimes in the list is checked one by one // and set to Runtime Runtimes []string `json:"runtimes,omitempty"` // PrometheusPort is the port to expose Prometheus metrics. // is the default value for flag --prometheus-port and env KWOK_PROMETHEUS_PORT PrometheusPort uint32 `json:"prometheusPort,omitempty"` // JaegerPort is the port to expose Jaeger UI. // is the default value for flag --jaeger-port and env KWOK_JAEGER_PORT JaegerPort uint32 `json:"jaegerPort,omitempty"` // JaegerOtlpGrpcPort is the port to expose OTLP GRPC collector. JaegerOtlpGrpcPort uint32 `json:"jaegerOtlpGrpcPort,omitempty"` // KwokVersion is the version of Kwok to use. // is the default value for env KWOK_VERSION KwokVersion string `json:"kwokVersion,omitempty"` // KubeVersion is the version of Kubernetes to use. // is the default value for env KWOK_KUBE_VERSION KubeVersion string `json:"kubeVersion,omitempty"` // EtcdVersion is the version of Etcd to use. // is the default value for env KWOK_ETCD_VERSION EtcdVersion string `json:"etcdVersion,omitempty"` // DashboardVersion is the version of Kubernetes dashboard to use. DashboardVersion string `json:"dashboardVersion,omitempty"` // PrometheusVersion is the version of Prometheus to use. // is the default value for env KWOK_PROMETHEUS_VERSION PrometheusVersion string `json:"prometheusVersion,omitempty"` // JaegerVersion is the version of Jaeger to use. // is the default value for env KWOK_JAEGER_VERSION JaegerVersion string `json:"jaegerVersion,omitempty"` // DockerComposeVersion is the version of docker-compose to use. // is the default value for env KWOK_DOCKER_COMPOSE_VERSION // Deprecated: docker compose will be removed in a future release DockerComposeVersion string `json:"dockerComposeVersion,omitempty"` // KindVersion is the version of kind to use. // is the default value for env KWOK_KIND_VERSION KindVersion string `json:"kindVersion,omitempty"` // SecurePort is the apiserver port on which to serve HTTPS with authentication and authorization. // is not available before Kubernetes 1.13.0 // is the default value for flag --secure-port and env KWOK_SECURE_PORT SecurePort *bool `json:"securePort,omitempty"` // QuietPull is the flag to quiet the pull. // is the default value for flag --quiet-pull and env KWOK_QUIET_PULL // +default=false QuietPull *bool `json:"quietPull,omitempty"` // KubeSchedulerConfig is the configuration path for kube-scheduler. // is the default value for flag --kube-scheduler-config and env KWOK_KUBE_SCHEDULER_CONFIG KubeSchedulerConfig string `json:"kubeSchedulerConfig,omitempty"` // DisableKubeScheduler is the flag to disable kube-scheduler. // is the default value for flag --disable-kube-scheduler and env KWOK_DISABLE_KUBE_SCHEDULER // +default=false DisableKubeScheduler *bool `json:"disableKubeScheduler,omitempty"` // DisableKubeControllerManager is the flag to disable kube-controller-manager. // is the default value for flag --disable-kube-controller-manager and env KWOK_DISABLE_KUBE_CONTROLLER_MANAGER // +default=false DisableKubeControllerManager *bool `json:"disableKubeControllerManager,omitempty"` // KubeImagePrefix is the prefix of the kubernetes image. // is the default value for env KWOK_KUBE_IMAGE_PREFIX //+k8s:conversion-gen=false KubeImagePrefix string `json:"kubeImagePrefix,omitempty"` // EtcdImagePrefix is the prefix of the etcd image. // is the default value for env KWOK_ETCD_IMAGE_PREFIX //+k8s:conversion-gen=false EtcdImagePrefix string `json:"etcdImagePrefix,omitempty"` // KwokImagePrefix is the prefix of the kwok image. // is the default value for env KWOK_IMAGE_PREFIX //+k8s:conversion-gen=false KwokImagePrefix string `json:"kwokImagePrefix,omitempty"` // DashboardImagePrefix is the prefix of the dashboard image. //+k8s:conversion-gen=false DashboardImagePrefix string `json:"dashboardImagePrefix,omitempty"` // PrometheusImagePrefix is the prefix of the Prometheus image. // is the default value for env KWOK_PROMETHEUS_IMAGE_PREFIX //+k8s:conversion-gen=false PrometheusImagePrefix string `json:"prometheusImagePrefix,omitempty"` // JaegerImagePrefix is the prefix of the Jaeger image. // is the default value for env KWOK_JAEGER_IMAGE_PREFIX //+k8s:conversion-gen=false JaegerImagePrefix string `json:"jaegerImagePrefix,omitempty"` // EtcdImage is the image of etcd. // is the default value for flag --etcd-image and env KWOK_ETCD_IMAGE EtcdImage string `json:"etcdImage,omitempty"` // KubeApiserverImage is the image of kube-apiserver. // is the default value for flag --kube-apiserver-image and env KWOK_KUBE_APISERVER_IMAGE KubeApiserverImage string `json:"kubeApiserverImage,omitempty"` // KubeControllerManagerImage is the image of kube-controller-manager. // is the default value for flag --kube-controller-manager-image and env KWOK_KUBE_CONTROLLER_MANAGER_IMAGE KubeControllerManagerImage string `json:"kubeControllerManagerImage,omitempty"` // KubeSchedulerImage is the image of kube-scheduler. // is the default value for flag --kube-scheduler-image and env KWOK_KUBE_SCHEDULER_IMAGE KubeSchedulerImage string `json:"kubeSchedulerImage,omitempty"` // KwokControllerImage is the image of Kwok. // is the default value for flag --controller-image and env KWOK_CONTROLLER_IMAGE KwokControllerImage string `json:"kwokControllerImage,omitempty"` // DashboardImage is the image of dashboard. DashboardImage string `json:"dashboardImage,omitempty"` // PrometheusImage is the image of Prometheus. // is the default value for flag --prometheus-image and env KWOK_PROMETHEUS_IMAGE PrometheusImage string `json:"prometheusImage,omitempty"` // JaegerImage is the image of Jaeger. // is the default value for flag --jaeger-image and env KWOK_JAEGER_IMAGE JaegerImage string `json:"jaegerImage,omitempty"` // KindNodeImagePrefix is the prefix of the kind node image. // is the default value for env KWOK_KIND_NODE_IMAGE_PREFIX //+k8s:conversion-gen=false KindNodeImagePrefix string `json:"kindNodeImagePrefix,omitempty"` // KindNodeImage is the image of kind node. // is the default value for flag --kind-node-image and env KWOK_KIND_NODE_IMAGE KindNodeImage string `json:"kindNodeImage,omitempty"` // BinSuffix is the suffix of the all binary. // On Windows is .exe BinSuffix string `json:"binSuffix,omitempty"` // KubeBinaryPrefix is the prefix of the kubernetes binary. // is the default value for env KWOK_KUBE_BINARY_PREFIX //+k8s:conversion-gen=false KubeBinaryPrefix string `json:"kubeBinaryPrefix,omitempty"` // KubeApiserverBinary is the binary of kube-apiserver. // is the default value for flag --apiserver-binary and env KWOK_KUBE_APISERVER_BINARY KubeApiserverBinary string `json:"kubeApiserverBinary,omitempty"` // KubeControllerManagerBinary is the binary of kube-controller-manager. // is the default value for flag --controller-manager-binary and env KWOK_KUBE_CONTROLLER_MANAGER_BINARY KubeControllerManagerBinary string `json:"kubeControllerManagerBinary,omitempty"` // KubeSchedulerBinary is the binary of kube-scheduler. // is the default value for flag --scheduler-binary and env KWOK_KUBE_SCHEDULER_BINARY KubeSchedulerBinary string `json:"kubeSchedulerBinary,omitempty"` // KubectlBinary is the binary of kubectl. // is the default value for env KWOK_KUBECTL_BINARY KubectlBinary string `json:"kubectlBinary,omitempty"` // EtcdBinaryPrefix is the prefix of the etcd binary. // is the default value for env KWOK_ETCD_BINARY_PREFIX //+k8s:conversion-gen=false EtcdBinaryPrefix string `json:"etcdBinaryPrefix,omitempty"` // EtcdBinary is the binary of etcd. // is the default value for flag --etcd-binary and env KWOK_ETCD_BINARY EtcdBinary string `json:"etcdBinary,omitempty"` // EtcdBinaryTar is the tar of the binary of etcd. // is the default value for env KWOK_ETCD_BINARY_TAR EtcdBinaryTar string `json:"etcdBinaryTar,omitempty"` // KwokBinaryPrefix is the prefix of the kwok binary. // is the default value for env KWOK_BINARY_PREFIX //+k8s:conversion-gen=false KwokBinaryPrefix string `json:"kwokBinaryPrefix,omitempty"` // KwokControllerBinary is the binary of kwok. // is the default value for flag --controller-binary and env KWOK_CONTROLLER_BINARY KwokControllerBinary string `json:"kwokControllerBinary,omitempty"` // PrometheusBinaryPrefix is the prefix of the Prometheus binary. // is the default value for env KWOK_PROMETHEUS_PREFIX //+k8s:conversion-gen=false PrometheusBinaryPrefix string `json:"prometheusBinaryPrefix,omitempty"` // PrometheusBinary is the binary of Prometheus. // is the default value for flag --prometheus-binary and env KWOK_PROMETHEUS_BINARY PrometheusBinary string `json:"prometheusBinary,omitempty"` // PrometheusBinaryTar is the tar of binary of Prometheus. // is the default value for env KWOK_PROMETHEUS_BINARY_TAR PrometheusBinaryTar string `json:"prometheusBinaryTar,omitempty"` // JaegerBinaryPrefix is the prefix of the Jaeger binary. // is the default value for env KWOK_JAEGER_PREFIX //+k8s:conversion-gen=false JaegerBinaryPrefix string `json:"jaegerBinaryPrefix,omitempty"` // JaegerBinary is the binary of Jaeger. // is the default value for flag --jaeger-binary and env KWOK_JAEGER_BINARY JaegerBinary string `json:"jaegerBinary,omitempty"` // JaegerBinaryTar is the tar of binary of Jaeger. // is the default value for env KWOK_JAEGER_TAR JaegerBinaryTar string `json:"jaegerBinaryTar,omitempty"` // DockerComposeBinaryPrefix is the binary of docker-compose. // is the default value for env KWOK_DOCKER_COMPOSE_BINARY_PREFIX // Deprecated: docker compose will be removed in a future release //+k8s:conversion-gen=false DockerComposeBinaryPrefix string `json:"dockerComposeBinaryPrefix,omitempty"` // DockerComposeBinary is the binary of Docker compose. // is the default value for flag --docker-compose-binary and env KWOK_DOCKER_COMPOSE_BINARY // Deprecated: docker compose will be removed in a future release DockerComposeBinary string `json:"dockerComposeBinary,omitempty"` // KindBinaryPrefix is the binary prefix of kind. // is the default value for env KWOK_KIND_BINARY_PREFIX //+k8s:conversion-gen=false KindBinaryPrefix string `json:"kindBinaryPrefix,omitempty"` // KindBinary is the binary of kind. // is the default value for flag --kind-binary and env KWOK_KIND_BINARY KindBinary string `json:"kindBinary,omitempty"` // Mode is several default parameter templates for clusters // is the default value for env KWOK_MODE Mode string `json:"mode,omitempty"` // KubeFeatureGates is a set of key=value pairs that describe feature gates for alpha/experimental features of Kubernetes. // is the default value for flag --kube-feature-gates and env KWOK_KUBE_FEATURE_DATES KubeFeatureGates string `json:"kubeFeatureGates,omitempty"` // KubeRuntimeConfig is a set of key=value pairs that enable or disable built-in APIs. // is the default value for flag --kube-runtime-config and env KWOK_KUBE_RUNTIME_CONFIG KubeRuntimeConfig string `json:"kubeRuntimeConfig,omitempty"` // KubeAuditPolicy is path to the file that defines the audit policy configuration // is the default value for flag --kube-audit-policy and env KWOK_KUBE_AUDIT_POLICY KubeAuditPolicy string `json:"kubeAuditPolicy,omitempty"` // KubeAuthorization is the flag to enable authorization on secure port. // is the default value for flag --kube-authorization and env KWOK_KUBE_AUTHORIZATION KubeAuthorization *bool `json:"kubeAuthorization,omitempty"` // KubeAdmission is the flag to enable admission for kube-apiserver. // is the default value for flag --kube-admission and env KWOK_KUBE_ADMISSION KubeAdmission *bool `json:"kubeAdmission,omitempty"` // EtcdPeerPort is etcd peer port in the binary runtime EtcdPeerPort uint32 `json:"etcdPeerPort,omitempty"` // EtcdPort is etcd port in the binary runtime EtcdPort uint32 `json:"etcdPort,omitempty"` // KubeControllerManagerPort is kube-controller-manager port in the binary runtime KubeControllerManagerPort uint32 `json:"kubeControllerManagerPort,omitempty"` // KubeSchedulerPort is kube-scheduler port in the binary runtime KubeSchedulerPort uint32 `json:"kubeSchedulerPort,omitempty"` // DashboardPort is dashboard port in the binary runtime DashboardPort uint32 `json:"dashboardPort,omitempty"` // KwokControllerPort is kwok-controller port that is exposed to the host. // is the default value for flag --controller-port and env KWOK_CONTROLLER_PORT KwokControllerPort uint32 `json:"kwokControllerPort,omitempty"` // CacheDir is the directory of the cache. CacheDir string `json:"cacheDir,omitempty"` // KubeControllerManagerNodeMonitorPeriodMilliseconds is --node-monitor-period for kube-controller-manager. // +default=600000 KubeControllerManagerNodeMonitorPeriodMilliseconds int64 `json:"kubeControllerManagerNodeMonitorPeriodMilliseconds,omitempty"` // KubeControllerManagerNodeMonitorGracePeriodMilliseconds is --node-monitor-grace-period for kube-controller-manager. // +default=3600000 KubeControllerManagerNodeMonitorGracePeriodMilliseconds int64 `json:"kubeControllerManagerNodeMonitorGracePeriodMilliseconds,omitempty"` // NodeStatusUpdateFrequencyMilliseconds is --node-status-update-frequency for kwok like kubelet. // +default=1200000 NodeStatusUpdateFrequencyMilliseconds int64 `json:"nodeStatusUpdateFrequencyMilliseconds,omitempty"` // NodeLeaseDurationSeconds is the duration the Kubelet will set on its corresponding Lease. // +default=1200 NodeLeaseDurationSeconds uint `json:"nodeLeaseDurationSeconds,omitempty"` // BindAddress is the address to bind to. // +default="0.0.0.0" BindAddress string `json:"bindAddress,omitempty"` // KubeApiserverCertSANs sets extra Subject Alternative Names for the API Server signing cert. KubeApiserverCertSANs []string `json:"kubeApiserverCertSANs,omitempty"` // DisableQPSLimits specifies whether to disable QPS limits for components. // +default=false DisableQPSLimits *bool `json:"disableQPSLimits,omitempty"` }
KwokctlConfigurationOptions holds information about the options.
func (*KwokctlConfigurationOptions) DeepCopy ¶
func (in *KwokctlConfigurationOptions) DeepCopy() *KwokctlConfigurationOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KwokctlConfigurationOptions.
func (*KwokctlConfigurationOptions) DeepCopyInto ¶
func (in *KwokctlConfigurationOptions) DeepCopyInto(out *KwokctlConfigurationOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KwokctlConfigurationStatus ¶ added in v0.3.0
type KwokctlConfigurationStatus struct { // Version is the version of the kwokctl. Version string `json:"version,omitempty"` }
KwokctlConfigurationStatus holds information about the status.
func (*KwokctlConfigurationStatus) DeepCopy ¶ added in v0.3.0
func (in *KwokctlConfigurationStatus) DeepCopy() *KwokctlConfigurationStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KwokctlConfigurationStatus.
func (*KwokctlConfigurationStatus) DeepCopyInto ¶ added in v0.3.0
func (in *KwokctlConfigurationStatus) DeepCopyInto(out *KwokctlConfigurationStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KwokctlResource ¶ added in v0.4.0
type KwokctlResource struct { //+k8s:conversion-gen=false metav1.TypeMeta `json:",inline"` // Standard list metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ObjectMeta `json:"metadata,omitempty"` // Parameters is the parameters for the kwokctl resource configuration. Parameters json.RawMessage `json:"parameters,omitempty"` // Template is the template for the kwokctl resource configuration. Template string `json:"template,omitempty"` }
KwokctlResource provides resource definition for kwokctl.
func (*KwokctlResource) DeepCopy ¶ added in v0.4.0
func (in *KwokctlResource) DeepCopy() *KwokctlResource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KwokctlResource.
func (*KwokctlResource) DeepCopyInto ¶ added in v0.4.0
func (in *KwokctlResource) DeepCopyInto(out *KwokctlResource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KwokctlResource) DeepCopyObject ¶ added in v0.4.0
func (in *KwokctlResource) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type Port ¶
type Port struct { // Name for the port that can be referred to by components. // +optional Name string `json:"name,omitempty"` // Port is number of port to expose on the component's IP address. // This must be a valid port number, 0 < x < 65536. Port uint32 `json:"port"` // HostPort is number of port to expose on the host. // If specified, this must be a valid port number, 0 < x < 65536. // +optional HostPort uint32 `json:"hostPort,omitempty"` // Protocol for port. Must be UDP, TCP, or SCTP. // +optional // +default="TCP" Protocol Protocol `json:"protocol,omitempty"` }
Port represents a network port in a single component.
func (*Port) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Port.
func (*Port) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Protocol ¶
type Protocol string
Protocol defines network protocols supported for things like component ports. +enum
type Volume ¶
type Volume struct { // Name of the volume specified. // +optional Name string `json:"name,omitempty"` // Mounted read-only if true, read-write otherwise. // +optional ReadOnly *bool `json:"readOnly,omitempty"` // HostPath represents a pre-existing file or directory on the host machine that is directly exposed to the container. HostPath string `json:"hostPath,omitempty"` // MountPath within the container at which the volume should be mounted. MountPath string `json:"mountPath,omitempty"` // PathType is the type of the HostPath. PathType HostPathType `json:"pathType,omitempty"` }
Volume represents a volume that is accessible to the containers running in a component.
func (*Volume) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Volume.
func (*Volume) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.