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