Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,7 @@ spec:
- ImageRegistry
- OperatorLifecycleManager
- CloudCredential
- Ingress
type: string
type: array
x-kubernetes-list-type: atomic
Expand All @@ -97,6 +98,7 @@ spec:
- v4.13
- v4.14
- v4.15
- v4.16
- vCurrent
type: string
type: object
Expand Down Expand Up @@ -348,6 +350,7 @@ spec:
- ImageRegistry
- OperatorLifecycleManager
- CloudCredential
- Ingress
type: string
type: array
x-kubernetes-list-type: atomic
Expand All @@ -372,6 +375,7 @@ spec:
- ImageRegistry
- OperatorLifecycleManager
- CloudCredential
- Ingress
type: string
type: array
x-kubernetes-list-type: atomic
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,7 @@ spec:
- ImageRegistry
- OperatorLifecycleManager
- CloudCredential
- Ingress
type: string
type: array
x-kubernetes-list-type: atomic
Expand All @@ -97,6 +98,7 @@ spec:
- v4.13
- v4.14
- v4.15
- v4.16
- vCurrent
type: string
type: object
Expand Down Expand Up @@ -295,6 +297,7 @@ spec:
- ImageRegistry
- OperatorLifecycleManager
- CloudCredential
- Ingress
type: string
type: array
x-kubernetes-list-type: atomic
Expand All @@ -319,6 +322,7 @@ spec:
- ImageRegistry
- OperatorLifecycleManager
- CloudCredential
- Ingress
type: string
type: array
x-kubernetes-list-type: atomic
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,7 @@ spec:
- ImageRegistry
- OperatorLifecycleManager
- CloudCredential
- Ingress
type: string
type: array
x-kubernetes-list-type: atomic
Expand All @@ -97,6 +98,7 @@ spec:
- v4.13
- v4.14
- v4.15
- v4.16
- vCurrent
type: string
type: object
Expand Down Expand Up @@ -348,6 +350,7 @@ spec:
- ImageRegistry
- OperatorLifecycleManager
- CloudCredential
- Ingress
type: string
type: array
x-kubernetes-list-type: atomic
Expand All @@ -372,6 +375,7 @@ spec:
- ImageRegistry
- OperatorLifecycleManager
- CloudCredential
- Ingress
type: string
type: array
x-kubernetes-list-type: atomic
Expand Down
43 changes: 41 additions & 2 deletions config/v1/types_cluster_version.go
Original file line number Diff line number Diff line change
Expand Up @@ -278,7 +278,7 @@ const (
)

// ClusterVersionCapability enumerates optional, core cluster components.
// +kubebuilder:validation:Enum=openshift-samples;baremetal;marketplace;Console;Insights;Storage;CSISnapshot;NodeTuning;MachineAPI;Build;DeploymentConfig;ImageRegistry;OperatorLifecycleManager;CloudCredential
// +kubebuilder:validation:Enum=openshift-samples;baremetal;marketplace;Console;Insights;Storage;CSISnapshot;NodeTuning;MachineAPI;Build;DeploymentConfig;ImageRegistry;OperatorLifecycleManager;CloudCredential;Ingress
type ClusterVersionCapability string

