Documentation ¶
Index ¶
Constants ¶
View Source
const (
ClusterTypeKubernetes = "kubernetes"
)
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Addon ¶ added in v2.25.0
type Addon struct {
// contains filtered or unexported fields
}
Addon is a single addon loaded from a single directory. Within this directory usually all .yaml files will have been loaded and concatenated into a single large template to render.
func LoadAddonFromDirectory ¶ added in v2.25.0
func (*Addon) Render ¶ added in v2.25.0
func (a *Addon) Render(overwriteRegistry string, data *TemplateData) ([]runtime.RawExtension, error)
type CSIOptions ¶ added in v2.20.0
type CSIOptions struct { // vsphere // StoragePolicy is the storage policy to use for vsphere csi addon StoragePolicy string // nutanix StorageContainer string Fstype string SsSegmentedIscsiNetwork *bool // vmware Cloud Director StorageProfile string Filesystem string // openstack CinderTopologyEnabled bool }
type ClusterData ¶
type ClusterData struct { // Type is only "kubernetes" Type string // Name is the auto-generated, internal cluster name, e.g. "bbc8sc24wb". Name string // HumanReadableName is the user-specified cluster name. HumanReadableName string // Namespace is the full namespace for the cluster's control plane. Namespace string // OwnerName is the owner's full name. OwnerName string // OwnerEmail is the owner's e-mail address. OwnerEmail string // Labels are the labels users have configured for their cluster, including // system-defined labels like the project ID. Labels map[string]string // Annotations are the annotations on the cluster resource, usually // cloud-provider related information like regions. Annotations map[string]string // Kubeconfig is a YAML-encoded kubeconfig with cluster-admin permissions // inside the user-cluster. The kubeconfig uses the external URL to reach // the apiserver. Kubeconfig string // ClusterAddress stores access and address information of a cluster. Address kubermaticv1.ClusterAddress // CloudProviderName is the name of the cloud provider used, one of // "alibaba", "aws", "azure", "bringyourown", "digitalocean", "gcp", // "hetzner", "kubevirt", "openstack", "packet", "vsphere" depending on // the configured datacenters. CloudProviderName string // Version is the exact current cluster version. Version *semverlib.Version // MajorMinorVersion is a shortcut for common testing on "Major.Minor" on the // current cluster version. MajorMinorVersion string // Network contains DNS and CIDR settings for the cluster. Network ClusterNetwork // Features is a set of enabled features for this cluster. Features sets.Set[string] // CNIPlugin contains the CNIPlugin settings CNIPlugin CNIPlugin // CSI specific options, dependent on provider CSI CSIOptions // MLA contains monitoring, logging and alerting related settings for the user cluster. MLA MLASettings // CSIMigration indicates if the cluster needed the CSIMigration CSIMigration bool // KubeVirtInfraStorageClasses is a list of storage classes from KubeVirt infra cluster that are used for // initialization of user cluster storage classes by the CSI driver kubevirt (hot pluggable disks) KubeVirtInfraStorageClasses []kubermaticv1.KubeVirtInfraStorageClass }
ClusterData contains data related to the user cluster the addon is rendered for.
type ClusterNetwork ¶
type ClusterNetwork struct { DNSDomain string DNSClusterIP string DNSResolverIP string PodCIDRBlocks []string ServiceCIDRBlocks []string ProxyMode string StrictArp *bool DualStack bool PodCIDRIPv4 string PodCIDRIPv6 string NodeCIDRMaskSizeIPv4 int32 NodeCIDRMaskSizeIPv6 int32 IPAMAllocations map[string]IPAMAllocation NodePortRange string }
type Credentials ¶
type Credentials = resources.Credentials
This alias exists purely because it makes the go doc we generate easier to read, as it does not hint at a different package anymore.
type IPAMAllocation ¶ added in v2.21.0
type IPAMAllocation struct { Type kubermaticv1.IPAMPoolAllocationType CIDR kubermaticv1.SubnetCIDR Addresses []string }
type MLASettings ¶ added in v2.18.0
type TemplateData ¶
type TemplateData struct { SeedName string DatacenterName string Cluster ClusterData Credentials Credentials Variables map[string]interface{} }
TemplateData is the root context injected into each addon manifest file.
func NewTemplateData ¶
func NewTemplateData( cluster *kubermaticv1.Cluster, credentials resources.Credentials, kubeconfig string, dnsClusterIP string, dnsResolverIP string, ipamAllocations *kubermaticv1.IPAMAllocationList, variables map[string]interface{}, ) (*TemplateData, error)
Click to show internal directories.
Click to hide internal directories.