Documentation
¶
Overview ¶
Package v1beta1 contains API Schema definitions for the embeddedcluster v1beta1 API group. +kubebuilder:object:generate=true +groupName=embeddedcluster.replicated.com
Index ¶
- Constants
- Variables
- func ConvertTo(e Helm, t *k0sv1beta1.HelmExtensions) (*k0sv1beta1.HelmExtensions, error)
- type ArtifactsLocation
- type BuiltInExtension
- type Chart
- type Config
- type ConfigList
- type ConfigSecret
- type ConfigSpec
- type ConfigStatus
- type Extensions
- type Helm
- type Installation
- type InstallationList
- type InstallationSpec
- type InstallationStatus
- func (in *InstallationStatus) DeepCopy() *InstallationStatus
- func (in *InstallationStatus) DeepCopyInto(out *InstallationStatus)
- func (s *InstallationStatus) GetKubernetesInstalled() bool
- func (s *InstallationStatus) SetCondition(condition metav1.Condition) bool
- func (s *InstallationStatus) SetState(state string, reason string, pendingCharts []string)
- type LicenseInfo
- type NetworkSpec
- type NodeCount
- type NodeRange
- type NodeRole
- type NodeStatus
- type ProxySpec
- type Repository
- type Roles
- type UnsupportedOverrides
Constants ¶
const ( InstallationStateWaiting string = "Waiting" InstallationStateCopyingArtifacts string = "CopyingArtifacts" InstallationStateEnqueued string = "Enqueued" InstallationStateInstalling string = "Installing" InstallationStateInstalled string = "Installed" InstallationStateKubernetesInstalled string = "KubernetesInstalled" InstallationStateAddonsInstalling string = "AddonsInstalling" InstallationStateHelmChartUpdateFailure string = "HelmChartUpdateFailure" InstallationStateObsolete string = "Obsolete" InstallationStateFailed string = "Failed" InstallationStateUnknown string = "Unknown" InstallationStatePendingChartCreation string = "PendingChartCreation" )
What follows is a list of all valid states for an Installation object.
const ConfigSecretEntryName = "config.yaml"
ConfigSecretEntryName holds the entry name we are looking for in the secret that holds the embedded cluster configuration.
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "embeddedcluster.replicated.com", Version: "v1beta1"} // 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 )
Functions ¶
func ConvertTo ¶ added in v1.4.3
func ConvertTo(e Helm, t *k0sv1beta1.HelmExtensions) (*k0sv1beta1.HelmExtensions, error)
Types ¶
type ArtifactsLocation ¶
type ArtifactsLocation struct {
Images string `json:"images"`
HelmCharts string `json:"helmCharts"`
EmbeddedClusterBinary string `json:"embeddedClusterBinary"`
EmbeddedClusterMetadata string `json:"embeddedClusterMetadata"`
AdditionalArtifacts map[string]string `json:"additionalArtifacts,omitempty"`
}
ArtifactsLocation defines a location from where we can download an airgap bundle. It contains individual URLs for each component of the bundle. These URLs are expected to point to a registry running inside the cluster, authentication for the registry is read from the cluster at execution time so they do not need to be provided here.
func (*ArtifactsLocation) DeepCopy ¶
func (in *ArtifactsLocation) DeepCopy() *ArtifactsLocation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ArtifactsLocation.
func (*ArtifactsLocation) DeepCopyInto ¶
func (in *ArtifactsLocation) DeepCopyInto(out *ArtifactsLocation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BuiltInExtension ¶ added in v1.1.5
type BuiltInExtension struct {
// The name of the helm chart to override values of, for instance `openebs`.
Name string `json:"name"`
// YAML-formatted helm values that will override those provided to the
// chart by Embedded Cluster. Properties are overridden individually -
// setting a new value for `images.tag` here will not prevent Embedded
// Cluster from setting `images.pullPolicy = IfNotPresent`, for example.
Values string `json:"values"`
}
BuiltInExtension holds the override for a built-in extension (add-on).
func (*BuiltInExtension) DeepCopy ¶ added in v1.1.5
func (in *BuiltInExtension) DeepCopy() *BuiltInExtension
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BuiltInExtension.
func (*BuiltInExtension) DeepCopyInto ¶ added in v1.1.5
func (in *BuiltInExtension) DeepCopyInto(out *BuiltInExtension)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Chart ¶ added in v1.4.3
type Chart struct {
Name string `json:"name,omitempty"`
ChartName string `json:"chartname,omitempty"`
Version string `json:"version,omitempty"`
// +kubebuilder:validation:Optional
Values string `json:"values,omitempty"`
TargetNS string `json:"namespace,omitempty"`
// Timeout specifies the timeout for how long to wait for the chart installation to finish.
// +kubebuilder:validation:Optional
Timeout time.Duration `json:"timeout,omitempty"`
// +kubebuilder:validation:Optional
Order int `json:"order,omitempty"`
}
Chart single helm addon
func (*Chart) DeepCopy ¶ added in v1.4.3
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Chart.
func (*Chart) DeepCopyInto ¶ added in v1.4.3
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Config ¶
type Config struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ConfigSpec `json:"spec,omitempty"`
Status ConfigStatus `json:"status,omitempty"`
}
Config is the Schema for the configs API
func (*Config) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Config.
func (*Config) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Config) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ConfigList ¶
type ConfigList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Config `json:"items"`
}
ConfigList contains a list of Config
func (*ConfigList) DeepCopy ¶
func (in *ConfigList) DeepCopy() *ConfigList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigList.
func (*ConfigList) DeepCopyInto ¶
func (in *ConfigList) DeepCopyInto(out *ConfigList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ConfigList) DeepCopyObject ¶
func (in *ConfigList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ConfigSecret ¶ added in v1.1.9
ConfigSecret holds a reference to secret containing the embedded cluster config. The config found on this secret overrides the configuration found in the InstallationSpec.
func (*ConfigSecret) DeepCopy ¶ added in v1.1.9
func (in *ConfigSecret) DeepCopy() *ConfigSecret
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigSecret.
func (*ConfigSecret) DeepCopyInto ¶ added in v1.1.9
func (in *ConfigSecret) DeepCopyInto(out *ConfigSecret)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConfigSpec ¶
type ConfigSpec struct {
Version string `json:"version,omitempty"`
Roles Roles `json:"roles,omitempty"`
UnsupportedOverrides UnsupportedOverrides `json:"unsupportedOverrides,omitempty"`
Extensions Extensions `json:"extensions,omitempty"`
}
ConfigSpec defines the desired state of Config
func (*ConfigSpec) ApplyEndUserAddOnOverrides ¶ added in v1.1.6
func (c *ConfigSpec) ApplyEndUserAddOnOverrides(name, cfg string) (string, error)
ApplyEndUserAddOnOverrides applies the end-user provided addon config on top of the provided addon configuration (cfg).
func (*ConfigSpec) DeepCopy ¶
func (in *ConfigSpec) DeepCopy() *ConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigSpec.
func (*ConfigSpec) DeepCopyInto ¶
func (in *ConfigSpec) DeepCopyInto(out *ConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ConfigSpec) OverrideForBuiltIn ¶ added in v1.1.6
func (c ConfigSpec) OverrideForBuiltIn(bi string) string
OverrideForBuiltIn returns the override for the built-in extension with the given name. If no override is found an empty string is returned.
type ConfigStatus ¶
type ConfigStatus struct {
}
ConfigStatus defines the observed state of Config
func (*ConfigStatus) DeepCopy ¶
func (in *ConfigStatus) DeepCopy() *ConfigStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigStatus.
func (*ConfigStatus) DeepCopyInto ¶
func (in *ConfigStatus) DeepCopyInto(out *ConfigStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Extensions ¶
type Extensions struct {
Helm *Helm `json:"helm,omitempty"`
}
func (*Extensions) DeepCopy ¶
func (in *Extensions) DeepCopy() *Extensions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Extensions.
func (*Extensions) DeepCopyInto ¶
func (in *Extensions) DeepCopyInto(out *Extensions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Helm ¶ added in v1.4.3
type Helm struct {
// +kubebuilder:validation:Optional
ConcurrencyLevel int `json:"concurrencyLevel"`
// +kubebuilder:validation:Optional
Repositories []Repository `json:"repositories"`
// +kubebuilder:validation:Optional
Charts []Chart `json:"charts"`
}
Helm contains helm extension settings
func ConvertFrom ¶ added in v1.4.3
func ConvertFrom(e k0sv1beta1.HelmExtensions, t *Helm) (*Helm, error)
func (*Helm) DeepCopy ¶ added in v1.4.3
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Helm.
func (*Helm) DeepCopyInto ¶ added in v1.4.3
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Installation ¶
type Installation struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec InstallationSpec `json:"spec,omitempty"`
Status InstallationStatus `json:"status,omitempty"`
}
Installation is the Schema for the installations API
func (*Installation) DeepCopy ¶
func (in *Installation) DeepCopy() *Installation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Installation.
func (*Installation) DeepCopyInto ¶
func (in *Installation) DeepCopyInto(out *Installation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Installation) DeepCopyObject ¶
func (in *Installation) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type InstallationList ¶
type InstallationList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Installation `json:"items"`
}
InstallationList contains a list of Installation
func (*InstallationList) DeepCopy ¶
func (in *InstallationList) DeepCopy() *InstallationList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstallationList.
func (*InstallationList) DeepCopyInto ¶
func (in *InstallationList) DeepCopyInto(out *InstallationList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*InstallationList) DeepCopyObject ¶
func (in *InstallationList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type InstallationSpec ¶
type InstallationSpec struct {
// ClusterID holds the cluster, generated during the installation.
ClusterID string `json:"clusterID,omitempty"`
// MetricsBaseURL holds the base URL for the metrics server.
MetricsBaseURL string `json:"metricsBaseURL,omitempty"`
// HighAvailability indicates if the installation is high availability.
HighAvailability bool `json:"highAvailability,omitempty"`
// AirGap indicates if the installation is airgapped.
AirGap bool `json:"airGap,omitempty"`
// Artifacts holds the location of the airgap bundle.
Artifacts *ArtifactsLocation `json:"artifacts,omitempty"`
// Proxy holds the proxy configuration.
Proxy *ProxySpec `json:"proxy,omitempty"`
// Network holds the network configuration.
Network *NetworkSpec `json:"network,omitempty"`
// Config holds the configuration used at installation time.
Config *ConfigSpec `json:"config,omitempty"`
// EndUserK0sConfigOverrides holds the end user k0s config overrides
// used at installation time.
EndUserK0sConfigOverrides string `json:"endUserK0sConfigOverrides,omitempty"`
// BinaryName holds the name of the binary used to install the cluster.
// this will follow the pattern 'appslug-channelslug'
BinaryName string `json:"binaryName,omitempty"`
// LicenseInfo holds information about the license used to install the cluster.
LicenseInfo *LicenseInfo `json:"licenseInfo,omitempty"`
// ConfigSecret holds a secret name and namespace. If this is set it means that
// the Config for this Installation object must be read from there. This option
// supersedes (overrides) the Config field.
ConfigSecret *ConfigSecret `json:"configSecret,omitempty"`
}
InstallationSpec defines the desired state of Installation.
func (*InstallationSpec) DeepCopy ¶
func (in *InstallationSpec) DeepCopy() *InstallationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstallationSpec.
func (*InstallationSpec) DeepCopyInto ¶
func (in *InstallationSpec) DeepCopyInto(out *InstallationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*InstallationSpec) ParseConfigSpecFromSecret ¶ added in v1.1.9
func (i *InstallationSpec) ParseConfigSpecFromSecret(secret corev1.Secret) error
ParseConfigSpecFromSecret reads the embedded cluster configuration from a secret. This function overrides the Config field in the InstallationSpec but does not save it to the cluster.
type InstallationStatus ¶
type InstallationStatus struct {
// NodesStatus is a list of nodes and their status.
NodesStatus []NodeStatus `json:"nodesStatus,omitempty"`
// State holds the current state of the installation.
State string `json:"state,omitempty"`
// Reason holds the reason for the current state.
Reason string `json:"reason,omitempty"`
// PendingCharts holds the list of charts that are being created or updated.
PendingCharts []string `json:"pendingCharts,omitempty"`
// Conditions is an array of current observed installation conditions.
// +listType=map
// +listMapKey=type
// +patchStrategy=merge
// +patchMergeKey=type
// +optional
Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`
}
InstallationStatus defines the observed state of Installation
func (*InstallationStatus) DeepCopy ¶
func (in *InstallationStatus) DeepCopy() *InstallationStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstallationStatus.
func (*InstallationStatus) DeepCopyInto ¶
func (in *InstallationStatus) DeepCopyInto(out *InstallationStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*InstallationStatus) GetKubernetesInstalled ¶
func (s *InstallationStatus) GetKubernetesInstalled() bool
func (*InstallationStatus) SetCondition ¶ added in v1.3.3
func (s *InstallationStatus) SetCondition(condition metav1.Condition) bool
SetState sets the installation state and reason.
type LicenseInfo ¶ added in v1.1.3
type LicenseInfo struct {
IsDisasterRecoverySupported bool `json:"isDisasterRecoverySupported,omitempty"`
}
LicenseInfo holds information about the license used to install the cluster.
func (*LicenseInfo) DeepCopy ¶ added in v1.1.5
func (in *LicenseInfo) DeepCopy() *LicenseInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LicenseInfo.
func (*LicenseInfo) DeepCopyInto ¶ added in v1.1.5
func (in *LicenseInfo) DeepCopyInto(out *LicenseInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkSpec ¶ added in v1.3.11
type NetworkSpec struct {
PodCIDR string `json:"podCIDR,omitempty"`
ServiceCIDR string `json:"serviceCIDR,omitempty"`
NodePortRange string `json:"nodePortRange,omitempty"`
}
NetworkSpec holds the network configuration.
func (*NetworkSpec) DeepCopy ¶ added in v1.3.11
func (in *NetworkSpec) DeepCopy() *NetworkSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkSpec.
func (*NetworkSpec) DeepCopyInto ¶ added in v1.3.11
func (in *NetworkSpec) DeepCopyInto(out *NetworkSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NodeCount ¶
type NodeCount struct {
// Values holds a list of allowed node counts.
Values []int `json:"values,omitempty"`
// NodeRange contains a min and max or only one of them (conflicts
// with Values).
Range *NodeRange `json:"range,omitempty"`
}
NodeCount holds a series of rules for a given node role.
func (*NodeCount) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeCount.
func (*NodeCount) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NodeRange ¶
type NodeRange struct {
// Min is the minimum number of nodes.
Min *int `json:"min,omitempty"`
// Max is the maximum number of nodes.
Max *int `json:"max,omitempty"`
}
NodeRange contains a min and max or only one of them.
func (*NodeRange) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeRange.
func (*NodeRange) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NodeRole ¶
type NodeRole struct {
Name string `json:"name,omitempty"`
Description string `json:"description,omitempty"`
NodeCount *NodeCount `json:"nodeCount,omitempty"`
Labels map[string]string `json:"labels,omitempty"`
}
NodeRole is the role of a node in the cluster.
func (*NodeRole) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeRole.
func (*NodeRole) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NodeStatus ¶
NodeStatus is used to keep track of the status of a cluster node, we only hold its name and a hash of the node's status. Whenever the node status change we will be able to capture it and update the hash.
func (*NodeStatus) DeepCopy ¶
func (in *NodeStatus) DeepCopy() *NodeStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeStatus.
func (*NodeStatus) DeepCopyInto ¶
func (in *NodeStatus) DeepCopyInto(out *NodeStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProxySpec ¶ added in v1.3.9
type ProxySpec struct {
HTTPProxy string `json:"httpProxy,omitempty"`
HTTPSProxy string `json:"httpsProxy,omitempty"`
NoProxy string `json:"noProxy,omitempty"`
}
ProxySpec holds the proxy configuration.
func (*ProxySpec) DeepCopy ¶ added in v1.3.9
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxySpec.
func (*ProxySpec) DeepCopyInto ¶ added in v1.3.9
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Repository ¶ added in v1.4.4
type Repository struct {
Name string `json:"name,omitempty"`
URL string `json:"url,omitempty"`
CAFile string `json:"caFile,omitempty"`
CertFile string `json:"certFile,omitempty"`
Insecure bool `json:"insecure,omitempty"`
KeyFile string `json:"keyfile,omitempty"`
Username string `json:"username,omitempty"`
Password string `json:"password,omitempty"`
}
func (*Repository) DeepCopy ¶ added in v1.4.4
func (in *Repository) DeepCopy() *Repository
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Repository.
func (*Repository) DeepCopyInto ¶ added in v1.4.4
func (in *Repository) DeepCopyInto(out *Repository)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Roles ¶
type Roles struct {
Controller NodeRole `json:"controller,omitempty"`
Custom []NodeRole `json:"custom,omitempty"`
}
Roles is the various roles in the cluster.
func (*Roles) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Roles.
func (*Roles) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UnsupportedOverrides ¶
type UnsupportedOverrides struct {
// K0s holds the overrides used to configure k0s. These overrides
// are merged on top of the default k0s configuration. As the data
// layout inside this configuration is very dynamic we have chosen
// to use a string here.
K0s string `json:"k0s,omitempty"`
// BuiltInExtensions holds overrides for the default add-ons we ship
// with Embedded Cluster.
BuiltInExtensions []BuiltInExtension `json:"builtInExtensions,omitempty"`
}
UnsupportedOverrides holds the config overrides used to configure the cluster.
func (*UnsupportedOverrides) DeepCopy ¶
func (in *UnsupportedOverrides) DeepCopy() *UnsupportedOverrides
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UnsupportedOverrides.
func (*UnsupportedOverrides) DeepCopyInto ¶
func (in *UnsupportedOverrides) DeepCopyInto(out *UnsupportedOverrides)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.