Documentation ¶
Index ¶
- Constants
- func ToInternalClusterType(externalClusterType string) kubermaticv1.ClusterType
- type AWSNodeSpec
- type AWSSecurityGroupList
- type AWSSize
- type AWSSizeList
- type AWSSubnet
- type AWSSubnetList
- type AWSTag
- type AWSVPC
- type AWSVPCList
- type AWSVpcCidrBlockAssociation
- type AWSVpcIpv6CidrBlockAssociation
- type AccessibleAddons
- type Addon
- type AddonConfig
- type AddonSpec
- type Admin
- type AdmissionPlugin
- type AdmissionPluginList
- type AlibabaInstanceType
- type AlibabaInstanceTypeList
- type AlibabaNodeSpec
- type AlibabaVSwitch
- type AlibabaVSwitchList
- type AlibabaZone
- type AlibabaZoneList
- type AnexiaNodeSpec
- type AnexiaTemplate
- type AnexiaTemplateList
- type AnexiaVlan
- type AnexiaVlanList
- type AzureAvailabilityZonesList
- type AzureNodeSpec
- type AzureResourceGroupsList
- type AzureRouteTablesList
- type AzureSecurityGroupsList
- type AzureSize
- type AzureSizeList
- type AzureSubnetsList
- type AzureVirtualNetworksList
- type CentOSSpec
- type Cluster
- type ClusterHealth
- type ClusterList
- type ClusterMetrics
- type ClusterRole
- type ClusterRoleBinding
- type ClusterRoleName
- type ClusterRoleUser
- type ClusterSpec
- type ClusterStatus
- type ControlPlaneMetrics
- type CreateClusterSpec
- type CredentialList
- type Datacenter
- type DatacenterList
- type DatacenterMeta
- type DatacenterSpec
- type DigitaloceanNodeSpec
- type DigitaloceanSize
- type DigitaloceanSizeList
- type Event
- type ExternalCCMMigrationStatus
- type FlatcarSpec
- type GCPDiskType
- type GCPDiskTypeList
- type GCPMachineSize
- type GCPMachineSizeList
- type GCPNetwork
- type GCPNetworkList
- type GCPNodeSpec
- type GCPSubnetwork
- type GCPSubnetworkList
- type GCPZone
- type GCPZoneList
- type GlobalCustomLinks
- type GlobalSettings
- type HetznerNodeSpec
- type HetznerSize
- type HetznerSizeList
- type Kubeconfig
- type KubermaticVersions
- type KubevirtNodeSpec
- type LabelKeyList
- type MasterVersion
- type MeteringReport
- type Namespace
- type Node
- type NodeAddress
- type NodeCloudSpec
- type NodeDeployment
- type NodeDeploymentSpec
- type NodeMetric
- type NodeResources
- type NodeSpec
- type NodeStatus
- type NodeSystemInfo
- type NodeVersionInfo
- type NodesMetric
- type ObjectMeta
- type ObjectReferenceResource
- type OpenstackAvailabilityZone
- type OpenstackNetwork
- type OpenstackNodeSpec
- type OpenstackSecurityGroup
- type OpenstackSize
- type OpenstackSubnet
- type OpenstackTenant
- type OperatingSystemSpec
- type PacketCPU
- type PacketDrive
- type PacketNodeSpec
- type PacketSize
- type PacketSizeList
- type Project
- type ProjectGroup
- type PublicAWSCloudSpec
- type PublicAlibabaCloudSpec
- type PublicAnexiaCloudSpec
- type PublicAzureCloudSpec
- type PublicBringYourOwnCloudSpec
- type PublicCloudSpec
- type PublicDigitaloceanCloudSpec
- type PublicFakeCloudSpec
- type PublicGCPCloudSpec
- type PublicHetznerCloudSpec
- type PublicKubevirtCloudSpec
- type PublicOpenstackCloudSpec
- type PublicPacketCloudSpec
- type PublicServiceAccountToken
- type PublicVSphereCloudSpec
- type RHELSpec
- type ReportURL
- type ResourceLabelMap
- type ResourceType
- type Role
- type RoleBinding
- type RoleName
- type RoleUser
- type SLESSpec
- type SSHKey
- type SSHKeySpec
- type Seed
- type SeedCluster
- type SeedNamesList
- type SeedSpec
- type ServiceAccount
- type ServiceAccountToken
- type Subject
- type TaintSpec
- type Time
- type UbuntuSpec
- type User
- type VSphereDatastoreList
- type VSphereFolder
- type VSphereNetwork
- type VSphereNodeSpec
- type VersionList
Constants ¶
const ( // ServiceAccountActive means the ServiceAccount is available for use in the system ServiceAccountActive string = "Active" // ServiceAccountInactive means the ServiceAccount is inactive and requires further initialization ServiceAccountInactive string = "Inactive" // ServiceAccountTerminating means the ServiceAccount is undergoing graceful termination ServiceAccountTerminating string = "Terminating" )
These are the valid statuses of a ServiceAccount.
const ( // NodeDeletionFinalizer indicates that the nodes still need cleanup NodeDeletionFinalizer = "kubermatic.io/delete-nodes" // InClusterPVCleanupFinalizer indicates that the PVs still need cleanup InClusterPVCleanupFinalizer = "kubermatic.io/cleanup-in-cluster-pv" // InClusterLBCleanupFinalizer indicates that the LBs still need cleanup InClusterLBCleanupFinalizer = "kubermatic.io/cleanup-in-cluster-lb" // CredentialsSecretsCleanupFinalizer indicates that secrets for credentials still need cleanup CredentialsSecretsCleanupFinalizer = "kubermatic.io/cleanup-credentials-secrets" // UserClusterRoleCleanupFinalizer indicates that user cluster role still need cleanup UserClusterRoleCleanupFinalizer = "kubermatic.io/user-cluster-role" // ExternalClusterKubeconfigCleanupFinalizer indicates that secrets for kubeconfig still need cleanup ExternalClusterKubeconfigCleanupFinalizer = "kubermatic.io/cleanup-kubeconfig-secret" // EtcdBackConfigCleanupFinalizer indicates that EtcdBackupConfigs for the cluster still need cleanup EtcdBackupConfigCleanupFinalizer = "kubermatic.io/cleanup-etcdbackupconfigs" // GatekeeperConstraintTemplateCleanupFinalizer indicates that synced gatekeeper Constraint Templates on user cluster need cleanup GatekeeperConstraintTemplateCleanupFinalizer = "kubermatic.io/cleanup-gatekeeper-constraint-templates" // GatekeeperSeedConstraintTemplateCleanupFinalizer indicates that synced gatekeeper Constraint Templates on seed clusters need cleanup GatekeeperSeedConstraintTemplateCleanupFinalizer = "kubermatic.io/cleanup-gatekeeper-master-constraint-templates" // GatekeeperSeedConstraintCleanupFinalizer indicates that synced gatekeeper Constraint on seed clusters need cleanup GatekeeperSeedConstraintCleanupFinalizer = "kubermatic.io/cleanup-gatekeeper-seed-constraint" // GatekeeperConstraintCleanupFinalizer indicates that gatkeeper constraints on the user cluster need cleanup GatekeeperConstraintCleanupFinalizer = "kubermatic.io/cleanup-gatekeeper-constraints" // KubermaticUserClusterNsDefaultConstraintCleanupFinalizer indicates that kubermatic constraints on the user cluster namespace need cleanup KubermaticUserClusterNsDefaultConstraintCleanupFinalizer = "kubermatic.io/cleanup-kubermatic-usercluster-ns-default-constraints" // KubermaticConstraintCleanupFinalizer indicates that Kubermatic constraints for the cluster need cleanup KubermaticConstraintCleanupFinalizer = "kubermatic.io/cleanup-kubermatic-constraints" // SeedProjectCleanupFinalizer indicates that Kubermatic Projects on the seed clusters need cleanup SeedProjectCleanupFinalizer = "kubermatic.io/cleanup-seed-projects" // SeedUserProjectBindingCleanupFinalizer indicates that Kubermatic UserProjectBindings on the seed clusters need cleanup SeedUserProjectBindingCleanupFinalizer = "kubermatic.io/cleanup-seed-user-project-bindings" // SeedUserCleanupFinalizer indicates that Kubermatic Users on the seed clusters need cleanup SeedUserCleanupFinalizer = "kubermatic.io/cleanup-seed-users" // ClusterRoleBindingsCleanupFinalizer indicates that the cluster ClusterRoleBindings on the seed cluster need cleanup ClusterRoleBindingsCleanupFinalizer = "kubermatic.io/cleanup-cluster-role-bindings" // ClusterTemplateSeedCleanupFinalizer indicates that synced cluster template on seed clusters need cleanup ClusterTemplateSeedCleanupFinalizer = "kubermatic.io/cleanup-seed-cluster-template" // AllowedRegistryCleanupFinalizer indicates that allowed registry Constraints need to be cleaned up AllowedRegistryCleanupFinalizer = "kubermatic.io/cleanup-allowed-registry" // ClusterTemplateSeedCleanupFinalizer indicates that cluster template instance on seed clusters need cleanup SeedClusterTemplateInstanceFinalizer = "kubermatic.io/cleanup-seed-cluster-template-instance" )
const (
InitialMachineDeploymentRequestAnnotation = "kubermatic.io/initial-machinedeployment-request"
)
const ( // KubernetesClusterType defines the Kubernetes cluster type KubernetesClusterType string = "kubernetes" )
Variables ¶
This section is empty.
Functions ¶
func ToInternalClusterType ¶
func ToInternalClusterType(externalClusterType string) kubermaticv1.ClusterType
Types ¶
type AWSNodeSpec ¶
type AWSNodeSpec struct { // instance type. for example: t2.micro // required: true InstanceType string `json:"instanceType"` // size of the volume in gb. Only one volume will be created // required: true VolumeSize int64 `json:"diskSize"` // type of the volume. for example: gp2, io1, st1, sc1, standard // required: true VolumeType string `json:"volumeType"` // ami to use. Will be defaulted to a ami for your selected operating system and region. Only set this when you know what you do. AMI string `json:"ami"` // additional instance tags Tags map[string]string `json:"tags"` // Availability zone in which to place the node. It is coupled with the subnet to which the node will belong. AvailabilityZone string `json:"availabilityZone"` // The VPC subnet to which the node shall be connected. SubnetID string `json:"subnetID"` // This flag controls a property of the AWS instance. When set the AWS instance will get a public IP address // assigned during launch overriding a possible setting in the used AWS subnet. // required: false AssignPublicIP *bool `json:"assignPublicIP"` // IsSpotInstance indicates whether the created machine is an aws ec2 spot instance or on-demand ec2 instance. IsSpotInstance *bool `json:"isSpotInstance"` // SpotInstanceMaxPrice is the maximum price you are willing to pay per instance hour. Your instance runs when // your maximum price is greater than the Spot Price. SpotInstanceMaxPrice *string `json:"spotInstanceMaxPrice"` // SpotInstancePersistentRequest ensures that your request will be submitted every time your Spot Instance is terminated. SpotInstancePersistentRequest *bool `json:"spotInstancePersistentRequest"` // SpotInstanceInterruptionBehavior sets the interruption behavior for the spot instance when capacity is no longer // available at the price you specified, if there is no capacity, or if a constraint cannot be met. Charges for EBS // volume storage apply when an instance is stopped. SpotInstanceInterruptionBehavior *string `json:"spotInstanceInterruptionBehavior"` // AssumeRoleARN defines the ARN for an IAM role that should be assumed when handling resources on AWS. It will be used // to acquire temporary security credentials using an STS AssumeRole API operation whenever creating an AWS session. // required: false AssumeRoleARN string `json:"assumeRoleARN"` // AssumeRoleExternalID is an arbitrary string that may be needed when calling the STS AssumeRole API operation. // Using an external ID can help to prevent the "confused deputy problem". // required: false AssumeRoleExternalID string `json:"assumeRoleExternalID"` }
AWSNodeSpec aws specific node settings swagger:model AWSNodeSpec
func (*AWSNodeSpec) MarshalJSON ¶ added in v2.16.3
func (spec *AWSNodeSpec) MarshalJSON() ([]byte, error)
type AWSSecurityGroupList ¶ added in v2.16.3
type AWSSecurityGroupList struct {
IDs []string `json:"ids,omitempty"`
}
AWSSecurityGroupList represents an array of AWS Security Group. swagger:model AWSSecurityGroupList
type AWSSize ¶
type AWSSize struct { Name string `json:"name"` PrettyName string `json:"pretty_name"` Memory float32 `json:"memory"` VCPUs int `json:"vcpus"` GPUs int `json:"gpus"` Price float64 `json:"price"` Architecture string `json:"architecture"` }
AWSSize represents a object of AWS size. swagger:model AWSSize
type AWSSizeList ¶
type AWSSizeList []AWSSize
AWSSizeList represents an array of AWS sizes. swagger:model AWSSizeList
type AWSSubnet ¶
type AWSSubnet struct { Name string `json:"name"` ID string `json:"id"` AvailabilityZone string `json:"availability_zone"` AvailabilityZoneID string `json:"availability_zone_id"` IPv4CIDR string `json:"ipv4cidr"` IPv6CIDR string `json:"ipv6cidr"` Tags []AWSTag `json:"tags,omitempty"` State string `json:"state"` AvailableIPAddressCount int64 `json:"available_ip_address_count"` DefaultForAz bool `json:"default"` IsDefaultSubnet bool `json:"isDefaultSubnet"` }
AWSSubnet represents a object of AWS availability subnet. swagger:model AWSSubnet
type AWSSubnetList ¶
type AWSSubnetList []AWSSubnet
AWSSubnetList represents an array of AWS availability subnets. swagger:model AWSSubnetList
type AWSVPC ¶
type AWSVPC struct { // The primary IPv4 CIDR block for the VPC. CidrBlock string `json:"cidrBlock"` // Information about the IPv4 CIDR blocks associated with the VPC. CidrBlockAssociationSet []AWSVpcCidrBlockAssociation `json:"cidrBlockAssociationSet,omitempty"` // The ID of the set of DHCP options you've associated with the VPC (or default // if the default options are associated with the VPC). DhcpOptionsID string `json:"dhcpOptionsId"` // The allowed tenancy of instances launched into the VPC. InstanceTenancy string `json:"instanceTenancy"` // Information about the IPv6 CIDR blocks associated with the VPC. Ipv6CidrBlockAssociationSet []AWSVpcIpv6CidrBlockAssociation `json:"ipv6CidrBlockAssociationSet,omitempty"` // Indicates whether the VPC is the default VPC. IsDefault bool `json:"isDefault"` // The ID of the AWS account that owns the VPC. OwnerID string `json:"ownerId"` // The current state of the VPC. State string `json:"state"` // Any tags assigned to the VPC. Tags []AWSTag `json:"tags,omitempty"` Name string `json:"name"` // The ID of the VPC. VpcID string `json:"vpcId"` }
AWSVPC represents a object of AWS VPC. swagger:model AWSVPC
type AWSVPCList ¶
type AWSVPCList []AWSVPC
AWSVPCList represents an array of AWS VPC's. swagger:model AWSVPCList
type AWSVpcCidrBlockAssociation ¶
type AWSVpcCidrBlockAssociation struct { // The association ID for the IPv4 CIDR block. AssociationID string `json:"associationId"` // The IPv4 CIDR block. CidrBlock string `json:"cidrBlock"` // The state of the CIDR block. State string `json:"state"` // A message about the status of the CIDR block, if applicable. StatusMessage string `json:"statusMessage"` }
AWSVpcCidrBlockAssociation describes an IPv4 CIDR block associated with a VPC. swagger:model AWSVpcCidrBlockAssociation
type AWSVpcIpv6CidrBlockAssociation ¶
type AWSVpcIpv6CidrBlockAssociation struct {
AWSVpcCidrBlockAssociation
}
AWSVpcIpv6CidrBlockAssociation describes an IPv6 CIDR block associated with a VPC. swagger:model AWSVpcIpv6CidrBlockAssociation
type AccessibleAddons ¶
type AccessibleAddons []string
AccessibleAddons represents an array of addons that can be configured in the user clusters. swagger:model AccessibleAddons
type Addon ¶
type Addon struct { ObjectMeta `json:",inline"` Spec AddonSpec `json:"spec"` }
Addon represents a predefined addon that users may install into their cluster swagger:model Addon
type AddonConfig ¶
type AddonConfig struct { ObjectMeta `json:",inline"` Spec kubermaticv1.AddonConfigSpec `json:"spec"` }
AddonConfig represents a addon configuration swagger:model AddonConfig
type AddonSpec ¶
type AddonSpec struct { // Variables is free form data to use for parsing the manifest templates Variables map[string]interface{} `json:"variables,omitempty"` // IsDefault indicates whether the addon is default IsDefault bool `json:"isDefault,omitempty"` // ContinuouslyReconcile indicates that the addon cannot be deleted or modified outside of the UI after installation ContinuouslyReconcile bool `json:"continuouslyReconcile,omitempty"` }
AddonSpec addon specification swagger:model AddonSpec
type Admin ¶
type Admin struct { // Email address of the admin user Email string `json:"email"` // Name of the admin user Name string `json:"name,omitempty"` // IsAdmin indicates admin role IsAdmin bool `json:"isAdmin"` }
Admin represents admin user swagger:model Admin
type AdmissionPlugin ¶
type AdmissionPlugin struct { Name string `json:"name"` Plugin string `json:"plugin"` // FromVersion flag can be empty. It means the plugin fit to all k8s versions FromVersion *ksemver.Semver `json:"fromVersion,omitempty"` }
AdmissionPlugin represents an admission plugin swagger:model AdmissionPlugin
type AdmissionPluginList ¶
type AdmissionPluginList []string
AdmissionPluginList represents a list of admission plugins swagger:model AdmissionPluginList
type AlibabaInstanceType ¶
type AlibabaInstanceType struct { ID string `json:"id"` CPUCoreCount int `json:"cpuCoreCount"` GPUCoreCount int `json:"gpuCoreCount"` MemorySize float64 `json:"memorySize"` }
AlibabaInstanceType represents a object of Alibaba instance type. swagger:model AlibabaInstanceType
type AlibabaInstanceTypeList ¶
type AlibabaInstanceTypeList []AlibabaInstanceType
AlibabaInstanceTypeList represents an array of Alibaba instance types. swagger:model AlibabaInstanceTypeList
type AlibabaNodeSpec ¶
type AlibabaNodeSpec struct { InstanceType string `json:"instanceType"` DiskSize string `json:"diskSize"` DiskType string `json:"diskType"` VSwitchID string `json:"vSwitchID"` InternetMaxBandwidthOut string `json:"internetMaxBandwidthOut"` Labels map[string]string `json:"labels"` ZoneID string `json:"zoneID"` }
AlibabaNodeSpec alibaba specific node settings swagger:model AlibabaNodeSpec
func (*AlibabaNodeSpec) MarshalJSON ¶ added in v2.16.3
func (spec *AlibabaNodeSpec) MarshalJSON() ([]byte, error)
type AlibabaVSwitch ¶ added in v2.17.0
type AlibabaVSwitch struct {
ID string `json:"id"`
}
AlibabaVSwitch represents a object of Alibaba vSwitch. swagger:model AlibabaVSwitch
type AlibabaVSwitchList ¶ added in v2.17.0
type AlibabaVSwitchList []AlibabaVSwitch
AlibabaVSwitchList represents an array of Alibaba vSwitches. swagger:model AlibabaVSwitchList
type AlibabaZone ¶
type AlibabaZone struct {
ID string `json:"id"`
}
AlibabaZone represents a object of Alibaba zone. swagger:model AlibabaZone
type AlibabaZoneList ¶
type AlibabaZoneList []AlibabaZone
AlibabaZoneList represents an array of Alibaba zones. swagger:model AlibabaZoneList
type AnexiaNodeSpec ¶ added in v2.16.3
type AnexiaNodeSpec struct { // VlanID Instance vlanID // required: true VlanID string `json:"vlanID"` // TemplateID instance template // required: true TemplateID string `json:"templateID"` // CPUs states how many cpus the node will have. // required: true CPUs int `json:"cpus"` // Memory states the memory that node will have. // required: true Memory int64 `json:"memory"` // DiskSize states the disk size that node will have. // required: true DiskSize int64 `json:"diskSize"` }
AnexiaNodeSpec anexia specific node settings swagger:model AnexiaNodeSpec
func (*AnexiaNodeSpec) MarshalJSON ¶ added in v2.16.3
func (spec *AnexiaNodeSpec) MarshalJSON() ([]byte, error)
type AnexiaTemplate ¶ added in v2.17.0
type AnexiaTemplate struct {
ID string `json:"id"`
}
AnexiaTemplate represents a object of Anexia template. swagger:model AnexiaTemplate
type AnexiaTemplateList ¶ added in v2.17.0
type AnexiaTemplateList []AnexiaTemplate
AnexiaTemplateList represents an array of Anexia templates. swagger:model AnexiaTemplateList
type AnexiaVlan ¶ added in v2.17.0
type AnexiaVlan struct {
ID string `json:"id"`
}
AnexiaVlan represents a object of Anexia Vlan. swagger:model AnexiaVlan
type AnexiaVlanList ¶ added in v2.17.0
type AnexiaVlanList []AnexiaVlan
AnexiaVlanList represents an array of Anexia Vlans. swagger:model AnexiaVlanList
type AzureAvailabilityZonesList ¶
type AzureAvailabilityZonesList struct {
Zones []string `json:"zones"`
}
AzureAvailabilityZonesList is the object representing the availability zones for vms in azure cloud provider swagger:model AzureAvailabilityZonesList
type AzureNodeSpec ¶
type AzureNodeSpec struct { // VM size // required: true Size string `json:"size"` // should the machine have a publicly accessible IP address // required: false AssignPublicIP bool `json:"assignPublicIP"` // Additional metadata to set // required: false Tags map[string]string `json:"tags,omitempty"` // OS disk size in GB // required: false OSDiskSize int32 `json:"osDiskSize"` // Data disk size in GB // required: false DataDiskSize int32 `json:"dataDiskSize"` // Zones represents the availability zones for azure vms // required: false Zones []string `json:"zones"` // ImageID represents the ID of the image that should be used to run the node // required: false ImageID string `json:"imageID"` // AssignAvailabilitySet is used to check if an availability set should be created and assigned to the cluster. AssignAvailabilitySet bool `json:"assignAvailabilitySet"` }
AzureNodeSpec describes settings for an Azure node swagger:model AzureNodeSpec
func (*AzureNodeSpec) MarshalJSON ¶ added in v2.16.3
func (spec *AzureNodeSpec) MarshalJSON() ([]byte, error)
type AzureResourceGroupsList ¶ added in v2.16.3
type AzureResourceGroupsList struct {
ResourceGroups []string `json:"resourceGroups"`
}
AzureResourceGroupsList is the object representing the resource groups for vms in azure cloud provider swagger:model AzureResourceGroupsList
type AzureRouteTablesList ¶ added in v2.16.3
type AzureRouteTablesList struct {
RouteTables []string `json:"routeTables"`
}
AzureRouteTablesList is the object representing the route tables for vms in azure cloud provider swagger:model AzureRouteTablesList
type AzureSecurityGroupsList ¶ added in v2.16.3
type AzureSecurityGroupsList struct {
SecurityGroups []string `json:"securityGroups"`
}
AzureSecurityGroupsList is the object representing the security groups for vms in azure cloud provider swagger:model AzureSecurityGroupsList
type AzureSize ¶
type AzureSize struct { Name string `json:"name"` NumberOfCores int32 `json:"numberOfCores"` NumberOfGPUs int32 `json:"numberOfGPUs"` OsDiskSizeInMB int32 `json:"osDiskSizeInMB"` ResourceDiskSizeInMB int32 `json:"resourceDiskSizeInMB"` MemoryInMB int32 `json:"memoryInMB"` MaxDataDiskCount int32 `json:"maxDataDiskCount"` }
AzureSize is the object representing Azure VM sizes. swagger:model AzureSize
type AzureSizeList ¶
type AzureSizeList []AzureSize
AzureSizeList represents an array of Azure VM sizes. swagger:model AzureSizeList
type AzureSubnetsList ¶ added in v2.16.3
type AzureSubnetsList struct {
Subnets []string `json:"subnets"`
}
AzureSubnetsList is the object representing the subnets for vms in azure cloud provider swagger:model AzureSubnetsList
type AzureVirtualNetworksList ¶ added in v2.16.3
type AzureVirtualNetworksList struct {
VirtualNetworks []string `json:"virtualNetworks"`
}
AzureVirtualNetworksList is the object representing the virtual network for vms in azure cloud provider swagger:model AzureVirtualNetworksList
type CentOSSpec ¶
type CentOSSpec struct { // do a dist-upgrade on boot and reboot it required afterwards DistUpgradeOnBoot bool `json:"distUpgradeOnBoot"` }
CentOSSpec contains CentOS specific settings
type Cluster ¶
type Cluster struct { ObjectMeta `json:",inline"` Labels map[string]string `json:"labels,omitempty"` InheritedLabels map[string]string `json:"inheritedLabels,omitempty"` Type string `json:"type"` Credential string `json:"credential,omitempty"` Spec ClusterSpec `json:"spec"` Status ClusterStatus `json:"status"` }
Cluster defines the cluster resource
Note: Cluster has a custom MarshalJSON method defined and thus the output may vary
swagger:model Cluster
type ClusterHealth ¶
type ClusterHealth struct { Apiserver kubermaticv1.HealthStatus `json:"apiserver"` Scheduler kubermaticv1.HealthStatus `json:"scheduler"` Controller kubermaticv1.HealthStatus `json:"controller"` MachineController kubermaticv1.HealthStatus `json:"machineController"` Etcd kubermaticv1.HealthStatus `json:"etcd"` CloudProviderInfrastructure kubermaticv1.HealthStatus `json:"cloudProviderInfrastructure"` UserClusterControllerManager kubermaticv1.HealthStatus `json:"userClusterControllerManager"` GatekeeperController *kubermaticv1.HealthStatus `json:"gatekeeperController,omitempty"` GatekeeperAudit *kubermaticv1.HealthStatus `json:"gatekeeperAudit,omitempty"` Monitoring *kubermaticv1.HealthStatus `json:"monitoring,omitempty"` Logging *kubermaticv1.HealthStatus `json:"logging,omitempty"` AlertmanagerConfig *kubermaticv1.HealthStatus `json:"alertmanagerConfig,omitempty"` MLAGateway *kubermaticv1.HealthStatus `json:"mlaGateway,omitempty"` }
ClusterHealth stores health information about the cluster's components. swagger:model ClusterHealth
type ClusterList ¶
type ClusterList []Cluster
ClusterList represents a list of clusters swagger:model ClusterList
type ClusterMetrics ¶
type ClusterMetrics struct { Name string `json:"name"` ControlPlaneMetrics ControlPlaneMetrics `json:"controlPlane"` NodesMetrics NodesMetric `json:"nodes"` }
ClusterMetrics defines a metric for the given cluster swagger:model ClusterMetrics
type ClusterRole ¶
type ClusterRole struct { ObjectMeta `json:",inline"` // Rules holds all the PolicyRules for this ClusterRole Rules []rbacv1.PolicyRule `json:"rules"` }
ClusterRole defines cluster RBAC role for the user cluster swagger:model ClusterRole
type ClusterRoleBinding ¶
type ClusterRoleBinding struct { // Subjects holds references to the objects the role applies to. Subjects []rbacv1.Subject `json:"subjects,omitempty"` RoleRefName string `json:"roleRefName"` }
ClusterRoleBinding references a cluster role, but does not contain it. swagger:model ClusterRoleBinding
type ClusterRoleName ¶
type ClusterRoleName struct { // Name of the cluster role. Name string `json:"name"` }
ClusterRoleName defines RBAC cluster role name object for the user cluster swagger:model ClusterRoleName
type ClusterRoleUser ¶
ClusterRoleUser defines associated user with cluster role swagger:model ClusterRoleUser
type ClusterSpec ¶
type ClusterSpec struct { // Cloud specifies the cloud providers configuration Cloud kubermaticv1.CloudSpec `json:"cloud"` // MachineNetworks optionally specifies the parameters for IPAM. MachineNetworks []kubermaticv1.MachineNetworkingConfig `json:"machineNetworks,omitempty"` // Version desired version of the kubernetes master components Version ksemver.Semver `json:"version"` // OIDC settings OIDC kubermaticv1.OIDCSettings `json:"oidc,omitempty"` // Configure cluster upgrade window, currently used for flatcar node reboots UpdateWindow *kubermaticv1.UpdateWindow `json:"updateWindow,omitempty"` // If active the PodSecurityPolicy admission plugin is configured at the apiserver UsePodSecurityPolicyAdmissionPlugin bool `json:"usePodSecurityPolicyAdmissionPlugin,omitempty"` // If active the PodNodeSelector admission plugin is configured at the apiserver UsePodNodeSelectorAdmissionPlugin bool `json:"usePodNodeSelectorAdmissionPlugin,omitempty"` // If active the EventRateLimit admission plugin is configured at the apiserver UseEventRateLimitAdmissionPlugin bool `json:"useEventRateLimitAdmissionPlugin,omitempty"` // EnableUserSSHKeyAgent control whether the UserSSHKeyAgent will be deployed in the user cluster or not. // If it was enabled, the agent will be deployed and used to sync the user ssh keys, that the user attach // to the created cluster. If the agent was disabled, it won't be deployed in the user cluster, thus after // the cluster creation any attached ssh keys won't be synced to the worker nodes. Once the agent is enabled/disabled // it cannot be changed after the cluster is being created. EnableUserSSHKeyAgent *bool `json:"enableUserSSHKeyAgent,omitempty"` // EnableOperatingSystemManager enables OSM which in-turn is responsible for creating and managing worker node configuration EnableOperatingSystemManager bool `json:"enableOperatingSystemManager,omitempty"` // PodNodeSelectorAdmissionPluginConfig provides the configuration for the PodNodeSelector. // It's used by the backend to create a configuration file for this plugin. // The key:value from the map is converted to the namespace:<node-selectors-labels> in the file. // The format in a file: // podNodeSelectorPluginConfig: // clusterDefaultNodeSelector: <node-selectors-labels> // namespace1: <node-selectors-labels> // namespace2: <node-selectors-labels> PodNodeSelectorAdmissionPluginConfig map[string]string `json:"podNodeSelectorAdmissionPluginConfig,omitempty"` // EventRateLimitConfig allows configuring the EventRateLimit admission plugin (if enabled via useEventRateLimitAdmissionPlugin) // to create limits on Kubernetes event generation. The EventRateLimit plugin is capable of comparing incoming Events // to several configured buckets based on the type of event rate limit. EventRateLimitConfig *kubermaticv1.EventRateLimitConfig `json:"eventRateLimitConfig,omitempty"` // Additional Admission Controller plugins AdmissionPlugins []string `json:"admissionPlugins,omitempty"` // AuditLogging AuditLogging *kubermaticv1.AuditLoggingSettings `json:"auditLogging,omitempty"` // ServiceAccount contains service account related settings for the kube-apiserver of user cluster. ServiceAccount *kubermaticv1.ServiceAccountSettings `json:"serviceAccount,omitempty"` // OPAIntegration is a preview feature that enables OPA integration with Kubermatic for the cluster. // Enabling it causes gatekeeper and its resources to be deployed on the user cluster. // By default it is disabled. OPAIntegration *kubermaticv1.OPAIntegrationSettings `json:"opaIntegration,omitempty"` // MLA contains monitoring, logging and alerting related settings for the user cluster. MLA *kubermaticv1.MLASettings `json:"mla,omitempty"` // ClusterNetwork contains network settings. ClusterNetwork *kubermaticv1.ClusterNetworkingConfig `json:"clusterNetwork,omitempty"` // ContainerRuntime to use, i.e. Docker or containerd. By default containerd will be used. ContainerRuntime string `json:"containerRuntime,omitempty"` // CNIPlugin contains the spec of the CNI plugin to be installed in the cluster. CNIPlugin *kubermaticv1.CNIPluginSettings `json:"cniPlugin,omitempty"` }
ClusterSpec defines the cluster specification
func (*ClusterSpec) MarshalJSON ¶
func (cs *ClusterSpec) MarshalJSON() ([]byte, error)
MarshalJSON marshals ClusterSpec object into JSON. It is overwritten to control data that will be returned in the API responses (see: PublicCloudSpec struct).
type ClusterStatus ¶
type ClusterStatus struct { // Version actual version of the kubernetes master components Version ksemver.Semver `json:"version"` // URL specifies the address at which the cluster is available URL string `json:"url"` // ExternalCCMMigration represents the migration status to the external CCM ExternalCCMMigration ExternalCCMMigrationStatus `json:"externalCCMMigration"` }
ClusterStatus defines the cluster status
type ControlPlaneMetrics ¶
type ControlPlaneMetrics struct { // MemoryTotalBytes in bytes MemoryTotalBytes int64 `json:"memoryTotalBytes,omitempty"` // CPUTotalMillicores in m cores CPUTotalMillicores int64 `json:"cpuTotalMillicores,omitempty"` }
ControlPlaneMetrics defines a metric for the user cluster control plane resources swagger:model ControlPlaneMetrics
type CreateClusterSpec ¶
type CreateClusterSpec struct { Cluster Cluster `json:"cluster"` NodeDeployment *NodeDeployment `json:"nodeDeployment,omitempty"` }
CreateClusterSpec is the structure that is used to create cluster with its initial node deployment swagger:model CreateClusterSpec
type CredentialList ¶
type CredentialList struct {
Names []string `json:"names,omitempty"`
}
CredentialList represents a object for provider credential names. swagger:model CredentialList
type Datacenter ¶
type Datacenter struct { Metadata DatacenterMeta `json:"metadata,omitempty"` Spec DatacenterSpec `json:"spec,omitempty"` }
Datacenter is the object representing a Kubernetes infra datacenter. swagger:model Datacenter
type DatacenterList ¶
type DatacenterList []Datacenter
DatacenterList represents a list of datacenters swagger:model DatacenterList
type DatacenterMeta ¶
type DatacenterMeta struct {
Name string `json:"name"`
}
DatacenterMeta holds datacenter metadata information.
type DatacenterSpec ¶
type DatacenterSpec struct { // Name of the seed this datacenter belongs to. Seed string `json:"seed,omitempty"` // Optional: Country of the seed as ISO-3166 two-letter code, e.g. DE or UK. // It is used for informational purposes. Country string `json:"country,omitempty"` // Optional: Detailed location of the cluster, like "Hamburg" or "Datacenter 7". // It is used for informational purposes. Location string `json:"location,omitempty"` // Name of the datacenter provider. Extracted based on which provider is defined in the spec. // It is used for informational purposes. Provider string `json:"provider,omitempty"` Digitalocean *kubermaticv1.DatacenterSpecDigitalocean `json:"digitalocean,omitempty"` BringYourOwn *kubermaticv1.DatacenterSpecBringYourOwn `json:"bringyourown,omitempty"` AWS *kubermaticv1.DatacenterSpecAWS `json:"aws,omitempty"` Azure *kubermaticv1.DatacenterSpecAzure `json:"azure,omitempty"` Openstack *kubermaticv1.DatacenterSpecOpenstack `json:"openstack,omitempty"` Packet *kubermaticv1.DatacenterSpecPacket `json:"packet,omitempty"` GCP *kubermaticv1.DatacenterSpecGCP `json:"gcp,omitempty"` Hetzner *kubermaticv1.DatacenterSpecHetzner `json:"hetzner,omitempty"` VSphere *kubermaticv1.DatacenterSpecVSphere `json:"vsphere,omitempty"` Kubevirt *kubermaticv1.DatacenterSpecKubevirt `json:"kubevirt,omitempty"` Alibaba *kubermaticv1.DatacenterSpecAlibaba `json:"alibaba,omitempty"` Anexia *kubermaticv1.DatacenterSpecAnexia `json:"anexia,omitempty"` //nolint:staticcheck //lint:ignore SA5008 omitgenyaml is used by the example-yaml-generator Fake *kubermaticv1.DatacenterSpecFake `json:"fake,omitempty,omitgenyaml"` // Node holds node-specific settings, like e.g. HTTP proxy, Docker // registries and the like. Proxy settings are inherited from the seed if // not specified here. Node kubermaticv1.NodeSettings `json:"node"` // Deprecated. Automatically migrated to the RequiredEmailDomains field. RequiredEmailDomain string `json:"requiredEmailDomain,omitempty"` RequiredEmailDomains []string `json:"requiredEmailDomains,omitempty"` // EnforceAuditLogging enforces audit logging on every cluster within the DC, // ignoring cluster-specific settings. EnforceAuditLogging bool `json:"enforceAuditLogging"` // EnforcePodSecurityPolicy enforces pod security policy plugin on every clusters within the DC, // ignoring cluster-specific settings EnforcePodSecurityPolicy bool `json:"enforcePodSecurityPolicy"` }
DatacenterSpec specifies the data for a datacenter.
type DigitaloceanNodeSpec ¶
type DigitaloceanNodeSpec struct { // droplet size slug // required: true Size string `json:"size"` // enable backups for the droplet Backups bool `json:"backups"` // enable ipv6 for the droplet IPv6 bool `json:"ipv6"` // enable monitoring for the droplet Monitoring bool `json:"monitoring"` // additional droplet tags Tags []string `json:"tags"` }
DigitaloceanNodeSpec digitalocean node settings swagger:model DigitaloceanNodeSpec
func (*DigitaloceanNodeSpec) MarshalJSON ¶ added in v2.16.3
func (spec *DigitaloceanNodeSpec) MarshalJSON() ([]byte, error)
type DigitaloceanSize ¶
type DigitaloceanSize struct { Slug string `json:"slug"` Available bool `json:"available"` Transfer float64 `json:"transfer"` PriceMonthly float64 `json:"price_monthly"` PriceHourly float64 `json:"price_hourly"` Memory int `json:"memory"` VCPUs int `json:"vcpus"` Disk int `json:"disk"` Regions []string `json:"regions"` }
DigitaloceanSize is the object representing digitalocean sizes. swagger:model DigitaloceanSize
type DigitaloceanSizeList ¶
type DigitaloceanSizeList struct { Standard []DigitaloceanSize `json:"standard"` Optimized []DigitaloceanSize `json:"optimized"` }
DigitaloceanSizeList represents a object of digitalocean sizes. swagger:model DigitaloceanSizeList
type Event ¶
type Event struct { ObjectMeta `json:",inline"` // A human-readable description of the status of this operation. Message string `json:"message,omitempty"` // Type of this event (i.e. normal or warning). New types could be added in the future. Type string `json:"type,omitempty"` // The object reference that those events are about. InvolvedObject ObjectReferenceResource `json:"involvedObject"` // The time at which the most recent occurrence of this event was recorded. // swagger:strfmt date-time LastTimestamp Time `json:"lastTimestamp,omitempty"` // The number of times this event has occurred. Count int32 `json:"count,omitempty"` }
Event is a report of an event somewhere in the cluster. swagger:model Event
type ExternalCCMMigrationStatus ¶ added in v2.18.0
type ExternalCCMMigrationStatus string
var ( // ExternalCCMMigrationNotNeeded indicates that the external CCM is already in use ExternalCCMMigrationNotNeeded ExternalCCMMigrationStatus = "NotNeeded" // ExternalCCMMigrationSupported indicates that the external CCM is not used but supported ExternalCCMMigrationSupported ExternalCCMMigrationStatus = "Supported" // ExternalCCMMigrationUnsupported indicates that the external CCM is not used and not supported ExternalCCMMigrationUnsupported ExternalCCMMigrationStatus = "Unsupported" // ExternalCCMMigrationInProgress indicates that the migration procedure to the external CCM is in progress ExternalCCMMigrationInProgress ExternalCCMMigrationStatus = "InProgress" )
type FlatcarSpec ¶
type FlatcarSpec struct { // disable flatcar linux auto-update feature DisableAutoUpdate bool `json:"disableAutoUpdate"` // ProvisioningUtility specifies the type of provisioning utility, allowed values are cloud-init and ignition. // Defaults to ignition. flatcar.ProvisioningUtility `json:"provisioningUtility,omitempty"` }
FlatcarSpec contains Flatcar Linux specific settings swagger:model FlatcarSpec
type GCPDiskType ¶
GCPDiskType represents a object of GCP disk type. swagger:model GCPDiskType
type GCPDiskTypeList ¶
type GCPDiskTypeList []GCPDiskType
GCPDiskTypeList represents an array of GCP disk types. swagger:model GCPDiskTypeList
type GCPMachineSize ¶
type GCPMachineSize struct { Name string `json:"name"` Description string `json:"description"` Memory int64 `json:"memory"` VCPUs int64 `json:"vcpus"` }
GCPMachineSize represents a object of GCP machine size. swagger:model GCPMachineSize
type GCPMachineSizeList ¶
type GCPMachineSizeList []GCPMachineSize
GCPMachineSizeList represents an array of GCP machine sizes. swagger:model GCPMachineSizeList
type GCPNetwork ¶
type GCPNetwork struct { ID uint64 `json:"id"` Name string `json:"name"` AutoCreateSubnetworks bool `json:"autoCreateSubnetworks"` Subnetworks []string `json:"subnetworks"` Kind string `json:"kind"` Path string `json:"path"` }
GCPNetwork represents a object of GCP networks. swagger:model GCPNetwork
type GCPNetworkList ¶
type GCPNetworkList []GCPNetwork
GCPNetworkList represents an array of GCP networks. swagger:model GCPNetworkList
type GCPNodeSpec ¶
type GCPNodeSpec struct { Zone string `json:"zone"` MachineType string `json:"machineType"` DiskSize int64 `json:"diskSize"` DiskType string `json:"diskType"` Preemptible bool `json:"preemptible"` Labels map[string]string `json:"labels"` Tags []string `json:"tags"` CustomImage string `json:"customImage"` }
GCPNodeSpec gcp specific node settings swagger:model GCPNodeSpec
func (*GCPNodeSpec) MarshalJSON ¶ added in v2.16.3
func (spec *GCPNodeSpec) MarshalJSON() ([]byte, error)
type GCPSubnetwork ¶
type GCPSubnetwork struct { ID uint64 `json:"id"` Name string `json:"name"` Network string `json:"network"` IPCidrRange string `json:"ipCidrRange"` GatewayAddress string `json:"gatewayAddress"` Region string `json:"region"` SelfLink string `json:"selfLink"` PrivateIPGoogleAccess bool `json:"privateIpGoogleAccess"` Kind string `json:"kind"` Path string `json:"path"` }
GCPSubnetwork represents a object of GCP subnetworks. swagger:model GCPSubnetwork
type GCPSubnetworkList ¶
type GCPSubnetworkList []GCPSubnetwork
GCPSubnetworkList represents an array of GCP subnetworks. swagger:model GCPSubnetworkList
type GCPZone ¶
type GCPZone struct {
Name string `json:"name"`
}
GCPZone represents a object of GCP zone. swagger:model GCPZone
type GCPZoneList ¶
type GCPZoneList []GCPZone
GCPZoneList represents an array of GCP zones. swagger:model GCPZoneList
type GlobalCustomLinks ¶
type GlobalCustomLinks []kubermaticv1.CustomLink
GlobalCustomLinks defines custom links for global settings swagger:model GlobalCustomLinks
type GlobalSettings ¶
type GlobalSettings kubermaticv1.SettingSpec
GlobalSettings defines global settings swagger:model GlobalSettings
type HetznerNodeSpec ¶
type HetznerNodeSpec struct { // server type // required: true Type string `json:"type"` // network name // required: false Network string `json:"network"` }
HetznerNodeSpec Hetzner node settings swagger:model HetznerNodeSpec
func (*HetznerNodeSpec) MarshalJSON ¶ added in v2.16.3
func (spec *HetznerNodeSpec) MarshalJSON() ([]byte, error)
type HetznerSize ¶
type HetznerSize struct { ID int `json:"id"` Name string `json:"name"` Description string `json:"description"` Cores int `json:"cores"` Memory float32 `json:"memory"` Disk int `json:"disk"` }
HetznerSize is the object representing Hetzner sizes. swagger:model HetznerSize
type HetznerSizeList ¶
type HetznerSizeList struct { Standard []HetznerSize `json:"standard"` Dedicated []HetznerSize `json:"dedicated"` }
HetznerSizeList represents an array of Hetzner sizes. swagger:model HetznerSizeList
type Kubeconfig ¶
type Kubeconfig struct { // in: body Config []byte }
Kubeconfig is a clusters kubeconfig swagger:response Kubeconfig
type KubermaticVersions ¶
type KubermaticVersions struct { // Version of the Kubermatic API server. API string `json:"api"` }
KubermaticVersions describes the versions of running Kubermatic components. swagger:model KubermaticVersions
type KubevirtNodeSpec ¶
type KubevirtNodeSpec struct { // CPUs states how many cpus the kubevirt node will have. // required: true CPUs string `json:"cpus"` // Memory states the memory that kubevirt node will have. // required: true Memory string `json:"memory"` // Namespace states in which namespace kubevirt node will be provisioned. // required: true Namespace string `json:"namespace"` // SourceURL states the url from which the imported image will be downloaded. // required: true SourceURL string `json:"sourceURL"` // StorageClassName states the storage class name for the provisioned PVCs. // required: true StorageClassName string `json:"storageClassName"` // PVCSize states the size of the provisioned pvc per node. // required: true PVCSize string `json:"pvcSize"` }
KubevirtNodeSpec kubevirt specific node settings swagger:model KubevirtNodeSpec
func (*KubevirtNodeSpec) MarshalJSON ¶ added in v2.16.3
func (spec *KubevirtNodeSpec) MarshalJSON() ([]byte, error)
type MasterVersion ¶
type MasterVersion struct { Version *semver.Version `json:"version"` Default bool `json:"default,omitempty"` // If true, then given version control plane version is not compatible // with one of the kubelets inside cluster and shouldn't be used. RestrictedByKubeletVersion bool `json:"restrictedByKubeletVersion,omitempty"` }
MasterVersion describes a version of the master components swagger:model MasterVersion
type MeteringReport ¶ added in v2.18.0
type MeteringReport struct { Name string `json:"name"` LastModified time.Time `json:"lastModified"` Size int64 `json:"size"` }
MeteringReport holds objects names and metadata for available reports swagger:model MeteringReport
type Namespace ¶
type Namespace struct {
Name string `json:"name"`
}
Namespace defines namespace swagger:model Namespace
type Node ¶
type Node struct { ObjectMeta `json:",inline"` Spec NodeSpec `json:"spec"` Status NodeStatus `json:"status"` }
Node represents a worker node that is part of a cluster swagger:model Node
type NodeAddress ¶
type NodeAddress struct { // address type. for example: ExternalIP, InternalIP, InternalDNS, ExternalDNS Type string `json:"type"` // the actual address. for example: 192.168.1.1, node1.my.dns Address string `json:"address"` }
NodeAddress contains information for the node's address. swagger:model NodeAddress
type NodeCloudSpec ¶
type NodeCloudSpec struct { Digitalocean *DigitaloceanNodeSpec `json:"digitalocean,omitempty"` AWS *AWSNodeSpec `json:"aws,omitempty"` Azure *AzureNodeSpec `json:"azure,omitempty"` Openstack *OpenstackNodeSpec `json:"openstack,omitempty"` Packet *PacketNodeSpec `json:"packet,omitempty"` Hetzner *HetznerNodeSpec `json:"hetzner,omitempty"` VSphere *VSphereNodeSpec `json:"vsphere,omitempty"` GCP *GCPNodeSpec `json:"gcp,omitempty"` Kubevirt *KubevirtNodeSpec `json:"kubevirt,omitempty"` Alibaba *AlibabaNodeSpec `json:"alibaba,omitempty"` Anexia *AnexiaNodeSpec `json:"anexia,omitempty"` }
NodeCloudSpec represents the collection of cloud provider specific settings. Only one must be set at a time. swagger:model NodeCloudSpec
type NodeDeployment ¶
type NodeDeployment struct { ObjectMeta `json:",inline"` Spec NodeDeploymentSpec `json:"spec"` Status v1alpha1.MachineDeploymentStatus `json:"status"` }
NodeDeployment represents a set of worker nodes that is part of a cluster swagger:model NodeDeployment
type NodeDeploymentSpec ¶
type NodeDeploymentSpec struct { // required: true Replicas int32 `json:"replicas,omitempty"` // required: true Template NodeSpec `json:"template"` // required: false Paused *bool `json:"paused,omitempty"` // required: false DynamicConfig *bool `json:"dynamicConfig,omitempty"` }
NodeDeploymentSpec node deployment specification swagger:model NodeDeploymentSpec
type NodeMetric ¶
type NodeMetric struct { Name string `json:"name"` // MemoryTotalBytes current memory usage in bytes MemoryTotalBytes int64 `json:"memoryTotalBytes,omitempty"` // MemoryAvailableBytes available memory for node MemoryAvailableBytes int64 `json:"memoryAvailableBytes,omitempty"` // MemoryUsedPercentage in percentage MemoryUsedPercentage int64 `json:"memoryUsedPercentage,omitempty"` // CPUTotalMillicores in m cores CPUTotalMillicores int64 `json:"cpuTotalMillicores,omitempty"` CPUAvailableMillicores int64 `json:"cpuAvailableMillicores,omitempty"` // CPUUsedPercentage in percentage CPUUsedPercentage int64 `json:"cpuUsedPercentage,omitempty"` }
NodeMetric defines a metric for the given node swagger:model NodeMetric
type NodeResources ¶
NodeResources cpu and memory of a node swagger:model NodeResources
type NodeSpec ¶
type NodeSpec struct { // required: true Cloud NodeCloudSpec `json:"cloud"` // required: true OperatingSystem OperatingSystemSpec `json:"operatingSystem"` // required: false SSHUserName string `json:"sshUserName,omitempty"` // required: true Versions NodeVersionInfo `json:"versions,omitempty"` // Map of string keys and values that can be used to organize and categorize (scope and select) objects. // It will be applied to Nodes allowing users run their apps on specific Node using labelSelector. // required: false Labels map[string]string `json:"labels,omitempty"` // List of taints to set on new nodes Taints []TaintSpec `json:"taints,omitempty"` }
NodeSpec node specification swagger:model NodeSpec
type NodeStatus ¶
type NodeStatus struct { // name of the actual Machine object MachineName string `json:"machineName"` // resources in total Capacity NodeResources `json:"capacity,omitempty"` // allocatable resources Allocatable NodeResources `json:"allocatable,omitempty"` // different addresses of a node Addresses []NodeAddress `json:"addresses,omitempty"` // node versions and systems info NodeInfo NodeSystemInfo `json:"nodeInfo,omitempty"` // in case of a error this will contain a short error message ErrorReason string `json:"errorReason,omitempty"` // in case of a error this will contain a detailed error explanation ErrorMessage string `json:"errorMessage,omitempty"` }
NodeStatus is information about the current status of a node. swagger:model NodeStatus
type NodeSystemInfo ¶
type NodeSystemInfo struct { KernelVersion string `json:"kernelVersion"` ContainerRuntime string `json:"containerRuntime"` ContainerRuntimeVersion string `json:"containerRuntimeVersion"` KubeletVersion string `json:"kubeletVersion"` OperatingSystem string `json:"operatingSystem"` Architecture string `json:"architecture"` }
NodeSystemInfo is a set of versions/ids/uuids to uniquely identify the node. swagger:model NodeSystemInfo
type NodeVersionInfo ¶
type NodeVersionInfo struct {
Kubelet string `json:"kubelet"`
}
NodeVersionInfo node version information swagger:model NodeVersionInfo
type NodesMetric ¶
type NodesMetric struct { // MemoryTotalBytes current memory usage in bytes MemoryTotalBytes int64 `json:"memoryTotalBytes,omitempty"` // MemoryAvailableBytes available memory for node MemoryAvailableBytes int64 `json:"memoryAvailableBytes,omitempty"` // MemoryUsedPercentage in percentage MemoryUsedPercentage int64 `json:"memoryUsedPercentage,omitempty"` // CPUTotalMillicores in m cores CPUTotalMillicores int64 `json:"cpuTotalMillicores,omitempty"` CPUAvailableMillicores int64 `json:"cpuAvailableMillicores,omitempty"` // CPUUsedPercentage in percentage CPUUsedPercentage int64 `json:"cpuUsedPercentage,omitempty"` }
NodesMetric defines a metric for a group of nodes swagger:model NodesMetric
type ObjectMeta ¶
type ObjectMeta struct { // ID unique value that identifies the resource generated by the server. Read-Only. ID string `json:"id,omitempty"` // Name represents human readable name for the resource Name string `json:"name"` // Annotations that can be added to the resource Annotations map[string]string `json:"annotations,omitempty"` // DeletionTimestamp is a timestamp representing the server time when this object was deleted. // swagger:strfmt date-time DeletionTimestamp *Time `json:"deletionTimestamp,omitempty"` // CreationTimestamp is a timestamp representing the server time when this object was created. // swagger:strfmt date-time CreationTimestamp Time `json:"creationTimestamp,omitempty"` }
ObjectMeta defines the set of fields that objects returned from the API have swagger:model ObjectMeta
type ObjectReferenceResource ¶
type ObjectReferenceResource struct { // Type of the referent. Type string `json:"type,omitempty"` // Namespace of the referent. // More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ // +optional Namespace string `json:"namespace,omitempty"` // Name of the referent. // More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names // +optional Name string `json:"name,omitempty"` }
ObjectReferenceResource contains basic information about referred object.
type OpenstackAvailabilityZone ¶
type OpenstackAvailabilityZone struct { // Name is the name of the availability zone Name string `json:"name"` }
OpenstackAvailabilityZone is the object representing a openstack availability zone. swagger:model OpenstackAvailabilityZone
type OpenstackNetwork ¶
type OpenstackNetwork struct { // Id uniquely identifies the current network ID string `json:"id"` // Name is the name of the network Name string `json:"name"` // External set if network is the external network External bool `json:"external"` }
OpenstackNetwork is the object representing a openstack network. swagger:model OpenstackNetwork
type OpenstackNodeSpec ¶
type OpenstackNodeSpec struct { // instance flavor // required: true Flavor string `json:"flavor"` // image to use // required: true Image string `json:"image"` // Additional metadata to set // required: false Tags map[string]string `json:"tags,omitempty"` // Defines whether floating ip should be used // required: false UseFloatingIP bool `json:"useFloatingIP,omitempty"` // if set, the rootDisk will be a volume. If not, the rootDisk will be on ephemeral storage and its size will be derived from the flavor // required: false RootDiskSizeGB *int `json:"diskSize"` // if not set, the default AZ from the Datacenter spec will be used // required: false AvailabilityZone string `json:"availabilityZone"` // Period of time to check for instance ready status, i.e. 10s/1m // required: false InstanceReadyCheckPeriod string `json:"instanceReadyCheckPeriod"` // Max time to wait for the instance to be ready, i.e. 10s/1m // required: false InstanceReadyCheckTimeout string `json:"instanceReadyCheckTimeout"` }
OpenstackNodeSpec openstack node settings swagger:model OpenstackNodeSpec
func (*OpenstackNodeSpec) MarshalJSON ¶ added in v2.16.3
func (spec *OpenstackNodeSpec) MarshalJSON() ([]byte, error)
type OpenstackSecurityGroup ¶
type OpenstackSecurityGroup struct { // Id uniquely identifies the current security group ID string `json:"id"` // Name is the name of the security group Name string `json:"name"` }
OpenstackSecurityGroup is the object representing a openstack security group. swagger:model OpenstackSecurityGroup
type OpenstackSize ¶
type OpenstackSize struct { // Slug holds the name of the size Slug string `json:"slug"` // MemoryTotalBytes is the amount of memory, measured in MB Memory int `json:"memory"` // VCPUs indicates how many (virtual) CPUs are available for this flavor VCPUs int `json:"vcpus"` // Disk is the amount of root disk, measured in GB Disk int `json:"disk"` // Swap is the amount of swap space, measured in MB Swap int `json:"swap"` // Region specifies the geographic region in which the size resides Region string `json:"region"` // IsPublic indicates whether the size is public (available to all projects) or scoped to a set of projects IsPublic bool `json:"isPublic"` }
OpenstackSize is the object representing openstack's sizes. swagger:model OpenstackSize
type OpenstackSubnet ¶
type OpenstackSubnet struct { // Id uniquely identifies the subnet ID string `json:"id"` // Name is human-readable name for the subnet Name string `json:"name"` }
OpenstackSubnet is the object representing a openstack subnet. swagger:model OpenstackSubnet
type OpenstackTenant ¶
type OpenstackTenant struct { // Id uniquely identifies the current tenant ID string `json:"id"` // Name is the name of the tenant Name string `json:"name"` }
OpenstackTenant is the object representing a openstack tenant. swagger:model OpenstackTenant
type OperatingSystemSpec ¶
type OperatingSystemSpec struct { Ubuntu *UbuntuSpec `json:"ubuntu,omitempty"` CentOS *CentOSSpec `json:"centos,omitempty"` SLES *SLESSpec `json:"sles,omitempty"` RHEL *RHELSpec `json:"rhel,omitempty"` Flatcar *FlatcarSpec `json:"flatcar,omitempty"` }
OperatingSystemSpec represents the collection of os specific settings. Only one must be set at a time. swagger:model OperatingSystemSpec
type PacketCPU ¶
PacketCPU represents an array of Packet CPUs. It is a part of PacketSize. swagger:model PacketCPU
type PacketDrive ¶
type PacketDrive struct { Count int `json:"count,omitempty"` Size string `json:"size,omitempty"` Type string `json:"type,omitempty"` }
PacketDrive represents an array of Packet drives. It is a part of PacketSize. swagger:model PacketDrive
type PacketNodeSpec ¶
type PacketNodeSpec struct { // InstanceType denotes the plan to which the device will be provisioned. // required: true InstanceType string `json:"instanceType"` // additional instance tags // required: false Tags []string `json:"tags"` }
PacketNodeSpec specifies packet specific node settings swagger:model PacketNodeSpec
func (*PacketNodeSpec) MarshalJSON ¶ added in v2.16.3
func (spec *PacketNodeSpec) MarshalJSON() ([]byte, error)
type PacketSize ¶
type PacketSize struct { Name string `json:"name,omitempty"` CPUs []PacketCPU `json:"cpus,omitempty"` Memory string `json:"memory,omitempty"` Drives []PacketDrive `json:"drives,omitempty"` }
PacketSize is the object representing Packet VM sizes. swagger:model PacketSize
type PacketSizeList ¶
type PacketSizeList []PacketSize
PacketSizeList represents an array of Packet VM sizes. swagger:model PacketSizeList
type Project ¶
type Project struct { ObjectMeta Status string `json:"status"` Labels map[string]string `json:"labels,omitempty"` // Owners an optional owners list for the given project Owners []User `json:"owners,omitempty"` ClustersNumber int `json:"clustersNumber,omitempty"` }
Project is a top-level container for a set of resources swagger:model Project
type ProjectGroup ¶
ProjectGroup is a helper data structure that stores the information about a project and a group prefix that a user belongs to
type PublicAWSCloudSpec ¶
type PublicAWSCloudSpec struct{}
PublicAWSCloudSpec is a public counterpart of apiv1.AWSCloudSpec.
type PublicAlibabaCloudSpec ¶
type PublicAlibabaCloudSpec struct{}
PublicAlibabaCloudSpec is a public counterpart of apiv1.AlibabaCloudSpec.
type PublicAnexiaCloudSpec ¶ added in v2.16.3
type PublicAnexiaCloudSpec struct{}
PublicAnexiaCloudSpec is a public counterpart of apiv1.AnexiaCloudSpec.
type PublicAzureCloudSpec ¶
type PublicAzureCloudSpec struct {
AssignAvailabilitySet *bool `json:"assignAvailabilitySet"`
}
PublicAzureCloudSpec is a public counterpart of apiv1.AzureCloudSpec.
type PublicBringYourOwnCloudSpec ¶
type PublicBringYourOwnCloudSpec struct{}
PublicBringYourOwnCloudSpec is a public counterpart of apiv1.BringYourOwnCloudSpec.
type PublicCloudSpec ¶
type PublicCloudSpec struct { DatacenterName string `json:"dc"` Fake *PublicFakeCloudSpec `json:"fake,omitempty"` Digitalocean *PublicDigitaloceanCloudSpec `json:"digitalocean,omitempty"` BringYourOwn *PublicBringYourOwnCloudSpec `json:"bringyourown,omitempty"` AWS *PublicAWSCloudSpec `json:"aws,omitempty"` Azure *PublicAzureCloudSpec `json:"azure,omitempty"` Openstack *PublicOpenstackCloudSpec `json:"openstack,omitempty"` Packet *PublicPacketCloudSpec `json:"packet,omitempty"` Hetzner *PublicHetznerCloudSpec `json:"hetzner,omitempty"` VSphere *PublicVSphereCloudSpec `json:"vsphere,omitempty"` GCP *PublicGCPCloudSpec `json:"gcp,omitempty"` Kubevirt *PublicKubevirtCloudSpec `json:"kubevirt,omitempty"` Alibaba *PublicAlibabaCloudSpec `json:"alibaba,omitempty"` Anexia *PublicAnexiaCloudSpec `json:"anexia,omitempty"` }
PublicCloudSpec is a public counterpart of apiv1.CloudSpec. swagger:model PublicCloudSpec
type PublicDigitaloceanCloudSpec ¶
type PublicDigitaloceanCloudSpec struct{}
PublicDigitaloceanCloudSpec is a public counterpart of apiv1.DigitaloceanCloudSpec.
type PublicFakeCloudSpec ¶
type PublicFakeCloudSpec struct{}
PublicFakeCloudSpec is a public counterpart of apiv1.FakeCloudSpec.
type PublicGCPCloudSpec ¶
type PublicGCPCloudSpec struct{}
PublicGCPCloudSpec is a public counterpart of apiv1.GCPCloudSpec.
type PublicHetznerCloudSpec ¶
type PublicHetznerCloudSpec struct{}
PublicHetznerCloudSpec is a public counterpart of apiv1.HetznerCloudSpec.
type PublicKubevirtCloudSpec ¶
type PublicKubevirtCloudSpec struct{}
PublicKubevirtCloudSpec is a public counterpart of apiv1.KubevirtCloudSpec.
type PublicOpenstackCloudSpec ¶
type PublicOpenstackCloudSpec struct { FloatingIPPool string `json:"floatingIpPool"` Project string `json:"project,omitempty"` ProjectID string `json:"projectID,omitempty"` Tenant string `json:"tenant,omitempty"` TenantID string `json:"tenantID,omitempty"` Domain string `json:"domain,omitempty"` Network string `json:"network"` SecurityGroups string `json:"securityGroups"` RouterID string `json:"routerID"` SubnetID string `json:"subnetID"` }
PublicOpenstackCloudSpec is a public counterpart of apiv1.OpenstackCloudSpec.
type PublicPacketCloudSpec ¶
type PublicPacketCloudSpec struct{}
PublicPacketCloudSpec is a public counterpart of apiv1.PacketCloudSpec.
type PublicServiceAccountToken ¶
type PublicServiceAccountToken struct { ObjectMeta // Expiry is a timestamp representing the time when this token will expire. // swagger:strfmt date-time Expiry Time `json:"expiry,omitempty"` }
PublicServiceAccountToken represent an API service account token without secret fields swagger:model PublicServiceAccountToken
type PublicVSphereCloudSpec ¶
type PublicVSphereCloudSpec struct{}
PublicVSphereCloudSpec is a public counterpart of apiv1.VSphereCloudSpec.
type RHELSpec ¶
type RHELSpec struct { // do a dist-upgrade on boot and reboot it required afterwards DistUpgradeOnBoot bool `json:"distUpgradeOnBoot"` RHELSubscriptionManagerUser string `json:"rhelSubscriptionManagerUser,omitempty"` RHELSubscriptionManagerPassword string `json:"rhelSubscriptionManagerPassword,omitempty"` RHSMOfflineToken string `json:"rhsmOfflineToken,omitempty"` }
RHELSpec contains rhel specific settings swagger:model RHELSpec
type ReportURL ¶ added in v2.18.0
type ReportURL string
ReportURL represent an S3 pre signed URL to download a report swagger:model MeteringReportURL
type ResourceLabelMap ¶
type ResourceLabelMap map[ResourceType]LabelKeyList
ResourceLabelMap defines list of labels grouped by specific resource types.
swagger:model ResourceLabelMap
type Role ¶
type Role struct { ObjectMeta `json:",inline"` // Indicates the scope of this role. Namespace string `json:"namespace,omitempty"` // Rules holds all the PolicyRules for this Role Rules []rbacv1.PolicyRule `json:"rules"` }
Role defines RBAC role for the user cluster swagger:model Role
type RoleBinding ¶
type RoleBinding struct { // Indicates the scope of this binding. Namespace string `json:"namespace,omitempty"` // Subjects holds references to the objects the role applies to. Subjects []rbacv1.Subject `json:"subjects,omitempty"` RoleRefName string `json:"roleRefName"` }
RoleBinding references a role, but does not contain it. swagger:model RoleBinding
type RoleName ¶
type RoleName struct { // Name of the role. Name string `json:"name"` // Indicates the scopes of this role. Namespace []string `json:"namespace"` }
RoleName defines RBAC role name object for the user cluster swagger:model RoleName
type SLESSpec ¶
type SLESSpec struct { // do a dist-upgrade on boot and reboot it required afterwards DistUpgradeOnBoot bool `json:"distUpgradeOnBoot"` }
SLESSpec contains SLES specific settings swagger:model SLESSpec
type SSHKey ¶
type SSHKey struct { ObjectMeta Spec SSHKeySpec `json:"spec"` }
SSHKey represents a ssh key swagger:model SSHKey
type SSHKeySpec ¶
type SSHKeySpec struct { Fingerprint string `json:"fingerprint"` PublicKey string `json:"publicKey"` }
SSHKeySpec represents the details of a ssh key
type Seed ¶
type Seed struct { // Name represents human readable name for the resource Name string `json:"name"` SeedSpec `json:"spec"` }
Seed represents a seed object swagger:model Seed
type SeedCluster ¶
SeedCluster holds seed name for the cluster
type SeedSpec ¶
type SeedSpec struct { // Optional: Country of the seed as ISO-3166 two-letter code, e.g. DE or UK. // For informational purposes in the Kubermatic dashboard only. Country string `json:"country,omitempty"` // Optional: Detailed location of the cluster, like "Hamburg" or "Datacenter 7". // For informational purposes in the Kubermatic dashboard only. Location string `json:"location,omitempty"` // A reference to the Kubeconfig of this cluster. The Kubeconfig must // have cluster-admin privileges. This field is mandatory for every // seed, even if there are no datacenters defined yet. Kubeconfig corev1.ObjectReference `json:"kubeconfig"` // Datacenters contains a map of the possible datacenters (DCs) in this seed. // Each DC must have a globally unique identifier (i.e. names must be unique // across all seeds). SeedDatacenters map[string]Datacenter `json:"datacenters,omitempty"` // Optional: This can be used to override the DNS name used for this seed. // By default the seed name is used. SeedDNSOverwrite string `json:"seed_dns_overwrite,omitempty"` // Optional: ProxySettings can be used to configure HTTP proxy settings on the // worker nodes in user clusters. However, proxy settings on nodes take precedence. ProxySettings *kubermaticv1.ProxySettings `json:"proxy_settings,omitempty"` // Optional: ExposeStrategy explicitly sets the expose strategy for this seed cluster, if not set, the default provided by the master is used. ExposeStrategy kubermaticv1.ExposeStrategy `json:"expose_strategy,omitempty"` // Optional: MLA allows configuring seed level MLA (Monitoring, Logging & Alerting) stack settings. MLA *kubermaticv1.SeedMLASettings `json:"mla,omitempty"` // Optional: BackupRestore when set, enables backup and restore controllers with given configuration. // Deprecated: use EtcdBackupRestore for multiple backup destination support BackupRestore *kubermaticv1.SeedBackupRestoreConfiguration `json:"backupRestore,omitempty"` // Optional: EtcdBackupRestore holds the configuration of the automatic etcd backup restores for the Seed. // When set, enables automatic etcd backup and restore controllers with given configuration. EtcdBackupRestore *kubermaticv1.EtcdBackupRestore `json:"etcdBackupRestore,omitempty"` }
The spec for a seed data
type ServiceAccount ¶
type ServiceAccount struct { ObjectMeta // Status describes three stages of ServiceAccount life including Active, Inactive and Terminating Status string `json:"status"` // Group that a service account belongs to Group string `json:"group"` }
ServiceAccount represent an API service account swagger:model ServiceAccount
type ServiceAccountToken ¶
type ServiceAccountToken struct { PublicServiceAccountToken // Token the JWT token Token string `json:"token,omitempty"` }
ServiceAccountToken represent an API service account token swagger:model ServiceAccountToken
type Subject ¶
type Subject struct { // Kind of object being referenced. Values defined by this API group are "User" and "Group". // If the Authorizer does not recognized the kind value, the Authorizer should report an error. Kind string `json:"kind"` // APIGroup holds the API group of the referenced subject. // Defaults to "rbac.authorization.k8s.io" for User and Group subjects. APIGroup string `json:"apiGroup,omitempty"` // Name of the object being referenced. Name string `json:"name"` }
Subject contains a reference to the object or user identities a role binding applies to. Right now we support "User" as a API group.
type TaintSpec ¶
type TaintSpec struct { Key string `json:"key"` Value string `json:"value"` Effect string `json:"effect"` }
TaintSpec defines a node taint
type Time ¶
Time is a wrapper around time.Time which supports correct marshaling JSON. Wrappers are provided for many of the factory methods that the time package offers.
func (*Time) MarshalJSON ¶
MarshalJSON implements the json.Marshaler interface.
func (*Time) UnmarshalJSON ¶
UnmarshalJSON implements the json.Unmarshaler interface.
type UbuntuSpec ¶
type UbuntuSpec struct { // do a dist-upgrade on boot and reboot it required afterwards DistUpgradeOnBoot bool `json:"distUpgradeOnBoot"` }
UbuntuSpec ubuntu specific settings swagger:model UbuntuSpec
type User ¶
type User struct { ObjectMeta // Email an email address of the user Email string `json:"email"` // IsAdmin indicates admin role IsAdmin bool `json:"isAdmin,omitempty"` // Projects holds the list of project the user belongs to // along with the group names Projects []ProjectGroup `json:"projects,omitempty"` Settings *kubermaticv1.UserSettings `json:"userSettings,omitempty"` // LastSeen holds a time in UTC format when the user has been using the API last time LastSeen *Time `json:"lastSeen,omitempty"` }
User represent an API user swagger:model User
func ConvertInternalUserToExternal ¶
func ConvertInternalUserToExternal(internalUser *kubermaticv1.User, includeSettings bool, bindings ...*kubermaticv1.UserProjectBinding) *User
type VSphereDatastoreList ¶ added in v2.17.0
type VSphereDatastoreList struct {
Datastores []string `json:"datastores"`
}
VSphereDatastoreList is the object representing a vsphere datastores. swagger:model VSphereDatastoreList
type VSphereFolder ¶
type VSphereFolder struct { // Path is the path of the folder Path string `json:"path"` }
VSphereFolder is the object representing a vsphere folder. swagger:model VSphereFolder
type VSphereNetwork ¶
type VSphereNetwork struct { // Name is the name of the network Name string `json:"name"` // AbsolutePath is the absolute path inside vCenter AbsolutePath string `json:"absolutePath"` // RelativePath is the relative path inside the datacenter RelativePath string `json:"relativePath"` // Type defines the type of network Type string `json:"type"` }
VSphereNetwork is the object representing a vsphere network. swagger:model VSphereNetwork
type VSphereNodeSpec ¶
type VSphereNodeSpec struct { CPUs int `json:"cpus"` Memory int `json:"memory"` DiskSizeGB *int64 `json:"diskSizeGB,omitempty"` Template string `json:"template"` }
VSphereNodeSpec VSphere node settings swagger:model VSphereNodeSpec
func (*VSphereNodeSpec) MarshalJSON ¶ added in v2.16.3
func (spec *VSphereNodeSpec) MarshalJSON() ([]byte, error)
type VersionList ¶ added in v2.18.0
type VersionList []MasterVersion
VersionList represents a list of versions swagger:model VersionList