Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the k3s v1alpha1 API group +kubebuilder:object:generate=true +groupName=k3s.bbox.kiev.ua
Index ¶
- Constants
- Variables
- func Find(slice []string, val string) (string, bool)
- type AddonOptions
- type Addons
- type AgentOpts
- type Backup
- type BastionNode
- type CertManager
- type Cluster
- func (in *Cluster) DeepCopy() *Cluster
- func (in *Cluster) DeepCopyInto(out *Cluster)
- func (in *Cluster) DeepCopyObject() runtime.Object
- func (r *Cluster) GetAPIServerAddress(node *Node, vpc *Networking) (apiServerAddres string, err error)
- func (r *Cluster) GetAPIServerUrl(masters []ContrelPlanNodes, vpc *Networking, isExternal bool) (apiServerUrl string, err error)
- func (r *Cluster) GetBastion(name string, node *Node) (bastion *BastionNode, err error)
- func (r *Cluster) GetDatastore(dbPassword string) (string, error)
- func (r *Cluster) GetNodeAddress(node *Node, valType string) (string, bool)
- func (r *Cluster) GetNodeLabels(node *Node) (cnt int)
- func (r *Cluster) GetProvider() string
- func (r *Cluster) GetTlsSan(node *Node, vpc *Networking) (tlsSAN []string)
- func (r *Cluster) GetUser(name string) User
- type ClusterList
- type ClusterNode
- type ClusterSpec
- type ClusterStatus
- type ContrelPlanNodes
- type Datastore
- type DefaultBackend
- type Encoding
- type EnvConfig
- type EnvServer
- type EnvVarWithNodeFilters
- type ExposureOpts
- type ExternalDatastore
- type ExternalDns
- type File
- type HelmInterfaces
- type HelmOptions
- type HelmRelease
- type HelmRepo
- type Ingress
- type K3sIstallOptions
- type K3sWorkerOptions
- type K8sSecret
- type LabelWithNodeFilters
- type LoadBalancer
- type MetalLB
- type Monitoring
- type NTP
- type Networking
- type Node
- type NodeState
- type Options
- type Provider
- type ProviderAWS
- type ProviderAzuru
- type ProviderCloudflare
- type ProviderGoogle
- type ProviderHetzner
- type PulumiModule
- type Registry
- type ResticBackup
- type Role
- type SchedulesBackup
- type SecretsData
- type ServerOpts
- type SimpleConfigOptionsK3s
- type SimpleConfigOptionsKubeconfig
- type User
- type VeleroBackup
- type VeleroStorage
- type VolumeWithNodeFilters
Constants ¶
const ( // Base64 implies the contents of the file are encoded as base64. Base64 Encoding = "base64" // Gzip implies the contents of the file are encoded with gzip. Gzip Encoding = "gzip" // GzipBase64 implies the contents of the file are first base64 encoded and then gzip encoded. GzipBase64 Encoding = "gzip+base64" // Local string = "local" // Public string = "ExternalIP" // Private string = "InternalIP" ExternalIP string = "ExternalIP" ExternalDNS string = "ExternalDNS" InternalIP string = "InternalIP" InternalDNS string = "InternalDNS" SshKeyDefault string = "~/.ssh/id_rsa" SshPortDefault int32 = 22 DatastoreMySql string = "mysql" DatastorePostgreSql string = "postgres" DatastoreEtcd string = "etcd" )
const DefaultConfigTpl = `---
apiVersion: k3d.io/v1alpha2
kind: Simple
name: %s
servers: 1
agents: 0
image: %s
`
DefaultConfigTpl for printing
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "k3s.bbox.kiev.ua", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
var ConnectionHosts = []string{ExternalIP, ExternalDNS, InternalDNS, InternalIP}
var PrivateHost = []string{InternalIP, InternalDNS}
var PublicHost = []string{ExternalIP, InternalIP}
Functions ¶
Types ¶
type AddonOptions ¶
type Addons ¶
type Addons struct { Ingress Ingress `mapstructure:"ingress" yaml:"ingress" json:"ingress,omitempty"` CertManager CertManager `mapstructure:"certManager" yaml:"certManager,omitempty" json:"certManager,omitempty"` MetalLB MetalLB `mapstructure:"metallb" yaml:"metallb,omitempty" json:"metallb,omitempty"` Monitoring Monitoring `mapstructure:"monitoring" yaml:"monitoring,omitempty" json:"monitoring,omitempty"` Backup Backup `mapstructure:"backup" yaml:"backup,omitempty" json:"backup,omitempty"` ExternalDns ExternalDns `mapstructure:"externalDns" yaml:"externalDns,omitempty" json:"externalDns,omitempty"` PulumiModule PulumiModule `mapstructure:"pulumi" yaml:"pulumi,omitempty" json:"pulumi,omitempty"` Registries Registry `mapstructure:"registries" yaml:"registries,omitempty" json:"registries,omitempty"` Options AddonOptions `mapstructure:"options" yaml:"options" json:"options,omitempty"` }
func (*Addons) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Addons.
func (*Addons) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AgentOpts ¶
type AgentOpts struct{}
AgentOpts describes some additional agent role specific opts
func (*AgentOpts) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentOpts.
func (*AgentOpts) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Backup ¶ added in v0.3.0
type Backup struct { Name string `mapstructure:"name" yaml:"name" json:"name,omitempty"` Namespace string `mapstructure:"namespace" yaml:"namespace" json:"namespace,omitempty"` Disabled bool `mapstructure:"disabled" yaml:"disabled" json:"disabled,omitempty"` Version string `mapstructure:"version" yaml:"version" json:"version,omitempty"` URL string `mapstructure:"url" yaml:"url" json:"url,omitempty"` Values map[string]string `mapstructure:"values" yaml:"values" json:"values,omitempty"` ValuesFile string `mapstructure:"valuesFile" yaml:"valuesFile" json:"valuesFile,omitempty"` Velero VeleroBackup `mapstructure:"velero" yaml:"velero" json:"velero,omitempty"` Provider string `mapstructure:"provider" yaml:"provider" json:"provider,omitempty"` // aws azure s3 Bucket string `mapstructure:"bucket" yaml:"bucket" json:"bucket,omitempty"` Region string `mapstructure:"region" yaml:"region" json:"region,omitempty"` Repo HelmRepo `mapstructure:"repo" yaml:"repo" json:"repo,omitempty"` Schedules []SchedulesBackup `mapstructure:"schedules" yaml:"schedules" json:"schedules,omitempty"` Manifests []string `mapstructure:"manifests" yaml:"manifests" json:"manifests"` }
type BastionNode ¶
type BastionNode struct { // Name The bastion Name Name string `mapstructure:"name" yaml:"name" json:"name,omitempty"` // User Ssh user is empty use bastion name // +optional User string `mapstructure:"user" yaml:"user" json:"user,omitempty"` // Address bastion host Address string `mapstructure:"address" yaml:"address" json:"address"` // SshPort specifies the port the SSH bastion host. // Defaults to 22. // +optional SshPort int32 `mapstructure:"sshPort" yaml:"sshPort" json:"sshPort,omitempty"` // SSHAuthorizedKey specifies a list of ssh authorized keys for the user // +optional SSHAuthorizedKey string `mapstructure:"sshAuthorizedKey" yaml:"sshAuthorizedKey" json:"sshAuthorizedKey,omitempty"` // RemoteConnectionString TODO: tranclate строка подключения к удаленному хосту если через bastion // +optional RemoteConnectionString string `` /* 127-byte string literal not displayed */ // RemoteSudo TODO: tranclate если через bastion и пользовател на приватном хосте не root устанавливается true // +optional RemoteSudo string `mapstructure:"remoteSudo,omitempty" yaml:"remoteSudo,omitempty" json:"remoteSudo,omitempty"` // RemoteAddress адрес хоста за бастионом // TODO: translate // +optional RemoteAddress string `mapstructure:"remoteAddress,omitempty" yaml:"remoteAddress,omitempty" json:"remoteAddress,omitempty"` // +optional RemoteUser string `mapstructure:"remoteUser,omitempty" yaml:"remoteUser,omitempty" json:"remoteUser,omitempty"` // +optional RemotePort int32 `mapstructure:"remotePort,omitempty" yaml:"remotePort,omitempty" json:"remotePort,omitempty"` }
func (*BastionNode) DeepCopy ¶
func (in *BastionNode) DeepCopy() *BastionNode
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BastionNode.
func (*BastionNode) DeepCopyInto ¶
func (in *BastionNode) DeepCopyInto(out *BastionNode)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CertManager ¶
type CertManager struct { Name string `mapstructure:"name" yaml:"name" json:"name,omitempty"` Namespace string `mapstructure:"namespace" yaml:"namespace" json:"namespace,omitempty"` Disabled bool `mapstructure:"disabled" yaml:"disabled" json:"disabled,omitempty"` Version string `mapstructure:"version" yaml:"version" json:"version,omitempty"` URL string `mapstructure:"url" yaml:"url" json:"url,omitempty"` Values map[string]string `mapstructure:"values" yaml:"values" json:"values,omitempty"` ValuesFile string `mapstructure:"valuesFile" yaml:"valuesFile" json:"valuesFile,omitempty"` Repo HelmRepo `mapstructure:"repo" yaml:"repo" json:"repo,omitempty"` Manifests []string `mapstructure:"manifests" yaml:"manifests" json:"manifests"` }
func (*CertManager) DeepCopy ¶
func (in *CertManager) DeepCopy() *CertManager
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CertManager.
func (*CertManager) DeepCopyInto ¶
func (in *CertManager) DeepCopyInto(out *CertManager)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Cluster ¶
type Cluster struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ClusterSpec `json:"spec,omitempty"` Status ClusterStatus `json:"status,omitempty"` }
Cluster is the Schema for the clusters API
func (*Cluster) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Cluster.
func (*Cluster) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Cluster) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Cluster) GetAPIServerAddress ¶
func (r *Cluster) GetAPIServerAddress(node *Node, vpc *Networking) (apiServerAddres string, err error)
GetAPIServerAddress возвращает hostname or ip API Server
func (*Cluster) GetAPIServerUrl ¶
func (r *Cluster) GetAPIServerUrl(masters []ContrelPlanNodes, vpc *Networking, isExternal bool) (apiServerUrl string, err error)
GetAPIServerUrl url для подключения к API серверу TODO: delete
func (*Cluster) GetBastion ¶
func (r *Cluster) GetBastion(name string, node *Node) (bastion *BastionNode, err error)
GetBastion search and return bastion host для работы через baston смотреть README
func (*Cluster) GetDatastore ¶
GetDatastore connection string
func (*Cluster) GetNodeAddress ¶
GetNodeAddress возращает hostnamr или ip в зависимости от valType (internal|external)
func (*Cluster) GetNodeLabels ¶
func (*Cluster) GetProvider ¶
type ClusterList ¶
type ClusterList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Cluster `json:"items"` }
ClusterList contains a list of Cluster
func (*ClusterList) DeepCopy ¶
func (in *ClusterList) DeepCopy() *ClusterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterList.
func (*ClusterList) DeepCopyInto ¶
func (in *ClusterList) DeepCopyInto(out *ClusterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterList) DeepCopyObject ¶
func (in *ClusterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterNode ¶
type ClusterNode struct { InstanceID string `json:"instance-id,omitempty" yaml:"instance-id,omitempty"` InstanceStatus string `json:"instance-status,omitempty" yaml:"instance-statu,omitempty"` ExternalIP []string `json:"external-ip,omitempty" yaml:"external-ip,omitempty"` InternalIP []string `json:"internal-ip,omitempty" yaml:"internal-ip,omitempty"` Roles string `json:"roles,omitempty" yaml:"status,omitempty"` Status string `json:"status,omitempty" yaml:"status,omitempty"` HostName string `json:"hostname,omitempty" yaml:"hostname,omitempty"` ContainerRuntimeVersion string `json:"containerRuntimeVersion,omitempty" yaml:"containerRuntimeVersion,omitempty"` Version string `json:"version,omitempty" yaml:"version,omitempty"` Master bool `json:"-" yaml:"master,omitempty"` }
ClusterNode struct for cluster node.
type ClusterSpec ¶
type ClusterSpec struct { Region string `mapstructure:"region" yaml:"region" json:"region,omitempty"` Preset string `mapstructure:"preset" json:"preset" yaml:"preset"` Provider string `mapstructure:"provider" json:"provider" yaml:"provider"` Providers Provider `mapstructure:"providers" json:"providers" yaml:"providers"` Operator bool `mapstructure:"operator" yaml:"operator" json:"operator,omitempty"` Servers int `mapstructure:"servers" yaml:"servers" json:"servers,omitempty"` //nolint:lll // default 1 Agents int `mapstructure:"agents" yaml:"agents" json:"agents,omitempty"` //nolint:lll // default 0 ClusterToken string `mapstructure:"clusterToken" yaml:"clusterToken" json:"clusterToken,omitempty"` AgentToken string `mapstructure:"agentToken" yaml:"agentToken" json:"agentToken,omitempty"` Bastions []*BastionNode `mapstructure:"bastions" yaml:"bastions" json:"bastions,omitempty"` Nodes []*Node `mapstructure:"nodes" yaml:"nodes" json:"nodes,omitempty"` Labels []LabelWithNodeFilters `mapstructure:"labels" yaml:"labels" json:"labels,omitempty"` Env []EnvVarWithNodeFilters `mapstructure:"env" yaml:"env" json:"env,omitempty"` Options Options `mapstructure:"options" yaml:"options" json:"options,omitempty"` K3sOptions SimpleConfigOptionsK3s `mapstructure:"k3s" yaml:"k3s" json:"k3s,omitempty"` LoadBalancer LoadBalancer `mapstructure:"loadBalancer" yaml:"loadBalancer" json:"loadBalancer,omitempty"` Addons Addons `mapstructure:"addons" yaml:"addons" json:"addons,omitempty"` KubeconfigOptions SimpleConfigOptionsKubeconfig `mapstructure:"kubeconfig" yaml:"kubeconfig" json:"kubeconfig,omitempty"` Volumes []VolumeWithNodeFilters `mapstructure:"volumes" yaml:"volumes" json:"volumes,omitempty"` // Host string `mapstructure:"host" yaml:"host,omitempty" json:"host,omitempty"` // HostIP string `mapstructure:"hostIP" yaml:"hostIP,omitempty" json:"hostIP,omitempty"` // Datastore k3s datastore to enable HA https://rancher.com/docs/k3s/latest/en/installation/datastore/ // +optional Datastore Datastore `mapstructure:"datastore" yaml:"datastore" json:"datastore,omitempty"` // The cluster name // +optional ClusterName string `json:"clusterName,omitempty"` // KubernetesVersion is the target version of the control plane. // NB: This value defaults to the Machine object spec.kuberentesVersion // +optional KubernetesVersion string `mapstructure:"kubernetesVersion" yaml:"kubernetesVersion" json:"kubernetesVersion,omitempty"` // K3sChannel Release channel: stable, latest, or i.e. v1.19 // +optional K3sChannel string `mapstructure:"channel,omitempty" yaml:"channel,omitempty" json:"channel,omitempty"` // Networking holds configuration for the networking topology of the cluster. // NB: This value defaults to the Cluster object spec.clusterNetwork. // +optional Networking Networking `mapstructure:"networking" yaml:"networking" json:"networking,omitempty"` // Cluster network configuration. // +optional // ClusterNetwork *clusterv1.ClusterNetwork `json:"clusterNetwork,omitempty"` // CertificatesDir specifies where to store or look for all required certificates. // NB: if not provided, this will default to `/etc/kubernetes/pki` // +optional CertificatesDir string `json:"certificatesDir,omitempty"` // Files specifies extra files to be passed to user_data upon creation. // +optional Files []File `json:"files,omitempty"` // PreCommands specifies extra commands to run before kubeadm runs // +optional PreCommands []string `json:"preCommands,omitempty"` // PostCommands specifies extra commands to run after kubeadm runs // +optional PostCommands []string `json:"postCommands,omitempty"` // Users specifies extra users to add // +optional Users []User `json:"users,omitempty"` // NTP specifies NTP configuration // +optional NTP *NTP `json:"ntp,omitempty"` }
ClusterSpec defines the desired state of Cluster https://github.com/kubernetes-sigs/cluster-api-bootstrap-provider-kubeadm/blob/master/kubeadm/v1beta1/types.go
func (*ClusterSpec) DeepCopy ¶
func (in *ClusterSpec) DeepCopy() *ClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterSpec.
func (*ClusterSpec) DeepCopyInto ¶
func (in *ClusterSpec) DeepCopyInto(out *ClusterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterStatus ¶
type ClusterStatus struct { // INSERT ADDITIONAL STATUS FIELD - define observed state of cluster // Important: Run "make" to regenerate code after modifying this file Status string `json:"status,omitempty"` MasterNodes []*Node `json:"masters,omitempty"` WorkerNodes []*Node `json:"workers,omitempty"` }
ClusterStatus defines the observed state of Cluster
func (*ClusterStatus) DeepCopy ¶
func (in *ClusterStatus) DeepCopy() *ClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterStatus.
func (*ClusterStatus) DeepCopyInto ¶
func (in *ClusterStatus) DeepCopyInto(out *ClusterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ContrelPlanNodes ¶
type ContrelPlanNodes struct { ClusterName string `mapstructure:"clusterName" yaml:"clusterName" json:"clusterName,omitempty"` ApiServerAddres string `mapstructure:"apiServerAddres" yaml:"apiServerAddres" json:"apiServerAddres,omitempty"` Bastion *BastionNode `mapstructure:"bastion" yaml:"bastion" json:"bastion"` Node *Node `mapstructure:"node" yaml:"node" json:"node"` }
func (*ContrelPlanNodes) DeepCopy ¶
func (in *ContrelPlanNodes) DeepCopy() *ContrelPlanNodes
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContrelPlanNodes.
func (*ContrelPlanNodes) DeepCopyInto ¶
func (in *ContrelPlanNodes) DeepCopyInto(out *ContrelPlanNodes)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Datastore ¶
type Datastore struct { // Name Database name ("mysql", "postgresql", "etcd") Name string `mapstructure:"name" yaml:"name" json:"name,omitempty"` // Provider Database name ("mysql", "postgres", "etcd") Provider string `mapstructure:"provider" yaml:"provider" json:"provider,omitempty"` Username string `mapstructure:"username" yaml:"username" json:"username,omitempty"` Password string `mapstructure:"DB_PASSWORD"` Host string `mapstructure:"host" yaml:"host,omitempty" json:"host,omitempty"` // Port DataBase port // +optional Port int32 `mapstructure:"port" yaml:"port,omitempty" json:"port,omitempty"` // CertFile K3S_DATASTORE_CERTFILE='/path/to/client.crt' // +optional CertFile string `mapstructure:"certFile" yaml:"certFile,omitempty" json:"certFile,omitempty"` // KeyFile K3S_DATASTORE_KEYFILE='/path/to/client.key' // +optional KeyFile string `mapstructure:"keyFile" yaml:"keyFile,omitempty" json:"keyFile,omitempty"` }
func (*Datastore) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Datastore.
func (*Datastore) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DefaultBackend ¶ added in v0.2.1
type Encoding ¶
type Encoding string
Encoding specifies the cloud-init file encoding. +kubebuilder:validation:Enum=base64;gzip;gzip+base64
type EnvConfig ¶
type EnvConfig struct { DBPassword string `mapstructure:"DB_PASSWORD"` HcloudToken string `mapstructure:"HCLOUD_TOKEN"` AwsAccessKeyId string `mapstructure:"AWS_ACCESS_KEY_ID"` AwsSecretAccessKey string `mapstructure:"AWS_SECRET_ACCESS_KEY"` AzureClientId string `mapstructure:"ARM_CLIENT_ID"` AzureClientSecret string `mapstructure:"ARM_CLIENT_SECRET"` AzureTenantId string `mapstructure:"ARM_TENANT_ID"` AzureSubscriptionId string `mapstructure:"ARM_SUBSCRIPTION_ID"` CfApiToken string `mapstructure:"CF_API_TOKEN"` CfApiKey string `mapstructure:"CF_API_KEY"` CfApiEmail string `mapstructure:"CF_API_EMAIL"` }
type EnvServer ¶
type EnvServer struct { K3sDatastoreEndpoint string `mapstructure:"K3S_DATASTORE_ENDPOINT"` K3sDatastoreXafile string `mapstructure:"K3S_DATASTORE_CAFILE"` K3sDatastoreCertfile string `mapstructure:"K3S_DATASTORE_CERTFILE"` K3sDatastoreKeyfile string `mapstructure:"K3S_DATASTORE_KEYFILE"` AwsAccessKeyId string `mapstructure:"AWS_ACCESS_KEY_ID"` AwsSecretAccessKey string `mapstructure:"AWS_SECRET_ACCESS_KEY"` K3sToken string `mapstructure:"K3S_TOKEN"` K3sTokenFile string `mapstructure:"K3S_TOKEN_FILE"` K3sKubeconfigOutput string `mapstructure:"K3S_KUBECONFIG_OUTPUT"` K3sKubeconfigMode string `mapstructure:"K3S_KUBECONFIG_MODE"` K3sNodeName string `mapstructure:"K3S_NODE_NAME"` K3sSelinux string `mapstructure:"K3S_SELINUX"` K3sLbServerPort string `mapstructure:"K3S_LB_SERVER_PORT"` K3sResolvConf string `mapstructure:"K3S_RESOLV_CONF"` K3sAgentToken string `mapstructure:"K3S_AGENT_TOKEN"` K3sAgentTokenFile string `mapstructure:"K3S_AGENT_TOKEN_FILE"` K3sUrl string `mapstructure:"K3S_URL"` K3sClusterInit string `mapstructure:"K3S_CLUSTER_INIT"` K3sClusterReset string `mapstructure:"K3S_CLUSTER_RESET"` K3sClusterSecret string `mapstructure:"K3S_CLUSTER_SECRET"` }
type EnvVarWithNodeFilters ¶
type EnvVarWithNodeFilters struct { EnvVar string `mapstructure:"envVar" yaml:"envVar" json:"envVar,omitempty"` NodeFilters []string `mapstructure:"nodeFilters" yaml:"nodeFilters" json:"nodeFilters,omitempty"` }
func (*EnvVarWithNodeFilters) DeepCopy ¶
func (in *EnvVarWithNodeFilters) DeepCopy() *EnvVarWithNodeFilters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvVarWithNodeFilters.
func (*EnvVarWithNodeFilters) DeepCopyInto ¶
func (in *EnvVarWithNodeFilters) DeepCopyInto(out *EnvVarWithNodeFilters)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExposureOpts ¶
type ExposureOpts struct { nat.PortMapping // filled automatically (reference to normal portmapping) Host string `yaml:"host,omitempty" json:"host,omitempty"` }
ExposureOpts describes settings that the user can set for accessing the Kubernetes API
func (*ExposureOpts) DeepCopy ¶
func (in *ExposureOpts) DeepCopy() *ExposureOpts
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExposureOpts.
func (*ExposureOpts) DeepCopyInto ¶
func (in *ExposureOpts) DeepCopyInto(out *ExposureOpts)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExternalDatastore ¶
type ExternalDatastore struct { Endpoint string `yaml:"endpoint" json:"endpoint,omitempty"` CAFile string `yaml:"caFile" json:"caFile,omitempty"` CertFile string `yaml:"certFile" json:"certFile,omitempty"` KeyFile string `yaml:"keyFile" json:"keyFile,omitempty"` Network string `yaml:"network" json:"network,omitempty"` }
ExternalDatastore describes an external datastore used for HA/multi-server clusters
func (*ExternalDatastore) DeepCopy ¶
func (in *ExternalDatastore) DeepCopy() *ExternalDatastore
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalDatastore.
func (*ExternalDatastore) DeepCopyInto ¶
func (in *ExternalDatastore) DeepCopyInto(out *ExternalDatastore)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExternalDns ¶
type ExternalDns struct { Name string `mapstructure:"name" yaml:"name" json:"name,omitempty"` Provider string `mapstructure:"provider" yaml:"provider" json:"provider"` Region string `mapstructure:"region" yaml:"region" json:"region,omitempty"` Domains []string `mapstructure:"domains" yaml:"domains" json:"domains"` HostedZoneIdentifier string `mapstructure:"hostedZoneIdentifier" yaml:"hostedZoneIdentifier" json:"hostedZoneIdentifier,omitempty"` Namespace string `mapstructure:"namespace" yaml:"namespace" json:"namespace,omitempty"` Disabled bool `mapstructure:"disabled" yaml:"disabled" json:"disabled,omitempty"` Version string `mapstructure:"version" yaml:"version" json:"version,omitempty"` URL string `mapstructure:"url" yaml:"url" json:"url,omitempty"` Values map[string]string `mapstructure:"values" yaml:"values" json:"values,omitempty"` ValuesFile string `mapstructure:"valuesFile" yaml:"valuesFile" json:"valuesFile,omitempty"` Repo HelmRepo `mapstructure:"repo" yaml:"repo" json:"repo,omitempty"` Manifests []string `mapstructure:"manifests" yaml:"manifests" json:"manifests"` }
type File ¶
type File struct { // Path specifies the full path on disk where to store the file. Path string `json:"path"` // Owner specifies the ownership of the file, e.g. "root:root". // +optional Owner string `json:"owner,omitempty"` // Permissions specifies the permissions to assign to the file, e.g. "0640". // +optional Permissions string `json:"permissions,omitempty"` // Encoding specifies the encoding of the file contents. // +optional Encoding Encoding `json:"encoding,omitempty"` // Content is the actual content of the file. Content string `json:"content"` }
File defines the input for generating write_files in cloud-init.
func (*File) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new File.
func (*File) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HelmInterfaces ¶
type HelmInterfaces struct { Name string `mapstructure:"name" yaml:"name" json:"name"` Namespace string `mapstructure:"namespace" yaml:"namespace" json:"namespace"` Revision int `mapstructure:"revision" yaml:"revision" json:"revision"` Updated string `mapstructure:"updated" yaml:"updated" json:"updated"` Deleted bool `mapstructure:"deleted" yaml:"deleted" json:"deleted,omitempty"` DependencyUpdate bool `mapstructure:"dependencyUpdate" yaml:"dependencyUpdate" json:"dependencyUpdate,omitempty"` Status string `mapstructure:"status" yaml:"status" json:"status"` Chart string `mapstructure:"chart" yaml:"chart" json:"chart"` AppVersion string `mapstructure:"appVersion" yaml:"app_version" json:"app_version"` Values map[string]string `mapstructure:"values" yaml:"values" json:"values,omitempty"` ValuesFile string `mapstructure:"valuesFile" yaml:"valuesFile" json:"valuesFile,omitempty"` // TODO: delete RepoName string `mapstructure:"repoName" yaml:"repoName" json:"repoName"` Repo string `mapstructure:"repo" yaml:"repo" json:"repo"` Url string `mapstructure:"url" yaml:"url" json:"url"` Version string `mapstructure:"version" yaml:"version" json:"version"` Manifests []string `mapstructure:"manifests" yaml:"manifests" json:"manifests"` }
func FindRelease ¶ added in v0.2.0
func FindRelease(slice []HelmInterfaces, val string) (HelmInterfaces, bool)
FindRelease - Find installed Release
func GetHelmRelease ¶
func GetHelmRelease(name string, releases []HelmInterfaces) (ok bool, result HelmInterfaces)
GetHelmRelease return installed release
type HelmOptions ¶ added in v0.2.0
type HelmRelease ¶
type HelmRelease struct { ClusterName string `mapstructure:"clusterName" yaml:"clusterName" json:"clusterName,omitempty"` ServiceMonitor bool `mapstructure:"serviceMonitor" yaml:"serviceMonitor" json:"serviceMonitor,omitempty"` Verbose bool `mapstructure:"verbose" yaml:"verbose" json:"verbose,omitempty"` Wait bool `mapstructure:"wait" yaml:"wait" json:"wait,omitempty"` UpdateStrategy string `mapstructure:"updateStrategy" yaml:"updateStrategy" json:"updateStrategy,omitempty"` // none, latest Releases []HelmInterfaces `mapstructure:"releases" yaml:"releases" json:"releases,omitempty"` Repo []HelmRepo `mapstructure:"repo" yaml:"repo" json:"repo,omitempty"` }
type Ingress ¶
type Ingress struct { Name string `mapstructure:"name" yaml:"name" json:"name,omitempty"` Namespace string `mapstructure:"namespace" yaml:"namespace" json:"namespace,omitempty"` Disabled bool `mapstructure:"disabled" yaml:"disabled" json:"disabled,omitempty"` HostMode bool `mapstructure:"hostMode" yaml:"hostMode" json:"hostMode,omitempty"` Version string `mapstructure:"version" yaml:"version" json:"version,omitempty"` URL string `mapstructure:"url" yaml:"url" json:"url,omitempty"` Values map[string]string `mapstructure:"values" yaml:"values" json:"values,omitempty"` ValuesFile string `mapstructure:"valuesFile" yaml:"valuesFile" json:"valuesFile,omitempty"` DefaultBackend DefaultBackend `mapstructure:"defaultBackend" yaml:"defaultBackend" json:"defaultBackend,omitempty"` Repo HelmRepo `mapstructure:"repo" yaml:"repo" json:"repo,omitempty"` LoadBalancer *LoadBalancer `mapstructure:"loadBalancer" yaml:"loadBalancer" json:"loadBalancer,omitempty"` Manifests []string `mapstructure:"manifests" yaml:"manifests" json:"manifests"` }
func (*Ingress) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Ingress.
func (*Ingress) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type K3sIstallOptions ¶
type K3sWorkerOptions ¶
type K3sWorkerOptions struct { JoinAgentCommand string `json:"joinAgentCommand,omitempty"` ExecString string `json:"execString,omitempty"` ApiServerAddres string `json:"apiServerAddres,omitempty"` ApiServerPort int32 `json:"apiServerPort,omitempty"` Token string `json:"token,omitempty"` K3sVersion string `json:"k3sVersion,omitempty"` K3sChannel string `json:"k3sChannel,omitempty"` }
type K8sSecret ¶ added in v0.2.0
type K8sSecret struct { Type string `mapstructure:"type" yaml:"type" json:"type"` Name string `mapstructure:"name" yaml:"name" json:"name"` Namespace string `mapstructure:"namespace" yaml:"namespace" json:"namespace"` SecretsData []SecretsData `mapstructure:"secrets" yaml:"secrets" json:"secrets"` Status string `mapstructure:"status" yaml:"status" json:"status"` Updated bool `mapstructure:"updated" yaml:"updated" json:"updated"` }
type LabelWithNodeFilters ¶
type LabelWithNodeFilters struct { Label string `mapstructure:"label" yaml:"label" json:"label,omitempty"` NodeFilters []string `mapstructure:"nodeFilters" yaml:"nodeFilters" json:"nodeFilters,omitempty"` }
func (*LabelWithNodeFilters) DeepCopy ¶
func (in *LabelWithNodeFilters) DeepCopy() *LabelWithNodeFilters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LabelWithNodeFilters.
func (*LabelWithNodeFilters) DeepCopyInto ¶
func (in *LabelWithNodeFilters) DeepCopyInto(out *LabelWithNodeFilters)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LoadBalancer ¶
type LoadBalancer struct { Name string `mapstructure:"name" yaml:"name" json:"name"` // IP addresse at which the controller services are available ExternalIP string `mapstructure:"externalIP" yaml:"externalIP" json:"externalIP,omitempty"` Domain string `mapstructure:"domain" yaml:"domain" json:"domain,omitempty"` MetalLb string `mapstructure:"metalLb" yaml:"metalLb" json:"metalLb,omitempty"` KubeVip string `mapstructure:"kubeVip" yaml:"kubeVip" json:"kubeVip,omitempty"` }
func (*LoadBalancer) DeepCopy ¶
func (in *LoadBalancer) DeepCopy() *LoadBalancer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancer.
func (*LoadBalancer) DeepCopyInto ¶
func (in *LoadBalancer) DeepCopyInto(out *LoadBalancer)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MetalLB ¶
type MetalLB struct { Name string `mapstructure:"name" yaml:"name" json:"name,omitempty"` Namespace string `mapstructure:"namespace" yaml:"namespace" json:"namespace,omitempty"` Disabled bool `mapstructure:"disabled" yaml:"disabled" json:"disabled,omitempty"` Version string `mapstructure:"version" yaml:"version" json:"version,omitempty"` URL string `mapstructure:"url" yaml:"url" json:"url,omitempty"` Values map[string]string `mapstructure:"values" yaml:"values" json:"values,omitempty"` ValuesFile string `mapstructure:"valuesFile" yaml:"valuesFile" json:"valuesFile,omitempty"` Repo HelmRepo `mapstructure:"repo" yaml:"repo" json:"repo,omitempty"` Manifests []string `mapstructure:"manifests" yaml:"manifests" json:"manifests"` }
type Monitoring ¶ added in v0.2.3
type Monitoring struct { Name string `mapstructure:"name" yaml:"name" json:"name,omitempty"` Namespace string `mapstructure:"namespace" yaml:"namespace" json:"namespace,omitempty"` Disabled bool `mapstructure:"disabled" yaml:"disabled" json:"disabled,omitempty"` Version string `mapstructure:"version" yaml:"version" json:"version,omitempty"` URL string `mapstructure:"url" yaml:"url" json:"url,omitempty"` Values map[string]string `mapstructure:"values" yaml:"values" json:"values,omitempty"` ValuesFile string `mapstructure:"valuesFile" yaml:"valuesFile" json:"valuesFile,omitempty"` Repo HelmRepo `mapstructure:"repo" yaml:"repo" json:"repo,omitempty"` Manifests []string `mapstructure:"manifests" yaml:"manifests" json:"manifests"` }
observer
type NTP ¶
type NTP struct { // Servers specifies which NTP servers to use // +optional Servers []string `json:"servers,omitempty"` // Enabled specifies whether NTP should be enabled // +optional Enabled *bool `json:"enabled,omitempty"` }
NTP defines input for generated ntp in cloud-init
func (*NTP) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NTP.
func (*NTP) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Networking ¶
type Networking struct { // APIServerAddresses is a list of addresses assigned to the API Server. // +optional APIServerAddresses clusterv1.MachineAddresses `json:"apiServerAddresses,omitempty"` // APIServerPort specifies the port the API Server should bind to. // Defaults to 6443. // +optional APIServerPort int32 `json:"apiServerPort,omitempty"` // ServiceSubnet is the subnet used by k8s services. // Defaults to the first element of the Cluster object's spec.clusterNetwork.pods.cidrBlocks field, or // to "10.96.0.0/12" if that's unset. // +optional ServiceSubnet string `json:"serviceSubnet,omitempty"` // PodSubnet is the subnet used by pods. // If unset, the API server will not allocate CIDR ranges for every node. // Defaults to the first element of the Cluster object's spec.clusterNetwork.services.cidrBlocks if that is set // +optional PodSubnet string `json:"podSubnet,omitempty"` // DNSDomain is the dns domain used by k8s services. Defaults to "cluster.local". // +optional DNSDomain string `json:"dnsDomain,omitempty"` // ClusterDns Cluster IP for coredns service. Should be in your service-cidr range --cluster-dns value “10.43.0.10” // +optional ClusterDns string `json:"clusterDns,omitempty"` // CNI plugins ("flannel", "calico", "cilium", "aws") // +optional CNI string `json:"cni,omitempty"` // Backend The default backend for flannel is VXLAN // --flannel-backend value “vxlan” One of ‘none’, ‘vxlan’, ‘ipsec’, ‘host-gw’, or ‘wireguard’ // Calico "ipip", “vxlan” // Cilium "ipip", “vxlan” // +optional Backend string `json:"backend,omitempty"` }
Networking contains elements describing cluster's networking configuration
func (*Networking) DeepCopy ¶
func (in *Networking) DeepCopy() *Networking
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Networking.
func (*Networking) DeepCopyInto ¶
func (in *Networking) DeepCopyInto(out *Networking)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Node ¶
type Node struct { Name string `yaml:"name" json:"name,omitempty"` User string `yaml:"user" json:"user,omitempty"` Role Role `yaml:"role" json:"role,omitempty"` Image string `yaml:"image" json:"image,omitempty"` Volumes []string `yaml:"volumes" json:"volumes,omitempty"` Env []string `yaml:"env" json:"env,omitempty"` Cmd []string // filled automatically based on role Args []string `yaml:"extraArgs" json:"extraArgs,omitempty"` Ports nat.PortMap `yaml:"portMappings" json:"portMappings,omitempty"` Restart bool `yaml:"restart" json:"restart,omitempty"` Created string `yaml:"created" json:"created,omitempty"` Labels map[string]string // filled automatically Networks []string // filled automatically ExtraHosts []string // filled automatically ServerOpts ServerOpts `yaml:"serverOpts" json:"serverOpts,omitempty"` AgentOpts AgentOpts `yaml:"agentOpts" json:"agentOpts,omitempty"` GPURequest string // filled automatically Memory string // filled automatically State NodeState // filled automatically // Bastion имя ssh bastion сервера если local то запускается на локальном хосте // +optional Bastion string `yaml:"bastion" json:"bastion,omitempty"` // Addresses is a list of addresses assigned to the machine. // This field is copied from the infrastructure provider reference. // https://github.com/kubernetes-sigs/cluster-api/blob/2cbeb175b243da6953c4edf9e7ec99eac4e2a4a2/api/v1alpha3/common_types.go // +optional Addresses clusterv1.MachineAddresses `json:"addresses,omitempty"` }
Node describes a k3d node
func (*Node) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Node.
func (*Node) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NodeState ¶
NodeState describes the current state of a node
func (*NodeState) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeState.
func (*NodeState) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Options ¶
type Options struct { Protected bool `mapstructure:"protected" yaml:"protected" json:"protected,omitempty"` Wait bool `mapstructure:"wait" yaml:"wait" json:"wait,omitempty"` Timeout time.Duration `mapstructure:"timeout" yaml:"timeout" json:"timeout,omitempty"` DisableLoadbalancer bool `mapstructure:"disableLoadbalancer" yaml:"disableLoadbalancer" json:"disableLoadbalancer,omitempty"` // EnableIngress bool `mapstructure:"enableIngress" yaml:"enableIngress" json:"enableIngress,omitempty"` DisableImageVolume bool `mapstructure:"disableImageVolume" yaml:"disableImageVolume" json:"disableImageVolume,omitempty"` NoRollback bool `mapstructure:"disableRollback" yaml:"disableRollback" json:"disableRollback,omitempty"` PrepDisableHostIPInjection bool `mapstructure:"disableHostIPInjection" yaml:"disableHostIPInjection" json:"disableHostIPInjection,omitempty"` // SELinux To leverage SELinux, specify the --selinux flag when starting K3s servers and agents. // https://rancher.com/docs/k3s/latest/en/advanced/ // +optional SELinux bool `mapstructure:"selinux" yaml:"selinux" json:"selinux,omitempty"` // Rootless --rootless Running Servers and Agents with Rootless // k3s Experimental Options // +optional Rootless bool `mapstructure:"rootless" yaml:"rootless" json:"rootless,omitempty"` // SecretsEncryption --secrets-encryption Enable Secret encryption at rest // +optional SecretsEncryption bool `mapstructure:"secretsEncryption" yaml:"secretsEncryption" json:"secretsEncryption,omitempty"` }
func (*Options) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Options.
func (*Options) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Provider ¶ added in v0.5.0
type Provider struct { Default string `mapstructure:"default" yaml:"default" json:"default"` AWS ProviderAWS `mapstructure:"aws" yaml:"aws" json:"aws"` Azure ProviderAzuru `mapstructure:"azure" yaml:"azure" json:"azure"` Hetzner ProviderHetzner `mapstructure:"hetzner" yaml:"hetzner" json:"hetzner"` Google ProviderGoogle `mapstructure:"google" yaml:"google" json:"google"` Cloudflare ProviderCloudflare `mapstructure:"cloudflare" yaml:"cloudflare" json:"cloudflare"` }
type ProviderAWS ¶ added in v0.5.0
type ProviderAzuru ¶ added in v0.5.0
type ProviderCloudflare ¶ added in v0.5.0
type ProviderCloudflare struct {
Enabled bool `mapstructure:"enabled" yaml:"enabled" json:"enabled"`
}
type ProviderGoogle ¶ added in v0.5.0
type ProviderHetzner ¶ added in v0.5.0
type PulumiModule ¶
type PulumiModule struct { Name string `mapstructure:"name" yaml:"name" json:"name,omitempty"` Namespace string `mapstructure:"namespace" yaml:"namespace" json:"namespace,omitempty"` Disabled bool `mapstructure:"disabled" yaml:"disabled" json:"disabled,omitempty"` Version string `mapstructure:"version" yaml:"version" json:"version,omitempty"` URL string `mapstructure:"url" yaml:"url" json:"url,omitempty"` Values map[string]string `mapstructure:"values" yaml:"values" json:"values,omitempty"` ValuesFile string `mapstructure:"valuesFile" yaml:"valuesFile" json:"valuesFile,omitempty"` Manifests []string `mapstructure:"manifests" yaml:"manifests" json:"manifests"` }
type Registry ¶
type Registry struct { Name string `mapstructure:"name" yaml:"name" json:"name,omitempty"` Namespace string `mapstructure:"namespace" yaml:"namespace" json:"namespace,omitempty"` Type string `mapstructure:"type" yaml:"type" json:"type,omitempty"` // helm, manifest, orchestration Use []string `mapstructure:"use" yaml:"use" json:"use,omitempty"` Create bool `mapstructure:"create" yaml:"create" json:"create,omitempty"` Config string `mapstructure:"config" yaml:"config" json:"config,omitempty"` // registries.yaml (k3s config for containerd registry override) }
func (*Registry) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Registry.
func (*Registry) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResticBackup ¶ added in v0.3.0
type ResticBackup struct {
DeployRestic bool `mapstructure:"deployRestic" yaml:"deployRestic" json:"deployRestic,omitempty"`
}
type SchedulesBackup ¶ added in v0.3.0
type SchedulesBackup struct { Name string `mapstructure:"name" yaml:"name" json:"name,omitempty"` Disabled bool `mapstructure:"disabled" yaml:"disabled" json:"disabled,omitempty"` Schedule string `mapstructure:"schedule" yaml:"schedule" json:"schedule,omitempty"` Labels map[string]string `mapstructure:"labels" yaml:"labels" json:"labels,omitempty"` Annotations map[string]string `mapstructure:"annotations" yaml:"annotations" json:"annotations,omitempty"` UseOwnerReferencesInBackup bool `mapstructure:"useOwnerReferencesInBackup" yaml:"useOwnerReferencesInBackup" json:"useOwnerReferencesInBackup,omitempty"` Ttl string `mapstructure:"ttl" yaml:"ttl" json:"ttl,omitempty"` IncludedNamespaces []string `mapstructure:"includedNamespaces" yaml:"includedNamespaces" json:"includedNamespaces,omitempty"` }
type SecretsData ¶ added in v0.2.0
type ServerOpts ¶
type ServerOpts struct { IsInit bool `yaml:"isInitializingServer" json:"isInitializingServer,omitempty"` KubeAPI *ExposureOpts `yaml:"kubeAPI" json:"kubeAPI"` }
ServerOpts describes some additional server role specific opts
func (*ServerOpts) DeepCopy ¶
func (in *ServerOpts) DeepCopy() *ServerOpts
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerOpts.
func (*ServerOpts) DeepCopyInto ¶
func (in *ServerOpts) DeepCopyInto(out *ServerOpts)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SimpleConfigOptionsK3s ¶
type SimpleConfigOptionsK3s struct { ExtraServerArgs []string `mapstructure:"extraServerArgs" yaml:"extraServerArgs"` ExtraAgentArgs []string `mapstructure:"extraAgentArgs" yaml:"extraAgentArgs"` }
K3sOptions k3s options for generate config
func (*SimpleConfigOptionsK3s) DeepCopy ¶
func (in *SimpleConfigOptionsK3s) DeepCopy() *SimpleConfigOptionsK3s
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SimpleConfigOptionsK3s.
func (*SimpleConfigOptionsK3s) DeepCopyInto ¶
func (in *SimpleConfigOptionsK3s) DeepCopyInto(out *SimpleConfigOptionsK3s)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SimpleConfigOptionsKubeconfig ¶
type SimpleConfigOptionsKubeconfig struct { // kubeconfig connection from k3ctl to server ExternalIP | InternalIP ConnectType string `mapstructure:"connectType" yaml:"connectType" json:"connectType,omitempty"` Patch string `mapstructure:"patch" yaml:"patch" json:"patch,omitempty"` UpdateDefaultKubeconfig bool `mapstructure:"updateDefaultKubeconfig" yaml:"updateDefaultKubeconfig" json:"updateDefaultKubeconfig,omitempty"` // default: true SwitchCurrentContext bool `mapstructure:"switchCurrentContext" yaml:"switchCurrentContext" json:"switchCurrentContext,omitempty"` //nolint:lll // default: true }
SimpleConfigOptionsKubeconfig describes the set of options referring to the kubeconfig during cluster creation.
func (*SimpleConfigOptionsKubeconfig) DeepCopy ¶
func (in *SimpleConfigOptionsKubeconfig) DeepCopy() *SimpleConfigOptionsKubeconfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SimpleConfigOptionsKubeconfig.
func (*SimpleConfigOptionsKubeconfig) DeepCopyInto ¶
func (in *SimpleConfigOptionsKubeconfig) DeepCopyInto(out *SimpleConfigOptionsKubeconfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type User ¶
type User struct { // Name specifies the user name Name string `json:"name"` // Gecos specifies the gecos to use for the user // +optional Gecos *string `json:"gecos,omitempty"` // Groups specifies the additional groups for the user // +optional Groups *string `json:"groups,omitempty"` // HomeDir specifies the home directory to use for the user // +optional HomeDir *string `json:"homeDir,omitempty"` // Inactive specifies whether to mark the user as inactive // +optional Inactive *bool `json:"inactive,omitempty"` // Shell specifies the user's shell // +optional Shell *string `json:"shell,omitempty"` // Passwd specifies a hashed password for the user // +optional Passwd *string `json:"passwd,omitempty"` // PrimaryGroup specifies the primary group for the user // +optional PrimaryGroup *string `json:"primaryGroup,omitempty"` // LockPassword specifies if password login should be disabled // +optional LockPassword *bool `json:"lockPassword,omitempty"` // Sudo specifies a sudo role for the user // +optional Sudo *string `json:"sudo,omitempty"` // SSHAuthorizedKey specifies a list of ssh authorized keys for the user // +optional SSHAuthorizedKey string `yaml:"sshAuthorizedKey" json:"sshAuthorizedKey,omitempty"` }
User defines the input for a generated user in cloud-init.
func (*User) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new User.
func (*User) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VeleroBackup ¶ added in v0.3.0
type VeleroBackup struct { Providers []string `mapstructure:"providers" yaml:"providers" json:"providers,omitempty"` // aws azure s3 Storages []VeleroStorage `mapstructure:"storages" yaml:"storages" json:"storages,omitempty"` Repo HelmRepo `mapstructure:"repo" yaml:"repo" json:"repo,omitempty"` Restic ResticBackup `mapstructure:"restic" yaml:"restic" json:"restic,omitempty"` SecretFile string `mapstructure:"secretFile" yaml:"secretFile" json:"secretFile,omitempty"` Manifests []string `mapstructure:"manifests" yaml:"manifests" json:"manifests"` }
type VeleroStorage ¶ added in v0.3.0
type VeleroStorage struct { Name string `mapstructure:"name" yaml:"name" json:"name,omitempty"` Image string `mapstructure:"image" yaml:"image" json:"image,omitempty"` Default bool `mapstructure:"default" yaml:"default" json:"default,omitempty"` Region string `mapstructure:"region" yaml:"region" json:"region,omitempty"` Bucket string `mapstructure:"bucket" yaml:"bucket" json:"bucket,omitempty"` }
type VolumeWithNodeFilters ¶
type VolumeWithNodeFilters struct { Volume string `mapstructure:"volume" yaml:"volume" json:"volume,omitempty"` NodeFilters []string `mapstructure:"nodeFilters" yaml:"nodeFilters" json:"nodeFilters,omitempty"` }
func (*VolumeWithNodeFilters) DeepCopy ¶
func (in *VolumeWithNodeFilters) DeepCopy() *VolumeWithNodeFilters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeWithNodeFilters.
func (*VolumeWithNodeFilters) DeepCopyInto ¶
func (in *VolumeWithNodeFilters) DeepCopyInto(out *VolumeWithNodeFilters)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.