Documentation ¶
Index ¶
- Constants
- Variables
- func PrepareCluster(name string, news *ClusterInputs) error
- func Provider() p.Provider
- type Cluster
- func (c Cluster) Check(ctx p.Context, name string, olds ClusterOutputs, news ClusterInputs) (ClusterInputs, []p.CheckFailure, error)
- func (c Cluster) Create(ctx p.Context, name string, news ClusterInputs, preview bool) (string, ClusterOutputs, error)
- func (c Cluster) Delete(ctx p.Context, name string, olds ClusterOutputs) error
- func (c Cluster) Diff(ctx p.Context, name string, olds ClusterOutputs, news ClusterInputs) (p.DiffResponse, error)
- func (c *Cluster) Read(ctx p.Context, name string, news ClusterInputs, olds ClusterOutputs) (string, ClusterInputs, ClusterOutputs, error)
- func (c Cluster) Update(ctx p.Context, name string, olds ClusterOutputs, news ClusterInputs, ...) (ClusterOutputs, error)
- type ClusterFile
- type ClusterHook
- type ClusterHooks
- type ClusterHost
- type ClusterInputs
- type ClusterK0s
- type ClusterLocalhost
- type ClusterMetadata
- type ClusterOutputs
- type ClusterSSH
- type ClusterSpec
- type ClusterWinRM
- type Config
- type K0s
- type K0sAPI
- type K0sCalico
- type K0sCalicoImage
- type K0sControllerManager
- type K0sDualStack
- type K0sEnvoyProxy
- type K0sEtcd
- type K0sEtcdExternalCluster
- type K0sFeatureGate
- type K0sImage
- type K0sImages
- type K0sInstallConfig
- type K0sInstallConfigUser
- type K0sKine
- type K0sKonnectivity
- type K0sKubeProxy
- type K0sKubeProxyIPTables
- type K0sKubeProxyIPVS
- type K0sKubeRouter
- type K0sKubeRouterImage
- type K0sMetadata
- type K0sNetwork
- type K0sNodeLocalLoadBalancing
- type K0sPodSecurityPolicy
- type K0sScheduler
- type K0sSpec
- type K0sStorage
- type K0sTelemetry
- type K0sWorkerProfile
- type K0sctl
Constants ¶
View Source
const Name string = "k0s"
Variables ¶
View Source
var Version string
Version is initialized by the Go linker to contain the semver of this build.
Functions ¶
func PrepareCluster ¶
func PrepareCluster(name string, news *ClusterInputs) error
Types ¶
type Cluster ¶
type Cluster struct{}
func (Cluster) Check ¶
func (c Cluster) Check( ctx p.Context, name string, olds ClusterOutputs, news ClusterInputs, ) (ClusterInputs, []p.CheckFailure, error)
func (Cluster) Create ¶
func (c Cluster) Create( ctx p.Context, name string, news ClusterInputs, preview bool, ) (string, ClusterOutputs, error)
func (Cluster) Diff ¶
func (c Cluster) Diff(ctx p.Context, name string, olds ClusterOutputs, news ClusterInputs) (p.DiffResponse, error)
func (*Cluster) Read ¶
func (c *Cluster) Read( ctx p.Context, name string, news ClusterInputs, olds ClusterOutputs, ) (string, ClusterInputs, ClusterOutputs, error)
func (Cluster) Update ¶
func (c Cluster) Update( ctx p.Context, name string, olds ClusterOutputs, news ClusterInputs, preview bool, ) (ClusterOutputs, error)
type ClusterFile ¶
type ClusterFile struct { Name *string `pulumi:"name,optional" json:"name,omitempty"` Source *string `pulumi:"src,optional" json:"src,omitempty"` DestinationDirectory *string `pulumi:"dstDir,optional" json:"dstDir,omitempty"` Destination *string `pulumi:"dst,optional" json:"dst,omitempty"` Permissions *string `pulumi:"perm,optional" json:"perm,omitempty"` DirectoryPermissions *string `pulumi:"dirPerm,optional" json:"dirPerm,omitempty"` User *string `pulumi:"user,optional" json:"user,omitempty"` Group *string `pulumi:"group,optional" json:"group,omitempty"` }
type ClusterHook ¶
type ClusterHooks ¶
type ClusterHooks struct { Apply *ClusterHook `pulumi:"apply,optional" json:"apply,omitempty"` Backup *ClusterHook `pulumi:"backup,optional" json:"backup,omitempty"` Reset *ClusterHook `pulumi:"reset,optional" json:"reset,omitempty"` }
type ClusterHost ¶
type ClusterHost struct { Role *string `pulumi:"role" json:"role"` PrivateInterface *string `pulumi:"privateInterface,optional" json:"privateInterface,omitempty"` PrivateAddress *string `pulumi:"privateAddress,optional" json:"privateAddress,omitempty"` Environment map[string]string `pulumi:"environment,optional" json:"environment,omitempty"` UploadBinary *bool `pulumi:"uploadBinary,optional" json:"uploadBinary,omitempty"` K0sBinaryPath *string `pulumi:"k0sBinaryPath,optional" json:"k0sBinaryPath,omitempty"` InstallFlags []string `pulumi:"installFlags,optional" json:"installFlags,omitempty"` Files []ClusterFile `pulumi:"files,optional" json:"files,omitempty"` OS *string `pulumi:"os,optional" json:"os,omitempty"` Hostname *string `pulumi:"hostname,optional" json:"hostname,omitempty"` Hooks *ClusterHooks `pulumi:"hooks,optional" json:"hooks,omitempty"` WinRM *ClusterWinRM `pulumi:"winRM,optional" json:"winRM,omitempty"` SSH *ClusterSSH `pulumi:"ssh,optional" json:"ssh,omitempty"` Localhost *ClusterLocalhost `pulumi:"localhost,optional" json:"localhost,omitempty"` NoTaints *bool `pulumi:"noTaints,optional" json:"noTaints,omitempty"` }
type ClusterInputs ¶
type ClusterInputs struct { APIVersion *string `pulumi:"apiVersion,optional" json:"apiVersion,omitempty"` Kind *string `pulumi:"kind,optional" json:"kind,omitempty"` Metadata *ClusterMetadata `pulumi:"metadata,optional" json:"metadata,omitempty"` Spec *ClusterSpec `pulumi:"spec,optional" json:"spec,omitempty"` Kubeconfig *string `json:"-"` }
type ClusterK0s ¶
type ClusterK0s struct { Version *string `pulumi:"version,optional" json:"version,omitempty"` VersionChannel *string `pulumi:"versionChannel,optional" json:"versionChannel,omitempty"` DynamicConfig *bool `pulumi:"dynamicConfig,optional" json:"dynamicConfig,omitempty"` Config *K0s `pulumi:"config,optional" json:"config,omitempty"` }
type ClusterLocalhost ¶
type ClusterLocalhost struct {
Enabled *bool `pulumi:"enabled,optional" json:"enabled,omitempty"`
}
type ClusterMetadata ¶
type ClusterMetadata struct {
Name *string `pulumi:"name" json:"name"`
}
type ClusterOutputs ¶
type ClusterOutputs struct { ClusterInputs Kubeconfig *string `pulumi:"kubeconfig" provider:"secret" json:"-"` }
type ClusterSSH ¶
type ClusterSSH struct { Address *string `pulumi:"address" json:"address,omitempty"` Port *int `pulumi:"port,optional" json:"port,omitempty"` User *string `pulumi:"user,optional" json:"user,omitempty"` Key *string `pulumi:"key,optional" provider:"secret" json:"-"` HostKey *string `pulumi:"hostKey,optional" json:"hostKey,omitempty"` Bastion *ClusterSSH `pulumi:"bastion,optional" json:"bastion,omitempty"` }
type ClusterSpec ¶
type ClusterSpec struct { Hosts []ClusterHost `pulumi:"hosts" json:"hosts"` K0s *ClusterK0s `pulumi:"k0s,optional" json:"k0s,omitempty"` }
type ClusterWinRM ¶
type ClusterWinRM struct { Address *string `pulumi:"address" json:"address"` Port *int `pulumi:"port,optional" json:"port,omitempty"` User *string `pulumi:"user,optional" json:"user,omitempty"` Password *string `pulumi:"password,optional" provider:"secret" json:"password,omitempty"` UseHTTPS *bool `pulumi:"useHTTPS,optional" json:"useHTTPS,omitempty"` Insecure *bool `pulumi:"insecure,optional" json:"insecure,omitempty"` UseNTLM *bool `pulumi:"useNTLM,optional" json:"useNTLM,omitempty"` CaCert *string `pulumi:"caCert,optional" provider:"secret" json:"caCert,omitempty"` Cert *string `pulumi:"cert,optional" provider:"secret" json:"cert,omitempty"` Key *string `pulumi:"key,optional" provider:"secret" json:"key,omitempty"` TLSServerName *string `pulumi:"tlsServerName,optional" json:"tlsServerName,omitempty"` Bastion *ClusterSSH `pulumi:"bastion,optional" json:"bastion,omitempty"` }
type Config ¶
type K0s ¶
type K0s struct { APIVersion *string `pulumi:"apiVersion,optional" json:"apiVersion,omitempty"` Kind *string `pulumi:"kind,optional" json:"kind,omitempty"` Metadata *K0sMetadata `pulumi:"metadata,optional" json:"metadata,omitempty"` Spec *K0sSpec `pulumi:"spec,optional" json:"spec,omitempty"` }
type K0sAPI ¶
type K0sAPI struct { Address *string `pulumi:"address,optional" json:"address,omitempty"` Port *int `pulumi:"port,optional" json:"port,omitempty"` K0sApiPort *int `pulumi:"k0sApiPort,optional" json:"k0sApiPort,omitempty"` ExternalAddress *string `pulumi:"externalAddress,optional" json:"externalAddress,omitempty"` SANs []string `pulumi:"sans,optional" json:"sans,omitempty"` ExtraArgs map[string]string `pulumi:"extraArgs,optional" json:"extraArgs,omitempty"` }
type K0sCalico ¶
type K0sCalico struct { Mode *string `pulumi:"mode,optional" json:"mode,omitempty"` Overlay *string `pulumi:"overlay,optional" json:"overlay,omitempty"` VXLANPort *int `pulumi:"vxlanPort,optional" json:"vxlanPort,omitempty"` VXLANVNI *int `pulumi:"vxlanVNI,optional" json:"vxlanVNI,omitempty"` MTU *int `pulumi:"mtu,optional" json:"mtu,omitempty"` Wireguard *bool `pulumi:"wireguard,optional" json:"wireguard,omitempty"` FlexVolumeDriverPath *string `pulumi:"flexVolumeDriverPath,optional" json:"flexVolumeDriverPath,omitempty"` IPAutodetectionMethod *string `pulumi:"ipAutodetectionMethod,optional" json:"ipAutodetectionMethod,omitempty"` EnvVars map[string]string `pulumi:"envVars,optional" json:"envVars,omitempty"` }
type K0sCalicoImage ¶
type K0sCalicoImage struct { CNI *K0sImage `pulumi:"cni,optional" json:"cni,omitempty"` FlexVolume *K0sImage `pulumi:"flexvolume,optional" json:"flexvolume,omitempty"` Node *K0sImage `pulumi:"node,optional" json:"node,omitempty"` KubeControllers *K0sImage `pulumi:"kubecontrollers,optional" json:"kubecontrollers,omitempty"` }
type K0sControllerManager ¶
type K0sDualStack ¶
type K0sEnvoyProxy ¶
type K0sEnvoyProxy struct { Image *string `pulumi:"image,optional" json:"image,omitempty"` ImagePullPolicy *string `pulumi:"imagePullPolicy,optional" json:"imagePullPolicy,omitempty"` APIServerBindPort *int `pulumi:"apiServerBindPort,optional" json:"apiServerBindPort,omitempty"` KonnectivityServerBindPort *int `pulumi:"konnectivityServerBindPort,optional" json:"konnectivityServerBindPort,omitempty"` }
type K0sEtcd ¶
type K0sEtcd struct { PeerAddress *string `pulumi:"peerAddress,optional" json:"peerAddress,omitempty"` ExtraArgs map[string]string `pulumi:"extraArgs,optional" json:"extraArgs,omitempty"` ExternalCluster *K0sEtcdExternalCluster `pulumi:"externalCluster,optional" json:"externalCluster,omitempty"` }
type K0sEtcdExternalCluster ¶
type K0sEtcdExternalCluster struct { Endpoints []string `pulumi:"endpoints" json:"endpoints"` EtcdPrefix *string `pulumi:"etcdPrefix,optional" json:"etcdPrefix,omitempty"` CA *string `pulumi:"ca,optional" provider:"secret" json:"ca,omitempty"` ClientCert *string `pulumi:"clientCert,optional" provider:"secret" json:"clientCert,omitempty"` ClientKey *string `pulumi:"clientKey,optional" provider:"secret" json:"clientKey,omitempty"` }
type K0sFeatureGate ¶
type K0sImages ¶
type K0sImages struct { DefaultPullPolicy *string `pulumi:"default_pull_policy,optional" json:"default_pull_policy,omitempty"` Repository *string `pulumi:"repository,optional" json:"repository,omitempty"` Konnectivity *K0sImage `pulumi:"konnectivity,optional" json:"konnectivity,omitempty"` MetricsServer *K0sImage `pulumi:"metricsserver,optional" json:"metricsserver,omitempty"` Kubeproxy *K0sImage `pulumi:"kubeproxy,optional" json:"kubeproxy,omitempty"` CoreDNS *K0sImage `pulumi:"coredns,optional" json:"coredns,omitempty"` Pause *K0sImage `pulumi:"pause,optional" json:"pause,omitempty"` Calico *K0sCalicoImage `pulumi:"calico,optional" json:"calico,omitempty"` KubeRouter *K0sKubeRouterImage `pulumi:"kuberouter,optional" json:"kuberouter,omitempty"` }
type K0sInstallConfig ¶
type K0sInstallConfig struct {
Users *K0sInstallConfigUser `pulumi:"users,optional" json:"users,omitempty"`
}
type K0sInstallConfigUser ¶
type K0sInstallConfigUser struct { EtcdUser *string `pulumi:"etcdUser,optional" json:"etcdUser,omitempty"` KineUser *string `pulumi:"kineUser,optional" json:"kineUser,omitempty"` KonnectivityUser *string `pulumi:"konnectivityUser,optional" json:"konnectivityUser,omitempty"` KubeAPIServerUser *string `pulumi:"kubeAPIserverUser,optional" json:"kubeAPIserverUser,omitempty"` KubeSchedulerUser *string `pulumi:"kubeSchedulerUser,optional" json:"kubeSchedulerUser,omitempty"` }
type K0sKine ¶
type K0sKine struct {
DataSource *string `pulumi:"dataSource" json:"dataSource,omitempty" provider:"secret"`
}
type K0sKonnectivity ¶
type K0sKubeProxy ¶
type K0sKubeProxy struct { Disabled *bool `pulumi:"disabled,optional" json:"disabled,omitempty"` Mode *string `pulumi:"mode,optional" json:"mode,omitempty"` IPTables *K0sKubeProxyIPTables `pulumi:"iptables,optional" json:"iptables,omitempty"` IPVS *K0sKubeProxyIPVS `pulumi:"ipvs,optional" json:"ipvs,omitempty"` NodePortAddresses *string `pulumi:"nodePortAddresses,optional" json:"nodePortAddresses,omitempty"` }
type K0sKubeProxyIPTables ¶
type K0sKubeProxyIPTables struct { MasqueradeAll *bool `pulumi:"masqueradeAll,optional" json:"masqueradeAll,omitempty"` MasqueradeBit *int `pulumi:"masqueradeBit,optional" json:"masqueradeBit,omitempty"` MinSyncPeriod *string `pulumi:"minSyncPeriod,optional" json:"minSyncPeriod,omitempty"` SyncPeriod *string `pulumi:"syncPeriod,optional" json:"syncPeriod,omitempty"` }
type K0sKubeProxyIPVS ¶
type K0sKubeProxyIPVS struct { ExcludeCIDRs *string `pulumi:"excludeCIDRs,optional" json:"excludeCIDRs,omitempty"` MinSyncPeriod *string `pulumi:"minSyncPeriod,optional" json:"minSyncPeriod,omitempty"` Scheduler *string `pulumi:"scheduler,optional" json:"scheduler,omitempty"` StrictARP *bool `pulumi:"strictARP,optional" json:"strictARP,omitempty"` SyncPeriod *string `pulumi:"syncPeriod,optional" json:"syncPeriod,omitempty"` TCPFinTimeout *string `pulumi:"tcpFinTimeout,optional" json:"tcpFinTimeout,omitempty"` TCPTimeout *string `pulumi:"tcpTimeout,optional" json:"tcpTimeout,omitempty"` UDPTimeout *string `pulumi:"udpTimeout,optional" json:"udpTimeout,omitempty"` }
type K0sKubeRouter ¶
type K0sKubeRouter struct { AutoMTU *bool `pulumi:"autoMTU,optional" json:"autoMTU,omitempty"` MTU *int `pulumi:"mtu,optional" json:"mtu,omitempty"` MetricsPort *int `pulumi:"metricsPort,optional" json:"metricsPort,omitempty"` Hairpin *string `pulumi:"hairpin,optional" json:"hairpin,omitempty"` IPMasq *bool `pulumi:"ipMasq,optional" json:"ipMasq,omitempty"` ExtraArgs map[string]string `pulumi:"extraArgs,optional" json:"extraArgs,omitempty"` }
type K0sKubeRouterImage ¶
type K0sMetadata ¶
type K0sMetadata struct {
Name *string `pulumi:"name" json:"name"`
}
type K0sNetwork ¶
type K0sNetwork struct { Provider *string `pulumi:"provider,optional" json:"provider,omitempty"` PodCIDR *string `pulumi:"podCIDR,optional" json:"podCIDR,omitempty"` ServiceCIDR *string `pulumi:"serviceCIDR,optional" json:"serviceCIDR,omitempty"` ClusterDomain *string `pulumi:"clusterDomain,optional" json:"clusterDomain,omitempty"` DualStack *K0sDualStack `pulumi:"dualStack,optional" json:"dualStack,omitempty"` Calico *K0sCalico `pulumi:"calico,optional" json:"calico,omitempty"` KubeRouter *K0sKubeRouter `pulumi:"kuberouter,optional" json:"kuberouter,omitempty"` KubeProxy *K0sKubeProxy `pulumi:"kubeProxy,optional" json:"kubeProxy,omitempty"` NodeLocalLoadBalancing *K0sNodeLocalLoadBalancing `pulumi:"nodeLocalLoadBalancing,optional" json:"nodeLocalLoadBalancing,omitempty"` }
type K0sNodeLocalLoadBalancing ¶
type K0sNodeLocalLoadBalancing struct { Enabled *bool `pulumi:"enabled,optional" json:"enabled,omitempty"` Type *string `pulumi:"type,optional" json:"type,omitempty"` EnvoyProxy *K0sEnvoyProxy `pulumi:"envoyProxy,optional" json:"envoyProxy,omitempty"` }
type K0sPodSecurityPolicy ¶
type K0sPodSecurityPolicy struct {
DefaultPolicy *string `pulumi:"defaultPolicy,optional" json:"defaultPolicy,omitempty"`
}
type K0sScheduler ¶
type K0sSpec ¶
type K0sSpec struct { API *K0sAPI `pulumi:"api,optional" json:"api,omitempty"` Images *K0sImages `pulumi:"images,optional" json:"images,omitempty"` InstallConfig *K0sInstallConfig `pulumi:"installConfig,optional" json:"installConfig,omitempty"` Konnectivity *K0sKonnectivity `pulumi:"konnectivity,optional" json:"konnectivity,omitempty"` Network *K0sNetwork `pulumi:"network,optional" json:"network,omitempty"` PodSecurityPolicy *K0sPodSecurityPolicy `pulumi:"podSecurityPolicy,optional" json:"podSecurityPolicy,omitempty"` ControllerManager *K0sControllerManager `pulumi:"controllerManager,optional" json:"controllerManager,omitempty"` Scheduler *K0sScheduler `pulumi:"scheduler,optional" json:"scheduler,omitempty"` Storage *K0sStorage `pulumi:"storage,optional" json:"storage,omitempty"` WorkerProfiles []K0sWorkerProfile `pulumi:"workerProfiles,optional" json:"workerProfiles,omitempty"` FeatureGates []K0sFeatureGate `pulumi:"featureGates,optional" json:"featureGates,omitempty"` Telemetry *K0sTelemetry `pulumi:"telemetry,optional" json:"telemetry,omitempty"` }
type K0sStorage ¶
type K0sTelemetry ¶
type K0sTelemetry struct {
Enabled *bool `pulumi:"enabled,optional" json:"enabled,omitempty"`
}
type K0sWorkerProfile ¶
type K0sctl ¶
type K0sctl struct {
// contains filtered or unexported fields
}
func NewK0sctl ¶
func NewK0sctl(news *ClusterInputs) *K0sctl
func (*K0sctl) Kubeconfig ¶
Source Files ¶
Click to show internal directories.
Click to hide internal directories.