Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the hypershift.openshift.io v1alpha1 API group +kubebuilder:object:generate=true +groupName=hypershift.openshift.io
Index ¶
- Constants
- Variables
- type APIEndpoint
- type APIServerNetworking
- type AWSCloudProviderConfig
- type AWSNodePoolPlatform
- type AWSPlatformSpec
- type AWSResourceReference
- type AWSRoleCredentials
- type AWSServiceEndpoint
- type AvailabilityPolicy
- type ClusterAutoscaling
- type ClusterConfiguration
- type ClusterNetworking
- type ClusterVersionStatus
- type ConditionType
- type DNSSpec
- type EtcdManagementType
- type EtcdSpec
- type EtcdTLSConfig
- type Filter
- type HostedCluster
- type HostedClusterList
- type HostedClusterSpec
- type HostedClusterStatus
- type HostedControlPlane
- type HostedControlPlaneList
- type HostedControlPlaneSpec
- type HostedControlPlaneStatus
- type InPlaceUpgrade
- type KubeconfigSecretRef
- type ManagedEtcdSpec
- type NetworkType
- type NodePool
- type NodePoolAutoScaling
- type NodePoolList
- type NodePoolManagement
- type NodePoolPlatform
- type NodePoolSpec
- type NodePoolStatus
- type NodePortPublishingStrategy
- type PlatformSpec
- type PlatformType
- type PublishingStrategyType
- type Release
- type ReplaceUpgrade
- type RollingUpdate
- type ServicePublishingStrategy
- type ServicePublishingStrategyMapping
- type ServiceType
- type UnmanagedEtcdSpec
- type UpgradeStrategy
- type UpgradeType
Constants ¶
const ( // AuditWebhookKubeconfigKey is the key name in the AuditWebhook secret that stores audit webhook kubeconfig AuditWebhookKubeconfigKey = "webhook-kubeconfig" DisablePKIReconciliationAnnotation = "hypershift.openshift.io/disable-pki-reconciliation" IdentityProviderOverridesAnnotationPrefix = "idpoverrides.hypershift.openshift.io/" OauthLoginURLOverrideAnnotation = "oauth.hypershift.openshift.io/login-url-override" //KonnectivityServerImageAnnotation is a temporary annotation that allows the specification of the konnectivity server image. //This will be removed when Konnectivity is added to the Openshift release payload KonnectivityServerImageAnnotation = "hypershift.openshift.io/konnectivity-server-image" //KonnectivityAgentImageAnnotation is a temporary annotation that allows the specification of the konnectivity agent image. //This will be removed when Konnectivity is added to the Openshift release payload KonnectivityAgentImageAnnotation = "hypershift.openshift.io/konnectivity-agent-image" // RestartDateAnnotation is a annotation that can be used to trigger a rolling restart of all components managed by hypershift. // it is important in some situations like CA rotation where components need to be fully restarted to pick up new CAs. It's also // important in some recovery situations where a fresh start of the component helps fix symptoms a user might be experiencing. RestartDateAnnotation = "hypershift.openshift.io/restart-date" // ClusterAPIManagerImage is an annotation that allows the specification of the cluster api manager image. // This is a temporary workaround necessary for compliance reasons on the IBM Cloud side: // no images can be pulled from registries outside of IBM Cloud's official regional registries ClusterAPIManagerImage = "hypershift.openshift.io/capi-manager-image" // ClusterAutoscalerImage is an annotation that allows the specification of the cluster autoscaler image. // This is a temporary workaround necessary for compliance reasons on the IBM Cloud side: //no images can be pulled from registries outside of IBM Cloud's official regional registries ClusterAutoscalerImage = "hypershift.openshift.io/cluster-autoscaler-image" )
const ( IgnitionServerDeploymentAsExpectedReason = "IgnitionServerDeploymentAsExpected" IgnitionServerDeploymentStatusUnknownReason = "IgnitionServerDeploymentStatusUnknown" IgnitionServerDeploymentNotFoundReason = "IgnitionServerDeploymentNotFound" HostedClusterAsExpectedReason = "HostedClusterAsExpected" HostedClusterUnhealthyComponentsReason = "UnhealthyControlPlaneComponents" UnmanagedEtcdStatusUnknownReason = "UnmanagedEtcdStatusUnknown" UnmanagedEtcdMisconfiguredReason = "UnmanagedEtcdMisconfigured" UnmanagedEtcdAsExpected = "UnmanagedEtcdAsExpected" )
const ( NodePoolValidReleaseImageConditionType = "ValidReleaseImage" NodePoolValidAMIConditionType = "ValidAMI" NodePoolConfigValidConfigConditionType = "ValidConfig" NodePoolUpdateManagementEnabledConditionType = "UpdateManagementEnabled" NodePoolAutoscalingEnabledConditionType = "AutoscalingEnabled" NodePoolAutorepairEnabledConditionType = "AutorepairEnabled" NodePoolUpdatingVersionConditionType = "UpdatingVersion" NodePoolUpdatingConfigConditionType = "UpdatingConfig" NodePoolAsExpectedConditionReason = "AsExpected" NodePoolValidationFailedConditionReason = "ValidationFailed" )
const ( IgnitionEndpointMissingReason string = "IgnitionEndpointMissing" IgnitionCACertMissingReason string = "IgnitionCACertMissing" )
The following are reasons for the IgnitionEndpointAvailable condition.
const UpgradeStrategyOnDelete = UpgradeStrategy("OnDelete")
const UpgradeStrategyRollingUpdate = UpgradeStrategy("RollingUpdate")
const UpgradeTypeInPlace = UpgradeType("InPlace")
const UpgradeTypeReplace = UpgradeType("Replace")
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "hypershift.openshift.io", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
This section is empty.
Types ¶
type APIEndpoint ¶
type APIEndpoint struct { // Host is the hostname on which the API server is serving. Host string `json:"host"` // Port is the port on which the API server is serving. Port int32 `json:"port"` }
func (*APIEndpoint) DeepCopy ¶
func (in *APIEndpoint) DeepCopy() *APIEndpoint
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIEndpoint.
func (*APIEndpoint) DeepCopyInto ¶
func (in *APIEndpoint) DeepCopyInto(out *APIEndpoint)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type APIServerNetworking ¶
type APIServerNetworking struct { // AdvertiseAddress is the address that workers will use to talk to the // API server. This is an address associated with the loopback adapter of // each worker. If not specified, 172.20.0.1 is used. AdvertiseAddress *string `json:"advertiseAddress,omitempty"` // Port is the port at which the APIServer is exposed inside a worker node // Other pods using host networking cannot listen on this port. If not // specified, 6443 is used. Port *int32 `json:"port,omitempty"` }
APIServerNetworking specifies how the APIServer is exposed inside a worker node.
func (*APIServerNetworking) DeepCopy ¶
func (in *APIServerNetworking) DeepCopy() *APIServerNetworking
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIServerNetworking.
func (*APIServerNetworking) DeepCopyInto ¶
func (in *APIServerNetworking) DeepCopyInto(out *APIServerNetworking)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AWSCloudProviderConfig ¶
type AWSCloudProviderConfig struct { // Subnet is the subnet to use for instances // +optional Subnet *AWSResourceReference `json:"subnet,omitempty"` // Zone is the availability zone where the instances are created // +optional Zone string `json:"zone,omitempty"` // VPC specifies the VPC used for the cluster VPC string `json:"vpc"` }
func (*AWSCloudProviderConfig) DeepCopy ¶
func (in *AWSCloudProviderConfig) DeepCopy() *AWSCloudProviderConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSCloudProviderConfig.
func (*AWSCloudProviderConfig) DeepCopyInto ¶
func (in *AWSCloudProviderConfig) DeepCopyInto(out *AWSCloudProviderConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AWSNodePoolPlatform ¶
type AWSNodePoolPlatform struct { // InstanceType defines the ec2 instance type. // eg. m4-large InstanceType string `json:"instanceType"` InstanceProfile string `json:"instanceProfile,omitempty"` // Subnet is the subnet to use for instances // +optional Subnet *AWSResourceReference `json:"subnet,omitempty"` // AMI is the image id to use // +optional AMI string `json:"ami,omitempty"` // SecurityGroups is the set of security groups to associate with nodepool machines // +optional SecurityGroups []AWSResourceReference `json:"securityGroups,omitempty"` }
AWSNodePoolPlatform stores the configuration for a node pool installed on AWS.
func (*AWSNodePoolPlatform) DeepCopy ¶
func (in *AWSNodePoolPlatform) DeepCopy() *AWSNodePoolPlatform
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSNodePoolPlatform.
func (*AWSNodePoolPlatform) DeepCopyInto ¶
func (in *AWSNodePoolPlatform) DeepCopyInto(out *AWSNodePoolPlatform)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AWSPlatformSpec ¶
type AWSPlatformSpec struct { // Region is the AWS region for the cluster. // This is used by CRs that are consumed by OCP Operators. // E.g cluster-infrastructure-02-config.yaml and install-config.yaml // This is also used by nodePools to fetch the default boot AMI in a given payload. Region string `json:"region"` // CloudProviderConfig is used to generate the ConfigMap with the cloud config consumed // by the Control Plane components. // +optional CloudProviderConfig *AWSCloudProviderConfig `json:"cloudProviderConfig,omitempty"` // ServiceEndpoints list contains custom endpoints which will override default // service endpoint of AWS Services. // There must be only one ServiceEndpoint for a service. // +optional ServiceEndpoints []AWSServiceEndpoint `json:"serviceEndpoints,omitempty"` Roles []AWSRoleCredentials `json:"roles,omitempty"` // KubeCloudControllerCreds is a reference to a secret containing cloud // credentials with permissions matching the Kube cloud controller policy. // The secret should have exactly one key, `credentials`, whose value is // an AWS credentials file. KubeCloudControllerCreds corev1.LocalObjectReference `json:"kubeCloudControllerCreds"` // NodePoolManagementCreds is a reference to a secret containing cloud // credentials with permissions matching the noe pool management policy. // The secret should have exactly one key, `credentials`, whose value is // an AWS credentials file. NodePoolManagementCreds corev1.LocalObjectReference `json:"nodePoolManagementCreds"` }
func (*AWSPlatformSpec) DeepCopy ¶
func (in *AWSPlatformSpec) DeepCopy() *AWSPlatformSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSPlatformSpec.
func (*AWSPlatformSpec) DeepCopyInto ¶
func (in *AWSPlatformSpec) DeepCopyInto(out *AWSPlatformSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AWSResourceReference ¶
type AWSResourceReference struct { // ID of resource // +optional ID *string `json:"id,omitempty"` // ARN of resource // +optional ARN *string `json:"arn,omitempty"` // Filters is a set of key/value pairs used to identify a resource // They are applied according to the rules defined by the AWS API: // https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Filtering.html // +optional Filters []Filter `json:"filters,omitempty"` }
AWSResourceReference is a reference to a specific AWS resource by ID, ARN, or filters. Only one of ID, ARN or Filters may be specified. Specifying more than one will result in a validation error.
func (*AWSResourceReference) DeepCopy ¶
func (in *AWSResourceReference) DeepCopy() *AWSResourceReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSResourceReference.
func (*AWSResourceReference) DeepCopyInto ¶
func (in *AWSResourceReference) DeepCopyInto(out *AWSResourceReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AWSRoleCredentials ¶
type AWSRoleCredentials struct { ARN string `json:"arn"` Namespace string `json:"namespace"` Name string `json:"name"` }
func (*AWSRoleCredentials) DeepCopy ¶
func (in *AWSRoleCredentials) DeepCopy() *AWSRoleCredentials
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSRoleCredentials.
func (*AWSRoleCredentials) DeepCopyInto ¶
func (in *AWSRoleCredentials) DeepCopyInto(out *AWSRoleCredentials)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AWSServiceEndpoint ¶
type AWSServiceEndpoint struct { // Name is the name of the AWS service. // This must be provided and cannot be empty. Name string `json:"name"` // URL is fully qualified URI with scheme https, that overrides the default generated // endpoint for a client. // This must be provided and cannot be empty. // // +kubebuilder:validation:Pattern=`^https://` URL string `json:"url"` }
AWSServiceEndpoint stores the configuration for services to override existing defaults of AWS Services.
func (*AWSServiceEndpoint) DeepCopy ¶
func (in *AWSServiceEndpoint) DeepCopy() *AWSServiceEndpoint
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSServiceEndpoint.
func (*AWSServiceEndpoint) DeepCopyInto ¶
func (in *AWSServiceEndpoint) DeepCopyInto(out *AWSServiceEndpoint)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AvailabilityPolicy ¶
type AvailabilityPolicy string
const ( HighlyAvailable AvailabilityPolicy = "HighlyAvailable" SingleReplica AvailabilityPolicy = "SingleReplica" )
type ClusterAutoscaling ¶
type ClusterAutoscaling struct { // Maximum number of nodes in all node groups. // Cluster autoscaler will not grow the cluster beyond this number. // +kubebuilder:validation:Minimum=0 MaxNodesTotal *int32 `json:"maxNodesTotal,omitempty"` // Gives pods graceful termination time before scaling down // default: 600 seconds // +kubebuilder:validation:Minimum=0 MaxPodGracePeriod *int32 `json:"maxPodGracePeriod,omitempty"` // Maximum time CA waits for node to be provisioned // default: 15 minutes // +kubebuilder:validation:Pattern=^([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ MaxNodeProvisionTime string `json:"maxNodeProvisionTime,omitempty"` // To allow users to schedule "best-effort" pods, which shouldn't trigger // Cluster Autoscaler actions, but only run when there are spare resources available, // default: -10 // More info: https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#how-does-cluster-autoscaler-work-with-pod-priority-and-preemption PodPriorityThreshold *int32 `json:"podPriorityThreshold,omitempty"` }
TODO maybe we have profiles for scaling behaviors
func (*ClusterAutoscaling) DeepCopy ¶
func (in *ClusterAutoscaling) DeepCopy() *ClusterAutoscaling
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterAutoscaling.
func (*ClusterAutoscaling) DeepCopyInto ¶
func (in *ClusterAutoscaling) DeepCopyInto(out *ClusterAutoscaling)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterConfiguration ¶
type ClusterConfiguration struct { // SecretRefs holds references to secrets used in configuration entries // so that they can be properly synced by the hypershift operator. // +kubebuilder:validation:Optional // +optional SecretRefs []corev1.LocalObjectReference `json:"secretRefs,omitempty"` // ConfigMapRefs holds references to configmaps used in configuration entries // so that they can be properly synced by the hypershift operator. // +kubebuilder:validation:Optional // +optional ConfigMapRefs []corev1.LocalObjectReference `json:"configMapRefs,omitempty"` // Items embeds the configuration resource // +kubebuilder:pruning:PreserveUnknownFields // +kubebuilder:validation:Optional // +optional Items []runtime.RawExtension `json:"items,omitempty"` }
ClusterConfiguration contains global configuration for a HostedCluster.
func (*ClusterConfiguration) DeepCopy ¶
func (in *ClusterConfiguration) DeepCopy() *ClusterConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterConfiguration.
func (*ClusterConfiguration) DeepCopyInto ¶
func (in *ClusterConfiguration) DeepCopyInto(out *ClusterConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterNetworking ¶
type ClusterNetworking struct { ServiceCIDR string `json:"serviceCIDR"` PodCIDR string `json:"podCIDR"` MachineCIDR string `json:"machineCIDR"` // NetworkType specifies the SDN provider used for cluster networking. // +kubebuilder:default:="OpenShiftSDN" NetworkType NetworkType `json:"networkType"` // APIServer contains advanced network settings for the API server that affect // how the APIServer is exposed inside a worker node. APIServer *APIServerNetworking `json:"apiServer,omitempty"` }
func (*ClusterNetworking) DeepCopy ¶
func (in *ClusterNetworking) DeepCopy() *ClusterNetworking
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterNetworking.
func (*ClusterNetworking) DeepCopyInto ¶
func (in *ClusterNetworking) DeepCopyInto(out *ClusterNetworking)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterVersionStatus ¶
type ClusterVersionStatus struct { // desired is the version that the cluster is reconciling towards. // If the cluster is not yet fully initialized desired will be set // with the information available, which may be an image or a tag. // +kubebuilder:validation:Required // +required Desired Release `json:"desired"` // history contains a list of the most recent versions applied to the cluster. // This value may be empty during cluster startup, and then will be updated // when a new update is being applied. The newest update is first in the // list and it is ordered by recency. Updates in the history have state // Completed if the rollout completed - if an update was failing or halfway // applied the state will be Partial. Only a limited amount of update history // is preserved. // +optional History []configv1.UpdateHistory `json:"history,omitempty"` // observedGeneration reports which version of the spec is being synced. // If this value is not equal to metadata.generation, then the desired // and conditions fields may represent a previous version. // +kubebuilder:validation:Required // +required ObservedGeneration int64 `json:"observedGeneration"` }
ClusterVersionStatus reports the status of the cluster versioning, including any upgrades that are in progress. The current field will be set to whichever version the cluster is reconciling to, and the conditions array will report whether the update succeeded, is in progress, or is failing. +k8s:deepcopy-gen=true
func (*ClusterVersionStatus) DeepCopy ¶
func (in *ClusterVersionStatus) DeepCopy() *ClusterVersionStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterVersionStatus.
func (*ClusterVersionStatus) DeepCopyInto ¶
func (in *ClusterVersionStatus) DeepCopyInto(out *ClusterVersionStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConditionType ¶
type ConditionType string
const ( HostedControlPlaneAvailable ConditionType = "Available" EtcdAvailable ConditionType = "EtcdAvailable" KubeAPIServerAvailable ConditionType = "KubeAPIServerAvailable" InfrastructureReady ConditionType = "InfrastructureReady" ValidConfiguration ConditionType = "ValidConfiguration" ClusterVersionFailing ConditionType = "ClusterVersionFailing" )
const ( // HostedClusterAvailable indicates whether the HostedCluster has a healthy // control plane. HostedClusterAvailable ConditionType = "Available" // IgnitionEndpointAvailable indicates whether the ignition server for the // HostedCluster is available to handle ignition requests. IgnitionEndpointAvailable ConditionType = "IgnitionEndpointAvailable" // UnmanagedEtcdAvailable indicates whether a user-managed etcd cluster is // healthy. UnmanagedEtcdAvailable ConditionType = "UnmanagedEtcdAvailable" // ValidHostedClusterConfiguration indicates (if status is true) that the // ClusterConfiguration specified for the HostedCluster is valid. ValidHostedClusterConfiguration ConditionType = "ValidConfiguration" )
type DNSSpec ¶
type DNSSpec struct { // BaseDomain is the base domain of the cluster. BaseDomain string `json:"baseDomain"` // PublicZoneID is the Hosted Zone ID where all the DNS records that are publicly accessible to // the internet exist. // +optional PublicZoneID string `json:"publicZoneID,omitempty"` // PrivateZoneID is the Hosted Zone ID where all the DNS records that are only available internally // to the cluster exist. // +optional PrivateZoneID string `json:"privateZoneID,omitempty"` }
DNSSpec specifies the DNS configuration in the cluster
func (*DNSSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSSpec.
func (*DNSSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EtcdManagementType ¶
type EtcdManagementType string
EtcdManagementType is a enum specifying the strategy for managing the cluster's etcd instance +kubebuilder:validation:Enum=Managed;Unmanaged
const ( Managed EtcdManagementType = "Managed" Unmanaged EtcdManagementType = "Unmanaged" )
type EtcdSpec ¶
type EtcdSpec struct { // ManagementType defines how the etcd cluster is managed. Unmanaged means // the etcd cluster is managed by a system outside the hypershift controllers. // Managed means the hypershift controllers manage the provisioning of the etcd cluster // and the operations around it // +unionDiscriminator ManagementType EtcdManagementType `json:"managementType"` // Managed provides metadata that defines how the hypershift controllers manage the etcd cluster // +optional Managed *ManagedEtcdSpec `json:"managed,omitempty"` // Unmanaged provides metadata that enables the Openshift controllers to connect to the external etcd cluster // +optional Unmanaged *UnmanagedEtcdSpec `json:"unmanaged,omitempty"` }
func (*EtcdSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EtcdSpec.
func (*EtcdSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EtcdTLSConfig ¶
type EtcdTLSConfig struct { // ClientSecret refers to a secret for client MTLS authentication with the etcd cluster // The CA must be stored at secret key etcd-client-ca.crt. // The client cert must be stored at secret key etcd-client.crt. // The client key must be stored at secret key etcd-client.key. ClientSecret corev1.LocalObjectReference `json:"clientSecret"` }
func (*EtcdTLSConfig) DeepCopy ¶
func (in *EtcdTLSConfig) DeepCopy() *EtcdTLSConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EtcdTLSConfig.
func (*EtcdTLSConfig) DeepCopyInto ¶
func (in *EtcdTLSConfig) DeepCopyInto(out *EtcdTLSConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Filter ¶
type Filter struct { // Name of the filter. Filter names are case-sensitive. Name string `json:"name"` // Values includes one or more filter values. Filter values are case-sensitive. Values []string `json:"values"` }
Filter is a filter used to identify an AWS resource
func (*Filter) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Filter.
func (*Filter) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HostedCluster ¶
type HostedCluster struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec HostedClusterSpec `json:"spec,omitempty"` Status HostedClusterStatus `json:"status,omitempty"` }
+kubebuilder:object:root=true +kubebuilder:resource:path=hostedclusters,shortName=hc;hcs,scope=Namespaced +kubebuilder:storageversion +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Version",type="string",JSONPath=".status.version.history[?(@.state==\"Completed\")].version",description="Version" +kubebuilder:printcolumn:name="KubeConfig",type="string",JSONPath=".status.kubeconfig.name",description="KubeConfig Secret" +kubebuilder:printcolumn:name="Progress",type="string",JSONPath=".status.version.history[?(@.state!=\"\")].state",description="Progress" +kubebuilder:printcolumn:name="Available",type="string",JSONPath=".status.conditions[?(@.type==\"Available\")].status",description="Available" +kubebuilder:printcolumn:name="Reason",type="string",JSONPath=".status.conditions[?(@.type==\"Available\")].reason",description="Reason" HostedCluster is the Schema for the hostedclusters API
func (*HostedCluster) DeepCopy ¶
func (in *HostedCluster) DeepCopy() *HostedCluster
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostedCluster.
func (*HostedCluster) DeepCopyInto ¶
func (in *HostedCluster) DeepCopyInto(out *HostedCluster)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HostedCluster) DeepCopyObject ¶
func (in *HostedCluster) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type HostedClusterList ¶
type HostedClusterList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []HostedCluster `json:"items"` }
+kubebuilder:object:root=true HostedClusterList contains a list of HostedCluster
func (*HostedClusterList) DeepCopy ¶
func (in *HostedClusterList) DeepCopy() *HostedClusterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostedClusterList.
func (*HostedClusterList) DeepCopyInto ¶
func (in *HostedClusterList) DeepCopyInto(out *HostedClusterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HostedClusterList) DeepCopyObject ¶
func (in *HostedClusterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type HostedClusterSpec ¶
type HostedClusterSpec struct { // Release specifies the release image to use for this HostedCluster Release Release `json:"release"` // +optional FIPS bool `json:"fips"` // PullSecret is a pull secret injected into the container runtime of guest // workers. It should have an ".dockerconfigjson" key containing the pull secret JSON. PullSecret corev1.LocalObjectReference `json:"pullSecret"` // AuditWebhook contains metadata for configuring an audit webhook // endpoint for a cluster to process cluster audit events. It references // a secret that contains the webhook information for the audit webhook endpoint. // It is a secret because if the endpoint has MTLS the kubeconfig will contain client // keys. This is currently only supported in IBM Cloud. The kubeconfig needs to be stored // in the secret with a secret key name that corresponds to the constant AuditWebhookKubeconfigKey. // +optional AuditWebhook *corev1.LocalObjectReference `json:"auditWebhook,omitempty"` // SigningKey is a reference to a Secret containing a single key "key" // +optional SigningKey corev1.LocalObjectReference `json:"signingKey,omitempty"` // +kubebuilder:default:="https://kubernetes.default.svc" IssuerURL string `json:"issuerURL"` // SSHKey is a reference to a Secret containing a single key "id_rsa.pub", // whose value is the public part of an SSH key that can be used to access // Nodes. SSHKey corev1.LocalObjectReference `json:"sshKey"` // Networking contains network-specific settings for this cluster Networking ClusterNetworking `json:"networking"` // Autoscaling for compute nodes only, does not cover control plane // +optional Autoscaling ClusterAutoscaling `json:"autoscaling,omitempty"` Platform PlatformSpec `json:"platform"` // InfraID is used to identify the cluster in cloud platforms InfraID string `json:"infraID,omitempty"` // DNS configuration for the cluster DNS DNSSpec `json:"dns,omitempty"` // Services defines metadata about how control plane services are published // in the management cluster. // TODO (alberto): include Ignition endpoint here. Services []ServicePublishingStrategyMapping `json:"services"` // ControllerAvailabilityPolicy specifies whether to run control plane controllers in HA mode // Defaults to SingleReplica when not set. // +optional ControllerAvailabilityPolicy AvailabilityPolicy `json:"controllerAvailabilityPolicy,omitempty"` // Etcd contains metadata about the etcd cluster the hypershift managed Openshift control plane components // use to store data. Changing the ManagementType for the etcd cluster is not supported after initial creation. // +kubebuilder:validation:Optional // +kubebuilder:default={managementType: "Managed"} Etcd EtcdSpec `json:"etcd"` // Configuration embeds resources that correspond to the openshift configuration API: // https://docs.openshift.com/container-platform/4.7/rest_api/config_apis/config-apis-index.html // +kubebuilder:validation:Optional // +optional Configuration *ClusterConfiguration `json:"configuration,omitempty"` }
HostedClusterSpec defines the desired state of HostedCluster
func (*HostedClusterSpec) DeepCopy ¶
func (in *HostedClusterSpec) DeepCopy() *HostedClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostedClusterSpec.
func (*HostedClusterSpec) DeepCopyInto ¶
func (in *HostedClusterSpec) DeepCopyInto(out *HostedClusterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HostedClusterStatus ¶
type HostedClusterStatus struct { // Version is the status of the release version applied to the // HostedCluster. // +optional Version *ClusterVersionStatus `json:"version,omitempty"` // KubeConfig is a reference to the secret containing the default kubeconfig // for the cluster. // +optional KubeConfig *corev1.LocalObjectReference `json:"kubeconfig,omitempty"` // IgnitionEndpoint is the endpoint injected in the ign config userdata. // It exposes the config for instances to become kubernetes nodes. // +optional IgnitionEndpoint string `json:"ignitionEndpoint"` Conditions []metav1.Condition `json:"conditions"` }
HostedClusterStatus defines the observed state of HostedCluster
func (*HostedClusterStatus) DeepCopy ¶
func (in *HostedClusterStatus) DeepCopy() *HostedClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostedClusterStatus.
func (*HostedClusterStatus) DeepCopyInto ¶
func (in *HostedClusterStatus) DeepCopyInto(out *HostedClusterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HostedControlPlane ¶
type HostedControlPlane struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec HostedControlPlaneSpec `json:"spec,omitempty"` Status HostedControlPlaneStatus `json:"status,omitempty"` }
HostedControlPlane defines the desired state of HostedControlPlane +kubebuilder:resource:path=hostedcontrolplanes,shortName=hcp;hcps,scope=Namespaced,categories=cluster-api +kubebuilder:storageversion +kubebuilder:subresource:status +kubebuilder:object:root=true
func (*HostedControlPlane) DeepCopy ¶
func (in *HostedControlPlane) DeepCopy() *HostedControlPlane
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostedControlPlane.
func (*HostedControlPlane) DeepCopyInto ¶
func (in *HostedControlPlane) DeepCopyInto(out *HostedControlPlane)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HostedControlPlane) DeepCopyObject ¶
func (in *HostedControlPlane) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type HostedControlPlaneList ¶
type HostedControlPlaneList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []HostedControlPlane `json:"items"` }
+kubebuilder:object:root=true HostedControlPlaneList contains a list of HostedControlPlanes.
func (*HostedControlPlaneList) DeepCopy ¶
func (in *HostedControlPlaneList) DeepCopy() *HostedControlPlaneList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostedControlPlaneList.
func (*HostedControlPlaneList) DeepCopyInto ¶
func (in *HostedControlPlaneList) DeepCopyInto(out *HostedControlPlaneList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HostedControlPlaneList) DeepCopyObject ¶
func (in *HostedControlPlaneList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type HostedControlPlaneSpec ¶
type HostedControlPlaneSpec struct { ReleaseImage string `json:"releaseImage"` PullSecret corev1.LocalObjectReference `json:"pullSecret"` SigningKey corev1.LocalObjectReference `json:"signingKey"` IssuerURL string `json:"issuerURL"` ServiceCIDR string `json:"serviceCIDR"` PodCIDR string `json:"podCIDR"` MachineCIDR string `json:"machineCIDR"` // NetworkType specifies the SDN provider used for cluster networking. NetworkType NetworkType `json:"networkType"` SSHKey corev1.LocalObjectReference `json:"sshKey"` InfraID string `json:"infraID"` Platform PlatformSpec `json:"platform"` DNS DNSSpec `json:"dns"` // APIPort is the port at which the APIServer listens inside a worker // +optional APIPort *int32 `json:"apiPort,omitempty"` // APIAdvertiseAddress is the address at which the APIServer listens // inside a worker. // +optional APIAdvertiseAddress *string `json:"apiAdvertiseAddress,omitempty"` // ControllerAvailabilityPolicy specifies whether to run control plane controllers in HA mode // Defaults to SingleReplica when not set // +optional ControllerAvailabilityPolicy AvailabilityPolicy `json:"controllerAvailabilityPolicy,omitempty"` // FIPS specifies if the nodes for the cluster will be running in FIPS mode // +optional FIPS bool `json:"fips"` // KubeConfig specifies the name and key for the kubeconfig secret // +optional KubeConfig *KubeconfigSecretRef `json:"kubeconfig,omitempty"` // Services defines metadata about how control plane services are published // in the management cluster. Services []ServicePublishingStrategyMapping `json:"services"` // AuditWebhook contains metadata for configuring an audit webhook // endpoint for a cluster to process cluster audit events. It references // a secret that contains the webhook information for the audit webhook endpoint. // It is a secret because if the endpoint has MTLS the kubeconfig will contain client // keys. This is currently only supported in IBM Cloud. The kubeconfig needs to be stored // in the secret with a secret key name that corresponds to the constant AuditWebhookKubeconfigKey. // +optional AuditWebhook *corev1.LocalObjectReference `json:"auditWebhook,omitempty"` // Etcd contains metadata about the etcd cluster the hypershift managed Openshift control plane components // use to store data. Etcd EtcdSpec `json:"etcd"` // Configuration embeds resources that correspond to the openshift configuration API: // https://docs.openshift.com/container-platform/4.7/rest_api/config_apis/config-apis-index.html // +kubebuilder:validation:Optional Configuration *ClusterConfiguration `json:"configuration,omitempty"` }
HostedControlPlaneSpec defines the desired state of HostedControlPlane
func (*HostedControlPlaneSpec) DeepCopy ¶
func (in *HostedControlPlaneSpec) DeepCopy() *HostedControlPlaneSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostedControlPlaneSpec.
func (*HostedControlPlaneSpec) DeepCopyInto ¶
func (in *HostedControlPlaneSpec) DeepCopyInto(out *HostedControlPlaneSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HostedControlPlaneStatus ¶
type HostedControlPlaneStatus struct { // Ready denotes that the HostedControlPlane API Server is ready to // receive requests // This satisfies CAPI contract https://github.com/kubernetes-sigs/cluster-api/blob/cd3a694deac89d5ebeb888307deaa61487207aa0/controllers/cluster_controller_phases.go#L226-L230 // +kubebuilder:validation:Required // +kubebuilder:default=false Ready bool `json:"ready"` // Initialized denotes whether or not the control plane has // provided a kubeadm-config. // Once this condition is marked true, its value is never changed. See the Ready condition for an indication of // the current readiness of the cluster's control plane. // This satisfies CAPI contract https://github.com/kubernetes-sigs/cluster-api/blob/cd3a694deac89d5ebeb888307deaa61487207aa0/controllers/cluster_controller_phases.go#L238-L252 // +kubebuilder:validation:Required // +kubebuilder:default=false Initialized bool `json:"initialized"` // ExternalManagedControlPlane indicates to cluster-api that the control plane // is managed by an external service. // https://github.com/kubernetes-sigs/cluster-api/blob/65e5385bffd71bf4aad3cf34a537f11b217c7fab/controllers/machine_controller.go#L468 // +kubebuilder:default=true ExternalManagedControlPlane *bool `json:"externalManagedControlPlane,omitempty"` // ControlPlaneEndpoint contains the endpoint information by which // external clients can access the control plane. This is populated // after the infrastructure is ready. // +kubebuilder:validation:Optional ControlPlaneEndpoint APIEndpoint `json:"controlPlaneEndpoint,omitempty"` // Version is the semantic version of the release applied by // the hosted control plane operator // +kubebuilder:validation:Optional Version string `json:"version,omitempty"` // ReleaseImage is the release image applied to the hosted control plane. ReleaseImage string `json:"releaseImage,omitempty"` // lastReleaseImageTransitionTime is the time of the last update to the current // releaseImage property. // +kubebuilder:validation:Optional LastReleaseImageTransitionTime *metav1.Time `json:"lastReleaseImageTransitionTime,omitempty"` // KubeConfig is a reference to the secret containing the default kubeconfig // for this control plane. KubeConfig *KubeconfigSecretRef `json:"kubeConfig,omitempty"` // Condition contains details for one aspect of the current state of the HostedControlPlane. // Current condition types are: "Available" // +kubebuilder:validation:Required Conditions []metav1.Condition `json:"conditions"` }
HostedControlPlaneStatus defines the observed state of HostedControlPlane
func (*HostedControlPlaneStatus) DeepCopy ¶
func (in *HostedControlPlaneStatus) DeepCopy() *HostedControlPlaneStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostedControlPlaneStatus.
func (*HostedControlPlaneStatus) DeepCopyInto ¶
func (in *HostedControlPlaneStatus) DeepCopyInto(out *HostedControlPlaneStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InPlaceUpgrade ¶
type InPlaceUpgrade struct { }
func (*InPlaceUpgrade) DeepCopy ¶
func (in *InPlaceUpgrade) DeepCopy() *InPlaceUpgrade
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InPlaceUpgrade.
func (*InPlaceUpgrade) DeepCopyInto ¶
func (in *InPlaceUpgrade) DeepCopyInto(out *InPlaceUpgrade)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubeconfigSecretRef ¶
func (*KubeconfigSecretRef) DeepCopy ¶
func (in *KubeconfigSecretRef) DeepCopy() *KubeconfigSecretRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeconfigSecretRef.
func (*KubeconfigSecretRef) DeepCopyInto ¶
func (in *KubeconfigSecretRef) DeepCopyInto(out *KubeconfigSecretRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ManagedEtcdSpec ¶
type ManagedEtcdSpec struct { }
func (*ManagedEtcdSpec) DeepCopy ¶
func (in *ManagedEtcdSpec) DeepCopy() *ManagedEtcdSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedEtcdSpec.
func (*ManagedEtcdSpec) DeepCopyInto ¶
func (in *ManagedEtcdSpec) DeepCopyInto(out *ManagedEtcdSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkType ¶
type NetworkType string
NetworkType specifies the SDN provider used for cluster networking. +kubebuilder:validation:Enum=OpenShiftSDN;Calico
const ( // OpenShiftSDN specifies OpenshiftSDN as the SDN provider OpenShiftSDN NetworkType = "OpenShiftSDN" // Calico specifies Calico as the SDN provider Calico NetworkType = "Calico" )
type NodePool ¶
type NodePool struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec NodePoolSpec `json:"spec,omitempty"` Status NodePoolStatus `json:"status,omitempty"` }
NodePool defines the desired state of NodePool +kubebuilder:resource:path=nodepools,shortName=np;nps,scope=Namespaced +kubebuilder:storageversion +kubebuilder:subresource:status +kubebuilder:object:root=true +kubebuilder:subresource:scale:specpath=.spec.nodeCount,statuspath=.status.nodeCount +kubebuilder:printcolumn:name="Cluster",type="string",JSONPath=".spec.clusterName",description="Cluster" +kubebuilder:printcolumn:name="NodeCount",type="integer",JSONPath=".status.nodeCount",description="Available Nodes" +kubebuilder:printcolumn:name="Autoscaling",type="string",JSONPath=".status.conditions[?(@.type==\"AutoscalingEnabled\")].status",description="Autoscaling Enabled" +kubebuilder:printcolumn:name="Autorepair",type="string",JSONPath=".status.conditions[?(@.type==\"AutorepairEnabled\")].status",description="Node Autorepair Enabled" +kubebuilder:printcolumn:name="Version",type="string",JSONPath=".status.version",description="Current version" +kubebuilder:printcolumn:name="UpdatingVersion",type="string",JSONPath=".status.conditions[?(@.type==\"UpdatingVersion\")].status",description="UpdatingVersion in progress" +kubebuilder:printcolumn:name="UpdatingConfig",type="string",JSONPath=".status.conditions[?(@.type==\"UpdatingConfig\")].status",description="UpdatingConfig in progress"
func (*NodePool) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodePool.
func (*NodePool) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NodePool) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type NodePoolAutoScaling ¶
type NodePoolAutoScaling struct { // +kubebuilder:validation:Minimum=1 Min int32 `json:"min"` // +kubebuilder:validation:Minimum=1 Max int32 `json:"max"` }
func (*NodePoolAutoScaling) DeepCopy ¶
func (in *NodePoolAutoScaling) DeepCopy() *NodePoolAutoScaling
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodePoolAutoScaling.
func (*NodePoolAutoScaling) DeepCopyInto ¶
func (in *NodePoolAutoScaling) DeepCopyInto(out *NodePoolAutoScaling)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NodePoolList ¶
type NodePoolList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []NodePool `json:"items"` }
+kubebuilder:object:root=true NodePoolList contains a list of NodePools.
func (*NodePoolList) DeepCopy ¶
func (in *NodePoolList) DeepCopy() *NodePoolList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodePoolList.
func (*NodePoolList) DeepCopyInto ¶
func (in *NodePoolList) DeepCopyInto(out *NodePoolList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NodePoolList) DeepCopyObject ¶
func (in *NodePoolList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type NodePoolManagement ¶
type NodePoolManagement struct { // +kubebuilder:validation:Enum=Replace;InPlace UpgradeType UpgradeType `json:"upgradeType"` // +kubebuilder:validation:Optional // +kubebuilder:default={strategy: "RollingUpdate", rollingUpdate: {maxSurge: 1, maxUnavailable: 0 }} Replace *ReplaceUpgrade `json:"recreate,omitempty"` // +kubebuilder:validation:Optional InPlace *InPlaceUpgrade `json:"inPlace,omitempty"` // +optional AutoRepair bool `json:"autoRepair"` }
func (*NodePoolManagement) DeepCopy ¶
func (in *NodePoolManagement) DeepCopy() *NodePoolManagement
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodePoolManagement.
func (*NodePoolManagement) DeepCopyInto ¶
func (in *NodePoolManagement) DeepCopyInto(out *NodePoolManagement)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NodePoolPlatform ¶
type NodePoolPlatform struct { Type PlatformType `json:"type"` // AWS is the configuration used when installing on AWS. AWS *AWSNodePoolPlatform `json:"aws,omitempty"` }
NodePoolPlatform is the platform-specific configuration for a node pool. Only one of the platforms should be set.
func (*NodePoolPlatform) DeepCopy ¶
func (in *NodePoolPlatform) DeepCopy() *NodePoolPlatform
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodePoolPlatform.
func (*NodePoolPlatform) DeepCopyInto ¶
func (in *NodePoolPlatform) DeepCopyInto(out *NodePoolPlatform)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NodePoolSpec ¶
type NodePoolSpec struct { // ClusterName is the name of the Cluster this object belongs to. ClusterName string `json:"clusterName"` // +optional NodeCount *int32 `json:"nodeCount"` // +kubebuilder:validation:Optional // TODO (alberto): this ConfigMaps are meant to contain // MachineConfig, KubeletConfig and ContainerRuntimeConfig but // MCO only supports MachineConfig in bootstrap mode atm // https://github.com/openshift/machine-config-operator/blob/9c6c2bfd7ed498bfbc296d530d1839bd6a177b0b/pkg/controller/bootstrap/bootstrap.go#L104-L119 // By contractual convention the ConfigMap structure is as follow: // type: ConfigMap // data: // config: |- Config []v1.LocalObjectReference `json:"config,omitempty"` Management NodePoolManagement `json:"nodePoolManagement"` // +optional AutoScaling *NodePoolAutoScaling `json:"autoScaling,omitempty"` Platform NodePoolPlatform `json:"platform"` // Release specifies the release image to use for this NodePool // For a nodePool a given version dictates the ignition config and // an image artifact e.g an AMI in AWS. // Release specifies the release image to use for this HostedCluster // +kubebuilder:validation:Required // +required Release Release `json:"release"` }
NodePoolSpec defines the desired state of NodePool
func (*NodePoolSpec) DeepCopy ¶
func (in *NodePoolSpec) DeepCopy() *NodePoolSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodePoolSpec.
func (*NodePoolSpec) DeepCopyInto ¶
func (in *NodePoolSpec) DeepCopyInto(out *NodePoolSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NodePoolStatus ¶
type NodePoolStatus struct { // NodeCount is the most recently observed number of replicas. // +optional NodeCount int32 `json:"nodeCount"` Conditions []metav1.Condition `json:"conditions"` // Version is the semantic version of the release applied by // the hosted control plane operator. // For a nodePool a given version represents the ignition config and // an image artifact e.g an AMI in AWS. // +kubebuilder:validation:Optional Version string `json:"version,omitempty"` }
NodePoolStatus defines the observed state of NodePool
func (*NodePoolStatus) DeepCopy ¶
func (in *NodePoolStatus) DeepCopy() *NodePoolStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodePoolStatus.
func (*NodePoolStatus) DeepCopyInto ¶
func (in *NodePoolStatus) DeepCopyInto(out *NodePoolStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NodePortPublishingStrategy ¶
type NodePortPublishingStrategy struct { // Address is the host/ip that the nodePort service is exposed over Address string `json:"address"` // Port is the nodePort of the service. If <=0 the nodePort is dynamically assigned when the service is created Port int32 `json:"port,omitempty"` }
NodePortPublishingStrategy defines the network endpoint that can be used to contact the NodePort service
func (*NodePortPublishingStrategy) DeepCopy ¶
func (in *NodePortPublishingStrategy) DeepCopy() *NodePortPublishingStrategy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodePortPublishingStrategy.
func (*NodePortPublishingStrategy) DeepCopyInto ¶
func (in *NodePortPublishingStrategy) DeepCopyInto(out *NodePortPublishingStrategy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PlatformSpec ¶
type PlatformSpec struct { // Type is the underlying infrastructure provider for the cluster. // // +unionDiscriminator Type PlatformType `json:"type"` // AWS contains AWS-specific settings for the HostedCluster // +optional AWS *AWSPlatformSpec `json:"aws,omitempty"` }
func (*PlatformSpec) DeepCopy ¶
func (in *PlatformSpec) DeepCopy() *PlatformSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PlatformSpec.
func (*PlatformSpec) DeepCopyInto ¶
func (in *PlatformSpec) DeepCopyInto(out *PlatformSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PlatformType ¶
type PlatformType string
PlatformType is a specific supported infrastructure provider. +kubebuilder:validation:Enum=AWS;None;IBMCloud
const ( // AWSPlatformType represents Amazon Web Services infrastructure. AWSPlatform PlatformType = "AWS" NonePlatform PlatformType = "None" IBMCloudPlatform PlatformType = "IBMCloud" )
type PublishingStrategyType ¶
type PublishingStrategyType string
PublishingStrategyType defines publishing strategies for services.
var ( // LoadBalancer exposes a service with a LoadBalancer kube service. LoadBalancer PublishingStrategyType = "LoadBalancer" // NodePort exposes a service with a NodePort kube service. NodePort PublishingStrategyType = "NodePort" // Route exposes services with a Route + ClusterIP kube service. Route PublishingStrategyType = "Route" // None disables exposing the service None PublishingStrategyType = "None" )
type Release ¶
type Release struct { // Image is the release image pullspec for the control plane // +kubebuilder:validation:Required // +kubebuilder:validation:Pattern=^(\w+\S+)$ Image string `json:"image"` }
func (*Release) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Release.
func (*Release) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ReplaceUpgrade ¶
type ReplaceUpgrade struct { // +kubebuilder:validation:Optional // +kubebuilder:validation:Enum=RollingUpdate;OnDelete Strategy UpgradeStrategy `json:"strategy"` // +kubebuilder:validation:Optional RollingUpdate *RollingUpdate `json:"rollingUpdate,omitempty"` }
func (*ReplaceUpgrade) DeepCopy ¶
func (in *ReplaceUpgrade) DeepCopy() *ReplaceUpgrade
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReplaceUpgrade.
func (*ReplaceUpgrade) DeepCopyInto ¶
func (in *ReplaceUpgrade) DeepCopyInto(out *ReplaceUpgrade)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RollingUpdate ¶
type RollingUpdate struct { MaxSurge *intstr.IntOrString `json:"maxSurge,omitempty"` }
func (*RollingUpdate) DeepCopy ¶
func (in *RollingUpdate) DeepCopy() *RollingUpdate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RollingUpdate.
func (*RollingUpdate) DeepCopyInto ¶
func (in *RollingUpdate) DeepCopyInto(out *RollingUpdate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServicePublishingStrategy ¶
type ServicePublishingStrategy struct { // Type defines the publishing strategy used for the service. // +kubebuilder:validation:Enum=LoadBalancer;NodePort;Route;None Type PublishingStrategyType `json:"type"` // NodePort is used to define extra metadata for the NodePort publishing strategy. NodePort *NodePortPublishingStrategy `json:"nodePort,omitempty"` }
ServicePublishingStrategy defines metadata around how a service is published
func (*ServicePublishingStrategy) DeepCopy ¶
func (in *ServicePublishingStrategy) DeepCopy() *ServicePublishingStrategy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServicePublishingStrategy.
func (*ServicePublishingStrategy) DeepCopyInto ¶
func (in *ServicePublishingStrategy) DeepCopyInto(out *ServicePublishingStrategy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServicePublishingStrategyMapping ¶
type ServicePublishingStrategyMapping struct { // Service identifies the type of service being published // +kubebuilder:validation:Enum=APIServer;OAuthServer;OIDC;Konnectivity;Ignition Service ServiceType `json:"service"` ServicePublishingStrategy `json:"servicePublishingStrategy"` }
ServicePublishingStrategyMapping defines the service being published and metadata about the publishing strategy.
func (*ServicePublishingStrategyMapping) DeepCopy ¶
func (in *ServicePublishingStrategyMapping) DeepCopy() *ServicePublishingStrategyMapping
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServicePublishingStrategyMapping.
func (*ServicePublishingStrategyMapping) DeepCopyInto ¶
func (in *ServicePublishingStrategyMapping) DeepCopyInto(out *ServicePublishingStrategyMapping)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceType ¶
type ServiceType string
ServiceType defines what control plane services can be exposed from the management control plane
var ( APIServer ServiceType = "APIServer" Konnectivity ServiceType = "Konnectivity" OAuthServer ServiceType = "OAuthServer" OIDC ServiceType = "OIDC" Ignition ServiceType = "Ignition" )
type UnmanagedEtcdSpec ¶
type UnmanagedEtcdSpec struct { // Endpoint is the full url to connect to the etcd cluster endpoint. An example is // https://etcd-client:2379 // +kubebuilder:validation:Required // +kubebuilder:validation:Pattern=`^https://` Endpoint string `json:"endpoint"` // TLS defines a reference to a TLS secret that can be used for client MTLS authentication with // the etcd cluster TLS EtcdTLSConfig `json:"tls"` }
UnmanagedEtcdSpec defines metadata that enables the Openshift controllers to connect to the external etcd cluster
func (*UnmanagedEtcdSpec) DeepCopy ¶
func (in *UnmanagedEtcdSpec) DeepCopy() *UnmanagedEtcdSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UnmanagedEtcdSpec.
func (*UnmanagedEtcdSpec) DeepCopyInto ¶
func (in *UnmanagedEtcdSpec) DeepCopyInto(out *UnmanagedEtcdSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UpgradeStrategy ¶
type UpgradeStrategy string
type UpgradeType ¶
type UpgradeType string