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
// DisableCSIDriver indicates if csi drivers (csi addon) is disabled for the user cluster or not.
DisableCSIDriver bool
}
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.