diff --git a/go.mod b/go.mod index 835ea8b07..2b4e277c6 100644 --- a/go.mod +++ b/go.mod @@ -8,10 +8,10 @@ require ( github.com/gonum/graph v0.0.0-20170401004347-50b27dea7ebb github.com/google/go-cmp v0.5.2 github.com/google/gofuzz v1.2.0 // indirect - github.com/openshift/api v0.0.0-20210521075222-e273a339932a + github.com/openshift/api v0.0.0-20210616173328-fb4df74c2da9 github.com/openshift/build-machinery-go v0.0.0-20210423112049-9415d7ebd33e github.com/openshift/client-go v0.0.0-20210521082421-73d9475a9142 - github.com/openshift/library-go v0.0.0-20210624101008-7aab941b4a2b + github.com/openshift/library-go v0.0.0-20210702104503-39570b4a2ae8 github.com/prometheus/common v0.10.0 github.com/spf13/cobra v1.1.1 github.com/spf13/pflag v1.0.5 diff --git a/go.sum b/go.sum index 9d135d192..2c41fed3d 100644 --- a/go.sum +++ b/go.sum @@ -403,16 +403,17 @@ github.com/onsi/gomega v1.7.0 h1:XPnZz8VVBHjVsy1vzJmRwIcSwiUO+JFfrv/xGiigmME= github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= -github.com/openshift/api v0.0.0-20210521075222-e273a339932a h1:aBPwLqCg66SbQd+HrjB1GhgTfPtqSY4aeB022tEYmE0= github.com/openshift/api v0.0.0-20210521075222-e273a339932a/go.mod h1:izBmoXbUu3z5kUa4FjZhvekTsyzIWiOoaIgJiZBBMQs= +github.com/openshift/api v0.0.0-20210616173328-fb4df74c2da9 h1:Lm4PYYJrZVeKTpdIqbweCHmSuymOpaEjUEVu6Ef3Du0= +github.com/openshift/api v0.0.0-20210616173328-fb4df74c2da9/go.mod h1:izBmoXbUu3z5kUa4FjZhvekTsyzIWiOoaIgJiZBBMQs= github.com/openshift/build-machinery-go v0.0.0-20210423112049-9415d7ebd33e h1:F7rBobgSjtYL3/zsgDUjlTVx3Z06hdgpoldpDcn7jzc= github.com/openshift/build-machinery-go v0.0.0-20210423112049-9415d7ebd33e/go.mod h1:b1BuldmJlbA/xYtdZvKi+7j5YGB44qJUJDZ9zwiNCfE= github.com/openshift/client-go v0.0.0-20210521082421-73d9475a9142 h1:ZHRIMCFIJN1p9LsJt4HQ+akDrys4PrYnXzOWI5LK03I= github.com/openshift/client-go v0.0.0-20210521082421-73d9475a9142/go.mod h1:fjS8r9mqDVsPb5td3NehsNOAWa4uiFkYEfVZioQ2gH0= github.com/openshift/kubernetes-apiserver v0.0.0-20210419140141-620426e63a99 h1:KrCYRAJcgZYzMCB1PjJHJMYPu/d+dEkelq5eYyi0fDw= github.com/openshift/kubernetes-apiserver v0.0.0-20210419140141-620426e63a99/go.mod h1:w2YSn4/WIwYuxG5zJmcqtRdtqgW/J2JRgFAqps3bBpg= -github.com/openshift/library-go v0.0.0-20210624101008-7aab941b4a2b h1:WcyGXyaknh8xzHpjsSgSDKwzvm3U5IgNIxzt3HpM9b0= -github.com/openshift/library-go v0.0.0-20210624101008-7aab941b4a2b/go.mod h1:C5DDOSPucn3EVA0T05fODKtAweTObMBrTYm/G3uUBI8= +github.com/openshift/library-go v0.0.0-20210702104503-39570b4a2ae8 h1:vgvVr4EnUiUpl2u5QltMw3/IoBLx8SW2GRcGEXnzmGQ= +github.com/openshift/library-go v0.0.0-20210702104503-39570b4a2ae8/go.mod h1:PkxPzGpVgObkue/pqw6JSKE+z58AUcHVYgME6W4pM0g= github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= diff --git a/vendor/github.com/openshift/api/apiserver/v1/apiserver.openshift.io_apirequestcount.yaml b/vendor/github.com/openshift/api/apiserver/v1/apiserver.openshift.io_apirequestcount.yaml index 3b15501e0..bb4bf8d17 100644 --- a/vendor/github.com/openshift/api/apiserver/v1/apiserver.openshift.io_apirequestcount.yaml +++ b/vendor/github.com/openshift/api/apiserver/v1/apiserver.openshift.io_apirequestcount.yaml @@ -2,6 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: + api-approved.openshift.io: https://github.com/openshift/api/pull/897 include.release.openshift.io/self-managed-high-availability: "true" include.release.openshift.io/single-node-developer: "true" name: apirequestcounts.apiserver.openshift.io diff --git a/vendor/github.com/openshift/api/authorization/v1/0000_03_authorization-openshift_01_rolebindingrestriction.crd.yaml b/vendor/github.com/openshift/api/authorization/v1/0000_03_authorization-openshift_01_rolebindingrestriction.crd.yaml index ce911a84d..57ec1b33a 100644 --- a/vendor/github.com/openshift/api/authorization/v1/0000_03_authorization-openshift_01_rolebindingrestriction.crd.yaml +++ b/vendor/github.com/openshift/api/authorization/v1/0000_03_authorization-openshift_01_rolebindingrestriction.crd.yaml @@ -1,23 +1,22 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: rolebindingrestrictions.authorization.openshift.io annotations: + api-approved.openshift.io: https://github.com/openshift/api/pull/470 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" + name: rolebindingrestrictions.authorization.openshift.io spec: group: authorization.openshift.io - scope: Namespaced names: kind: RoleBindingRestriction listKind: RoleBindingRestrictionList plural: rolebindingrestrictions singular: rolebindingrestriction + scope: Namespaced versions: - name: v1 - served: true - storage: true schema: openAPIV3Schema: description: RoleBindingRestriction is an object that can be matched against @@ -208,3 +207,5 @@ spec: items: type: string nullable: true + served: true + storage: true diff --git a/vendor/github.com/openshift/api/build/v1/generated.proto b/vendor/github.com/openshift/api/build/v1/generated.proto index 8f1154f1e..310d678c1 100644 --- a/vendor/github.com/openshift/api/build/v1/generated.proto +++ b/vendor/github.com/openshift/api/build/v1/generated.proto @@ -733,6 +733,8 @@ message DockerBuildStrategy { // buildArgs contains build arguments that will be resolved in the Dockerfile. See // https://docs.docker.com/engine/reference/builder/#/arg for more details. + // NOTE: Only the 'name' and 'value' fields are supported. Any settings on the 'valueFrom' field + // are ignored. repeated k8s.io.api.core.v1.EnvVar buildArgs = 7; // imageOptimizationPolicy describes what optimizations the system can use when building images diff --git a/vendor/github.com/openshift/api/build/v1/types.go b/vendor/github.com/openshift/api/build/v1/types.go index 11cce8db9..9f9dc8f85 100644 --- a/vendor/github.com/openshift/api/build/v1/types.go +++ b/vendor/github.com/openshift/api/build/v1/types.go @@ -730,6 +730,8 @@ type DockerBuildStrategy struct { // buildArgs contains build arguments that will be resolved in the Dockerfile. See // https://docs.docker.com/engine/reference/builder/#/arg for more details. + // NOTE: Only the 'name' and 'value' fields are supported. Any settings on the 'valueFrom' field + // are ignored. BuildArgs []corev1.EnvVar `json:"buildArgs,omitempty" protobuf:"bytes,7,rep,name=buildArgs"` // imageOptimizationPolicy describes what optimizations the system can use when building images diff --git a/vendor/github.com/openshift/api/build/v1/zz_generated.swagger_doc_generated.go b/vendor/github.com/openshift/api/build/v1/zz_generated.swagger_doc_generated.go index 9be845dfb..6d4dcd281 100644 --- a/vendor/github.com/openshift/api/build/v1/zz_generated.swagger_doc_generated.go +++ b/vendor/github.com/openshift/api/build/v1/zz_generated.swagger_doc_generated.go @@ -350,7 +350,7 @@ var map_DockerBuildStrategy = map[string]string{ "env": "env contains additional environment variables you want to pass into a builder container.", "forcePull": "forcePull describes if the builder should pull the images from registry prior to building.", "dockerfilePath": "dockerfilePath is the path of the Dockerfile that will be used to build the container image, relative to the root of the context (contextDir). Defaults to `Dockerfile` if unset.", - "buildArgs": "buildArgs contains build arguments that will be resolved in the Dockerfile. See https://docs.docker.com/engine/reference/builder/#/arg for more details.", + "buildArgs": "buildArgs contains build arguments that will be resolved in the Dockerfile. See https://docs.docker.com/engine/reference/builder/#/arg for more details. NOTE: Only the 'name' and 'value' fields are supported. Any settings on the 'valueFrom' field are ignored.", "imageOptimizationPolicy": "imageOptimizationPolicy describes what optimizations the system can use when building images to reduce the final size or time spent building the image. The default policy is 'None' which means the final build image will be equivalent to an image created by the container image build API. The experimental policy 'SkipLayers' will avoid commiting new layers in between each image step, and will fail if the Dockerfile cannot provide compatibility with the 'None' policy. An additional experimental policy 'SkipLayersAndWarn' is the same as 'SkipLayers' but simply warns if compatibility cannot be preserved.", } diff --git a/vendor/github.com/openshift/api/cloudnetwork/v1/001-cloudprivateipconfig.crd.yaml b/vendor/github.com/openshift/api/cloudnetwork/v1/001-cloudprivateipconfig.crd.yaml index 14588cba4..7a244e81f 100644 --- a/vendor/github.com/openshift/api/cloudnetwork/v1/001-cloudprivateipconfig.crd.yaml +++ b/vendor/github.com/openshift/api/cloudnetwork/v1/001-cloudprivateipconfig.crd.yaml @@ -1,6 +1,8 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: + annotations: + api-approved.openshift.io: https://github.com/openshift/api/pull/859 name: cloudprivateipconfigs.cloud.network.openshift.io spec: group: cloud.network.openshift.io diff --git a/vendor/github.com/openshift/api/config/v1/0000_00_cluster-version-operator_01_clusteroperator.crd.yaml b/vendor/github.com/openshift/api/config/v1/0000_00_cluster-version-operator_01_clusteroperator.crd.yaml index e56801b1e..7e265559e 100644 --- a/vendor/github.com/openshift/api/config/v1/0000_00_cluster-version-operator_01_clusteroperator.crd.yaml +++ b/vendor/github.com/openshift/api/config/v1/0000_00_cluster-version-operator_01_clusteroperator.crd.yaml @@ -1,47 +1,44 @@ -kind: CustomResourceDefinition apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition metadata: - name: clusteroperators.config.openshift.io annotations: + api-approved.openshift.io: https://github.com/openshift/api/pull/497 include.release.openshift.io/self-managed-high-availability: "true" include.release.openshift.io/single-node-developer: "true" + name: clusteroperators.config.openshift.io spec: group: config.openshift.io names: kind: ClusterOperator listKind: ClusterOperatorList plural: clusteroperators - singular: clusteroperator shortNames: - co + singular: clusteroperator scope: Cluster versions: - - name: v1 - served: true - storage: true - subresources: - status: {} - additionalPrinterColumns: - - jsonPath: .status.versions[?(@.name=="operator")].version - description: The version the operator is at. + - additionalPrinterColumns: + - description: The version the operator is at. + jsonPath: .status.versions[?(@.name=="operator")].version name: Version type: string - - jsonPath: .status.conditions[?(@.type=="Available")].status - description: Whether the operator is running and stable. + - description: Whether the operator is running and stable. + jsonPath: .status.conditions[?(@.type=="Available")].status name: Available type: string - - jsonPath: .status.conditions[?(@.type=="Progressing")].status - description: Whether the operator is processing changes. + - description: Whether the operator is processing changes. + jsonPath: .status.conditions[?(@.type=="Progressing")].status name: Progressing type: string - - jsonPath: .status.conditions[?(@.type=="Degraded")].status - description: Whether the operator is degraded. + - description: Whether the operator is degraded. + jsonPath: .status.conditions[?(@.type=="Degraded")].status name: Degraded type: string - - jsonPath: .status.conditions[?(@.type=="Available")].lastTransitionTime - description: The time the operator's Available status last changed. + - description: The time the operator's Available status last changed. + jsonPath: .status.conditions[?(@.type=="Available")].lastTransitionTime name: Since type: date + name: v1 schema: openAPIV3Schema: description: ClusterOperator is the Custom Resource object which holds the @@ -162,3 +159,7 @@ spec: the Available operand. If 1.0.0 is Available, then this must indicate 1.0.0 even if the operator is trying to rollout 1.1.0 type: string + served: true + storage: true + subresources: + status: {} diff --git a/vendor/github.com/openshift/api/config/v1/0000_00_cluster-version-operator_01_clusterversion.crd.yaml b/vendor/github.com/openshift/api/config/v1/0000_00_cluster-version-operator_01_clusterversion.crd.yaml index c5be735b6..fbc45d362 100644 --- a/vendor/github.com/openshift/api/config/v1/0000_00_cluster-version-operator_01_clusterversion.crd.yaml +++ b/vendor/github.com/openshift/api/config/v1/0000_00_cluster-version-operator_01_clusterversion.crd.yaml @@ -1,17 +1,36 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: clusterversions.config.openshift.io annotations: + api-approved.openshift.io: https://github.com/openshift/api/pull/495 include.release.openshift.io/self-managed-high-availability: "true" include.release.openshift.io/single-node-developer: "true" + name: clusterversions.config.openshift.io spec: group: config.openshift.io + names: + kind: ClusterVersion + plural: clusterversions + singular: clusterversion scope: Cluster versions: - - name: v1 - served: true - storage: true + - additionalPrinterColumns: + - jsonPath: .status.history[?(@.state=="Completed")].version + name: Version + type: string + - jsonPath: .status.conditions[?(@.type=="Available")].status + name: Available + type: string + - jsonPath: .status.conditions[?(@.type=="Progressing")].status + name: Progressing + type: string + - jsonPath: .status.conditions[?(@.type=="Progressing")].lastTransitionTime + name: Since + type: date + - jsonPath: .status.conditions[?(@.type=="Progressing")].message + name: Status + type: string + name: v1 schema: openAPIV3Schema: description: ClusterVersion is the configuration for the ClusterVersionOperator. @@ -310,25 +329,7 @@ spec: cluster will be updated with. It is used by the operator to avoid unnecessary work and is for internal use only. type: string + served: true + storage: true subresources: status: {} - additionalPrinterColumns: - - name: Version - type: string - jsonPath: .status.history[?(@.state=="Completed")].version - - name: Available - type: string - jsonPath: .status.conditions[?(@.type=="Available")].status - - name: Progressing - type: string - jsonPath: .status.conditions[?(@.type=="Progressing")].status - - name: Since - type: date - jsonPath: .status.conditions[?(@.type=="Progressing")].lastTransitionTime - - name: Status - type: string - jsonPath: .status.conditions[?(@.type=="Progressing")].message - names: - plural: clusterversions - singular: clusterversion - kind: ClusterVersion diff --git a/vendor/github.com/openshift/api/config/v1/0000_03_config-operator_01_operatorhub.crd.yaml b/vendor/github.com/openshift/api/config/v1/0000_03_config-operator_01_operatorhub.crd.yaml index 8ea625945..dee8a5013 100644 --- a/vendor/github.com/openshift/api/config/v1/0000_03_config-operator_01_operatorhub.crd.yaml +++ b/vendor/github.com/openshift/api/config/v1/0000_03_config-operator_01_operatorhub.crd.yaml @@ -1,11 +1,12 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: operatorhubs.config.openshift.io annotations: + api-approved.openshift.io: https://github.com/openshift/api/pull/470 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" + name: operatorhubs.config.openshift.io spec: group: config.openshift.io names: @@ -16,12 +17,8 @@ spec: scope: Cluster versions: - name: v1 - subresources: - status: {} - served: true - storage: true - "schema": - "openAPIV3Schema": + schema: + openAPIV3Schema: description: OperatorHub is the Schema for the operatorhubs API. It can be used to change the state of the default hub sources for OperatorHub on the cluster from enabled to disabled and vice versa. @@ -103,3 +100,7 @@ spec: description: status indicates success or failure in applying the configuration type: string + served: true + storage: true + subresources: + status: {} diff --git a/vendor/github.com/openshift/api/config/v1/0000_03_config-operator_01_proxy.crd.yaml b/vendor/github.com/openshift/api/config/v1/0000_03_config-operator_01_proxy.crd.yaml index ddd5d700d..ab7307a45 100644 --- a/vendor/github.com/openshift/api/config/v1/0000_03_config-operator_01_proxy.crd.yaml +++ b/vendor/github.com/openshift/api/config/v1/0000_03_config-operator_01_proxy.crd.yaml @@ -1,25 +1,22 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: proxies.config.openshift.io annotations: + api-approved.openshift.io: https://github.com/openshift/api/pull/470 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" + name: proxies.config.openshift.io spec: group: config.openshift.io - scope: Cluster names: kind: Proxy listKind: ProxyList plural: proxies singular: proxy + scope: Cluster versions: - name: v1 - served: true - storage: true - subresources: - status: {} schema: openAPIV3Schema: description: Proxy holds cluster-wide information on how to configure default @@ -101,3 +98,7 @@ spec: description: noProxy is a comma-separated list of hostnames and/or CIDRs for which the proxy should not be used. type: string + served: true + storage: true + subresources: + status: {} diff --git a/vendor/github.com/openshift/api/config/v1/0000_10_config-operator_01_apiserver.crd.yaml b/vendor/github.com/openshift/api/config/v1/0000_10_config-operator_01_apiserver.crd.yaml index bd730570c..a5859e68b 100644 --- a/vendor/github.com/openshift/api/config/v1/0000_10_config-operator_01_apiserver.crd.yaml +++ b/vendor/github.com/openshift/api/config/v1/0000_10_config-operator_01_apiserver.crd.yaml @@ -1,27 +1,24 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: apiservers.config.openshift.io annotations: + api-approved.openshift.io: https://github.com/openshift/api/pull/470 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" + name: apiservers.config.openshift.io spec: group: config.openshift.io - scope: Cluster names: kind: APIServer - singular: apiserver - plural: apiservers listKind: APIServerList + plural: apiservers + singular: apiserver + scope: Cluster versions: - name: v1 - served: true - storage: true - subresources: - status: {} schema: - "openAPIV3Schema": + openAPIV3Schema: description: APIServer holds configuration (like serving certificates, client CA and CORS domains) shared by all API servers in the system, among them especially kube-apiserver and openshift-apiserver. The canonical name of @@ -165,9 +162,9 @@ spec: tlsSecurityProfile: description: "tlsSecurityProfile specifies settings for TLS connections for externally exposed servers. \n If unset, a default (which may - change between releases) is chosen. Note that only Old and Intermediate - profiles are currently supported, and the maximum available MinTLSVersions - is VersionTLS12." + change between releases) is chosen. Note that only Old, Intermediate + and Custom profiles are currently supported, and the maximum available + MinTLSVersions is VersionTLS12." type: object properties: custom: @@ -258,3 +255,7 @@ spec: description: status holds observed values from the cluster. They may not be overridden. type: object + served: true + storage: true + subresources: + status: {} diff --git a/vendor/github.com/openshift/api/config/v1/0000_10_config-operator_01_authentication.crd.yaml b/vendor/github.com/openshift/api/config/v1/0000_10_config-operator_01_authentication.crd.yaml index b90d578f3..910a4c65b 100644 --- a/vendor/github.com/openshift/api/config/v1/0000_10_config-operator_01_authentication.crd.yaml +++ b/vendor/github.com/openshift/api/config/v1/0000_10_config-operator_01_authentication.crd.yaml @@ -1,25 +1,22 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: authentications.config.openshift.io annotations: + api-approved.openshift.io: https://github.com/openshift/api/pull/470 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" + name: authentications.config.openshift.io spec: group: config.openshift.io - scope: Cluster names: kind: Authentication listKind: AuthenticationList plural: authentications singular: authentication + scope: Cluster versions: - name: v1 - served: true - storage: true - subresources: - status: {} schema: openAPIV3Schema: description: Authentication specifies cluster-wide settings for authentication @@ -159,3 +156,7 @@ spec: description: name is the metadata.name of the referenced config map type: string + served: true + storage: true + subresources: + status: {} diff --git a/vendor/github.com/openshift/api/config/v1/0000_10_config-operator_01_build.crd.yaml b/vendor/github.com/openshift/api/config/v1/0000_10_config-operator_01_build.crd.yaml index fd0eea93c..5c67235fe 100644 --- a/vendor/github.com/openshift/api/config/v1/0000_10_config-operator_01_build.crd.yaml +++ b/vendor/github.com/openshift/api/config/v1/0000_10_config-operator_01_build.crd.yaml @@ -1,28 +1,25 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: builds.config.openshift.io annotations: + api-approved.openshift.io: https://github.com/openshift/api/pull/470 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" + name: builds.config.openshift.io spec: group: config.openshift.io - scope: Cluster - preserveUnknownFields: false names: kind: Build - singular: build - plural: builds listKind: BuildList + plural: builds + singular: build + preserveUnknownFields: false + scope: Cluster versions: - name: v1 - subresources: - status: {} - served: true - storage: true - "schema": - "openAPIV3Schema": + schema: + openAPIV3Schema: description: "Build configures the behavior of OpenShift builds for the entire cluster. This includes default settings that can be overridden in BuildConfig objects, and overrides which are applied to all builds. \n The canonical @@ -398,3 +395,7 @@ spec: to. If the operator is Exists, the value should be empty, otherwise just a regular string. type: string + served: true + storage: true + subresources: + status: {} diff --git a/vendor/github.com/openshift/api/config/v1/0000_10_config-operator_01_console.crd.yaml b/vendor/github.com/openshift/api/config/v1/0000_10_config-operator_01_console.crd.yaml index d7084ba8f..2e3a826ef 100644 --- a/vendor/github.com/openshift/api/config/v1/0000_10_config-operator_01_console.crd.yaml +++ b/vendor/github.com/openshift/api/config/v1/0000_10_config-operator_01_console.crd.yaml @@ -1,25 +1,22 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: consoles.config.openshift.io annotations: + api-approved.openshift.io: https://github.com/openshift/api/pull/470 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" + name: consoles.config.openshift.io spec: - scope: Cluster group: config.openshift.io names: kind: Console listKind: ConsoleList plural: consoles singular: console + scope: Cluster versions: - name: v1 - served: true - storage: true - subresources: - status: {} schema: openAPIV3Schema: description: Console holds cluster-wide configuration for the web console, @@ -71,3 +68,7 @@ spec: description: The URL for the console. This will be derived from the host for the route that is created for the console. type: string + served: true + storage: true + subresources: + status: {} diff --git a/vendor/github.com/openshift/api/config/v1/0000_10_config-operator_01_dns.crd.yaml b/vendor/github.com/openshift/api/config/v1/0000_10_config-operator_01_dns.crd.yaml index c05562e64..7550f6e28 100644 --- a/vendor/github.com/openshift/api/config/v1/0000_10_config-operator_01_dns.crd.yaml +++ b/vendor/github.com/openshift/api/config/v1/0000_10_config-operator_01_dns.crd.yaml @@ -1,11 +1,12 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: dnses.config.openshift.io annotations: + api-approved.openshift.io: https://github.com/openshift/api/pull/470 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" + name: dnses.config.openshift.io spec: group: config.openshift.io names: @@ -16,12 +17,8 @@ spec: scope: Cluster versions: - name: v1 - served: true - storage: true - subresources: - status: {} - "schema": - "openAPIV3Schema": + schema: + openAPIV3Schema: description: DNS holds cluster-wide information about DNS. The canonical name is `cluster` type: object @@ -101,3 +98,7 @@ spec: description: status holds observed values from the cluster. They may not be overridden. type: object + served: true + storage: true + subresources: + status: {} diff --git a/vendor/github.com/openshift/api/config/v1/0000_10_config-operator_01_featuregate.crd.yaml b/vendor/github.com/openshift/api/config/v1/0000_10_config-operator_01_featuregate.crd.yaml index 8bba554b4..10f85be09 100644 --- a/vendor/github.com/openshift/api/config/v1/0000_10_config-operator_01_featuregate.crd.yaml +++ b/vendor/github.com/openshift/api/config/v1/0000_10_config-operator_01_featuregate.crd.yaml @@ -1,25 +1,22 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: featuregates.config.openshift.io annotations: + api-approved.openshift.io: https://github.com/openshift/api/pull/470 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" + name: featuregates.config.openshift.io spec: group: config.openshift.io - scope: Cluster names: kind: FeatureGate listKind: FeatureGateList plural: featuregates singular: featuregate + scope: Cluster versions: - name: v1 - served: true - storage: true - subresources: - status: {} schema: openAPIV3Schema: description: Feature holds cluster-wide information about feature gates. The @@ -76,3 +73,7 @@ spec: description: status holds observed values from the cluster. They may not be overridden. type: object + served: true + storage: true + subresources: + status: {} diff --git a/vendor/github.com/openshift/api/config/v1/0000_10_config-operator_01_image.crd.yaml b/vendor/github.com/openshift/api/config/v1/0000_10_config-operator_01_image.crd.yaml index daed0de9f..71ddd49af 100644 --- a/vendor/github.com/openshift/api/config/v1/0000_10_config-operator_01_image.crd.yaml +++ b/vendor/github.com/openshift/api/config/v1/0000_10_config-operator_01_image.crd.yaml @@ -1,25 +1,22 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: images.config.openshift.io annotations: + api-approved.openshift.io: https://github.com/openshift/api/pull/470 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" + name: images.config.openshift.io spec: group: config.openshift.io - scope: Cluster names: kind: Image - singular: image - plural: images listKind: ImageList + plural: images + singular: image + scope: Cluster versions: - name: v1 - served: true - storage: true - subresources: - status: {} schema: openAPIV3Schema: description: Image governs policies related to imagestream imports and runtime @@ -159,3 +156,7 @@ spec: can still use OPENSHIFT_DEFAULT_REGISTRY environment variable but this setting overrides the environment variable. type: string + served: true + storage: true + subresources: + status: {} diff --git a/vendor/github.com/openshift/api/config/v1/0000_10_config-operator_01_infrastructure.crd.yaml b/vendor/github.com/openshift/api/config/v1/0000_10_config-operator_01_infrastructure.crd.yaml index d8623cd85..9a7e291cd 100644 --- a/vendor/github.com/openshift/api/config/v1/0000_10_config-operator_01_infrastructure.crd.yaml +++ b/vendor/github.com/openshift/api/config/v1/0000_10_config-operator_01_infrastructure.crd.yaml @@ -1,11 +1,12 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: infrastructures.config.openshift.io annotations: + api-approved.openshift.io: https://github.com/openshift/api/pull/470 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" + name: infrastructures.config.openshift.io spec: group: config.openshift.io names: @@ -16,10 +17,6 @@ spec: scope: Cluster versions: - name: v1 - served: true - storage: true - subresources: - status: {} schema: openAPIV3Schema: description: Infrastructure holds cluster-wide information about Infrastructure. The @@ -307,6 +304,10 @@ spec: provider. type: object properties: + armEndpoint: + description: armEndpoint specifies a URL to use for resource + management in non-soverign clouds such as Azure Stack. + type: string cloudName: description: cloudName is the name of the Azure cloud environment which can be used to configure the Azure SDK with the appropriate @@ -318,6 +319,7 @@ spec: - AzureUSGovernmentCloud - AzureChinaCloud - AzureGermanCloud + - AzureStackCloud networkResourceGroupName: description: networkResourceGroupName is the Resource Group for network resources like the Virtual Network and Subnets @@ -539,3 +541,7 @@ spec: DNS, a DNS service is hosted as a static pod to serve those hostnames to the nodes in the cluster. type: string + served: true + storage: true + subresources: + status: {} diff --git a/vendor/github.com/openshift/api/config/v1/0000_10_config-operator_01_ingress.crd.yaml b/vendor/github.com/openshift/api/config/v1/0000_10_config-operator_01_ingress.crd.yaml index 7c1b4f6d7..1a7c294c0 100644 --- a/vendor/github.com/openshift/api/config/v1/0000_10_config-operator_01_ingress.crd.yaml +++ b/vendor/github.com/openshift/api/config/v1/0000_10_config-operator_01_ingress.crd.yaml @@ -1,11 +1,12 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: ingresses.config.openshift.io annotations: + api-approved.openshift.io: https://github.com/openshift/api/pull/470 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" + name: ingresses.config.openshift.io spec: group: config.openshift.io names: @@ -16,12 +17,8 @@ spec: scope: Cluster versions: - name: v1 - served: true - storage: true - subresources: - status: {} - "schema": - "openAPIV3Schema": + schema: + openAPIV3Schema: description: Ingress holds cluster-wide information about ingress, including the default ingress domain used for routes. The canonical name is `cluster`. type: object @@ -297,3 +294,7 @@ spec: resource: description: resource of the referent. type: string + served: true + storage: true + subresources: + status: {} diff --git a/vendor/github.com/openshift/api/config/v1/0000_10_config-operator_01_network.crd.yaml b/vendor/github.com/openshift/api/config/v1/0000_10_config-operator_01_network.crd.yaml index 10eb476ed..ae5b3a733 100644 --- a/vendor/github.com/openshift/api/config/v1/0000_10_config-operator_01_network.crd.yaml +++ b/vendor/github.com/openshift/api/config/v1/0000_10_config-operator_01_network.crd.yaml @@ -1,11 +1,12 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: networks.config.openshift.io annotations: + api-approved.openshift.io: https://github.com/openshift/api/pull/470 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" + name: networks.config.openshift.io spec: group: config.openshift.io names: @@ -13,14 +14,12 @@ spec: listKind: NetworkList plural: networks singular: network - scope: Cluster preserveUnknownFields: false + scope: Cluster versions: - name: v1 - served: true - storage: true - "schema": - "openAPIV3Schema": + schema: + openAPIV3Schema: description: 'Network holds cluster-wide information about Network. The canonical name is `cluster`. It is used to configure the desired network configuration, such as: IP address pools for services/pod IPs, network plugin, etc. Please @@ -170,3 +169,5 @@ spec: type: array items: type: string + served: true + storage: true diff --git a/vendor/github.com/openshift/api/config/v1/0000_10_config-operator_01_oauth.crd.yaml b/vendor/github.com/openshift/api/config/v1/0000_10_config-operator_01_oauth.crd.yaml index d3097b874..cb4e6d6c5 100644 --- a/vendor/github.com/openshift/api/config/v1/0000_10_config-operator_01_oauth.crd.yaml +++ b/vendor/github.com/openshift/api/config/v1/0000_10_config-operator_01_oauth.crd.yaml @@ -1,25 +1,22 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: oauths.config.openshift.io annotations: + api-approved.openshift.io: https://github.com/openshift/api/pull/470 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" + name: oauths.config.openshift.io spec: group: config.openshift.io - scope: Cluster names: kind: OAuth listKind: OAuthList plural: oauths singular: oauth + scope: Cluster versions: - name: v1 - served: true - storage: true - subresources: - status: {} schema: openAPIV3Schema: description: OAuth holds cluster-wide information about OAuth. The canonical @@ -674,3 +671,7 @@ spec: description: status holds observed values from the cluster. They may not be overridden. type: object + served: true + storage: true + subresources: + status: {} diff --git a/vendor/github.com/openshift/api/config/v1/0000_10_config-operator_01_project.crd.yaml b/vendor/github.com/openshift/api/config/v1/0000_10_config-operator_01_project.crd.yaml index 6de304072..0e433c57d 100644 --- a/vendor/github.com/openshift/api/config/v1/0000_10_config-operator_01_project.crd.yaml +++ b/vendor/github.com/openshift/api/config/v1/0000_10_config-operator_01_project.crd.yaml @@ -1,25 +1,22 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: projects.config.openshift.io annotations: + api-approved.openshift.io: https://github.com/openshift/api/pull/470 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" + name: projects.config.openshift.io spec: group: config.openshift.io - scope: Cluster names: kind: Project listKind: ProjectList plural: projects singular: project + scope: Cluster versions: - name: v1 - served: true - storage: true - subresources: - status: {} schema: openAPIV3Schema: description: Project holds cluster-wide information about Project. The canonical @@ -64,3 +61,7 @@ spec: description: status holds observed values from the cluster. They may not be overridden. type: object + served: true + storage: true + subresources: + status: {} diff --git a/vendor/github.com/openshift/api/config/v1/0000_10_config-operator_01_scheduler.crd.yaml b/vendor/github.com/openshift/api/config/v1/0000_10_config-operator_01_scheduler.crd.yaml index c66ec6ad9..41663c4e4 100644 --- a/vendor/github.com/openshift/api/config/v1/0000_10_config-operator_01_scheduler.crd.yaml +++ b/vendor/github.com/openshift/api/config/v1/0000_10_config-operator_01_scheduler.crd.yaml @@ -1,25 +1,22 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: schedulers.config.openshift.io annotations: + api-approved.openshift.io: https://github.com/openshift/api/pull/470 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" + name: schedulers.config.openshift.io spec: group: config.openshift.io - scope: Cluster names: kind: Scheduler - singular: scheduler - plural: schedulers listKind: SchedulerList + plural: schedulers + singular: scheduler + scope: Cluster versions: - name: v1 - served: true - storage: true - subresources: - status: {} schema: openAPIV3Schema: description: Scheduler holds cluster-wide config information to run the Kubernetes @@ -104,3 +101,7 @@ spec: description: status holds observed values from the cluster. They may not be overridden. type: object + served: true + storage: true + subresources: + status: {} diff --git a/vendor/github.com/openshift/api/config/v1/types_apiserver.go b/vendor/github.com/openshift/api/config/v1/types_apiserver.go index 42268db39..013105e36 100644 --- a/vendor/github.com/openshift/api/config/v1/types_apiserver.go +++ b/vendor/github.com/openshift/api/config/v1/types_apiserver.go @@ -46,9 +46,9 @@ type APIServerSpec struct { Encryption APIServerEncryption `json:"encryption"` // tlsSecurityProfile specifies settings for TLS connections for externally exposed servers. // - // If unset, a default (which may change between releases) is chosen. Note that only Old and - // Intermediate profiles are currently supported, and the maximum available MinTLSVersions - // is VersionTLS12. + // If unset, a default (which may change between releases) is chosen. Note that only Old, + // Intermediate and Custom profiles are currently supported, and the maximum available + // MinTLSVersions is VersionTLS12. // +optional TLSSecurityProfile *TLSSecurityProfile `json:"tlsSecurityProfile,omitempty"` // audit specifies the settings for audit configuration to be applied to all OpenShift-provided diff --git a/vendor/github.com/openshift/api/config/v1/types_cluster_operator.go b/vendor/github.com/openshift/api/config/v1/types_cluster_operator.go index 92f500dfd..3339a8688 100644 --- a/vendor/github.com/openshift/api/config/v1/types_cluster_operator.go +++ b/vendor/github.com/openshift/api/config/v1/types_cluster_operator.go @@ -170,7 +170,7 @@ const ( // unexpected errors are handled as operators mature. OperatorDegraded ClusterStatusConditionType = "Degraded" - // Upgradeable indicates whether the operator is in a state that is safe to upgrade. When status is `False` + // Upgradeable indicates whether the operator safe to upgrade based on the current cluster state. When status is `False` // administrators should not upgrade their cluster and the message field should contain a human readable description // of what the administrator should do to allow the operator to successfully update. A missing condition, True, // and Unknown are all treated by the CVO as allowing an upgrade. diff --git a/vendor/github.com/openshift/api/config/v1/types_infrastructure.go b/vendor/github.com/openshift/api/config/v1/types_infrastructure.go index 6e78d5ea6..5ca08dc83 100644 --- a/vendor/github.com/openshift/api/config/v1/types_infrastructure.go +++ b/vendor/github.com/openshift/api/config/v1/types_infrastructure.go @@ -362,10 +362,14 @@ type AzurePlatformStatus struct { // If empty, the value is equal to `AzurePublicCloud`. // +optional CloudName AzureCloudEnvironment `json:"cloudName,omitempty"` + + // armEndpoint specifies a URL to use for resource management in non-soverign clouds such as Azure Stack. + // +optional + ARMEndpoint string `json:"armEndpoint,omitempty"` } // AzureCloudEnvironment is the name of the Azure cloud environment -// +kubebuilder:validation:Enum="";AzurePublicCloud;AzureUSGovernmentCloud;AzureChinaCloud;AzureGermanCloud +// +kubebuilder:validation:Enum="";AzurePublicCloud;AzureUSGovernmentCloud;AzureChinaCloud;AzureGermanCloud;AzureStackCloud type AzureCloudEnvironment string const ( @@ -380,6 +384,9 @@ const ( // AzureGermanCloud is the Azure cloud environment used in Germany. AzureGermanCloud AzureCloudEnvironment = "AzureGermanCloud" + + // AzureStackCloud is the Azure cloud environment used at the edge and on premises. + AzureStackCloud AzureCloudEnvironment = "AzureStackCloud" ) // GCPPlatformSpec holds the desired state of the Google Cloud Platform infrastructure provider. diff --git a/vendor/github.com/openshift/api/config/v1/zz_generated.swagger_doc_generated.go b/vendor/github.com/openshift/api/config/v1/zz_generated.swagger_doc_generated.go index 22de664b2..23bb4fbb8 100644 --- a/vendor/github.com/openshift/api/config/v1/zz_generated.swagger_doc_generated.go +++ b/vendor/github.com/openshift/api/config/v1/zz_generated.swagger_doc_generated.go @@ -284,7 +284,7 @@ var map_APIServerSpec = map[string]string{ "clientCA": "clientCA references a ConfigMap containing a certificate bundle for the signers that will be recognized for incoming client certificates in addition to the operator managed signers. If this is empty, then only operator managed signers are valid. You usually only have to set this if you have your own PKI you wish to honor client certificates from. The ConfigMap must exist in the openshift-config namespace and contain the following required fields: - ConfigMap.Data[\"ca-bundle.crt\"] - CA bundle.", "additionalCORSAllowedOrigins": "additionalCORSAllowedOrigins lists additional, user-defined regular expressions describing hosts for which the API server allows access using the CORS headers. This may be needed to access the API and the integrated OAuth server from JavaScript applications. The values are regular expressions that correspond to the Golang regular expression language.", "encryption": "encryption allows the configuration of encryption of resources at the datastore layer.", - "tlsSecurityProfile": "tlsSecurityProfile specifies settings for TLS connections for externally exposed servers.\n\nIf unset, a default (which may change between releases) is chosen. Note that only Old and Intermediate profiles are currently supported, and the maximum available MinTLSVersions is VersionTLS12.", + "tlsSecurityProfile": "tlsSecurityProfile specifies settings for TLS connections for externally exposed servers.\n\nIf unset, a default (which may change between releases) is chosen. Note that only Old, Intermediate and Custom profiles are currently supported, and the maximum available MinTLSVersions is VersionTLS12.", "audit": "audit specifies the settings for audit configuration to be applied to all OpenShift-provided API servers in the cluster.", } @@ -765,6 +765,7 @@ var map_AzurePlatformStatus = map[string]string{ "resourceGroupName": "resourceGroupName is the Resource Group for new Azure resources created for the cluster.", "networkResourceGroupName": "networkResourceGroupName is the Resource Group for network resources like the Virtual Network and Subnets used by the cluster. If empty, the value is same as ResourceGroupName.", "cloudName": "cloudName is the name of the Azure cloud environment which can be used to configure the Azure SDK with the appropriate Azure API endpoints. If empty, the value is equal to `AzurePublicCloud`.", + "armEndpoint": "armEndpoint specifies a URL to use for resource management in non-soverign clouds such as Azure Stack.", } func (AzurePlatformStatus) SwaggerDoc() map[string]string { diff --git a/vendor/github.com/openshift/api/helm/v1beta1/0000_10-helm-chart-repository.crd.yaml b/vendor/github.com/openshift/api/helm/v1beta1/0000_10-helm-chart-repository.crd.yaml index ac9d2823c..eba0d7b66 100644 --- a/vendor/github.com/openshift/api/helm/v1beta1/0000_10-helm-chart-repository.crd.yaml +++ b/vendor/github.com/openshift/api/helm/v1beta1/0000_10-helm-chart-repository.crd.yaml @@ -1,25 +1,22 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: helmchartrepositories.helm.openshift.io annotations: + api-approved.openshift.io: https://github.com/openshift/api/pull/598 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" + name: helmchartrepositories.helm.openshift.io spec: - scope: Cluster group: helm.openshift.io names: kind: HelmChartRepository listKind: HelmChartRepositoryList plural: helmchartrepositories singular: helmchartrepository + scope: Cluster versions: - name: v1beta1 - served: true - storage: true - subresources: - status: {} schema: openAPIV3Schema: description: HelmChartRepository holds cluster-wide configuration for proxied @@ -171,3 +168,7 @@ spec: type: string maxLength: 316 pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + served: true + storage: true + subresources: + status: {} diff --git a/vendor/github.com/openshift/api/imageregistry/v1/00-crd.yaml b/vendor/github.com/openshift/api/imageregistry/v1/00-crd.yaml index 191ca961f..8b91dfefb 100644 --- a/vendor/github.com/openshift/api/imageregistry/v1/00-crd.yaml +++ b/vendor/github.com/openshift/api/imageregistry/v1/00-crd.yaml @@ -1,22 +1,24 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: configs.imageregistry.operator.openshift.io annotations: + api-approved.openshift.io: https://github.com/openshift/api/pull/519 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" + name: configs.imageregistry.operator.openshift.io spec: group: imageregistry.operator.openshift.io + names: + kind: Config + listKind: ConfigList + plural: configs + singular: config scope: Cluster versions: - name: v1 - served: true - storage: true - subresources: - status: {} - "schema": - "openAPIV3Schema": + schema: + openAPIV3Schema: description: Config is the configuration object for a registry instance managed by the registry operator type: object @@ -1535,8 +1537,7 @@ spec: version: description: version is the level this availability applies to type: string - names: - kind: Config - listKind: ConfigList - plural: configs - singular: config + served: true + storage: true + subresources: + status: {} diff --git a/vendor/github.com/openshift/api/imageregistry/v1/01-crd.yaml b/vendor/github.com/openshift/api/imageregistry/v1/01-crd.yaml index 8cbe097f6..167761030 100644 --- a/vendor/github.com/openshift/api/imageregistry/v1/01-crd.yaml +++ b/vendor/github.com/openshift/api/imageregistry/v1/01-crd.yaml @@ -1,22 +1,24 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: imagepruners.imageregistry.operator.openshift.io annotations: + api-approved.openshift.io: https://github.com/openshift/api/pull/555 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" + name: imagepruners.imageregistry.operator.openshift.io spec: group: imageregistry.operator.openshift.io + names: + kind: ImagePruner + listKind: ImagePrunerList + plural: imagepruners + singular: imagepruner scope: Cluster versions: - name: v1 - served: true - storage: true - subresources: - status: {} - "schema": - "openAPIV3Schema": + schema: + openAPIV3Schema: description: ImagePruner is the configuration object for an image registry pruner managed by the registry operator. type: object @@ -1021,8 +1023,7 @@ spec: has been applied. type: integer format: int64 - names: - kind: ImagePruner - listKind: ImagePrunerList - plural: imagepruners - singular: imagepruner + served: true + storage: true + subresources: + status: {} diff --git a/vendor/github.com/openshift/api/install.go b/vendor/github.com/openshift/api/install.go index 00ec821f8..926cca048 100644 --- a/vendor/github.com/openshift/api/install.go +++ b/vendor/github.com/openshift/api/install.go @@ -20,6 +20,7 @@ import ( kextensionsv1beta1 "k8s.io/api/extensions/v1beta1" kimagepolicyv1alpha1 "k8s.io/api/imagepolicy/v1alpha1" knetworkingv1 "k8s.io/api/networking/v1" + kpolicyv1 "k8s.io/api/policy/v1" kpolicyv1beta1 "k8s.io/api/policy/v1beta1" krbacv1 "k8s.io/api/rbac/v1" krbacv1alpha1 "k8s.io/api/rbac/v1alpha1" @@ -112,6 +113,7 @@ var ( kextensionsv1beta1.AddToScheme, kimagepolicyv1alpha1.AddToScheme, knetworkingv1.AddToScheme, + kpolicyv1.AddToScheme, kpolicyv1beta1.AddToScheme, krbacv1.AddToScheme, krbacv1beta1.AddToScheme, diff --git a/vendor/github.com/openshift/api/network/v1/001-clusternetwork-crd.yaml b/vendor/github.com/openshift/api/network/v1/001-clusternetwork-crd.yaml index aa8c84874..b0ed41deb 100644 --- a/vendor/github.com/openshift/api/network/v1/001-clusternetwork-crd.yaml +++ b/vendor/github.com/openshift/api/network/v1/001-clusternetwork-crd.yaml @@ -1,6 +1,8 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: + annotations: + api-approved.openshift.io: https://github.com/openshift/api/pull/527 name: clusternetworks.network.openshift.io spec: group: network.openshift.io @@ -11,22 +13,20 @@ spec: singular: clusternetwork scope: Cluster versions: - - name: v1 - served: true - storage: true - additionalPrinterColumns: - - name: Cluster Network - type: string - description: The primary cluster network CIDR + - additionalPrinterColumns: + - description: The primary cluster network CIDR jsonPath: .network - - name: Service Network + name: Cluster Network type: string - description: The service network CIDR + - description: The service network CIDR jsonPath: .serviceNetwork - - name: Plugin Name + name: Service Network type: string - description: The OpenShift SDN network plug-in in use + - description: The OpenShift SDN network plug-in in use jsonPath: .pluginName + name: Plugin Name + type: string + name: v1 schema: openAPIV3Schema: description: ClusterNetwork describes the cluster network. There is normally @@ -118,6 +118,8 @@ spec: format: int32 maximum: 65535 minimum: 1 + served: true + storage: true status: acceptedNames: kind: "" diff --git a/vendor/github.com/openshift/api/network/v1/002-hostsubnet-crd.yaml b/vendor/github.com/openshift/api/network/v1/002-hostsubnet-crd.yaml index c101d06f9..a30fdc2db 100644 --- a/vendor/github.com/openshift/api/network/v1/002-hostsubnet-crd.yaml +++ b/vendor/github.com/openshift/api/network/v1/002-hostsubnet-crd.yaml @@ -1,6 +1,8 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: + annotations: + api-approved.openshift.io: https://github.com/openshift/api/pull/527 name: hostsubnets.network.openshift.io spec: group: network.openshift.io @@ -11,32 +13,30 @@ spec: singular: hostsubnet scope: Cluster versions: - - name: v1 - served: true - storage: true - additionalPrinterColumns: - - name: Host - type: string - description: The name of the node + - additionalPrinterColumns: + - description: The name of the node jsonPath: .host - - name: Host IP + name: Host type: string - description: The IP address to be used as a VTEP by other nodes in the overlay + - description: The IP address to be used as a VTEP by other nodes in the overlay network jsonPath: .hostIP - - name: Subnet + name: Host IP type: string - description: The CIDR range of the overlay network assigned to the node for + - description: The CIDR range of the overlay network assigned to the node for its pods jsonPath: .subnet - - name: Egress CIDRs + name: Subnet type: string - description: The network egress CIDRs + - description: The network egress CIDRs jsonPath: .egressCIDRs - - name: Egress IPs + name: Egress CIDRs type: string - description: The network egress IP addresses + - description: The network egress IP addresses jsonPath: .egressIPs + name: Egress IPs + type: string + name: v1 schema: openAPIV3Schema: description: HostSubnet describes the container subnet network on a node. @@ -96,6 +96,8 @@ spec: to the node for its pods type: string pattern: ^(([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])/([0-9]|[12][0-9]|3[0-2])$ + served: true + storage: true status: acceptedNames: kind: "" diff --git a/vendor/github.com/openshift/api/network/v1/003-netnamespace-crd.yaml b/vendor/github.com/openshift/api/network/v1/003-netnamespace-crd.yaml index 422297636..ae8e076a6 100644 --- a/vendor/github.com/openshift/api/network/v1/003-netnamespace-crd.yaml +++ b/vendor/github.com/openshift/api/network/v1/003-netnamespace-crd.yaml @@ -1,6 +1,8 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: + annotations: + api-approved.openshift.io: https://github.com/openshift/api/pull/527 name: netnamespaces.network.openshift.io spec: group: network.openshift.io @@ -11,18 +13,16 @@ spec: singular: netnamespace scope: Cluster versions: - - name: v1 - served: true - storage: true - additionalPrinterColumns: - - name: NetID - type: integer - description: The network identifier of the network namespace + - additionalPrinterColumns: + - description: The network identifier of the network namespace jsonPath: .netid - - name: Egress IPs - type: string - description: The network egress IP addresses + name: NetID + type: integer + - description: The network egress IP addresses jsonPath: .egressIPs + name: Egress IPs + type: string + name: v1 schema: openAPIV3Schema: description: NetNamespace describes a single isolated network. When using @@ -70,6 +70,8 @@ spec: same as the object's name, but both fields must be set.) type: string pattern: ^[a-z0-9.-]+$ + served: true + storage: true status: acceptedNames: kind: "" diff --git a/vendor/github.com/openshift/api/network/v1/004-egressnetworkpolicy-crd.yaml b/vendor/github.com/openshift/api/network/v1/004-egressnetworkpolicy-crd.yaml index 26bd4df1b..66fc1ae2d 100644 --- a/vendor/github.com/openshift/api/network/v1/004-egressnetworkpolicy-crd.yaml +++ b/vendor/github.com/openshift/api/network/v1/004-egressnetworkpolicy-crd.yaml @@ -1,6 +1,8 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: + annotations: + api-approved.openshift.io: https://github.com/openshift/api/pull/527 name: egressnetworkpolicies.network.openshift.io spec: group: network.openshift.io @@ -12,10 +14,8 @@ spec: scope: Namespaced versions: - name: v1 - served: true - storage: true - "schema": - "openAPIV3Schema": + schema: + openAPIV3Schema: description: EgressNetworkPolicy describes the current egress network policy for a Namespace. When using the 'redhat/openshift-ovs-multitenant' network plugin, traffic from a pod to an IP address outside the cluster will be @@ -78,6 +78,8 @@ spec: description: type marks this as an "Allow" or "Deny" rule type: string pattern: ^Allow|Deny$ + served: true + storage: true status: acceptedNames: kind: "" diff --git a/vendor/github.com/openshift/api/networkoperator/v1/001-egressrouter.crd.yaml b/vendor/github.com/openshift/api/networkoperator/v1/001-egressrouter.crd.yaml index 6d7678ff6..f1cceeaf9 100644 --- a/vendor/github.com/openshift/api/networkoperator/v1/001-egressrouter.crd.yaml +++ b/vendor/github.com/openshift/api/networkoperator/v1/001-egressrouter.crd.yaml @@ -2,6 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: + api-approved.openshift.io: https://github.com/openshift/api/pull/851 include.release.openshift.io/ibm-cloud-managed: "true" include.release.openshift.io/self-managed-high-availability: "true" creationTimestamp: null @@ -72,9 +73,6 @@ spec: be automatically determined. Can be IPv4 or IPv6. type: string ip: - anyOf: - - format: ipv4 - - format: ipv6 description: IP is the address to configure on the router's interface. Can be IPv4 or IPv6. type: string diff --git a/vendor/github.com/openshift/api/networkoperator/v1/001-egressrouter.crd.yaml-patch b/vendor/github.com/openshift/api/networkoperator/v1/001-egressrouter.crd.yaml-patch index 0598dbd58..3f1cc0342 100644 --- a/vendor/github.com/openshift/api/networkoperator/v1/001-egressrouter.crd.yaml-patch +++ b/vendor/github.com/openshift/api/networkoperator/v1/001-egressrouter.crd.yaml-patch @@ -1,8 +1,3 @@ -- op: add - path: /spec/versions/name=v1/schema/openAPIV3Schema/properties/spec/properties/addresses/items/properties/ip/anyOf - value: - - format: ipv4 - - format: ipv6 - op: add path: /spec/versions/name=v1/schema/openAPIV3Schema/properties/spec/properties/addresses/items/properties/gateway/anyOf value: diff --git a/vendor/github.com/openshift/api/operator/v1/0000_10_config-operator_01_config.crd.yaml b/vendor/github.com/openshift/api/operator/v1/0000_10_config-operator_01_config.crd.yaml index 525b81c0e..195e3e065 100644 --- a/vendor/github.com/openshift/api/operator/v1/0000_10_config-operator_01_config.crd.yaml +++ b/vendor/github.com/openshift/api/operator/v1/0000_10_config-operator_01_config.crd.yaml @@ -1,26 +1,23 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: configs.operator.openshift.io annotations: + api-approved.openshift.io: https://github.com/openshift/api/pull/612 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" + name: configs.operator.openshift.io spec: - scope: Cluster group: operator.openshift.io names: + categories: + - coreoperators kind: Config plural: configs singular: config - categories: - - coreoperators + scope: Cluster versions: - name: v1 - served: true - storage: true - subresources: - status: {} schema: openAPIV3Schema: description: Config provides information to configure the config operator. @@ -162,3 +159,7 @@ spec: version: description: version is the level this availability applies to type: string + served: true + storage: true + subresources: + status: {} diff --git a/vendor/github.com/openshift/api/operator/v1/0000_12_etcd-operator_01_config.crd.yaml b/vendor/github.com/openshift/api/operator/v1/0000_12_etcd-operator_01_config.crd.yaml index d57ec9e35..565ac2440 100644 --- a/vendor/github.com/openshift/api/operator/v1/0000_12_etcd-operator_01_config.crd.yaml +++ b/vendor/github.com/openshift/api/operator/v1/0000_12_etcd-operator_01_config.crd.yaml @@ -1,26 +1,23 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: etcds.operator.openshift.io annotations: + api-approved.openshift.io: https://github.com/openshift/api/pull/752 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" + name: etcds.operator.openshift.io spec: - scope: Cluster group: operator.openshift.io names: + categories: + - coreoperators kind: Etcd plural: etcds singular: etcd - categories: - - coreoperators + scope: Cluster versions: - name: v1 - served: true - storage: true - subresources: - status: {} schema: openAPIV3Schema: description: Etcd provides information to configure an operator to manage @@ -228,3 +225,7 @@ spec: version: description: version is the level this availability applies to type: string + served: true + storage: true + subresources: + status: {} diff --git a/vendor/github.com/openshift/api/operator/v1/0000_20_kube-apiserver-operator_01_config.crd.yaml b/vendor/github.com/openshift/api/operator/v1/0000_20_kube-apiserver-operator_01_config.crd.yaml index 1f37dcc5e..63ba8cdde 100644 --- a/vendor/github.com/openshift/api/operator/v1/0000_20_kube-apiserver-operator_01_config.crd.yaml +++ b/vendor/github.com/openshift/api/operator/v1/0000_20_kube-apiserver-operator_01_config.crd.yaml @@ -2,6 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: + api-approved.openshift.io: https://github.com/openshift/api/pull/475 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" diff --git a/vendor/github.com/openshift/api/operator/v1/0000_25_kube-controller-manager-operator_01_config.crd.yaml b/vendor/github.com/openshift/api/operator/v1/0000_25_kube-controller-manager-operator_01_config.crd.yaml index 78bb0b7b1..94b2820bf 100644 --- a/vendor/github.com/openshift/api/operator/v1/0000_25_kube-controller-manager-operator_01_config.crd.yaml +++ b/vendor/github.com/openshift/api/operator/v1/0000_25_kube-controller-manager-operator_01_config.crd.yaml @@ -2,6 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: + api-approved.openshift.io: https://github.com/openshift/api/pull/475 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" diff --git a/vendor/github.com/openshift/api/operator/v1/0000_25_kube-scheduler-operator_01_config.crd.yaml b/vendor/github.com/openshift/api/operator/v1/0000_25_kube-scheduler-operator_01_config.crd.yaml index a72704706..ea2329342 100644 --- a/vendor/github.com/openshift/api/operator/v1/0000_25_kube-scheduler-operator_01_config.crd.yaml +++ b/vendor/github.com/openshift/api/operator/v1/0000_25_kube-scheduler-operator_01_config.crd.yaml @@ -2,6 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: + api-approved.openshift.io: https://github.com/openshift/api/pull/475 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" diff --git a/vendor/github.com/openshift/api/operator/v1/0000_30_openshift-apiserver-operator_01_config.crd.yaml b/vendor/github.com/openshift/api/operator/v1/0000_30_openshift-apiserver-operator_01_config.crd.yaml index ad20dab67..6826d2c6a 100644 --- a/vendor/github.com/openshift/api/operator/v1/0000_30_openshift-apiserver-operator_01_config.crd.yaml +++ b/vendor/github.com/openshift/api/operator/v1/0000_30_openshift-apiserver-operator_01_config.crd.yaml @@ -1,26 +1,23 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: openshiftapiservers.operator.openshift.io annotations: + api-approved.openshift.io: https://github.com/openshift/api/pull/475 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" + name: openshiftapiservers.operator.openshift.io spec: - scope: Cluster group: operator.openshift.io names: + categories: + - coreoperators kind: OpenShiftAPIServer plural: openshiftapiservers singular: openshiftapiserver - categories: - - coreoperators + scope: Cluster versions: - name: v1 - served: true - storage: true - subresources: - status: {} schema: openAPIV3Schema: description: OpenShiftAPIServer provides information to configure an operator @@ -168,3 +165,7 @@ spec: version: description: version is the level this availability applies to type: string + served: true + storage: true + subresources: + status: {} diff --git a/vendor/github.com/openshift/api/operator/v1/0000_40_cloud-credential-operator_00_config.crd.yaml b/vendor/github.com/openshift/api/operator/v1/0000_40_cloud-credential-operator_00_config.crd.yaml index ef2ec14c8..d7c932b6f 100644 --- a/vendor/github.com/openshift/api/operator/v1/0000_40_cloud-credential-operator_00_config.crd.yaml +++ b/vendor/github.com/openshift/api/operator/v1/0000_40_cloud-credential-operator_00_config.crd.yaml @@ -1,24 +1,21 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: cloudcredentials.operator.openshift.io annotations: + api-approved.openshift.io: https://github.com/openshift/api/pull/692 include.release.openshift.io/self-managed-high-availability: "true" include.release.openshift.io/single-node-developer: "true" + name: cloudcredentials.operator.openshift.io spec: - scope: Cluster group: operator.openshift.io names: kind: CloudCredential listKind: CloudCredentialList plural: cloudcredentials singular: cloudcredential + scope: Cluster versions: - name: v1 - served: true - storage: true - subresources: - status: {} schema: openAPIV3Schema: description: CloudCredential provides a means to configure an operator to @@ -176,3 +173,7 @@ spec: version: description: version is the level this availability applies to type: string + served: true + storage: true + subresources: + status: {} diff --git a/vendor/github.com/openshift/api/operator/v1/0000_40_kube-storage-version-migrator-operator_00_config.crd.yaml b/vendor/github.com/openshift/api/operator/v1/0000_40_kube-storage-version-migrator-operator_00_config.crd.yaml index bb616a307..f6cb9db1b 100644 --- a/vendor/github.com/openshift/api/operator/v1/0000_40_kube-storage-version-migrator-operator_00_config.crd.yaml +++ b/vendor/github.com/openshift/api/operator/v1/0000_40_kube-storage-version-migrator-operator_00_config.crd.yaml @@ -1,11 +1,12 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: kubestorageversionmigrators.operator.openshift.io annotations: + api-approved.openshift.io: https://github.com/openshift/api/pull/503 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" + name: kubestorageversionmigrators.operator.openshift.io spec: group: operator.openshift.io names: @@ -16,12 +17,8 @@ spec: scope: Cluster versions: - name: v1 - served: true - storage: true - subresources: - status: {} schema: - "openAPIV3Schema": + openAPIV3Schema: description: KubeStorageVersionMigrator provides information to configure an operator to manage kube-storage-version-migrator. type: object @@ -157,3 +154,7 @@ spec: version: description: version is the level this availability applies to type: string + served: true + storage: true + subresources: + status: {} diff --git a/vendor/github.com/openshift/api/operator/v1/0000_50_cluster-authentication-operator_01_config.crd.yaml b/vendor/github.com/openshift/api/operator/v1/0000_50_cluster-authentication-operator_01_config.crd.yaml index 964793f34..c15d59480 100644 --- a/vendor/github.com/openshift/api/operator/v1/0000_50_cluster-authentication-operator_01_config.crd.yaml +++ b/vendor/github.com/openshift/api/operator/v1/0000_50_cluster-authentication-operator_01_config.crd.yaml @@ -1,23 +1,20 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: authentications.operator.openshift.io annotations: + api-approved.openshift.io: https://github.com/openshift/api/pull/475 include.release.openshift.io/self-managed-high-availability: "true" include.release.openshift.io/single-node-developer: "true" + name: authentications.operator.openshift.io spec: - scope: Cluster group: operator.openshift.io names: kind: Authentication plural: authentications singular: authentication + scope: Cluster versions: - name: v1 - served: true - storage: true - subresources: - status: {} schema: openAPIV3Schema: description: Authentication provides information to configure an operator @@ -166,3 +163,7 @@ spec: version: description: version is the level this availability applies to type: string + served: true + storage: true + subresources: + status: {} diff --git a/vendor/github.com/openshift/api/operator/v1/0000_50_cluster-openshift-controller-manager-operator_02_config.crd.yaml b/vendor/github.com/openshift/api/operator/v1/0000_50_cluster-openshift-controller-manager-operator_02_config.crd.yaml index 7dc44d28b..0994b896b 100644 --- a/vendor/github.com/openshift/api/operator/v1/0000_50_cluster-openshift-controller-manager-operator_02_config.crd.yaml +++ b/vendor/github.com/openshift/api/operator/v1/0000_50_cluster-openshift-controller-manager-operator_02_config.crd.yaml @@ -1,26 +1,23 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: openshiftcontrollermanagers.operator.openshift.io annotations: + api-approved.openshift.io: https://github.com/openshift/api/pull/475 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" + name: openshiftcontrollermanagers.operator.openshift.io spec: - scope: Cluster group: operator.openshift.io names: + categories: + - coreoperators kind: OpenShiftControllerManager plural: openshiftcontrollermanagers singular: openshiftcontrollermanager - categories: - - coreoperators + scope: Cluster versions: - name: v1 - served: true - storage: true - subresources: - status: {} schema: openAPIV3Schema: description: OpenShiftControllerManager provides information to configure @@ -158,3 +155,7 @@ spec: version: description: version is the level this availability applies to type: string + served: true + storage: true + subresources: + status: {} diff --git a/vendor/github.com/openshift/api/operator/v1/0000_50_cluster_storage_operator_01_crd.yaml b/vendor/github.com/openshift/api/operator/v1/0000_50_cluster_storage_operator_01_crd.yaml index 18926b9d4..7ae9984e4 100644 --- a/vendor/github.com/openshift/api/operator/v1/0000_50_cluster_storage_operator_01_crd.yaml +++ b/vendor/github.com/openshift/api/operator/v1/0000_50_cluster_storage_operator_01_crd.yaml @@ -1,11 +1,12 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: storages.operator.openshift.io annotations: + api-approved.openshift.io: https://github.com/openshift/api/pull/670 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" + name: storages.operator.openshift.io spec: group: operator.openshift.io names: @@ -15,10 +16,6 @@ spec: scope: Cluster versions: - name: v1 - served: true - storage: true - subresources: - status: {} schema: openAPIV3Schema: description: Storage provides a means to configure an operator to manage the @@ -159,3 +156,7 @@ spec: version: description: version is the level this availability applies to type: string + served: true + storage: true + subresources: + status: {} diff --git a/vendor/github.com/openshift/api/operator/v1/0000_50_ingress-operator_00-ingresscontroller.crd.yaml b/vendor/github.com/openshift/api/operator/v1/0000_50_ingress-operator_00-ingresscontroller.crd.yaml index eaaecf0b2..a34f34524 100644 --- a/vendor/github.com/openshift/api/operator/v1/0000_50_ingress-operator_00-ingresscontroller.crd.yaml +++ b/vendor/github.com/openshift/api/operator/v1/0000_50_ingress-operator_00-ingresscontroller.crd.yaml @@ -2,6 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: + api-approved.openshift.io: https://github.com/openshift/api/pull/616 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" diff --git a/vendor/github.com/openshift/api/operator/v1/0000_50_service-ca-operator_02_crd.yaml b/vendor/github.com/openshift/api/operator/v1/0000_50_service-ca-operator_02_crd.yaml index 40acfb081..c7951a7c5 100644 --- a/vendor/github.com/openshift/api/operator/v1/0000_50_service-ca-operator_02_crd.yaml +++ b/vendor/github.com/openshift/api/operator/v1/0000_50_service-ca-operator_02_crd.yaml @@ -1,25 +1,22 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: servicecas.operator.openshift.io annotations: + api-approved.openshift.io: https://github.com/openshift/api/pull/475 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" + name: servicecas.operator.openshift.io spec: - scope: Cluster group: operator.openshift.io names: kind: ServiceCA listKind: ServiceCAList plural: servicecas singular: serviceca + scope: Cluster versions: - name: v1 - served: true - storage: true - subresources: - status: {} schema: openAPIV3Schema: description: ServiceCA provides information to configure an operator to manage @@ -160,3 +157,7 @@ spec: version: description: version is the level this availability applies to type: string + served: true + storage: true + subresources: + status: {} diff --git a/vendor/github.com/openshift/api/operator/v1/0000_70_cluster-network-operator_01_crd.yaml b/vendor/github.com/openshift/api/operator/v1/0000_70_cluster-network-operator_01_crd.yaml index 2cd8df93e..3bb668193 100644 --- a/vendor/github.com/openshift/api/operator/v1/0000_70_cluster-network-operator_01_crd.yaml +++ b/vendor/github.com/openshift/api/operator/v1/0000_70_cluster-network-operator_01_crd.yaml @@ -1,10 +1,11 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: networks.operator.openshift.io annotations: + api-approved.openshift.io: https://github.com/openshift/api/pull/475 include.release.openshift.io/self-managed-high-availability: "true" include.release.openshift.io/single-node-developer: "true" + name: networks.operator.openshift.io spec: group: operator.openshift.io names: @@ -15,8 +16,6 @@ spec: scope: Cluster versions: - name: v1 - served: true - storage: true schema: openAPIV3Schema: description: Network describes the cluster's desired network configuration. @@ -423,7 +422,7 @@ spec: minItems: 1 items: type: string - pattern: ^(([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]):[0-9]+$ + pattern: ^(([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]):([1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])$ netFlow: description: netFlow defines the NetFlow configuration. type: object @@ -437,7 +436,7 @@ spec: minItems: 1 items: type: string - pattern: ^(([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]):[0-9]+$ + pattern: ^(([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]):([1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])$ sFlow: description: sFlow defines the SFlow configuration. type: object @@ -450,7 +449,7 @@ spec: minItems: 1 items: type: string - pattern: ^(([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]):[0-9]+$ + pattern: ^(([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]):([1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])$ kubeProxyConfig: description: kubeProxyConfig lets us configure desired proxy configuration. If not specified, sensible defaults will be chosen by OpenShift @@ -623,3 +622,5 @@ spec: version: description: version is the level this availability applies to type: string + served: true + storage: true diff --git a/vendor/github.com/openshift/api/operator/v1/0000_70_console-operator.crd.yaml b/vendor/github.com/openshift/api/operator/v1/0000_70_console-operator.crd.yaml index 2253aaa42..4bef02fe2 100644 --- a/vendor/github.com/openshift/api/operator/v1/0000_70_console-operator.crd.yaml +++ b/vendor/github.com/openshift/api/operator/v1/0000_70_console-operator.crd.yaml @@ -1,25 +1,22 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: consoles.operator.openshift.io annotations: + api-approved.openshift.io: https://github.com/openshift/api/pull/486 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" + name: consoles.operator.openshift.io spec: - scope: Cluster group: operator.openshift.io names: kind: Console listKind: ConsoleList plural: consoles singular: console + scope: Cluster versions: - name: v1 - served: true - storage: true - subresources: - status: {} schema: openAPIV3Schema: description: Console provides a means to configure an operator to manage the @@ -367,3 +364,7 @@ spec: version: description: version is the level this availability applies to type: string + served: true + storage: true + subresources: + status: {} diff --git a/vendor/github.com/openshift/api/operator/v1/0000_70_dns-operator_00-custom-resource-definition.yaml b/vendor/github.com/openshift/api/operator/v1/0000_70_dns-operator_00-custom-resource-definition.yaml index 66e595bb8..89c6e756e 100644 --- a/vendor/github.com/openshift/api/operator/v1/0000_70_dns-operator_00-custom-resource-definition.yaml +++ b/vendor/github.com/openshift/api/operator/v1/0000_70_dns-operator_00-custom-resource-definition.yaml @@ -3,6 +3,7 @@ kind: CustomResourceDefinition metadata: name: dnses.operator.openshift.io annotations: + api-approved.openshift.io: https://github.com/openshift/api/pull/475 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" @@ -71,8 +72,13 @@ spec: type: string tolerations: description: "tolerations is a list of tolerations applied to - DNS pods. \n The default is an empty list. This default is - subject to change. \n See https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/" + DNS pods. \n If empty, the DNS operator sets a toleration for + the \"node-role.kubernetes.io/master\" taint. This default + is subject to change. Specifying tolerations without including + a toleration for the \"node-role.kubernetes.io/master\" taint + may be risky as it could lead to an outage if all worker nodes + become unavailable. \n Note that the daemon controller adds + some tolerations as well. See https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/" type: array items: description: The pod this Toleration is attached to tolerates diff --git a/vendor/github.com/openshift/api/operator/v1/0000_80_csi_snapshot_controller_operator_01_crd.yaml b/vendor/github.com/openshift/api/operator/v1/0000_80_csi_snapshot_controller_operator_01_crd.yaml index 720253030..5e4596f01 100644 --- a/vendor/github.com/openshift/api/operator/v1/0000_80_csi_snapshot_controller_operator_01_crd.yaml +++ b/vendor/github.com/openshift/api/operator/v1/0000_80_csi_snapshot_controller_operator_01_crd.yaml @@ -1,11 +1,12 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: csisnapshotcontrollers.operator.openshift.io annotations: + api-approved.openshift.io: https://github.com/openshift/api/pull/562 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" + name: csisnapshotcontrollers.operator.openshift.io spec: group: operator.openshift.io names: @@ -15,10 +16,6 @@ spec: scope: Cluster versions: - name: v1 - served: true - storage: true - subresources: - status: {} schema: openAPIV3Schema: description: CSISnapshotController provides a means to configure an operator @@ -159,3 +156,7 @@ spec: version: description: version is the level this availability applies to type: string + served: true + storage: true + subresources: + status: {} diff --git a/vendor/github.com/openshift/api/operator/v1/0000_90_cluster_csi_driver_01_config.crd.yaml b/vendor/github.com/openshift/api/operator/v1/0000_90_cluster_csi_driver_01_config.crd.yaml index ff66f8c2a..21c94a013 100644 --- a/vendor/github.com/openshift/api/operator/v1/0000_90_cluster_csi_driver_01_config.crd.yaml +++ b/vendor/github.com/openshift/api/operator/v1/0000_90_cluster_csi_driver_01_config.crd.yaml @@ -2,6 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: + api-approved.openshift.io: https://github.com/openshift/api/pull/701 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" diff --git a/vendor/github.com/openshift/api/operator/v1/types_dns.go b/vendor/github.com/openshift/api/operator/v1/types_dns.go index ce4cf3238..0f73dc373 100644 --- a/vendor/github.com/openshift/api/operator/v1/types_dns.go +++ b/vendor/github.com/openshift/api/operator/v1/types_dns.go @@ -110,9 +110,14 @@ type DNSNodePlacement struct { // tolerations is a list of tolerations applied to DNS pods. // - // The default is an empty list. This default is subject to change. - // - // See https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/ + // If empty, the DNS operator sets a toleration for the + // "node-role.kubernetes.io/master" taint. This default is subject to + // change. Specifying tolerations without including a toleration for + // the "node-role.kubernetes.io/master" taint may be risky as it could + // lead to an outage if all worker nodes become unavailable. + // + // Note that the daemon controller adds some tolerations as well. See + // https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/ // // +optional Tolerations []corev1.Toleration `json:"tolerations,omitempty"` diff --git a/vendor/github.com/openshift/api/operator/v1/types_network.go b/vendor/github.com/openshift/api/operator/v1/types_network.go index 33b23bc8a..2c15993e3 100644 --- a/vendor/github.com/openshift/api/operator/v1/types_network.go +++ b/vendor/github.com/openshift/api/operator/v1/types_network.go @@ -415,7 +415,7 @@ type IPFIXConfig struct { Collectors []IPPort `json:"collectors,omitempty"` } -// +kubebuilder:validation:Pattern=`^(([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]):[0-9]+$` +// +kubebuilder:validation:Pattern=`^(([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]):([1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])$` type IPPort string type PolicyAuditConfig struct { diff --git a/vendor/github.com/openshift/api/operator/v1/zz_generated.swagger_doc_generated.go b/vendor/github.com/openshift/api/operator/v1/zz_generated.swagger_doc_generated.go index 0324f679c..5282607bc 100644 --- a/vendor/github.com/openshift/api/operator/v1/zz_generated.swagger_doc_generated.go +++ b/vendor/github.com/openshift/api/operator/v1/zz_generated.swagger_doc_generated.go @@ -396,7 +396,7 @@ func (DNSList) SwaggerDoc() map[string]string { var map_DNSNodePlacement = map[string]string{ "": "DNSNodePlacement describes the node scheduling configuration for DNS pods.", "nodeSelector": "nodeSelector is the node selector applied to DNS pods.\n\nIf empty, the default is used, which is currently the following:\n\n kubernetes.io/os: linux\n\nThis default is subject to change.\n\nIf set, the specified selector is used and replaces the default.", - "tolerations": "tolerations is a list of tolerations applied to DNS pods.\n\nThe default is an empty list. This default is subject to change.\n\nSee https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/", + "tolerations": "tolerations is a list of tolerations applied to DNS pods.\n\nIf empty, the DNS operator sets a toleration for the \"node-role.kubernetes.io/master\" taint. This default is subject to change. Specifying tolerations without including a toleration for the \"node-role.kubernetes.io/master\" taint may be risky as it could lead to an outage if all worker nodes become unavailable.\n\nNote that the daemon controller adds some tolerations as well. See https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/", } func (DNSNodePlacement) SwaggerDoc() map[string]string { diff --git a/vendor/github.com/openshift/api/operator/v1alpha1/0000_10_config-operator_01_imagecontentsourcepolicy.crd.yaml b/vendor/github.com/openshift/api/operator/v1alpha1/0000_10_config-operator_01_imagecontentsourcepolicy.crd.yaml index 92d1404fc..b160c5bac 100644 --- a/vendor/github.com/openshift/api/operator/v1alpha1/0000_10_config-operator_01_imagecontentsourcepolicy.crd.yaml +++ b/vendor/github.com/openshift/api/operator/v1alpha1/0000_10_config-operator_01_imagecontentsourcepolicy.crd.yaml @@ -1,25 +1,22 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: imagecontentsourcepolicies.operator.openshift.io annotations: + api-approved.openshift.io: https://github.com/openshift/api/pull/470 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" + name: imagecontentsourcepolicies.operator.openshift.io spec: group: operator.openshift.io - scope: Cluster names: kind: ImageContentSourcePolicy - singular: imagecontentsourcepolicy - plural: imagecontentsourcepolicies listKind: ImageContentSourcePolicyList + plural: imagecontentsourcepolicies + singular: imagecontentsourcepolicy + scope: Cluster versions: - name: v1alpha1 - served: true - storage: true - subresources: - status: {} schema: openAPIV3Schema: description: ImageContentSourcePolicy holds cluster-wide information about @@ -91,3 +88,7 @@ spec: description: source is the repository that users refer to, e.g. in image pull specifications. type: string + served: true + storage: true + subresources: + status: {} diff --git a/vendor/github.com/openshift/api/operatorcontrolplane/v1alpha1/0000_10-pod-network-connectivity-check.crd.yaml b/vendor/github.com/openshift/api/operatorcontrolplane/v1alpha1/0000_10-pod-network-connectivity-check.crd.yaml index 1009c9162..49bf08eeb 100644 --- a/vendor/github.com/openshift/api/operatorcontrolplane/v1alpha1/0000_10-pod-network-connectivity-check.crd.yaml +++ b/vendor/github.com/openshift/api/operatorcontrolplane/v1alpha1/0000_10-pod-network-connectivity-check.crd.yaml @@ -2,6 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: + api-approved.openshift.io: https://github.com/openshift/api/pull/639 include.release.openshift.io/self-managed-high-availability: "true" include.release.openshift.io/single-node-developer: "true" name: podnetworkconnectivitychecks.controlplane.operator.openshift.io @@ -15,10 +16,6 @@ spec: scope: Namespaced versions: - name: v1alpha1 - served: true - storage: true - subresources: - status: {} schema: openAPIV3Schema: description: PodNetworkConnectivityCheck @@ -257,3 +254,7 @@ spec: type: string format: date-time nullable: true + served: true + storage: true + subresources: + status: {} diff --git a/vendor/github.com/openshift/api/quota/v1/0000_03_quota-openshift_01_clusterresourcequota.crd.yaml b/vendor/github.com/openshift/api/quota/v1/0000_03_quota-openshift_01_clusterresourcequota.crd.yaml index 260236550..2176d1477 100644 --- a/vendor/github.com/openshift/api/quota/v1/0000_03_quota-openshift_01_clusterresourcequota.crd.yaml +++ b/vendor/github.com/openshift/api/quota/v1/0000_03_quota-openshift_01_clusterresourcequota.crd.yaml @@ -2,6 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: + api-approved.openshift.io: https://github.com/openshift/api/pull/470 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" diff --git a/vendor/github.com/openshift/api/samples/v1/0000_10_samplesconfig.crd.yaml b/vendor/github.com/openshift/api/samples/v1/0000_10_samplesconfig.crd.yaml index f0bd21eda..c30ba2482 100644 --- a/vendor/github.com/openshift/api/samples/v1/0000_10_samplesconfig.crd.yaml +++ b/vendor/github.com/openshift/api/samples/v1/0000_10_samplesconfig.crd.yaml @@ -1,25 +1,27 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: configs.samples.operator.openshift.io annotations: + api-approved.openshift.io: https://github.com/openshift/api/pull/513 description: Extension for configuring openshif samples operator. displayName: ConfigsSamples 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" + name: configs.samples.operator.openshift.io spec: - scope: Cluster - preserveUnknownFields: false group: samples.operator.openshift.io + names: + kind: Config + listKind: ConfigList + plural: configs + singular: config + preserveUnknownFields: false + scope: Cluster versions: - name: v1 - subresources: - status: {} - served: true - storage: true - "schema": - "openAPIV3Schema": + schema: + openAPIV3Schema: description: Config contains the configuration and detailed condition status for the Samples Operator. type: object @@ -171,8 +173,7 @@ spec: description: version is the value of the operator's payload based version indicator when it was last successfully processed type: string - names: - plural: configs - singular: config - kind: Config - listKind: ConfigList + served: true + storage: true + subresources: + status: {} diff --git a/vendor/github.com/openshift/api/security/v1/0000_03_security-openshift_01_scc.crd.yaml b/vendor/github.com/openshift/api/security/v1/0000_03_security-openshift_01_scc.crd.yaml index 480f7b273..ab2f05303 100644 --- a/vendor/github.com/openshift/api/security/v1/0000_03_security-openshift_01_scc.crd.yaml +++ b/vendor/github.com/openshift/api/security/v1/0000_03_security-openshift_01_scc.crd.yaml @@ -1,61 +1,60 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: securitycontextconstraints.security.openshift.io annotations: + api-approved.openshift.io: https://github.com/openshift/api/pull/470 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" + name: securitycontextconstraints.security.openshift.io spec: group: security.openshift.io - scope: Cluster names: kind: SecurityContextConstraints listKind: SecurityContextConstraintsList plural: securitycontextconstraints singular: securitycontextconstraints + scope: Cluster versions: - - name: v1 - served: true - storage: true - additionalPrinterColumns: - - name: Priv - type: string + - additionalPrinterColumns: + - description: Determines if a container can request to be run as privileged jsonPath: .allowPrivilegedContainer - description: Determines if a container can request to be run as privileged - - name: Caps + name: Priv type: string + - description: A list of capabilities that can be requested to add to the container jsonPath: .allowedCapabilities - description: A list of capabilities that can be requested to add to the container - - name: SELinux + name: Caps type: string + - description: Strategy that will dictate what labels will be set in the SecurityContext jsonPath: .seLinuxContext.type - description: Strategy that will dictate what labels will be set in the SecurityContext - - name: RunAsUser + name: SELinux type: string + - description: Strategy that will dictate what RunAsUser is used in the SecurityContext jsonPath: .runAsUser.type - description: Strategy that will dictate what RunAsUser is used in the SecurityContext - - name: FSGroup + name: RunAsUser type: string + - description: Strategy that will dictate what fs group is used by the SecurityContext jsonPath: .fsGroup.type - description: Strategy that will dictate what fs group is used by the SecurityContext - - name: SupGroup + name: FSGroup type: string - jsonPath: .supplementalGroups.type - description: Strategy that will dictate what supplemental groups are used by + - description: Strategy that will dictate what supplemental groups are used by the SecurityContext - - name: Priority + jsonPath: .supplementalGroups.type + name: SupGroup type: string + - description: Sort order of SCCs jsonPath: .priority - description: Sort order of SCCs - - name: ReadOnlyRootFS + name: Priority type: string + - description: Force containers to run with a read only root file system jsonPath: .readOnlyRootFilesystem - description: Force containers to run with a read only root file system - - name: Volumes + name: ReadOnlyRootFS type: string + - description: White list of allowed volume plugins jsonPath: .volumes - description: White list of allowed volume plugins + name: Volumes + type: string + name: v1 schema: openAPIV3Schema: description: SecurityContextConstraints governs the ability to make requests @@ -360,3 +359,5 @@ spec: are used by volumes. type: string nullable: true + served: true + storage: true diff --git a/vendor/github.com/openshift/library-go/pkg/cloudprovider/external.go b/vendor/github.com/openshift/library-go/pkg/cloudprovider/external.go new file mode 100644 index 000000000..4e8c5a0fa --- /dev/null +++ b/vendor/github.com/openshift/library-go/pkg/cloudprovider/external.go @@ -0,0 +1,65 @@ +package cloudprovider + +import ( + "fmt" + + configv1 "github.com/openshift/api/config/v1" + "k8s.io/apimachinery/pkg/util/sets" +) + +const ( + // ExternalCloudProviderFeature is the name of the external cloud provider feature gate. + // This is used to flag to operators that the cluster should be using the external cloud-controller-manager + // rather than the in-tree cloud controller loops. + ExternalCloudProviderFeature = "ExternalCloudProvider" +) + +// IsCloudProviderExternal is used to check whether external cloud provider settings should be used in a component. +// It checks whether the ExternalCloudProvider feature gate is enabled and whether the ExternalCloudProvider feature +// has been implemented for the platform. +func IsCloudProviderExternal(platformStatus *configv1.PlatformStatus, featureGate *configv1.FeatureGate) (bool, error) { + if platformStatus == nil { + return false, fmt.Errorf("platformStatus is required") + } + switch platformStatus.Type { + case configv1.AWSPlatformType, + configv1.OpenStackPlatformType: + // Platforms that are external based on feature gate presence + return isExternalFeatureGateEnabled(featureGate) + case configv1.AzurePlatformType: + if isAzureStackHub(platformStatus) { + return true, nil + } + return isExternalFeatureGateEnabled(featureGate) + default: + // Platforms that do not have external cloud providers implemented + return false, nil + } +} + +func isAzureStackHub(platformStatus *configv1.PlatformStatus) bool { + return platformStatus.Azure != nil && platformStatus.Azure.CloudName == configv1.AzureStackCloud +} + +// isExternalFeatureGateEnabled determines whether the ExternalCloudProvider feature gate is present in the current +// feature set. +func isExternalFeatureGateEnabled(featureGate *configv1.FeatureGate) (bool, error) { + if featureGate == nil { + // If no featureGate is present, then the user hasn't opted in to the external cloud controllers + return false, nil + } + featureSet, ok := configv1.FeatureSets[featureGate.Spec.FeatureSet] + if !ok { + return false, fmt.Errorf(".spec.featureSet %q not found", featureGate.Spec.FeatureSet) + } + + enabledFeatureGates := sets.NewString(featureSet.Enabled...) + disabledFeatureGates := sets.NewString(featureSet.Disabled...) + // CustomNoUpgrade will override the deafult enabled feature gates. + if featureGate.Spec.FeatureSet == configv1.CustomNoUpgrade && featureGate.Spec.CustomNoUpgrade != nil { + enabledFeatureGates = sets.NewString(featureGate.Spec.CustomNoUpgrade.Enabled...) + disabledFeatureGates = sets.NewString(featureGate.Spec.CustomNoUpgrade.Disabled...) + } + + return !disabledFeatureGates.Has(ExternalCloudProviderFeature) && enabledFeatureGates.Has(ExternalCloudProviderFeature), nil +} diff --git a/vendor/github.com/openshift/library-go/pkg/operator/configobserver/cloudprovider/observe_cloudprovider.go b/vendor/github.com/openshift/library-go/pkg/operator/configobserver/cloudprovider/observe_cloudprovider.go index 519e2a7dc..47353b1c7 100644 --- a/vendor/github.com/openshift/library-go/pkg/operator/configobserver/cloudprovider/observe_cloudprovider.go +++ b/vendor/github.com/openshift/library-go/pkg/operator/configobserver/cloudprovider/observe_cloudprovider.go @@ -11,6 +11,7 @@ import ( configv1 "github.com/openshift/api/config/v1" configlistersv1 "github.com/openshift/client-go/config/listers/config/v1" + "github.com/openshift/library-go/pkg/cloudprovider" "github.com/openshift/library-go/pkg/operator/configobserver" "github.com/openshift/library-go/pkg/operator/events" "github.com/openshift/library-go/pkg/operator/resourcesynccontroller" @@ -26,6 +27,7 @@ const ( // InfrastructureLister lists infrastrucre information and allows resources to be synced type InfrastructureLister interface { InfrastructureLister() configlistersv1.InfrastructureLister + FeatureGateLister() configlistersv1.FeatureGateLister ResourceSyncer() resourcesynccontroller.ResourceSyncer ConfigMapLister() corelisterv1.ConfigMapLister } @@ -66,8 +68,19 @@ func (c *cloudProviderObserver) ObserveCloudProviderNames(genericListers configo return existingConfig, append(errs, err) } + external, err := c.isCloudProviderExternal(listers, infrastructure.Status.PlatformStatus) + if err != nil { + recorder.Warningf("ObserveCloudProviderNames", "Could not determine external cloud provider state: %v", err) + return existingConfig, append(errs, err) + } + + // Still using in-tree cloud provider, fall back to setting provider information based on platform type. cloudProvider := getPlatformName(infrastructure.Status.Platform, recorder) - if len(cloudProvider) > 0 { + if external { + if err := unstructured.SetNestedStringSlice(observedConfig, []string{"external"}, c.cloudProviderNamePath...); err != nil { + errs = append(errs, err) + } + } else if len(cloudProvider) > 0 { if err := unstructured.SetNestedStringSlice(observedConfig, []string{cloudProvider}, c.cloudProviderNamePath...); err != nil { errs = append(errs, err) } @@ -135,6 +148,27 @@ func (c *cloudProviderObserver) ObserveCloudProviderNames(genericListers configo return observedConfig, errs } +// isCloudProviderExternal is used to determine if the cluster should use external cloud providers. +// Currently, this is opt in via a feature gate. If no feature gate is present, the cluster should remain +// using the in-tree implementation. +func (c *cloudProviderObserver) isCloudProviderExternal(listers InfrastructureLister, platform *configv1.PlatformStatus) (bool, error) { + featureGate, err := listers.FeatureGateLister().Get("cluster") + if errors.IsNotFound(err) { + // No feature gate is set, therefore cannot be external. + // This is not an error as the feature gate is an optional resource. + return false, nil + } else if err != nil { + return false, fmt.Errorf("could not fetch featuregate: %v", err) + } + + external, err := cloudprovider.IsCloudProviderExternal(platform, featureGate) + if err != nil { + return false, fmt.Errorf("could not determine if cloud provider is external from featuregate: %v", err) + } + + return external, nil +} + func getPlatformName(platformType configv1.PlatformType, recorder events.Recorder) string { cloudProvider := "" switch platformType { diff --git a/vendor/modules.txt b/vendor/modules.txt index af4c196f2..d9e5853e7 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -124,7 +124,7 @@ github.com/modern-go/concurrent github.com/modern-go/reflect2 # github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 github.com/munnerz/goautoneg -# github.com/openshift/api v0.0.0-20210521075222-e273a339932a +# github.com/openshift/api v0.0.0-20210616173328-fb4df74c2da9 ## explicit github.com/openshift/api github.com/openshift/api/apiserver @@ -207,11 +207,12 @@ github.com/openshift/client-go/operator/clientset/versioned/typed/operator/v1 github.com/openshift/client-go/route/clientset/versioned github.com/openshift/client-go/route/clientset/versioned/scheme github.com/openshift/client-go/route/clientset/versioned/typed/route/v1 -# github.com/openshift/library-go v0.0.0-20210624101008-7aab941b4a2b +# github.com/openshift/library-go v0.0.0-20210702104503-39570b4a2ae8 ## explicit github.com/openshift/library-go/pkg/assets github.com/openshift/library-go/pkg/authorization/hardcodedauthorizer github.com/openshift/library-go/pkg/certs +github.com/openshift/library-go/pkg/cloudprovider github.com/openshift/library-go/pkg/config/client github.com/openshift/library-go/pkg/config/clusteroperator/v1helpers github.com/openshift/library-go/pkg/config/configdefaults