const (
Expand Down Expand Up @@ -376,6 +376,20 @@ const (
// ClusterVersionCapabilityCloudCredential manages credentials for cloud providers
// in openshift cluster
ClusterVersionCapabilityCloudCredential ClusterVersionCapability = "CloudCredential"

// ClusterVersionCapabilityIngress manages the cluster ingress operator
// which is responsible for running the ingress controllers (including OpenShift router).
//
// The following CRDs are part of the capability as well:
// IngressController
// DNSRecord
// GatewayClass
// Gateway
// HTTPRoute
// ReferenceGrant
//
// WARNING: This capability cannot be disabled on the standalone OpenShift.
ClusterVersionCapabilityIngress ClusterVersionCapability = "Ingress"
)

// KnownClusterVersionCapabilities includes all known optional, core cluster components.
Expand All @@ -394,10 +408,11 @@ var KnownClusterVersionCapabilities = []ClusterVersionCapability{
ClusterVersionCapabilityImageRegistry,
ClusterVersionCapabilityOperatorLifecycleManager,
ClusterVersionCapabilityCloudCredential,
ClusterVersionCapabilityIngress,
}

// ClusterVersionCapabilitySet defines sets of cluster version capabilities.
// +kubebuilder:validation:Enum=None;v4.11;v4.12;v4.13;v4.14;v4.15;vCurrent
// +kubebuilder:validation:Enum=None;v4.11;v4.12;v4.13;v4.14;v4.15;v4.16;vCurrent
type ClusterVersionCapabilitySet string

const (
Expand Down Expand Up @@ -435,6 +450,12 @@ const (
// version of OpenShift is installed.
ClusterVersionCapabilitySet4_15 ClusterVersionCapabilitySet = "v4.15"

// ClusterVersionCapabilitySet4_16 is the recommended set of
// optional capabilities to enable for the 4.16 version of
// OpenShift. This list will remain the same no matter which
// version of OpenShift is installed.
ClusterVersionCapabilitySet4_16 ClusterVersionCapabilitySet = "v4.16"

// ClusterVersionCapabilitySetCurrent is the recommended set
// of optional capabilities to enable for the cluster's
// current version of OpenShift.
Expand Down Expand Up @@ -501,6 +522,23 @@ var ClusterVersionCapabilitySets = map[ClusterVersionCapabilitySet][]ClusterVers
ClusterVersionCapabilityOperatorLifecycleManager,
ClusterVersionCapabilityCloudCredential,
},
ClusterVersionCapabilitySet4_16: {
ClusterVersionCapabilityBaremetal,
ClusterVersionCapabilityConsole,
ClusterVersionCapabilityInsights,
ClusterVersionCapabilityMarketplace,
ClusterVersionCapabilityStorage,
ClusterVersionCapabilityOpenShiftSamples,
ClusterVersionCapabilityCSISnapshot,
ClusterVersionCapabilityNodeTuning,
ClusterVersionCapabilityMachineAPI,
ClusterVersionCapabilityBuild,
ClusterVersionCapabilityDeploymentConfig,
ClusterVersionCapabilityImageRegistry,
ClusterVersionCapabilityOperatorLifecycleManager,
ClusterVersionCapabilityCloudCredential,
ClusterVersionCapabilityIngress,
},
ClusterVersionCapabilitySetCurrent: {
ClusterVersionCapabilityBaremetal,
ClusterVersionCapabilityConsole,
Expand All @@ -516,6 +554,7 @@ var ClusterVersionCapabilitySets = map[ClusterVersionCapabilitySet][]ClusterVers
ClusterVersionCapabilityImageRegistry,
ClusterVersionCapabilityOperatorLifecycleManager,
ClusterVersionCapabilityCloudCredential,
ClusterVersionCapabilityIngress,
},
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ kind: CustomResourceDefinition
metadata:
annotations:
api-approved.openshift.io: https://github.com/openshift/api/pull/616
capability.openshift.io/name: Ingress
include.release.openshift.io/ibm-cloud-managed: "true"
include.release.openshift.io/self-managed-high-availability: "true"
include.release.openshift.io/single-node-developer: "true"
Expand Down
1 change: 1 addition & 0 deletions operatoringress/v1/0000_50_dns-record.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ kind: CustomResourceDefinition
metadata:
annotations:
api-approved.openshift.io: https://github.com/openshift/api/pull/584
capability.openshift.io/name: Ingress
include.release.openshift.io/ibm-cloud-managed: "true"
include.release.openshift.io/self-managed-high-availability: "true"
include.release.openshift.io/single-node-developer: "true"
Expand Down