Documentation
¶
Index ¶
- Constants
- func ToInternalClusterType(externalClusterType string) kubermaticv1.ClusterType
- type AWSDatacenterSpec
- type AWSNodeSpec
- 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 AlibabaDatacenterSpec
- type AlibabaInstanceType
- type AlibabaInstanceTypeList
- type AlibabaNodeSpec
- type AlibabaZone
- type AlibabaZoneList
- type AzureAvailabilityZonesList
- type AzureDatacenterSpec
- type AzureNodeSpec
- type AzureSize
- type AzureSizeList
- type BringYourOwnDatacenterSpec
- type CentOSSpec
- type Cluster
- type ClusterHealth
- type ClusterList
- type ClusterMetrics
- type ClusterRole
- type ClusterRoleBinding
- type ClusterRoleName
- type ClusterRoleUser
- type ClusterSpec
- type ClusterStatus
- type ContainerLinuxSpec
- type ControlPlaneMetrics
- type CreateClusterSpec
- type CredentialList
- type Datacenter
- type DatacenterList
- type DatacenterSpec
- type DigitaloceanNodeSpec
- type DigitaloceanSize
- type DigitaloceanSizeList
- type DigitialoceanDatacenterSpec
- type Event
- type FlatcarSpec
- type GCPDatacenterSpec
- 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 HetznerDatacenterSpec
- type HetznerNodeSpec
- type HetznerSize
- type HetznerSizeList
- type ImageList
- type Kubeconfig
- type KubermaticVersions
- type KubevirtDatacenterSpec
- type KubevirtNodeSpec
- type LabelKeyList
- type LegacyObjectMeta
- type MasterVersion
- 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 OpenstackDatacenterSpec
- type OpenstackNetwork
- type OpenstackNodeSpec
- type OpenstackSecurityGroup
- type OpenstackSize
- type OpenstackSubnet
- type OpenstackTenant
- type OperatingSystemSpec
- type PacketCPU
- type PacketDatacenterSpec
- type PacketDrive
- type PacketNodeSpec
- type PacketSize
- type PacketSizeList
- type Project
- type ProjectGroup
- type PublicAWSCloudSpec
- type PublicAlibabaCloudSpec
- 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 ResourceLabelMap
- type ResourceType
- type Role
- type RoleBinding
- type RoleName
- type RoleUser
- type SLESSpec
- type SSHKey
- type SSHKeySpec
- type Seed
- type SeedDatacenter
- type SeedDatacenterSpec
- type SeedSpec
- type ServiceAccount
- type ServiceAccountToken
- type Subject
- type TaintSpec
- type Time
- type UbuntuSpec
- type User
- type VSphereDatacenterSpec
- type VSphereFolder
- type VSphereNetwork
- type VSphereNodeSpec
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 ( // OpenShiftClusterType defines the OpenShift cluster type OpenShiftClusterType string = "openshift" // KubernetesClusterType defines the Kubernetes cluster type KubernetesClusterType string = "kubernetes" )
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" // InClusterCredentialsRequestsCleanupFinalizer indicates that CredentialsRequests still need cleanup. This // CRD only exists on Openshift and is a no-op for Kubernetes. InClusterCredentialsRequestsCleanupFinalizer = "kubermatic.io/cleanup-credentials-requests" // InClusterImageRegistryConfigCleanupFinalizer indicates that CredentialsRequests still need // cleanup. This CRD only exists on Openshift and is a no-op for Kubernetes. InClusterImageRegistryConfigCleanupFinalizer = "kubermatic.io/cleanup-image-registry-configs" // 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" )
Variables ¶
This section is empty.
Functions ¶
func ToInternalClusterType ¶
func ToInternalClusterType(externalClusterType string) kubermaticv1.ClusterType
Types ¶
type AWSDatacenterSpec ¶
type AWSDatacenterSpec struct {
Region string `json:"region"`
}
AWSDatacenterSpec specifies a data center of Amazon Web Services.
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"`
// Availiability 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"`
}
AWSNodeSpec aws specific node settings swagger:model AWSNodeSpec
type AWSSize ¶
type AWSSize struct {
Name string `json:"name"`
PrettyName string `json:"pretty_name"`
Memory float32 `json:"memory"`
VCPUs int `json:"vcpus"`
Price float64 `json:"price"`
}
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"`
}
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 AlibabaDatacenterSpec ¶
type AlibabaDatacenterSpec struct {
Region string `json:"region"`
}
AlibabaDatacenterSpec specifies a datacenter of Alibaba.
type AlibabaInstanceType ¶
type AlibabaInstanceType struct {
ID string `json:"id"`
CPUCoreCount int `json:"cpuCoreCount"`
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
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 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 AzureDatacenterSpec ¶
type AzureDatacenterSpec struct {
Location string `json:"location"`
}
AzureDatacenterSpec specifies a datacenter of Azure.
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 string `json:"imageID"`
}
AzureNodeSpec describes settings for an Azure node swagger:model AzureNodeSpec
type AzureSize ¶
type AzureSize struct {
Name string `json:"name"`
NumberOfCores int32 `json:"numberOfCores"`
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 BringYourOwnDatacenterSpec ¶
type BringYourOwnDatacenterSpec struct{}
BringYourOwnDatacenterSpec specifies a data center with bring-your-own nodes.
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"`
}
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 coreos 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"`
// 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"`
// Additional Admission Controller plugins
AdmissionPlugins []string `json:"admissionPlugins,omitempty"`
// AuditLogging
AuditLogging *kubermaticv1.AuditLoggingSettings `json:"auditLogging,omitempty"`
// Openshift holds all openshift-specific settings
Openshift *kubermaticv1.Openshift `json:"openshift,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"`
}
ClusterStatus defines the cluster status
type ContainerLinuxSpec ¶
type ContainerLinuxSpec struct {
// disable container linux auto-update feature
DisableAutoUpdate bool `json:"disableAutoUpdate"`
}
ContainerLinuxSpec ubuntu linux specific settings swagger:model ContainerLinuxSpec
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 LegacyObjectMeta `json:"metadata"`
Spec DatacenterSpec `json:"spec"`
Seed bool `json:"seed,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 DatacenterSpec ¶
type DatacenterSpec struct {
Seed string `json:"seed"`
Country string `json:"country,omitempty"`
Location string `json:"location,omitempty"`
Provider string `json:"provider,omitempty"`
Digitalocean *DigitialoceanDatacenterSpec `json:"digitalocean,omitempty"`
BringYourOwn *BringYourOwnDatacenterSpec `json:"bringyourown,omitempty"`
AWS *AWSDatacenterSpec `json:"aws,omitempty"`
Azure *AzureDatacenterSpec `json:"azure,omitempty"`
Openstack *OpenstackDatacenterSpec `json:"openstack,omitempty"`
Packet *PacketDatacenterSpec `json:"packet,omitempty"`
GCP *GCPDatacenterSpec `json:"gcp,omitempty"`
Hetzner *HetznerDatacenterSpec `json:"hetzner,omitempty"`
VSphere *VSphereDatacenterSpec `json:"vsphere,omitempty"`
Kubevirt *KubevirtDatacenterSpec `json:"kubevirt,omitempty"`
Alibaba *AlibabaDatacenterSpec `json:"alibaba,omitempty"`
// 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"`
}
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
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 DigitialoceanDatacenterSpec ¶
type DigitialoceanDatacenterSpec struct {
Region string `json:"region"`
}
DigitialoceanDatacenterSpec specifies a datacenter of DigitalOcean.
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 FlatcarSpec ¶
type FlatcarSpec struct {
// disable flatcar linux auto-update feature
DisableAutoUpdate bool `json:"disableAutoUpdate"`
}
FlatcarSpec contains Flatcar Linux specific settings swagger:model FlatcarSpec
type GCPDatacenterSpec ¶
type GCPDatacenterSpec struct {
Region string `json:"region"`
ZoneSuffixes []string `json:"zone_suffixes"`
Regional bool `json:"regional"`
}
GCPDatacenterSpec specifies a datacenter of GCP.
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
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 HetznerDatacenterSpec ¶
type HetznerDatacenterSpec struct {
Datacenter string `json:"datacenter"`
Location string `json:"location"`
}
HetznerDatacenterSpec specifies a datacenter of Hetzner.
type HetznerNodeSpec ¶
type HetznerNodeSpec struct {
// server type
// required: true
Type string `json:"type"`
}
HetznerNodeSpec Hetzner node settings swagger:model HetznerNodeSpec
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 ¶
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 KubevirtDatacenterSpec ¶
type KubevirtDatacenterSpec struct {
}
KubevirtDatacenterSpec specifies a datacenter of Kubevirt.
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
type LegacyObjectMeta ¶
type LegacyObjectMeta struct {
Name string `json:"name"`
ResourceVersion string `json:"resourceVersion,omitempty"`
UID string `json:"uid,omitempty"`
Annotations map[string]string `json:"annotations,omitempty"`
Labels map[string]string `json:"labels,omitempty"`
}
LegacyObjectMeta is an object storing common metadata for persistable objects. Deprecated: LegacyObjectMeta is deprecated use ObjectMeta instead.
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 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"`
}
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"`
// 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 OpenstackDatacenterSpec ¶
type OpenstackDatacenterSpec struct {
AvailabilityZone string `json:"availability_zone"`
Region string `json:"region"`
AuthURL string `json:"auth_url"`
Images ImageList `json:"images"`
EnforceFloatingIP bool `json:"enforce_floating_ip"`
}
OpenstackDatacenterSpec specifies a generic bare metal datacenter.
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"`
}
OpenstackNodeSpec openstack node settings swagger:model OpenstackNodeSpec
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"`
ContainerLinux *ContainerLinuxSpec `json:"containerLinux,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 PacketDatacenterSpec ¶
type PacketDatacenterSpec struct {
Facilities []string `json:"facilities"`
}
PacketDatacenterSpec specifies a datacenter of Packet.
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
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 PublicAzureCloudSpec ¶
type PublicAzureCloudSpec struct{}
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"`
}
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"`
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 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 SeedDatacenter ¶
type SeedDatacenter 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"`
// 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"`
// Spec describes the cloud provider settings used to manage resources
// in this datacenter. Exactly one cloud provider must be defined.
Spec SeedDatacenterSpec `json:"spec"`
}
type SeedDatacenterSpec ¶
type SeedDatacenterSpec struct {
Digitalocean *kubermaticv1.DatacenterSpecDigitalocean `json:"digitalocean,omitempty"`
// BringYourOwn contains settings for clusters using manually created
// nodes via kubeadm.
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"`
Hetzner *kubermaticv1.DatacenterSpecHetzner `json:"hetzner,omitempty"`
VSphere *kubermaticv1.DatacenterSpecVSphere `json:"vsphere,omitempty"`
GCP *kubermaticv1.DatacenterSpecGCP `json:"gcp,omitempty"`
Kubevirt *kubermaticv1.DatacenterSpecKubevirt `json:"kubevirt,omitempty"`
Alibaba *kubermaticv1.DatacenterSpecAlibaba `json:"alibaba,omitempty"`
//nolint:staticcheck
//lint:ignore SA5008 omitgenyaml is used by the example-yaml-generator
Fake *kubermaticv1.DatacenterSpecFake `json:"fake,omitempty,omitgenyaml"`
// Optional: When defined, only users with an e-mail address on the
// given domains can make use of this datacenter. You can define multiple
// domains, e.g. "example.com", one of which must match the email domain
// exactly (i.e. "example.com" will not match "user@test.example.com").
// RequiredEmailDomain is 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"`
}
SeedDatacenterSpec mutually points to provider datacenter spec
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]SeedDatacenter `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 corev1.ServiceType `json:"expose_strategy,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.Unmarshaller 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"`
}
User represent an API user swagger:model User
type VSphereDatacenterSpec ¶
type VSphereDatacenterSpec struct {
Endpoint string `json:"endpoint"`
Datacenter string `json:"datacenter"`
Datastore string `json:"datastore"`
Cluster string `json:"cluster"`
Templates ImageList `json:"templates"`
}
VSphereDatacenterSpec specifies a datacenter of VSphere.
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