diff --git a/go.mod b/go.mod index 72323402c..762446cee 100644 --- a/go.mod +++ b/go.mod @@ -2,7 +2,10 @@ module github.com/redhat-appstudio/tssc-cli go 1.25.7 -require github.com/redhat-appstudio/helmet v0.0.0-20260311202156-6523e6eeb4d3 +require ( + github.com/redhat-appstudio/helmet v0.0.0-20260311202156-6523e6eeb4d3 + golang.org/x/term v0.41.0 +) require ( cel.dev/expr v0.25.1 // indirect @@ -92,8 +95,8 @@ require ( github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/opencontainers/go-digest v1.0.0 // indirect github.com/opencontainers/image-spec v1.1.1 // indirect - github.com/openshift/api v0.0.0-20260311143357-f6ee4c095675 // indirect - github.com/openshift/client-go v0.0.0-20260306160707-3935d929fc7d // indirect + github.com/openshift/api v0.0.0-20260318185450-1f2fa3f09f4e // indirect + github.com/openshift/client-go v0.0.0-20260320040014-4b5fc2cdad98 // indirect github.com/peterbourgon/diskv v2.0.1+incompatible // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect @@ -127,7 +130,6 @@ require ( golang.org/x/oauth2 v0.34.0 // indirect golang.org/x/sync v0.20.0 // indirect golang.org/x/sys v0.42.0 // indirect - golang.org/x/term v0.41.0 // indirect golang.org/x/text v0.35.0 // indirect golang.org/x/time v0.15.0 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20260311181403-84a4fc48630c // indirect diff --git a/go.sum b/go.sum index ae9363c3b..d332e85b9 100644 --- a/go.sum +++ b/go.sum @@ -279,10 +279,10 @@ github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8 github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.1.1 h1:y0fUlFfIZhPF1W537XOLg0/fcx6zcHCJwooC2xJA040= github.com/opencontainers/image-spec v1.1.1/go.mod h1:qpqAh3Dmcf36wStyyWU+kCeDgrGnAve2nCC8+7h8Q0M= -github.com/openshift/api v0.0.0-20260311143357-f6ee4c095675 h1:5yWWatBRhf5p1t0B+UGgWIAMNkz/YeoXyHqW6qm2GK0= -github.com/openshift/api v0.0.0-20260311143357-f6ee4c095675/go.mod h1:pyVjK0nZ4sRs4fuQVQ4rubsJdahI1PB94LnQ8sGdvxo= -github.com/openshift/client-go v0.0.0-20260306160707-3935d929fc7d h1:T+9HFgEEcnu1TDDfsO5JcJC6N0/Kzob5AtG9IpITHJ8= -github.com/openshift/client-go v0.0.0-20260306160707-3935d929fc7d/go.mod h1:tIA3XSb/WsC/Fg0YNRfs/JrMrloBKPGF+NKVutd7nMI= +github.com/openshift/api v0.0.0-20260318185450-1f2fa3f09f4e h1:n2fW82JRX5B/+eCULWIe06MAhJVaE8fUsvy0A0Gn9n4= +github.com/openshift/api v0.0.0-20260318185450-1f2fa3f09f4e/go.mod h1:pyVjK0nZ4sRs4fuQVQ4rubsJdahI1PB94LnQ8sGdvxo= +github.com/openshift/client-go v0.0.0-20260320040014-4b5fc2cdad98 h1:Ssuo/zELWqb7pFCwzB3QGEA4QeLW948hL2AhWq2SWjs= +github.com/openshift/client-go v0.0.0-20260320040014-4b5fc2cdad98/go.mod h1:8O4jIKdcr5YR9FFQEeokYoCplCUN+j9hZj4u/2yg0As= github.com/peterbourgon/diskv v2.0.1+incompatible h1:UBdAOUP5p4RWqPBg048CAvpKN+vxiaj6gdUUzhl4XmI= github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= github.com/phayes/freeport v0.0.0-20220201140144-74d24b5ae9f5 h1:Ii+DKncOVM8Cu1Hc+ETb5K+23HdAMvESYE3ZJ5b5cMI= 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 31d888185..b8a4399db 100644 --- a/vendor/github.com/openshift/api/config/v1/types_apiserver.go +++ b/vendor/github.com/openshift/api/config/v1/types_apiserver.go @@ -34,6 +34,7 @@ type APIServer struct { Status APIServerStatus `json:"status"` } +// +openshift:validation:FeatureGateAwareXValidation:featureGate=TLSAdherence,rule="has(oldSelf.tlsAdherence) ? has(self.tlsAdherence) : true",message="tlsAdherence may not be removed once set" type APIServerSpec struct { // servingCert is the TLS cert info for serving secure traffic. If not specified, operator managed certificates // will be used for serving secure traffic. @@ -62,6 +63,39 @@ type APIServerSpec struct { // The current default is the Intermediate profile. // +optional TLSSecurityProfile *TLSSecurityProfile `json:"tlsSecurityProfile,omitempty"` + // tlsAdherence controls if components in the cluster adhere to the TLS security profile + // configured on this APIServer resource. + // + // Valid values are "LegacyAdheringComponentsOnly" and "StrictAllComponents". + // + // When set to "LegacyAdheringComponentsOnly", components that already honor the + // cluster-wide TLS profile continue to do so. Components that do not already honor + // it continue to use their individual TLS configurations. + // + // When set to "StrictAllComponents", all components must honor the configured TLS + // profile unless they have a component-specific TLS configuration that overrides + // it. This mode is recommended for security-conscious deployments and is required + // for certain compliance frameworks. + // + // Note: Some components such as Kubelet and IngressController have their own + // dedicated TLS configuration mechanisms via KubeletConfig and IngressController + // CRs respectively. When these component-specific TLS configurations are set, + // they take precedence over the cluster-wide tlsSecurityProfile. When not set, + // these components fall back to the cluster-wide default. + // + // Components that encounter an unknown value for tlsAdherence should treat it + // as "StrictAllComponents" and log a warning to ensure forward compatibility + // while defaulting to the more secure behavior. + // + // This field is optional. + // When omitted, this means the user has no opinion and the platform is left + // to choose reasonable defaults. These defaults are subject to change over time. + // The current default is LegacyAdheringComponentsOnly. + // + // Once set, this field may be changed to a different value, but may not be removed. + // +openshift:enable:FeatureGate=TLSAdherence + // +optional + TLSAdherence TLSAdherencePolicy `json:"tlsAdherence,omitempty"` // audit specifies the settings for audit configuration to be applied to all OpenShift-provided // API servers in the cluster. // +optional @@ -237,6 +271,35 @@ const ( type APIServerStatus struct { } +// TLSAdherencePolicy defines which components adhere to the TLS security profile. +// Implementors should use the ShouldHonorClusterTLSProfile helper function from library-go +// rather than checking these values directly. +// +kubebuilder:validation:Enum=LegacyAdheringComponentsOnly;StrictAllComponents +type TLSAdherencePolicy string + +const ( + // TLSAdherencePolicyNoOpinion represents an empty/unset value for tlsAdherence. + // This value cannot be explicitly set and is only present when the field is omitted. + // When the field is omitted, the cluster defaults to LegacyAdheringComponentsOnly + // behavior. Components should treat this the same as LegacyAdheringComponentsOnly. + TLSAdherencePolicyNoOpinion TLSAdherencePolicy = "" + + // TLSAdherencePolicyLegacyAdheringComponentsOnly maintains backward-compatible behavior. + // Components that already honor the cluster-wide TLS profile (such as kube-apiserver, + // openshift-apiserver, oauth-apiserver, and others) continue to do so. Components that do + // not already honor it continue to use their individual TLS configurations (e.g., + // IngressController.spec.tlsSecurityProfile, KubeletConfig.spec.tlsSecurityProfile, + // or component defaults). No additional components are required to start honoring the + // cluster-wide profile in this mode. + TLSAdherencePolicyLegacyAdheringComponentsOnly TLSAdherencePolicy = "LegacyAdheringComponentsOnly" + + // TLSAdherencePolicyStrictAllComponents means all components must honor the configured TLS + // profile unless they have a component-specific TLS configuration that overrides it. + // This mode is recommended for security-conscious deployments and is required + // for certain compliance frameworks. + TLSAdherencePolicyStrictAllComponents TLSAdherencePolicy = "StrictAllComponents" +) + // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object // Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). diff --git a/vendor/github.com/openshift/api/config/v1/zz_generated.featuregated-crd-manifests.yaml b/vendor/github.com/openshift/api/config/v1/zz_generated.featuregated-crd-manifests.yaml index ebf1713a1..4b768c389 100644 --- a/vendor/github.com/openshift/api/config/v1/zz_generated.featuregated-crd-manifests.yaml +++ b/vendor/github.com/openshift/api/config/v1/zz_generated.featuregated-crd-manifests.yaml @@ -8,6 +8,7 @@ apiservers.config.openshift.io: FeatureGates: - KMSEncryption - KMSEncryptionProvider + - TLSAdherence FilenameOperatorName: config-operator FilenameOperatorOrdering: "01" FilenameRunLevel: "0000_10" 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 3c9c96b7b..a30061c25 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 @@ -319,6 +319,7 @@ var map_APIServerSpec = map[string]string{ "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\nWhen omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time. The current default is the Intermediate profile.", + "tlsAdherence": "tlsAdherence controls if components in the cluster adhere to the TLS security profile configured on this APIServer resource.\n\nValid values are \"LegacyAdheringComponentsOnly\" and \"StrictAllComponents\".\n\nWhen set to \"LegacyAdheringComponentsOnly\", components that already honor the cluster-wide TLS profile continue to do so. Components that do not already honor it continue to use their individual TLS configurations.\n\nWhen set to \"StrictAllComponents\", all components must honor the configured TLS profile unless they have a component-specific TLS configuration that overrides it. This mode is recommended for security-conscious deployments and is required for certain compliance frameworks.\n\nNote: Some components such as Kubelet and IngressController have their own dedicated TLS configuration mechanisms via KubeletConfig and IngressController CRs respectively. When these component-specific TLS configurations are set, they take precedence over the cluster-wide tlsSecurityProfile. When not set, these components fall back to the cluster-wide default.\n\nComponents that encounter an unknown value for tlsAdherence should treat it as \"StrictAllComponents\" and log a warning to ensure forward compatibility while defaulting to the more secure behavior.\n\nThis field is optional. When omitted, this means the user has no opinion and the platform is left to choose reasonable defaults. These defaults are subject to change over time. The current default is LegacyAdheringComponentsOnly.\n\nOnce set, this field may be changed to a different value, but may not be removed.", "audit": "audit specifies the settings for audit configuration to be applied to all OpenShift-provided API servers in the cluster.", } diff --git a/vendor/github.com/openshift/api/config/v1alpha1/register.go b/vendor/github.com/openshift/api/config/v1alpha1/register.go index 383d19e7e..1d84b7107 100644 --- a/vendor/github.com/openshift/api/config/v1alpha1/register.go +++ b/vendor/github.com/openshift/api/config/v1alpha1/register.go @@ -36,10 +36,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { &InsightsDataGatherList{}, &Backup{}, &BackupList{}, - &ImagePolicy{}, - &ImagePolicyList{}, - &ClusterImagePolicy{}, - &ClusterImagePolicyList{}, &CRIOCredentialProviderConfig{}, &CRIOCredentialProviderConfigList{}, &PKI{}, diff --git a/vendor/github.com/openshift/api/config/v1alpha1/types_cluster_image_policy.go b/vendor/github.com/openshift/api/config/v1alpha1/types_cluster_image_policy.go deleted file mode 100644 index e8d7603d7..000000000 --- a/vendor/github.com/openshift/api/config/v1alpha1/types_cluster_image_policy.go +++ /dev/null @@ -1,80 +0,0 @@ -package v1alpha1 - -import metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - -// +genclient -// +genclient:nonNamespaced -// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object - -// ClusterImagePolicy holds cluster-wide configuration for image signature verification -// -// Compatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support. -// +kubebuilder:object:root=true -// +kubebuilder:resource:path=clusterimagepolicies,scope=Cluster -// +kubebuilder:subresource:status -// +openshift:api-approved.openshift.io=https://github.com/openshift/api/pull/1457 -// +openshift:file-pattern=cvoRunLevel=0000_10,operatorName=config-operator,operatorOrdering=01 -// +openshift:enable:FeatureGate=SigstoreImageVerification -// +openshift:compatibility-gen:level=4 -type ClusterImagePolicy struct { - metav1.TypeMeta `json:",inline"` - - // metadata is the standard object's metadata. - // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata - metav1.ObjectMeta `json:"metadata,omitempty"` - - // spec contains the configuration for the cluster image policy. - // +required - Spec ClusterImagePolicySpec `json:"spec"` - // status contains the observed state of the resource. - // +optional - Status ClusterImagePolicyStatus `json:"status,omitempty"` -} - -// CLusterImagePolicySpec is the specification of the ClusterImagePolicy custom resource. -type ClusterImagePolicySpec struct { - // scopes defines the list of image identities assigned to a policy. Each item refers to a scope in a registry implementing the "Docker Registry HTTP API V2". - // Scopes matching individual images are named Docker references in the fully expanded form, either using a tag or digest. For example, docker.io/library/busybox:latest (not busybox:latest). - // More general scopes are prefixes of individual-image scopes, and specify a repository (by omitting the tag or digest), a repository - // namespace, or a registry host (by only specifying the host name and possibly a port number) or a wildcard expression starting with `*.`, for matching all subdomains (not including a port number). - // Wildcards are only supported for subdomain matching, and may not be used in the middle of the host, i.e. *.example.com is a valid case, but example*.*.com is not. - // If multiple scopes match a given image, only the policy requirements for the most specific scope apply. The policy requirements for more general scopes are ignored. - // In addition to setting a policy appropriate for your own deployed applications, make sure that a policy on the OpenShift image repositories - // quay.io/openshift-release-dev/ocp-release, quay.io/openshift-release-dev/ocp-v4.0-art-dev (or on a more general scope) allows deployment of the OpenShift images required for cluster operation. - // If a scope is configured in both the ClusterImagePolicy and the ImagePolicy, or if the scope in ImagePolicy is nested under one of the scopes from the ClusterImagePolicy, only the policy from the ClusterImagePolicy will be applied. - // For additional details about the format, please refer to the document explaining the docker transport field, - // which can be found at: https://github.com/containers/image/blob/main/docs/containers-policy.json.5.md#docker - // +required - // +kubebuilder:validation:MaxItems=256 - // +listType=set - Scopes []ImageScope `json:"scopes"` - // policy contains configuration to allow scopes to be verified, and defines how - // images not matching the verification policy will be treated. - // +required - Policy ImageSigstoreVerificationPolicy `json:"policy"` -} - -// +k8s:deepcopy-gen=true -type ClusterImagePolicyStatus struct { - // conditions provide details on the status of this API Resource. - // +listType=map - // +listMapKey=type - // +optional - Conditions []metav1.Condition `json:"conditions,omitempty"` -} - -// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object - -// ClusterImagePolicyList is a list of ClusterImagePolicy resources -// -// Compatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support. -// +openshift:compatibility-gen:level=4 -type ClusterImagePolicyList struct { - metav1.TypeMeta `json:",inline"` - - // metadata is the standard list's metadata. - // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata - metav1.ListMeta `json:"metadata"` - - Items []ClusterImagePolicy `json:"items"` -} diff --git a/vendor/github.com/openshift/api/config/v1alpha1/types_cluster_monitoring.go b/vendor/github.com/openshift/api/config/v1alpha1/types_cluster_monitoring.go index 5888b1f36..48ca1aed8 100644 --- a/vendor/github.com/openshift/api/config/v1alpha1/types_cluster_monitoring.go +++ b/vendor/github.com/openshift/api/config/v1alpha1/types_cluster_monitoring.go @@ -89,6 +89,19 @@ type ClusterMonitoringSpec struct { // The current default value is `DefaultConfig`. // +optional AlertmanagerConfig AlertmanagerConfig `json:"alertmanagerConfig,omitempty,omitzero"` + // prometheusConfig provides configuration options for the default platform Prometheus instance + // that runs in the `openshift-monitoring` namespace. This configuration applies only to the + // platform Prometheus instance; user-workload Prometheus instances are configured separately. + // + // This field allows you to customize how the platform Prometheus is deployed and operated, including: + // - Pod scheduling (node selectors, tolerations, topology spread constraints) + // - Resource allocation (CPU, memory requests/limits) + // - Retention policies (how long metrics are stored) + // - External integrations (remote write, additional alertmanagers) + // + // This field is optional. When omitted, the platform chooses reasonable defaults, which may change over time. + // +optional + PrometheusConfig PrometheusConfig `json:"prometheusConfig,omitempty,omitzero"` // metricsServerConfig is an optional field that can be used to configure the Kubernetes Metrics Server that runs in the openshift-monitoring namespace. // Specifically, it can configure how the Metrics Server instance is deployed, pod scheduling, its audit policy and log verbosity. // When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time. @@ -115,6 +128,79 @@ type ClusterMonitoringSpec struct { OpenShiftStateMetricsConfig OpenShiftStateMetricsConfig `json:"openShiftStateMetricsConfig,omitempty,omitzero"` } +// OpenShiftStateMetricsConfig provides configuration options for the openshift-state-metrics agent +// that runs in the `openshift-monitoring` namespace. The openshift-state-metrics agent generates +// metrics about the state of OpenShift-specific Kubernetes objects, such as routes, builds, and deployments. +// +kubebuilder:validation:MinProperties=1 +type OpenShiftStateMetricsConfig struct { + // nodeSelector defines the nodes on which the Pods are scheduled. + // nodeSelector is optional. + // + // When omitted, this means the user has no opinion and the platform is left + // to choose reasonable defaults. These defaults are subject to change over time. + // The current default value is `kubernetes.io/os: linux`. + // When specified, nodeSelector must contain at least 1 entry and must not contain more than 10 entries. + // +optional + // +kubebuilder:validation:MinProperties=1 + // +kubebuilder:validation:MaxProperties=10 + NodeSelector map[string]string `json:"nodeSelector,omitempty"` + // resources defines the compute resource requests and limits for the openshift-state-metrics container. + // This includes CPU, memory and HugePages constraints to help control scheduling and resource usage. + // When not specified, defaults are used by the platform. Requests cannot exceed limits. + // This field is optional. + // More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + // This is a simplified API that maps to Kubernetes ResourceRequirements. + // The current default values are: + // resources: + // - name: cpu + // request: 1m + // limit: null + // - name: memory + // request: 32Mi + // limit: null + // Maximum length for this list is 10. + // Minimum length for this list is 1. + // Each resource name must be unique within this list. + // +optional + // +listType=map + // +listMapKey=name + // +kubebuilder:validation:MaxItems=10 + // +kubebuilder:validation:MinItems=1 + Resources []ContainerResource `json:"resources,omitempty"` + // tolerations defines tolerations for the pods. + // tolerations is optional. + // + // When omitted, this means the user has no opinion and the platform is left + // to choose reasonable defaults. These defaults are subject to change over time. + // Defaults are empty/unset. + // Maximum length for this list is 10. + // Minimum length for this list is 1. + // +kubebuilder:validation:MaxItems=10 + // +kubebuilder:validation:MinItems=1 + // +listType=atomic + // +optional + Tolerations []v1.Toleration `json:"tolerations,omitempty"` + // topologySpreadConstraints defines rules for how openshift-state-metrics Pods should be distributed + // across topology domains such as zones, nodes, or other user-defined labels. + // topologySpreadConstraints is optional. + // This helps improve high availability and resource efficiency by avoiding placing + // too many replicas in the same failure domain. + // + // When omitted, this means no opinion and the platform is left to choose a default, which is subject to change over time. + // This field maps directly to the `topologySpreadConstraints` field in the Pod spec. + // Default is empty list. + // Maximum length for this list is 10. + // Minimum length for this list is 1. + // Entries must have unique topologyKey and whenUnsatisfiable pairs. + // +kubebuilder:validation:MaxItems=10 + // +kubebuilder:validation:MinItems=1 + // +listType=map + // +listMapKey=topologyKey + // +listMapKey=whenUnsatisfiable + // +optional + TopologySpreadConstraints []v1.TopologySpreadConstraint `json:"topologySpreadConstraints,omitempty"` +} + // UserDefinedMonitoring config for user-defined projects. type UserDefinedMonitoring struct { // mode defines the different configurations of UserDefinedMonitoring @@ -264,14 +350,12 @@ type AlertmanagerCustomConfig struct { // +listMapKey=whenUnsatisfiable // +optional TopologySpreadConstraints []v1.TopologySpreadConstraint `json:"topologySpreadConstraints,omitempty"` - // volumeClaimTemplate Defines persistent storage for Alertmanager. Use this setting to - // configure the persistent volume claim, including storage class, volume - // size, and name. + // volumeClaimTemplate defines persistent storage for Alertmanager. Use this setting to + // configure the persistent volume claim, including storage class and volume size. // If omitted, the Pod uses ephemeral storage and alert data will not persist // across restarts. - // This field is optional. // +optional - VolumeClaimTemplate *v1.PersistentVolumeClaim `json:"volumeClaimTemplate,omitempty"` + VolumeClaimTemplate *v1.PersistentVolumeClaim `json:"volumeClaimTemplate,omitempty,omitzero"` } // AlertManagerDeployMode defines the deployment state of the platform Alertmanager instance. @@ -292,19 +376,19 @@ const ( AlertManagerDeployModeCustomConfig AlertManagerDeployMode = "CustomConfig" ) -// logLevel defines the verbosity of logs emitted by Alertmanager. +// LogLevel defines the verbosity of logs emitted by Alertmanager. // Valid values are Error, Warn, Info and Debug. // +kubebuilder:validation:Enum=Error;Warn;Info;Debug type LogLevel string const ( - // Error only errors will be logged. + // LogLevelError only errors will be logged. LogLevelError LogLevel = "Error" - // Warn, both warnings and errors will be logged. + // LogLevelWarn, both warnings and errors will be logged. LogLevelWarn LogLevel = "Warn" - // Info, general information, warnings, and errors will all be logged. + // LogLevelInfo, general information, warnings, and errors will all be logged. LogLevelInfo LogLevel = "Info" - // Debug, detailed debugging information will be logged. + // LogLevelDebug, detailed debugging information will be logged. LogLevelDebug LogLevel = "Debug" ) @@ -328,7 +412,7 @@ type ContainerResource struct { // +kubebuilder:validation:XIntOrString // +kubebuilder:validation:MaxLength=20 // +kubebuilder:validation:MinLength=1 - // +kubebuilder:validation:XValidation:rule="isQuantity(self) && quantity(self).isGreaterThan(quantity('0'))",message="request must be a positive, non-zero quantity" + // +kubebuilder:validation:XValidation:rule="quantity(self).isGreaterThan(quantity('0'))",message="request must be a positive, non-zero quantity" Request resource.Quantity `json:"request,omitempty"` // limit is the maximum amount of the resource allowed (e.g. "2Mi", "1Gi"). @@ -339,7 +423,7 @@ type ContainerResource struct { // +kubebuilder:validation:XIntOrString // +kubebuilder:validation:MaxLength=20 // +kubebuilder:validation:MinLength=1 - // +kubebuilder:validation:XValidation:rule="isQuantity(self) && quantity(self).isGreaterThan(quantity('0'))",message="limit must be a positive, non-zero quantity" + // +kubebuilder:validation:XValidation:rule="quantity(self).isGreaterThan(quantity('0'))",message="limit must be a positive, non-zero quantity" Limit resource.Quantity `json:"limit,omitempty"` } @@ -572,59 +656,143 @@ type PrometheusOperatorAdmissionWebhookConfig struct { TopologySpreadConstraints []v1.TopologySpreadConstraint `json:"topologySpreadConstraints,omitempty"` } -// OpenShiftStateMetricsConfig provides configuration options for the openshift-state-metrics agent -// that runs in the `openshift-monitoring` namespace. The openshift-state-metrics agent generates -// metrics about the state of OpenShift-specific Kubernetes objects, such as routes, builds, and deployments. +// PrometheusConfig provides configuration options for the Prometheus instance. +// Use this configuration to control +// Prometheus deployment, pod scheduling, resource allocation, retention policies, and external integrations. // +kubebuilder:validation:MinProperties=1 -type OpenShiftStateMetricsConfig struct { +type PrometheusConfig struct { + // additionalAlertmanagerConfigs configures additional Alertmanager instances that receive alerts from + // the Prometheus component. This is useful for organizations that need to: + // - Send alerts to external monitoring systems (like PagerDuty, Slack, or custom webhooks) + // - Route different types of alerts to different teams or systems + // - Integrate with existing enterprise alerting infrastructure + // - Maintain separate alert routing for compliance or organizational requirements + // When omitted, no additional Alertmanager instances are configured (default behavior). + // When provided, at least one configuration must be specified (minimum 1, maximum 10 items). + // Entries must have unique names (name is the list key). + // +optional + // +kubebuilder:validation:MinItems=1 + // +kubebuilder:validation:MaxItems=10 + // +listType=map + // +listMapKey=name + AdditionalAlertmanagerConfigs []AdditionalAlertmanagerConfig `json:"additionalAlertmanagerConfigs,omitempty"` + // enforcedBodySizeLimitBytes enforces a body size limit (in bytes) for Prometheus scraped metrics. + // If a scraped target's body response is larger than the limit, the scrape will fail. + // This helps protect Prometheus from targets that return excessively large responses. + // The value is specified in bytes (e.g., 4194304 for 4MB, 1073741824 for 1GB). + // When omitted, the Cluster Monitoring Operator automatically calculates an appropriate + // limit based on cluster capacity. Set an explicit value to override the automatic calculation. + // Minimum value is 10240 (10kB). + // Maximum value is 1073741824 (1GB). + // +kubebuilder:validation:Minimum=10240 + // +kubebuilder:validation:Maximum=1073741824 + // +optional + EnforcedBodySizeLimitBytes int64 `json:"enforcedBodySizeLimitBytes,omitempty"` + // externalLabels defines labels to be attached to time series and alerts + // when communicating with external systems such as federation, remote storage, + // and Alertmanager. These labels are not stored with metrics on disk; they are + // only added when data leaves Prometheus (e.g., during federation queries, + // remote write, or alert notifications). + // At least 1 label must be specified when set, with a maximum of 50 labels allowed. + // Each label key must be unique within this list. + // When omitted, no external labels are applied. + // +optional + // +kubebuilder:validation:MinItems=1 + // +kubebuilder:validation:MaxItems=50 + // +listType=map + // +listMapKey=key + ExternalLabels []Label `json:"externalLabels,omitempty"` + // logLevel defines the verbosity of logs emitted by Prometheus. + // This field allows users to control the amount and severity of logs generated, which can be useful + // for debugging issues or reducing noise in production environments. + // Allowed values are Error, Warn, Info, and Debug. + // When set to Error, only errors will be logged. + // When set to Warn, both warnings and errors will be logged. + // When set to Info, general information, warnings, and errors will all be logged. + // When set to Debug, detailed debugging information will be logged. + // When omitted, this means no opinion and the platform is left to choose a reasonable default, that is subject to change over time. + // The current default value is `Info`. + // +optional + LogLevel LogLevel `json:"logLevel,omitempty"` // nodeSelector defines the nodes on which the Pods are scheduled. // nodeSelector is optional. // // When omitted, this means the user has no opinion and the platform is left // to choose reasonable defaults. These defaults are subject to change over time. // The current default value is `kubernetes.io/os: linux`. - // When specified, nodeSelector must contain at least 1 entry and must not contain more than 10 entries. + // When specified, nodeSelector must contain at least one key-value pair (minimum of 1) + // and must not contain more than 10 entries. // +optional // +kubebuilder:validation:MinProperties=1 // +kubebuilder:validation:MaxProperties=10 NodeSelector map[string]string `json:"nodeSelector,omitempty"` - // resources defines the compute resource requests and limits for the openshift-state-metrics container. + // queryLogFile specifies the file to which PromQL queries are logged. + // This setting can be either a filename, in which + // case the queries are saved to an `emptyDir` volume + // at `/var/log/prometheus`, or a full path to a location where + // an `emptyDir` volume will be mounted and the queries saved. + // Writing to `/dev/stderr`, `/dev/stdout` or `/dev/null` is supported, but + // writing to any other `/dev/` path is not supported. Relative paths are + // also not supported. + // By default, PromQL queries are not logged. + // Must be an absolute path starting with `/` or a simple filename without path separators. + // Must not contain consecutive slashes, end with a slash, or include '..' path traversal. + // Must contain only alphanumeric characters, '.', '_', '-', or '/'. + // Must be between 1 and 255 characters in length. + // +optional + // +kubebuilder:validation:MinLength=1 + // +kubebuilder:validation:MaxLength=255 + // +kubebuilder:validation:XValidation:rule="self.matches('^[a-zA-Z0-9._/-]+$')",message="must contain only alphanumeric characters, '.', '_', '-', or '/'" + // +kubebuilder:validation:XValidation:rule="self.startsWith('/') || !self.contains('/')",message="must be an absolute path starting with '/' or a simple filename without '/'" + // +kubebuilder:validation:XValidation:rule="!self.startsWith('/dev/') || self in ['/dev/stdout', '/dev/stderr', '/dev/null']",message="only /dev/stdout, /dev/stderr, and /dev/null are allowed as /dev/ paths" + // +kubebuilder:validation:XValidation:rule="!self.contains('//') && !self.endsWith('/') && !self.contains('..')",message="must not contain '//', end with '/', or contain '..'" + QueryLogFile string `json:"queryLogFile,omitempty"` + // remoteWrite defines the remote write configuration, including URL, authentication, and relabeling settings. + // Remote write allows Prometheus to send metrics it collects to external long-term storage systems. + // When omitted, no remote write endpoints are configured. + // When provided, at least one configuration must be specified (minimum 1, maximum 10 items). + // Entries must have unique names (name is the list key). + // +kubebuilder:validation:MinItems=1 + // +kubebuilder:validation:MaxItems=10 + // +listType=map + // +listMapKey=name + // +optional + RemoteWrite []RemoteWriteSpec `json:"remoteWrite,omitempty"` + // resources defines the compute resource requests and limits for the Prometheus container. // This includes CPU, memory and HugePages constraints to help control scheduling and resource usage. // When not specified, defaults are used by the platform. Requests cannot exceed limits. - // This field is optional. - // More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ - // This is a simplified API that maps to Kubernetes ResourceRequirements. + // Each entry must have a unique resource name. + // Minimum of 1 and maximum of 10 resource entries can be specified. // The current default values are: // resources: // - name: cpu - // request: 1m - // limit: null + // request: 4m // - name: memory - // request: 32Mi - // limit: null - // Maximum length for this list is 10. - // Minimum length for this list is 1. - // Each resource name must be unique within this list. + // request: 40Mi // +optional // +listType=map // +listMapKey=name // +kubebuilder:validation:MaxItems=10 // +kubebuilder:validation:MinItems=1 Resources []ContainerResource `json:"resources,omitempty"` + // retention configures how long Prometheus retains metrics data and how much storage it can use. + // When omitted, the platform chooses reasonable defaults (currently 15 days retention, no size limit). + // +optional + Retention Retention `json:"retention,omitempty,omitzero"` // tolerations defines tolerations for the pods. // tolerations is optional. // // When omitted, this means the user has no opinion and the platform is left // to choose reasonable defaults. These defaults are subject to change over time. // Defaults are empty/unset. - // Maximum length for this list is 10. - // Minimum length for this list is 1. + // Maximum length for this list is 10 + // Minimum length for this list is 1 // +kubebuilder:validation:MaxItems=10 // +kubebuilder:validation:MinItems=1 // +listType=atomic // +optional Tolerations []v1.Toleration `json:"tolerations,omitempty"` - // topologySpreadConstraints defines rules for how openshift-state-metrics Pods should be distributed + // topologySpreadConstraints defines rules for how Prometheus Pods should be distributed // across topology domains such as zones, nodes, or other user-defined labels. // topologySpreadConstraints is optional. // This helps improve high availability and resource efficiency by avoiding placing @@ -634,7 +802,7 @@ type OpenShiftStateMetricsConfig struct { // This field maps directly to the `topologySpreadConstraints` field in the Pod spec. // Default is empty list. // Maximum length for this list is 10. - // Minimum length for this list is 1. + // Minimum length for this list is 1 // Entries must have unique topologyKey and whenUnsatisfiable pairs. // +kubebuilder:validation:MaxItems=10 // +kubebuilder:validation:MinItems=1 @@ -643,8 +811,929 @@ type OpenShiftStateMetricsConfig struct { // +listMapKey=whenUnsatisfiable // +optional TopologySpreadConstraints []v1.TopologySpreadConstraint `json:"topologySpreadConstraints,omitempty"` + // collectionProfile defines the metrics collection profile that Prometheus uses to collect + // metrics from the platform components. Supported values are `Full` or + // `Minimal`. In the `Full` profile (default), Prometheus collects all + // metrics that are exposed by the platform components. In the `Minimal` + // profile, Prometheus only collects metrics necessary for the default + // platform alerts, recording rules, telemetry and console dashboards. + // When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time. + // The default value is `Full`. + // +optional + CollectionProfile CollectionProfile `json:"collectionProfile,omitempty"` + // volumeClaimTemplate defines persistent storage for Prometheus. Use this setting to + // configure the persistent volume claim, including storage class and volume size. + // If omitted, the Pod uses ephemeral storage and Prometheus data will not persist + // across restarts. + // +optional + VolumeClaimTemplate *v1.PersistentVolumeClaim `json:"volumeClaimTemplate,omitempty,omitzero"` +} + +// AlertmanagerScheme defines the URL scheme to use when communicating with Alertmanager instances. +// +kubebuilder:validation:Enum=HTTP;HTTPS +type AlertmanagerScheme string + +const ( + AlertmanagerSchemeHTTP AlertmanagerScheme = "HTTP" + AlertmanagerSchemeHTTPS AlertmanagerScheme = "HTTPS" +) + +// AdditionalAlertmanagerConfig represents configuration for additional Alertmanager instances. +// The `AdditionalAlertmanagerConfig` resource defines settings for how a +// component communicates with additional Alertmanager instances. +type AdditionalAlertmanagerConfig struct { + // name is a unique identifier for this Alertmanager configuration entry. + // The name must be a valid DNS subdomain (RFC 1123): lowercase alphanumeric characters, + // hyphens, or periods, and must start and end with an alphanumeric character. + // Minimum length is 1 character (empty string is invalid). + // Maximum length is 253 characters. + // +kubebuilder:validation:MaxLength=253 + // +kubebuilder:validation:MinLength=1 + // +kubebuilder:validation:XValidation:rule="!format.dns1123Subdomain().validate(self).hasValue()",message="a lowercase RFC 1123 subdomain must consist of lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character." + // +required + Name string `json:"name,omitempty"` + // authorization configures the authentication method for Alertmanager connections. + // Supports bearer token authentication. When omitted, no authentication is used. + // +optional + Authorization AuthorizationConfig `json:"authorization,omitempty,omitzero"` + // pathPrefix defines an optional URL path prefix to prepend to the Alertmanager API endpoints. + // For example, if your Alertmanager is behind a reverse proxy at "/alertmanager/", + // set this to "/alertmanager" so requests go to "/alertmanager/api/v1/alerts" instead of "/api/v1/alerts". + // This is commonly needed when Alertmanager is deployed behind ingress controllers or load balancers. + // When no prefix is needed, omit this field; do not set it to "/" as that would produce paths with double slashes (e.g. "//api/v1/alerts"). + // Must start with "/", must not end with "/", and must not be exactly "/". + // Must not contain query strings ("?") or fragments ("#"). + // +kubebuilder:validation:MaxLength=255 + // +kubebuilder:validation:MinLength=2 + // +kubebuilder:validation:XValidation:rule="self.startsWith('/')",message="pathPrefix must start with '/'" + // +kubebuilder:validation:XValidation:rule="!self.endsWith('/')",message="pathPrefix must not end with '/'" + // +kubebuilder:validation:XValidation:rule="self != '/'",message="pathPrefix must not be '/' (would produce double slashes in request path); omit for no prefix" + // +kubebuilder:validation:XValidation:rule="!self.contains('?') && !self.contains('#')",message="pathPrefix must not contain '?' or '#'" + // +optional + PathPrefix string `json:"pathPrefix,omitempty"` + // scheme defines the URL scheme to use when communicating with Alertmanager + // instances. + // Possible values are `HTTP` or `HTTPS`. + // When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time. + // The current default value is `HTTP`. + // +optional + Scheme AlertmanagerScheme `json:"scheme,omitempty"` + // staticConfigs is a list of statically configured Alertmanager endpoints in the form + // of `:`. Each entry must be a valid hostname, IPv4 address, or IPv6 address + // (in brackets) followed by a colon and a valid port number (1-65535). + // Examples: "alertmanager.example.com:9093", "192.168.1.100:9093", "[::1]:9093" + // At least one endpoint must be specified (minimum 1, maximum 10 endpoints). + // Each entry must be unique and non-empty (empty string is invalid). + // +kubebuilder:validation:MinItems=1 + // +kubebuilder:validation:MaxItems=10 + // +kubebuilder:validation:items:MinLength=1 + // +kubebuilder:validation:items:MaxLength=255 + // +kubebuilder:validation:items:XValidation:rule="isURL('http://' + self) && size(url('http://' + self).getHostname()) > 0 && size(url('http://' + self).getPort()) > 0 && int(url('http://' + self).getPort()) >= 1 && int(url('http://' + self).getPort()) <= 65535",message="must be a valid 'host:port' where host is a DNS name, IPv4, or IPv6 address (in brackets), and port is 1-65535" + // +listType=set + // +required + StaticConfigs []string `json:"staticConfigs,omitempty"` + // timeoutSeconds defines the timeout in seconds for requests to Alertmanager. + // When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time. + // Currently the default is 10 seconds. + // Minimum value is 1 second. + // Maximum value is 600 seconds (10 minutes). + // +kubebuilder:validation:Minimum=1 + // +kubebuilder:validation:Maximum=600 + // +optional + TimeoutSeconds int32 `json:"timeoutSeconds,omitempty"` + // tlsConfig defines the TLS settings to use for Alertmanager connections. + // When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time. + // +optional + TLSConfig TLSConfig `json:"tlsConfig,omitempty,omitzero"` } +// Label represents a key/value pair for external labels. +type Label struct { + // key is the name of the label. + // Prometheus supports UTF-8 label names, so any valid UTF-8 string is allowed. + // Must be between 1 and 128 characters in length. + // +required + // +kubebuilder:validation:MaxLength=128 + // +kubebuilder:validation:MinLength=1 + Key string `json:"key,omitempty"` + // value is the value of the label. + // Must be between 1 and 128 characters in length. + // +required + // +kubebuilder:validation:MaxLength=128 + // +kubebuilder:validation:MinLength=1 + Value string `json:"value,omitempty"` +} + +// RemoteWriteSpec represents configuration for remote write endpoints. +type RemoteWriteSpec struct { + // url is the URL of the remote write endpoint. + // Must be a valid URL with http or https scheme and a non-empty hostname. + // Query parameters, fragments, and user information (e.g. user:password@host) are not allowed. + // Empty string is invalid. Must be between 1 and 2048 characters in length. + // +required + // +kubebuilder:validation:MaxLength=2048 + // +kubebuilder:validation:MinLength=1 + // +kubebuilder:validation:XValidation:rule="isURL(self)",message="must be a valid URL" + // +kubebuilder:validation:XValidation:rule="!isURL(self) || url(self).getScheme() == 'http' || url(self).getScheme() == 'https'",message="must use http or https scheme" + // +kubebuilder:validation:XValidation:rule="!isURL(self) || size(url(self).getHostname()) > 0",message="must have a non-empty hostname" + // +kubebuilder:validation:XValidation:rule="!isURL(self) || url(self).getQuery().size() == 0",message="query parameters are not allowed" + // +kubebuilder:validation:XValidation:rule="!self.matches('.*#.*')",message="fragments are not allowed" + // +kubebuilder:validation:XValidation:rule="!self.matches('.*@.*')",message="user information (e.g. user:password@host) is not allowed" + URL string `json:"url,omitempty"` + // name is a required identifier for this remote write configuration (name is the list key for the remoteWrite list). + // This name is used in metrics and logging to differentiate remote write queues. + // Must contain only alphanumeric characters, hyphens, and underscores. + // Must be between 1 and 63 characters in length. + // +required + // +kubebuilder:validation:MinLength=1 + // +kubebuilder:validation:MaxLength=63 + // +kubebuilder:validation:XValidation:rule="self.matches('^[a-zA-Z0-9_-]+$')",message="must contain only alphanumeric characters, hyphens, and underscores" + Name string `json:"name,omitempty"` + // authorization defines the authorization method for the remote write endpoint. + // When omitted, no authorization is performed. + // When set, type must be one of BearerToken, BasicAuth, OAuth2, SigV4, SafeAuthorization, or ServiceAccount; the corresponding nested config must be set (ServiceAccount has no config). + // +optional + AuthorizationConfig RemoteWriteAuthorization `json:"authorization,omitzero"` + // headers specifies the custom HTTP headers to be sent along with each remote write request. + // Sending custom headers makes the configuration of a proxy in between optional and helps the + // receiver recognize the given source better. + // Clients MAY allow users to send custom HTTP headers; they MUST NOT allow users to configure + // them in such a way as to send reserved headers. Headers set by Prometheus cannot be overwritten. + // When omitted, no custom headers are sent. + // Maximum of 50 headers can be specified. Each header name must be unique. + // Each header name must contain only alphanumeric characters, hyphens, and underscores, and must not be a reserved Prometheus header (Host, Authorization, Content-Encoding, Content-Type, X-Prometheus-Remote-Write-Version, User-Agent, Connection, Keep-Alive, Proxy-Authenticate, Proxy-Authorization, WWW-Authenticate). + // +optional + // +kubebuilder:validation:MinItems=0 + // +kubebuilder:validation:MaxItems=50 + // +kubebuilder:validation:items:XValidation:rule="self.name.matches('^[a-zA-Z0-9_-]+$')",message="header name must contain only alphanumeric characters, hyphens, and underscores" + // +kubebuilder:validation:items:XValidation:rule="!self.name.matches('(?i)^(host|authorization|content-encoding|content-type|x-prometheus-remote-write-version|user-agent|connection|keep-alive|proxy-authenticate|proxy-authorization|www-authenticate)$')",message="header name must not be a reserved Prometheus header (Host, Authorization, Content-Encoding, Content-Type, X-Prometheus-Remote-Write-Version, User-Agent, Connection, Keep-Alive, Proxy-Authenticate, Proxy-Authorization, WWW-Authenticate)" + // +listType=map + // +listMapKey=name + Headers []PrometheusRemoteWriteHeader `json:"headers,omitempty"` + // metadataConfig configures the sending of series metadata to remote storage. + // When omitted, no metadata is sent. + // When set to sendPolicy: Default, metadata is sent using platform-chosen defaults (e.g. send interval 30 seconds). + // When set to sendPolicy: Custom, metadata is sent using the settings in the custom field (e.g. custom.sendIntervalSeconds). + // +optional + MetadataConfig MetadataConfig `json:"metadataConfig,omitempty,omitzero"` + // proxyUrl defines an optional proxy URL. + // If the cluster-wide proxy is enabled, it replaces the proxyUrl setting. + // The cluster-wide proxy supports both HTTP and HTTPS proxies, with HTTPS taking precedence. + // When omitted, no proxy is used. + // Must be a valid URL with http or https scheme. + // Must be between 1 and 2048 characters in length. + // +optional + // +kubebuilder:validation:MaxLength=2048 + // +kubebuilder:validation:MinLength=1 + // +kubebuilder:validation:XValidation:rule="isURL(self) && (url(self).getScheme() == 'http' || url(self).getScheme() == 'https')",message="must be a valid URL with http or https scheme" + ProxyURL string `json:"proxyUrl,omitempty"` + // queueConfig allows tuning configuration for remote write queue parameters. + // When omitted, default queue configuration is used. + // +optional + QueueConfig QueueConfig `json:"queueConfig,omitempty,omitzero"` + // remoteTimeoutSeconds defines the timeout in seconds for requests to the remote write endpoint. + // When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time. + // Minimum value is 1 second. + // Maximum value is 600 seconds (10 minutes). + // +optional + // +kubebuilder:validation:Minimum=1 + // +kubebuilder:validation:Maximum=600 + RemoteTimeoutSeconds int32 `json:"remoteTimeoutSeconds,omitempty"` + // exemplarsMode controls whether exemplars are sent via remote write. + // Valid values are "Send", "DoNotSend" and omitted. + // When set to "Send", Prometheus is configured to store a maximum of 100,000 exemplars in memory and send them with remote write. + // Note that this setting only applies to user-defined monitoring. It is not applicable to default in-cluster monitoring. + // When omitted or set to "DoNotSend", exemplars are not sent. + // +optional + ExemplarsMode ExemplarsMode `json:"exemplarsMode,omitempty"` + // tlsConfig defines TLS authentication settings for the remote write endpoint. + // When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time. + // +optional + TLSConfig TLSConfig `json:"tlsConfig,omitempty,omitzero"` + // writeRelabelConfigs is a list of relabeling rules to apply before sending data to the remote endpoint. + // When omitted, no relabeling is performed and all metrics are sent as-is. + // Minimum of 1 and maximum of 10 relabeling rules can be specified. + // Each rule must have a unique name. + // +optional + // +kubebuilder:validation:MinItems=1 + // +kubebuilder:validation:MaxItems=10 + // +listType=map + // +listMapKey=name + WriteRelabelConfigs []RelabelConfig `json:"writeRelabelConfigs,omitempty"` +} + +// PrometheusRemoteWriteHeader defines a custom HTTP header for remote write requests. +// The header name must not be one of the reserved headers set by Prometheus (Host, Authorization, Content-Encoding, Content-Type, X-Prometheus-Remote-Write-Version, User-Agent, Connection, Keep-Alive, Proxy-Authenticate, Proxy-Authorization, WWW-Authenticate). +// Header names must contain only case-insensitive alphanumeric characters, hyphens (-), and underscores (_); other characters (e.g. emoji) are rejected by validation. +// Validation is enforced on the Headers field in RemoteWriteSpec. +type PrometheusRemoteWriteHeader struct { + // name is the HTTP header name. Must not be a reserved header (see type documentation). + // Must contain only alphanumeric characters, hyphens, and underscores; invalid characters are rejected. Must be between 1 and 256 characters. + // +required + // +kubebuilder:validation:MinLength=1 + // +kubebuilder:validation:MaxLength=256 + Name string `json:"name,omitempty"` + // value is the HTTP header value. Must be at most 4096 characters. + // +required + // +kubebuilder:validation:MinLength=0 + // +kubebuilder:validation:MaxLength=4096 + Value *string `json:"value,omitempty"` +} + +// BasicAuth defines basic authentication settings for the remote write endpoint URL. +type BasicAuth struct { + // username defines the secret reference containing the username for basic authentication. + // The secret must exist in the openshift-monitoring namespace. + // +required + Username SecretKeySelector `json:"username,omitzero,omitempty"` + // password defines the secret reference containing the password for basic authentication. + // The secret must exist in the openshift-monitoring namespace. + // +required + Password SecretKeySelector `json:"password,omitzero,omitempty"` +} + +// RemoteWriteAuthorizationType defines the authorization method for remote write endpoints. +// +kubebuilder:validation:Enum=BearerToken;BasicAuth;OAuth2;SigV4;SafeAuthorization;ServiceAccount +type RemoteWriteAuthorizationType string + +const ( + // RemoteWriteAuthorizationTypeBearerToken indicates bearer token from a secret. + RemoteWriteAuthorizationTypeBearerToken RemoteWriteAuthorizationType = "BearerToken" + // RemoteWriteAuthorizationTypeBasicAuth indicates HTTP basic authentication. + RemoteWriteAuthorizationTypeBasicAuth RemoteWriteAuthorizationType = "BasicAuth" + // RemoteWriteAuthorizationTypeOAuth2 indicates OAuth2 client credentials. + RemoteWriteAuthorizationTypeOAuth2 RemoteWriteAuthorizationType = "OAuth2" + // RemoteWriteAuthorizationTypeSigV4 indicates AWS Signature Version 4. + RemoteWriteAuthorizationTypeSigV4 RemoteWriteAuthorizationType = "SigV4" + // RemoteWriteAuthorizationTypeSafeAuthorization indicates authorization from a secret (Prometheus SafeAuthorization pattern). + // The secret key contains the credentials (e.g. a Bearer token). Use the safeAuthorization field. + RemoteWriteAuthorizationTypeSafeAuthorization RemoteWriteAuthorizationType = "SafeAuthorization" + // RemoteWriteAuthorizationTypeServiceAccount indicates use of the pod's service account token for machine identity. + // No additional field is required; the operator configures the token path. + RemoteWriteAuthorizationTypeServiceAccount RemoteWriteAuthorizationType = "ServiceAccount" +) + +// RemoteWriteAuthorization defines the authorization method for a remote write endpoint. +// Exactly one of the nested configs must be set according to the type discriminator. +// +kubebuilder:validation:XValidation:rule="has(self.type) && self.type == 'BearerToken' ? has(self.bearerToken) : !has(self.bearerToken)",message="bearerToken is required when type is BearerToken, and forbidden otherwise" +// +kubebuilder:validation:XValidation:rule="has(self.type) && self.type == 'BasicAuth' ? has(self.basicAuth) : !has(self.basicAuth)",message="basicAuth is required when type is BasicAuth, and forbidden otherwise" +// +kubebuilder:validation:XValidation:rule="has(self.type) && self.type == 'OAuth2' ? has(self.oauth2) : !has(self.oauth2)",message="oauth2 is required when type is OAuth2, and forbidden otherwise" +// +kubebuilder:validation:XValidation:rule="has(self.type) && self.type == 'SigV4' ? has(self.sigv4) : !has(self.sigv4)",message="sigv4 is required when type is SigV4, and forbidden otherwise" +// +kubebuilder:validation:XValidation:rule="has(self.type) && self.type == 'SafeAuthorization' ? has(self.safeAuthorization) : !has(self.safeAuthorization)",message="safeAuthorization is required when type is SafeAuthorization, and forbidden otherwise" +// +union +type RemoteWriteAuthorization struct { + // type specifies the authorization method to use. + // Allowed values are BearerToken, BasicAuth, OAuth2, SigV4, SafeAuthorization, ServiceAccount. + // + // When set to BearerToken, the bearer token is read from a Secret referenced by the bearerToken field. + // + // When set to BasicAuth, HTTP basic authentication is used; the basicAuth field (username and password from Secrets) must be set. + // + // When set to OAuth2, OAuth2 client credentials flow is used; the oauth2 field (clientId, clientSecret, tokenUrl) must be set. + // + // When set to SigV4, AWS Signature Version 4 is used for authentication; the sigv4 field must be set. + // + // When set to SafeAuthorization, credentials are read from a single Secret key (Prometheus SafeAuthorization pattern). The secret key typically contains a Bearer token. Use the safeAuthorization field. + // + // When set to ServiceAccount, the pod's service account token is used for machine identity. No additional field is required; the operator configures the token path. + // +unionDiscriminator + // +required + Type RemoteWriteAuthorizationType `json:"type,omitempty"` + // safeAuthorization defines the secret reference containing the credentials for authentication (e.g. Bearer token). + // Required when type is "SafeAuthorization", and forbidden otherwise. Maps to Prometheus SafeAuthorization. The secret must exist in the openshift-monitoring namespace. + // +unionMember + // +optional + SafeAuthorization *v1.SecretKeySelector `json:"safeAuthorization,omitempty"` + // bearerToken defines the secret reference containing the bearer token. + // Required when type is "BearerToken", and forbidden otherwise. + // +unionMember + // +optional + BearerToken SecretKeySelector `json:"bearerToken,omitempty,omitzero"` + // basicAuth defines HTTP basic authentication credentials. + // Required when type is "BasicAuth", and forbidden otherwise. + // +unionMember + // +optional + BasicAuth BasicAuth `json:"basicAuth,omitempty,omitzero"` + // oauth2 defines OAuth2 client credentials authentication. + // Required when type is "OAuth2", and forbidden otherwise. + // +unionMember + // +optional + OAuth2 OAuth2 `json:"oauth2,omitempty,omitzero"` + // sigv4 defines AWS Signature Version 4 authentication. + // Required when type is "SigV4", and forbidden otherwise. + // +unionMember + // +optional + Sigv4 Sigv4 `json:"sigv4,omitempty,omitzero"` +} + +// MetadataConfigSendPolicy defines whether to send metadata with platform defaults or with custom settings. +// +kubebuilder:validation:Enum=Default;Custom +type MetadataConfigSendPolicy string + +const ( + // MetadataConfigSendPolicyDefault indicates metadata is sent using platform-chosen defaults (e.g. send interval 30 seconds). + MetadataConfigSendPolicyDefault MetadataConfigSendPolicy = "Default" + // MetadataConfigSendPolicyCustom indicates metadata is sent using the settings in the custom field. + MetadataConfigSendPolicyCustom MetadataConfigSendPolicy = "Custom" +) + +// MetadataConfig defines whether and how to send series metadata to remote write storage. +// +kubebuilder:validation:XValidation:rule="self.sendPolicy == 'Default' ? self.custom.sendIntervalSeconds == 0 : true",message="custom is forbidden when sendPolicy is Default" +type MetadataConfig struct { + // sendPolicy specifies whether to send metadata and how it is configured. + // Default: send metadata using platform-chosen defaults (e.g. send interval 30 seconds). + // Custom: send metadata using the settings in the custom field. + // +required + SendPolicy MetadataConfigSendPolicy `json:"sendPolicy,omitempty"` + // custom defines custom metadata send settings. Required when sendPolicy is Custom (must have at least one property), and forbidden when sendPolicy is Default. + // +optional + Custom MetadataConfigCustom `json:"custom,omitempty,omitzero"` +} + +// MetadataConfigCustom defines custom settings for sending series metadata when sendPolicy is Custom. +// At least one property must be set when sendPolicy is Custom (e.g. sendIntervalSeconds). +// +kubebuilder:validation:MinProperties=1 +type MetadataConfigCustom struct { + // sendIntervalSeconds is the interval in seconds at which metadata is sent. + // When omitted, the platform chooses a reasonable default (e.g. 30 seconds). + // Minimum value is 1 second. Maximum value is 86400 seconds (24 hours). + // +optional + // +kubebuilder:validation:Minimum=1 + // +kubebuilder:validation:Maximum=86400 + SendIntervalSeconds int32 `json:"sendIntervalSeconds,omitempty"` +} + +// OAuth2 defines OAuth2 authentication settings for the remote write endpoint. +type OAuth2 struct { + // clientId defines the secret reference containing the OAuth2 client ID. + // The secret must exist in the openshift-monitoring namespace. + // +required + ClientID SecretKeySelector `json:"clientId,omitzero,omitempty"` + // clientSecret defines the secret reference containing the OAuth2 client secret. + // The secret must exist in the openshift-monitoring namespace. + // +required + ClientSecret SecretKeySelector `json:"clientSecret,omitzero,omitempty"` + // tokenUrl is the URL to fetch the token from. + // Must be a valid URL with http or https scheme. + // Must be between 1 and 2048 characters in length. + // +required + // +kubebuilder:validation:MaxLength=2048 + // +kubebuilder:validation:MinLength=1 + // +kubebuilder:validation:XValidation:rule="isURL(self)",message="must be a valid URL" + // +kubebuilder:validation:XValidation:rule="!isURL(self) || url(self).getScheme() == 'http' || url(self).getScheme() == 'https'",message="must use http or https scheme" + TokenURL string `json:"tokenUrl,omitempty"` + // scopes is a list of OAuth2 scopes to request. + // When omitted, no scopes are requested. + // Maximum of 20 scopes can be specified. + // Each scope must be between 1 and 256 characters. + // +optional + // +kubebuilder:validation:MinItems=0 + // +kubebuilder:validation:MaxItems=20 + // +kubebuilder:validation:items:MinLength=1 + // +kubebuilder:validation:items:MaxLength=256 + // +listType=atomic + Scopes []string `json:"scopes,omitempty"` + // endpointParams defines additional parameters to append to the token URL. + // When omitted, no additional parameters are sent. + // Maximum of 20 parameters can be specified. Entries must have unique names (name is the list key). + // +optional + // +kubebuilder:validation:MinItems=0 + // +kubebuilder:validation:MaxItems=20 + // +listType=map + // +listMapKey=name + EndpointParams []OAuth2EndpointParam `json:"endpointParams,omitempty"` +} + +// OAuth2EndpointParam defines a name/value parameter for the OAuth2 token URL. +type OAuth2EndpointParam struct { + // name is the parameter name. Must be between 1 and 256 characters. + // +required + // +kubebuilder:validation:MinLength=1 + // +kubebuilder:validation:MaxLength=256 + Name string `json:"name,omitempty"` + // value is the optional parameter value. When omitted, the query parameter is applied as ?name (no value). + // When set (including to the empty string), it is applied as ?name=value. Empty string may be used when the + // external system expects a parameter with an empty value (e.g. ?parameter=""). + // Must be between 0 and 2048 characters when present (aligned with common URL length recommendations). + // +optional + // +kubebuilder:validation:MinLength=0 + // +kubebuilder:validation:MaxLength=2048 + Value *string `json:"value,omitempty"` +} + +// QueueConfig allows tuning configuration for remote write queue parameters. +// Configure this when you need to control throughput, backpressure, or retry behavior—for example to avoid overloading the remote endpoint, to reduce memory usage, or to tune for high-cardinality workloads. Consider capacity, maxShards, and batchSendDeadlineSeconds for throughput; minBackoffMilliseconds and maxBackoffMilliseconds for retries; and rateLimitedAction when the remote returns HTTP 429. +// +kubebuilder:validation:MinProperties=1 +type QueueConfig struct { + // capacity is the number of samples to buffer per shard before we start dropping them. + // When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time. + // The default value is 10000. + // Minimum value is 1. + // Maximum value is 1000000. + // +optional + // +kubebuilder:validation:Minimum=1 + // +kubebuilder:validation:Maximum=1000000 + Capacity int32 `json:"capacity,omitempty"` + // maxShards is the maximum number of shards, i.e. amount of concurrency. + // When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time. + // The default value is 200. + // Minimum value is 1. + // Maximum value is 10000. + // +optional + // +kubebuilder:validation:Minimum=1 + // +kubebuilder:validation:Maximum=10000 + MaxShards int32 `json:"maxShards,omitempty"` + // minShards is the minimum number of shards, i.e. amount of concurrency. + // When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time. + // The default value is 1. + // Minimum value is 1. + // Maximum value is 10000. + // +optional + // +kubebuilder:validation:Minimum=1 + // +kubebuilder:validation:Maximum=10000 + MinShards int32 `json:"minShards,omitempty"` + // maxSamplesPerSend is the maximum number of samples per send. + // When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time. + // The default value is 1000. + // Minimum value is 1. + // Maximum value is 100000. + // +optional + // +kubebuilder:validation:Minimum=1 + // +kubebuilder:validation:Maximum=100000 + MaxSamplesPerSend int32 `json:"maxSamplesPerSend,omitempty"` + // batchSendDeadlineSeconds is the maximum time in seconds a sample will wait in buffer before being sent. + // When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time. + // Minimum value is 1 second. + // Maximum value is 3600 seconds (1 hour). + // +optional + // +kubebuilder:validation:Minimum=1 + // +kubebuilder:validation:Maximum=3600 + BatchSendDeadlineSeconds int32 `json:"batchSendDeadlineSeconds,omitempty"` + // minBackoffMilliseconds is the minimum retry delay in milliseconds. + // When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time. + // Minimum value is 1 millisecond. + // Maximum value is 3600000 milliseconds (1 hour). + // +optional + // +kubebuilder:validation:Minimum=1 + // +kubebuilder:validation:Maximum=3600000 + MinBackoffMilliseconds int32 `json:"minBackoffMilliseconds,omitempty"` + // maxBackoffMilliseconds is the maximum retry delay in milliseconds. + // When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time. + // Minimum value is 1 millisecond. + // Maximum value is 3600000 milliseconds (1 hour). + // +optional + // +kubebuilder:validation:Minimum=1 + // +kubebuilder:validation:Maximum=3600000 + MaxBackoffMilliseconds int32 `json:"maxBackoffMilliseconds,omitempty"` + // rateLimitedAction controls what to do when the remote write endpoint returns HTTP 429 (Too Many Requests). + // When omitted, no retries are performed on rate limit responses. + // When set to "Retry", Prometheus will retry such requests using the backoff settings above. + // Valid value when set is "Retry". + // +optional + RateLimitedAction RateLimitedAction `json:"rateLimitedAction,omitempty"` +} + +// Sigv4 defines AWS Signature Version 4 authentication settings. +// At least one of region, accessKey/secretKey, profile, or roleArn must be set so the platform can perform authentication. +// +kubebuilder:validation:MinProperties=1 +type Sigv4 struct { + // region is the AWS region. + // When omitted, the region is derived from the environment or instance metadata. + // Must be between 1 and 128 characters. + // +optional + // +kubebuilder:validation:MinLength=1 + // +kubebuilder:validation:MaxLength=128 + Region string `json:"region,omitempty"` + // accessKey defines the secret reference containing the AWS access key ID. + // The secret must exist in the openshift-monitoring namespace. + // When omitted, the access key is derived from the environment or instance metadata. + // +optional + AccessKey SecretKeySelector `json:"accessKey,omitempty,omitzero"` + // secretKey defines the secret reference containing the AWS secret access key. + // The secret must exist in the openshift-monitoring namespace. + // When omitted, the secret key is derived from the environment or instance metadata. + // +optional + SecretKey SecretKeySelector `json:"secretKey,omitempty,omitzero"` + // profile is the named AWS profile used to authenticate. + // When omitted, the default profile is used. + // Must be between 1 and 128 characters. + // +optional + // +kubebuilder:validation:MinLength=1 + // +kubebuilder:validation:MaxLength=128 + Profile string `json:"profile,omitempty"` + // roleArn is the AWS Role ARN, an alternative to using AWS API keys. + // When omitted, API keys are used for authentication. + // Must be a valid AWS ARN format (e.g., "arn:aws:iam::123456789012:role/MyRole"). + // Must be between 1 and 512 characters. + // +optional + // +kubebuilder:validation:MinLength=1 + // +kubebuilder:validation:MaxLength=512 + // +kubebuilder:validation:XValidation:rule=`self.startsWith('arn:aws') && self.matches('^arn:aws(-[a-z]+)?:iam::[0-9]{12}:role/.+$')`,message="must be a valid AWS IAM role ARN (e.g., arn:aws:iam::123456789012:role/MyRole)" + RoleArn string `json:"roleArn,omitempty"` +} + +// RelabelConfig represents a relabeling rule. +type RelabelConfig struct { + // name is a unique identifier for this relabel configuration. + // Must contain only alphanumeric characters, hyphens, and underscores. + // Must be between 1 and 63 characters in length. + // +required + // +kubebuilder:validation:MinLength=1 + // +kubebuilder:validation:MaxLength=63 + // +kubebuilder:validation:XValidation:rule="self.matches('^[a-zA-Z0-9_-]+$')",message="must contain only alphanumeric characters, hyphens, and underscores" + Name string `json:"name,omitempty"` + + // sourceLabels specifies which label names to extract from each series for this relabeling rule. + // The values of these labels are joined together using the configured separator, + // and the resulting string is then matched against the regular expression. + // If a referenced label does not exist on a series, Prometheus substitutes an empty string. + // When omitted, the rule operates without extracting source labels (useful for actions like labelmap). + // Minimum of 1 and maximum of 10 source labels can be specified, each between 1 and 128 characters. + // Each entry must be unique. + // Label names beginning with "__" (two underscores) are reserved for internal Prometheus use and are not allowed. + // Label names SHOULD start with a letter (a-z, A-Z) or underscore (_), followed by zero or more letters, digits (0-9), or underscores for best compatibility. + // While Prometheus supports UTF-8 characters in label names (since v3.0.0), using the recommended character set + // ensures better compatibility with the wider ecosystem (tooling, third-party instrumentation, etc.). + // +optional + // +kubebuilder:validation:MinItems=1 + // +kubebuilder:validation:MaxItems=10 + // +kubebuilder:validation:items:MinLength=1 + // +kubebuilder:validation:items:MaxLength=128 + // +kubebuilder:validation:items:XValidation:rule="!self.startsWith('__')",message="label names beginning with '__' (two underscores) are reserved for internal Prometheus use and are not allowed" + // +listType=set + SourceLabels []string `json:"sourceLabels,omitempty"` + + // separator is the character sequence used to join source label values. + // Common examples: ";", ",", "::", "|||". + // When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time. + // The default value is ";". + // Must be between 1 and 5 characters in length when specified. + // +optional + // +kubebuilder:validation:MinLength=1 + // +kubebuilder:validation:MaxLength=5 + Separator string `json:"separator,omitempty"` + + // regex is the regular expression to match against the concatenated source label values. + // Must be a valid RE2 regular expression (https://github.com/google/re2/wiki/Syntax). + // When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time. + // The default value is "(.*)" to match everything. + // Must be between 1 and 1000 characters in length when specified. + // +optional + // +kubebuilder:validation:MinLength=1 + // +kubebuilder:validation:MaxLength=1000 + Regex string `json:"regex,omitempty"` + + // action defines the action to perform on the matched labels and its configuration. + // Exactly one action-specific configuration must be specified based on the action type. + // +required + Action RelabelActionConfig `json:"action,omitzero"` +} + +// RelabelActionConfig represents the action to perform and its configuration. +// Exactly one action-specific configuration must be specified based on the action type. +// +kubebuilder:validation:XValidation:rule="has(self.type) && self.type == 'Replace' ? has(self.replace) : !has(self.replace)",message="replace is required when type is Replace, and forbidden otherwise" +// +kubebuilder:validation:XValidation:rule="has(self.type) && self.type == 'HashMod' ? has(self.hashMod) : !has(self.hashMod)",message="hashMod is required when type is HashMod, and forbidden otherwise" +// +kubebuilder:validation:XValidation:rule="has(self.type) && self.type == 'Lowercase' ? has(self.lowercase) : !has(self.lowercase)",message="lowercase is required when type is Lowercase, and forbidden otherwise" +// +kubebuilder:validation:XValidation:rule="has(self.type) && self.type == 'Uppercase' ? has(self.uppercase) : !has(self.uppercase)",message="uppercase is required when type is Uppercase, and forbidden otherwise" +// +kubebuilder:validation:XValidation:rule="has(self.type) && self.type == 'KeepEqual' ? has(self.keepEqual) : !has(self.keepEqual)",message="keepEqual is required when type is KeepEqual, and forbidden otherwise" +// +kubebuilder:validation:XValidation:rule="has(self.type) && self.type == 'DropEqual' ? has(self.dropEqual) : !has(self.dropEqual)",message="dropEqual is required when type is DropEqual, and forbidden otherwise" +// +kubebuilder:validation:XValidation:rule="has(self.type) && self.type == 'LabelMap' ? has(self.labelMap) : !has(self.labelMap)",message="labelMap is required when type is LabelMap, and forbidden otherwise" +// +union +type RelabelActionConfig struct { + // type specifies the action to perform on the matched labels. + // Allowed values are Replace, Lowercase, Uppercase, Keep, Drop, KeepEqual, DropEqual, HashMod, LabelMap, LabelDrop, LabelKeep. + // + // When set to Replace, regex is matched against the concatenated source_labels; target_label is set to replacement with match group references (${1}, ${2}, ...) substituted. If regex does not match, no replacement takes place. + // + // When set to Lowercase, the concatenated source_labels are mapped to their lower case. Requires Prometheus >= v2.36.0. + // + // When set to Uppercase, the concatenated source_labels are mapped to their upper case. Requires Prometheus >= v2.36.0. + // + // When set to Keep, targets for which regex does not match the concatenated source_labels are dropped. + // + // When set to Drop, targets for which regex matches the concatenated source_labels are dropped. + // + // When set to KeepEqual, targets for which the concatenated source_labels do not match target_label are dropped. Requires Prometheus >= v2.41.0. + // + // When set to DropEqual, targets for which the concatenated source_labels do match target_label are dropped. Requires Prometheus >= v2.41.0. + // + // When set to HashMod, target_label is set to the modulus of a hash of the concatenated source_labels. + // + // When set to LabelMap, regex is matched against all source label names (not just source_labels); matching label values are copied to new names given by replacement with ${1}, ${2}, ... substituted. + // + // When set to LabelDrop, regex is matched against all label names; any label that matches is removed. + // + // When set to LabelKeep, regex is matched against all label names; any label that does not match is removed. + // +required + // +unionDiscriminator + Type RelabelAction `json:"type,omitempty"` + + // replace configures the Replace action. + // Required when type is Replace, and forbidden otherwise. + // +unionMember + // +optional + Replace ReplaceActionConfig `json:"replace,omitempty,omitzero"` + + // hashMod configures the HashMod action. + // Required when type is HashMod, and forbidden otherwise. + // +unionMember + // +optional + HashMod HashModActionConfig `json:"hashMod,omitempty,omitzero"` + + // labelMap configures the LabelMap action. + // Required when type is LabelMap, and forbidden otherwise. + // +unionMember + // +optional + LabelMap LabelMapActionConfig `json:"labelMap,omitempty,omitzero"` + + // lowercase configures the Lowercase action. + // Required when type is Lowercase, and forbidden otherwise. + // Requires Prometheus >= v2.36.0. + // +unionMember + // +optional + Lowercase LowercaseActionConfig `json:"lowercase,omitempty,omitzero"` + + // uppercase configures the Uppercase action. + // Required when type is Uppercase, and forbidden otherwise. + // Requires Prometheus >= v2.36.0. + // +unionMember + // +optional + Uppercase UppercaseActionConfig `json:"uppercase,omitempty,omitzero"` + + // keepEqual configures the KeepEqual action. + // Required when type is KeepEqual, and forbidden otherwise. + // Requires Prometheus >= v2.41.0. + // +unionMember + // +optional + KeepEqual KeepEqualActionConfig `json:"keepEqual,omitempty,omitzero"` + + // dropEqual configures the DropEqual action. + // Required when type is DropEqual, and forbidden otherwise. + // Requires Prometheus >= v2.41.0. + // +unionMember + // +optional + DropEqual DropEqualActionConfig `json:"dropEqual,omitempty,omitzero"` +} + +// ReplaceActionConfig configures the Replace action. +// Regex is matched against the concatenated source_labels; target_label is set to replacement with match group references (${1}, ${2}, ...) substituted. No replacement if regex does not match. +type ReplaceActionConfig struct { + // targetLabel is the label name where the replacement result is written. + // Must be between 1 and 128 characters in length. + // +required + // +kubebuilder:validation:MinLength=1 + // +kubebuilder:validation:MaxLength=128 + TargetLabel string `json:"targetLabel,omitempty"` + + // replacement is the value written to target_label when regex matches; match group references (${1}, ${2}, ...) are substituted. + // Required when using the Replace action so the intended behavior is explicit and the platform does not need to apply defaults. + // Use "$1" for the first capture group, "$2" for the second, etc. Use an empty string ("") to explicitly clear the target label value. + // Must be between 0 and 255 characters in length. + // +required + // +kubebuilder:validation:MinLength=0 + // +kubebuilder:validation:MaxLength=255 + Replacement *string `json:"replacement,omitempty"` +} + +// HashModActionConfig configures the HashMod action. +// target_label is set to the modulus of a hash of the concatenated source_labels (target = hash % modulus). +type HashModActionConfig struct { + // targetLabel is the label name where the hash modulus result is written. + // Must be between 1 and 128 characters in length. + // +required + // +kubebuilder:validation:MinLength=1 + // +kubebuilder:validation:MaxLength=128 + TargetLabel string `json:"targetLabel,omitempty"` + + // modulus is the divisor applied to the hash of the concatenated source label values (target = hash % modulus). + // Required when using the HashMod action so the intended behavior is explicit. + // Must be between 1 and 1000000. + // +required + // +kubebuilder:validation:Minimum=1 + // +kubebuilder:validation:Maximum=1000000 + Modulus int64 `json:"modulus,omitempty"` +} + +// LowercaseActionConfig configures the Lowercase action. +// Maps the concatenated source_labels to their lower case and writes to target_label. +// Requires Prometheus >= v2.36.0. +type LowercaseActionConfig struct { + // targetLabel is the label name where the lower-cased value is written. + // Must be between 1 and 128 characters in length. + // +required + // +kubebuilder:validation:MinLength=1 + // +kubebuilder:validation:MaxLength=128 + TargetLabel string `json:"targetLabel,omitempty"` +} + +// UppercaseActionConfig configures the Uppercase action. +// Maps the concatenated source_labels to their upper case and writes to target_label. +// Requires Prometheus >= v2.36.0. +type UppercaseActionConfig struct { + // targetLabel is the label name where the upper-cased value is written. + // Must be between 1 and 128 characters in length. + // +required + // +kubebuilder:validation:MinLength=1 + // +kubebuilder:validation:MaxLength=128 + TargetLabel string `json:"targetLabel,omitempty"` +} + +// KeepEqualActionConfig configures the KeepEqual action. +// Drops targets for which the concatenated source_labels do not match the value of target_label. +// Requires Prometheus >= v2.41.0. +type KeepEqualActionConfig struct { + // targetLabel is the label name whose value is compared to the concatenated source_labels; targets that do not match are dropped. + // Must be between 1 and 128 characters in length. + // +required + // +kubebuilder:validation:MinLength=1 + // +kubebuilder:validation:MaxLength=128 + TargetLabel string `json:"targetLabel,omitempty"` +} + +// DropEqualActionConfig configures the DropEqual action. +// Drops targets for which the concatenated source_labels do match the value of target_label. +// Requires Prometheus >= v2.41.0. +type DropEqualActionConfig struct { + // targetLabel is the label name whose value is compared to the concatenated source_labels; targets that match are dropped. + // Must be between 1 and 128 characters in length. + // +required + // +kubebuilder:validation:MinLength=1 + // +kubebuilder:validation:MaxLength=128 + TargetLabel string `json:"targetLabel,omitempty"` +} + +// LabelMapActionConfig configures the LabelMap action. +// Regex is matched against all source label names (not just source_labels). Matching label values are copied to new label names given by replacement, with match group references (${1}, ${2}, ...) substituted. +type LabelMapActionConfig struct { + // replacement is the template for new label names; match group references (${1}, ${2}, ...) are substituted from the matched label name. + // Required when using the LabelMap action so the intended behavior is explicit and the platform does not need to apply defaults. + // Use "$1" for the first capture group, "$2" for the second, etc. + // Must be between 1 and 255 characters in length. Empty string is invalid as it would produce invalid label names. + // +required + // +kubebuilder:validation:MinLength=1 + // +kubebuilder:validation:MaxLength=255 + Replacement string `json:"replacement,omitempty"` +} + +// TLSConfig represents TLS configuration for Alertmanager connections. +// At least one TLS configuration option must be specified. +// For mutual TLS (mTLS), both cert and key must be specified together, or both omitted. +// +kubebuilder:validation:MinProperties=1 +// +kubebuilder:validation:XValidation:rule="(has(self.cert) && has(self.key)) || (!has(self.cert) && !has(self.key))",message="cert and key must both be specified together for mutual TLS, or both be omitted" +type TLSConfig struct { + // ca is an optional CA certificate to use for TLS connections. + // When omitted, the system's default CA bundle is used. + // +optional + CA SecretKeySelector `json:"ca,omitempty,omitzero"` + // cert is an optional client certificate to use for mutual TLS connections. + // When omitted, no client certificate is presented. + // +optional + Cert SecretKeySelector `json:"cert,omitempty,omitzero"` + // key is an optional client key to use for mutual TLS connections. + // When omitted, no client key is used. + // +optional + Key SecretKeySelector `json:"key,omitempty,omitzero"` + // serverName is an optional server name to use for TLS connections. + // When specified, must be a valid DNS subdomain as per RFC 1123. + // When omitted, the server name is derived from the URL. + // Must be between 1 and 253 characters in length. + // +optional + // +kubebuilder:validation:MinLength=1 + // +kubebuilder:validation:MaxLength=253 + // +kubebuilder:validation:XValidation:rule="!format.dns1123Subdomain().validate(self).hasValue()",message="must be a valid DNS subdomain (lowercase alphanumeric characters, '-' or '.', start and end with alphanumeric)" + ServerName string `json:"serverName,omitempty"` + // certificateVerification determines the policy for TLS certificate verification. + // Allowed values are "Verify" (performs certificate verification, secure) and "SkipVerify" (skips verification, insecure). + // When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time. + // The default value is "Verify". + // +optional + CertificateVerification CertificateVerificationType `json:"certificateVerification,omitempty"` +} + +// CertificateVerificationType defines the TLS certificate verification policy. +// +kubebuilder:validation:Enum=Verify;SkipVerify +type CertificateVerificationType string + +const ( + // CertificateVerificationVerify performs certificate verification (secure, recommended). + CertificateVerificationVerify CertificateVerificationType = "Verify" + // CertificateVerificationSkipVerify skips certificate verification (insecure, use with caution). + CertificateVerificationSkipVerify CertificateVerificationType = "SkipVerify" +) + +// AuthorizationType defines the type of authentication to use. +// +kubebuilder:validation:Enum=BearerToken +type AuthorizationType string + +const ( + // AuthorizationTypeBearerToken indicates bearer token authentication. + AuthorizationTypeBearerToken AuthorizationType = "BearerToken" +) + +// AuthorizationConfig defines the authentication method for Alertmanager connections. +// +kubebuilder:validation:XValidation:rule="has(self.type) && self.type == 'BearerToken' ? has(self.bearerToken) : !has(self.bearerToken)",message="bearerToken is required when type is BearerToken" +// +union +type AuthorizationConfig struct { + // type specifies the authentication type to use. + // Valid value is "BearerToken" (bearer token authentication). + // When set to BearerToken, the bearerToken field must be specified. + // +unionDiscriminator + // +required + Type AuthorizationType `json:"type,omitempty"` + // bearerToken defines the secret reference containing the bearer token. + // Required when type is "BearerToken", and forbidden otherwise. + // The secret must exist in the openshift-monitoring namespace. + // +optional + BearerToken SecretKeySelector `json:"bearerToken,omitempty,omitzero"` +} + +// SecretKeySelector selects a key of a Secret in the `openshift-monitoring` namespace. +// +structType=atomic +type SecretKeySelector struct { + // name is the name of the secret in the `openshift-monitoring` namespace to select from. + // Must be a valid Kubernetes secret name (lowercase alphanumeric, '-' or '.', start/end with alphanumeric). + // Must be between 1 and 253 characters in length. + // +required + // +kubebuilder:validation:MinLength=1 + // +kubebuilder:validation:MaxLength=253 + // +kubebuilder:validation:XValidation:rule="!format.dns1123Subdomain().validate(self).hasValue()",message="must be a valid secret name (lowercase alphanumeric characters, '-' or '.', start and end with alphanumeric)" + Name string `json:"name,omitempty"` + // key is the key of the secret to select from. + // Must consist of alphanumeric characters, '-', '_', or '.'. + // Must be between 1 and 253 characters in length. + // +required + // +kubebuilder:validation:MinLength=1 + // +kubebuilder:validation:MaxLength=253 + // +kubebuilder:validation:XValidation:rule="self.matches('^[a-zA-Z0-9._-]+$')",message="must contain only alphanumeric characters, '-', '_', or '.'" + Key string `json:"key,omitempty"` +} + +// Retention configures how long Prometheus retains metrics data and how much storage it can use. +// +kubebuilder:validation:MinProperties=1 +type Retention struct { + // durationInDays specifies how many days Prometheus will retain metrics data. + // Prometheus automatically deletes data older than this duration. + // When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time. + // The default value is 15. + // Minimum value is 1 day. + // Maximum value is 365 days (1 year). + // +kubebuilder:validation:Minimum=1 + // +kubebuilder:validation:Maximum=365 + // +optional + DurationInDays int32 `json:"durationInDays,omitempty"` + // sizeInGiB specifies the maximum storage size in gibibytes (GiB) that Prometheus + // can use for data blocks and the write-ahead log (WAL). + // When the limit is reached, Prometheus will delete oldest data first. + // When omitted, no size limit is enforced and Prometheus uses available PersistentVolume capacity. + // Minimum value is 1 GiB. + // Maximum value is 16384 GiB (16 TiB). + // +kubebuilder:validation:Minimum=1 + // +kubebuilder:validation:Maximum=16384 + // +optional + SizeInGiB int32 `json:"sizeInGiB,omitempty"` +} + +// RelabelAction defines the action to perform in a relabeling rule. +// +kubebuilder:validation:Enum=Replace;Keep;Drop;HashMod;LabelMap;LabelDrop;LabelKeep;Lowercase;Uppercase;KeepEqual;DropEqual +type RelabelAction string + +const ( + // RelabelActionReplace: match regex against concatenated source_labels; set target_label to replacement with ${1}, ${2}, ... substituted. No replacement if regex does not match. + RelabelActionReplace RelabelAction = "Replace" + // RelabelActionLowercase: map the concatenated source_labels to their lower case. + RelabelActionLowercase RelabelAction = "Lowercase" + // RelabelActionUppercase: map the concatenated source_labels to their upper case. + RelabelActionUppercase RelabelAction = "Uppercase" + // RelabelActionKeep: drop targets for which regex does not match the concatenated source_labels. + RelabelActionKeep RelabelAction = "Keep" + // RelabelActionDrop: drop targets for which regex matches the concatenated source_labels. + RelabelActionDrop RelabelAction = "Drop" + // RelabelActionKeepEqual: drop targets for which the concatenated source_labels do not match target_label. + RelabelActionKeepEqual RelabelAction = "KeepEqual" + // RelabelActionDropEqual: drop targets for which the concatenated source_labels do match target_label. + RelabelActionDropEqual RelabelAction = "DropEqual" + // RelabelActionHashMod: set target_label to the modulus of a hash of the concatenated source_labels. + RelabelActionHashMod RelabelAction = "HashMod" + // RelabelActionLabelMap: match regex against all source label names; copy matching label values to new names given by replacement with ${1}, ${2}, ... substituted. + RelabelActionLabelMap RelabelAction = "LabelMap" + // RelabelActionLabelDrop: match regex against all label names; any label that matches is removed. + RelabelActionLabelDrop RelabelAction = "LabelDrop" + // RelabelActionLabelKeep: match regex against all label names; any label that does not match is removed. + RelabelActionLabelKeep RelabelAction = "LabelKeep" +) + +// CollectionProfile defines the metrics collection profile for Prometheus. +// +kubebuilder:validation:Enum=Full;Minimal +type CollectionProfile string + +const ( + // CollectionProfileFull means Prometheus collects all metrics that are exposed by the platform components. + CollectionProfileFull CollectionProfile = "Full" + // CollectionProfileMinimal means Prometheus only collects metrics necessary for the default + // platform alerts, recording rules, telemetry and console dashboards. + CollectionProfileMinimal CollectionProfile = "Minimal" +) + // AuditProfile defines the audit log level for the Metrics Server. // +kubebuilder:validation:Enum=None;Metadata;Request;RequestResponse type AuditProfile string @@ -675,6 +1764,27 @@ const ( VerbosityLevelTraceAll VerbosityLevel = "TraceAll" ) +// ExemplarsMode defines whether exemplars are sent via remote write. +// +kubebuilder:validation:Enum=Send;DoNotSend +type ExemplarsMode string + +const ( + // ExemplarsModeSend means exemplars are sent via remote write. + ExemplarsModeSend ExemplarsMode = "Send" + // ExemplarsModeDoNotSend means exemplars are not sent via remote write. + ExemplarsModeDoNotSend ExemplarsMode = "DoNotSend" +) + +// RateLimitedAction defines what to do when the remote write endpoint returns HTTP 429 (Too Many Requests). +// Omission of this field means do not retry. When set, the only valid value is Retry. +// +kubebuilder:validation:Enum=Retry +type RateLimitedAction string + +const ( + // RateLimitedActionRetry means requests will be retried on HTTP 429 responses. + RateLimitedActionRetry RateLimitedAction = "Retry" +) + // Audit profile configurations type Audit struct { // profile is a required field for configuring the audit log level of the Kubernetes Metrics Server. diff --git a/vendor/github.com/openshift/api/config/v1alpha1/types_image_policy.go b/vendor/github.com/openshift/api/config/v1alpha1/types_image_policy.go deleted file mode 100644 index 977ca3dde..000000000 --- a/vendor/github.com/openshift/api/config/v1alpha1/types_image_policy.go +++ /dev/null @@ -1,289 +0,0 @@ -package v1alpha1 - -import metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - -// +genclient -// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object - -// ImagePolicy holds namespace-wide configuration for image signature verification -// -// Compatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support. -// +kubebuilder:object:root=true -// +kubebuilder:resource:path=imagepolicies,scope=Namespaced -// +kubebuilder:subresource:status -// +openshift:api-approved.openshift.io=https://github.com/openshift/api/pull/1457 -// +openshift:file-pattern=cvoRunLevel=0000_10,operatorName=config-operator,operatorOrdering=01 -// +openshift:enable:FeatureGate=SigstoreImageVerification -// +openshift:compatibility-gen:level=4 -type ImagePolicy struct { - metav1.TypeMeta `json:",inline"` - - // metadata is the standard object's metadata. - // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata - metav1.ObjectMeta `json:"metadata,omitempty"` - - // spec holds user settable values for configuration - // +required - Spec ImagePolicySpec `json:"spec"` - // status contains the observed state of the resource. - // +optional - Status ImagePolicyStatus `json:"status,omitempty"` -} - -// ImagePolicySpec is the specification of the ImagePolicy CRD. -type ImagePolicySpec struct { - // scopes defines the list of image identities assigned to a policy. Each item refers to a scope in a registry implementing the "Docker Registry HTTP API V2". - // Scopes matching individual images are named Docker references in the fully expanded form, either using a tag or digest. For example, docker.io/library/busybox:latest (not busybox:latest). - // More general scopes are prefixes of individual-image scopes, and specify a repository (by omitting the tag or digest), a repository - // namespace, or a registry host (by only specifying the host name and possibly a port number) or a wildcard expression starting with `*.`, for matching all subdomains (not including a port number). - // Wildcards are only supported for subdomain matching, and may not be used in the middle of the host, i.e. *.example.com is a valid case, but example*.*.com is not. - // If multiple scopes match a given image, only the policy requirements for the most specific scope apply. The policy requirements for more general scopes are ignored. - // In addition to setting a policy appropriate for your own deployed applications, make sure that a policy on the OpenShift image repositories - // quay.io/openshift-release-dev/ocp-release, quay.io/openshift-release-dev/ocp-v4.0-art-dev (or on a more general scope) allows deployment of the OpenShift images required for cluster operation. - // If a scope is configured in both the ClusterImagePolicy and the ImagePolicy, or if the scope in ImagePolicy is nested under one of the scopes from the ClusterImagePolicy, only the policy from the ClusterImagePolicy will be applied. - // For additional details about the format, please refer to the document explaining the docker transport field, - // which can be found at: https://github.com/containers/image/blob/main/docs/containers-policy.json.5.md#docker - // +required - // +kubebuilder:validation:MaxItems=256 - // +listType=set - Scopes []ImageScope `json:"scopes"` - // policy contains configuration to allow scopes to be verified, and defines how - // images not matching the verification policy will be treated. - // +required - Policy ImageSigstoreVerificationPolicy `json:"policy"` -} - -// +kubebuilder:validation:XValidation:rule="size(self.split('/')[0].split('.')) == 1 ? self.split('/')[0].split('.')[0].split(':')[0] == 'localhost' : true",message="invalid image scope format, scope must contain a fully qualified domain name or 'localhost'" -// +kubebuilder:validation:XValidation:rule=`self.contains('*') ? self.matches('^\\*(?:\\.(?:[a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9]))+$') : true`,message="invalid image scope with wildcard, a wildcard can only be at the start of the domain and is only supported for subdomain matching, not path matching" -// +kubebuilder:validation:XValidation:rule=`!self.contains('*') ? self.matches('^((((?:[a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9])(?:\\.(?:[a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9]))+(?::[0-9]+)?)|(localhost(?::[0-9]+)?))(?:(?:/[a-z0-9]+(?:(?:(?:[._]|__|[-]*)[a-z0-9]+)+)?)+)?)(?::([\\w][\\w.-]{0,127}))?(?:@([A-Za-z][A-Za-z0-9]*(?:[-_+.][A-Za-z][A-Za-z0-9]*)*[:][[:xdigit:]]{32,}))?$') : true`,message="invalid repository namespace or image specification in the image scope" -// +kubebuilder:validation:MaxLength=512 -type ImageScope string - -// ImageSigstoreVerificationPolicy defines the verification policy for the items in the scopes list. -type ImageSigstoreVerificationPolicy struct { - // rootOfTrust specifies the root of trust for the policy. - // +required - RootOfTrust PolicyRootOfTrust `json:"rootOfTrust"` - // signedIdentity specifies what image identity the signature claims about the image. The required matchPolicy field specifies the approach used in the verification process to verify the identity in the signature and the actual image identity, the default matchPolicy is "MatchRepoDigestOrExact". - // +optional - SignedIdentity PolicyIdentity `json:"signedIdentity,omitempty"` -} - -// PolicyRootOfTrust defines the root of trust based on the selected policyType. -// +union -// +kubebuilder:validation:XValidation:rule="has(self.policyType) && self.policyType == 'PublicKey' ? has(self.publicKey) : !has(self.publicKey)",message="publicKey is required when policyType is PublicKey, and forbidden otherwise" -// +kubebuilder:validation:XValidation:rule="has(self.policyType) && self.policyType == 'FulcioCAWithRekor' ? has(self.fulcioCAWithRekor) : !has(self.fulcioCAWithRekor)",message="fulcioCAWithRekor is required when policyType is FulcioCAWithRekor, and forbidden otherwise" -// +openshift:validation:FeatureGateAwareXValidation:featureGate=SigstoreImageVerificationPKI,rule="has(self.policyType) && self.policyType == 'PKI' ? has(self.pki) : !has(self.pki)",message="pki is required when policyType is PKI, and forbidden otherwise" -type PolicyRootOfTrust struct { - // policyType serves as the union's discriminator. Users are required to assign a value to this field, choosing one of the policy types that define the root of trust. - // "PublicKey" indicates that the policy relies on a sigstore publicKey and may optionally use a Rekor verification. - // "FulcioCAWithRekor" indicates that the policy is based on the Fulcio certification and incorporates a Rekor verification. - // "PKI" indicates that the policy is based on the certificates from Bring Your Own Public Key Infrastructure (BYOPKI). This value is enabled by turning on the SigstoreImageVerificationPKI feature gate. - // +unionDiscriminator - // +required - PolicyType PolicyType `json:"policyType"` - // publicKey defines the root of trust based on a sigstore public key. - // +optional - PublicKey *ImagePolicyPublicKeyRootOfTrust `json:"publicKey,omitempty"` - // fulcioCAWithRekor defines the root of trust based on the Fulcio certificate and the Rekor public key. - // For more information about Fulcio and Rekor, please refer to the document at: - // https://github.com/sigstore/fulcio and https://github.com/sigstore/rekor - // +optional - FulcioCAWithRekor *ImagePolicyFulcioCAWithRekorRootOfTrust `json:"fulcioCAWithRekor,omitempty"` - // pki defines the root of trust based on Bring Your Own Public Key Infrastructure (BYOPKI) Root CA(s) and corresponding intermediate certificates. - // +optional - // +openshift:enable:FeatureGate=SigstoreImageVerificationPKI - PKI *ImagePolicyPKIRootOfTrust `json:"pki,omitempty"` -} - -// +openshift:validation:FeatureGateAwareEnum:featureGate="",enum=PublicKey;FulcioCAWithRekor -// +openshift:validation:FeatureGateAwareEnum:featureGate=SigstoreImageVerificationPKI,enum=PublicKey;FulcioCAWithRekor;PKI -type PolicyType string - -const ( - PublicKeyRootOfTrust PolicyType = "PublicKey" - FulcioCAWithRekorRootOfTrust PolicyType = "FulcioCAWithRekor" - PKIRootOfTrust PolicyType = "PKI" -) - -// ImagePolicyPublicKeyRootOfTrust defines the root of trust based on a sigstore public key. -type ImagePolicyPublicKeyRootOfTrust struct { - // keyData contains inline base64-encoded data for the PEM format public key. - // KeyData must be at most 8192 characters. - // +required - // +kubebuilder:validation:MaxLength=8192 - KeyData []byte `json:"keyData"` - // rekorKeyData contains inline base64-encoded data for the PEM format from the Rekor public key. - // rekorKeyData must be at most 8192 characters. - // +optional - // +kubebuilder:validation:MaxLength=8192 - RekorKeyData []byte `json:"rekorKeyData,omitempty"` -} - -// ImagePolicyFulcioCAWithRekorRootOfTrust defines the root of trust based on the Fulcio certificate and the Rekor public key. -type ImagePolicyFulcioCAWithRekorRootOfTrust struct { - // fulcioCAData contains inline base64-encoded data for the PEM format fulcio CA. - // fulcioCAData must be at most 8192 characters. - // +required - // +kubebuilder:validation:MaxLength=8192 - FulcioCAData []byte `json:"fulcioCAData"` - // rekorKeyData contains inline base64-encoded data for the PEM format from the Rekor public key. - // rekorKeyData must be at most 8192 characters. - // +required - // +kubebuilder:validation:MaxLength=8192 - RekorKeyData []byte `json:"rekorKeyData"` - // fulcioSubject specifies OIDC issuer and the email of the Fulcio authentication configuration. - // +required - FulcioSubject PolicyFulcioSubject `json:"fulcioSubject"` -} - -// PolicyFulcioSubject defines the OIDC issuer and the email of the Fulcio authentication configuration. -type PolicyFulcioSubject struct { - // oidcIssuer contains the expected OIDC issuer. It will be verified that the Fulcio-issued certificate contains a (Fulcio-defined) certificate extension pointing at this OIDC issuer URL. When Fulcio issues certificates, it includes a value based on an URL inside the client-provided ID token. - // Example: "https://expected.OIDC.issuer/" - // +required - // +kubebuilder:validation:XValidation:rule="isURL(self)",message="oidcIssuer must be a valid URL" - OIDCIssuer string `json:"oidcIssuer"` - // signedEmail holds the email address the the Fulcio certificate is issued for. - // Example: "expected-signing-user@example.com" - // +required - // +kubebuilder:validation:XValidation:rule=`self.matches('^\\S+@\\S+$')`,message="invalid email address" - SignedEmail string `json:"signedEmail"` -} - -// ImagePolicyPKIRootOfTrust defines the root of trust based on Root CA(s) and corresponding intermediate certificates. -type ImagePolicyPKIRootOfTrust struct { - // caRootsData contains base64-encoded data of a certificate bundle PEM file, which contains one or more CA roots in the PEM format. The total length of the data must not exceed 8192 characters. - // +required - // +kubebuilder:validation:MaxLength=8192 - // +kubebuilder:validation:XValidation:rule="string(self).startsWith('-----BEGIN CERTIFICATE-----')",message="the caRootsData must start with base64 encoding of '-----BEGIN CERTIFICATE-----'." - // +kubebuilder:validation:XValidation:rule="string(self).endsWith('-----END CERTIFICATE-----\\n') || string(self).endsWith('-----END CERTIFICATE-----')",message="the caRootsData must end with base64 encoding of '-----END CERTIFICATE-----'." - // +kubebuilder:validation:XValidation:rule="string(self).findAll('-----BEGIN CERTIFICATE-----').size() == string(self).findAll('-----END CERTIFICATE-----').size()",message="caRootsData must be base64 encoding of valid PEM format data contain the same number of '-----BEGIN CERTIFICATE-----' and '-----END CERTIFICATE-----' markers." - CertificateAuthorityRootsData []byte `json:"caRootsData"` - // caIntermediatesData contains base64-encoded data of a certificate bundle PEM file, which contains one or more intermediate certificates in the PEM format. The total length of the data must not exceed 8192 characters. - // caIntermediatesData requires caRootsData to be set. - // +optional - // +kubebuilder:validation:XValidation:rule="string(self).startsWith('-----BEGIN CERTIFICATE-----')",message="the caIntermediatesData must start with base64 encoding of '-----BEGIN CERTIFICATE-----'." - // +kubebuilder:validation:XValidation:rule="string(self).endsWith('-----END CERTIFICATE-----\\n') || string(self).endsWith('-----END CERTIFICATE-----')",message="the caIntermediatesData must end with base64 encoding of '-----END CERTIFICATE-----'." - // +kubebuilder:validation:XValidation:rule="string(self).findAll('-----BEGIN CERTIFICATE-----').size() == string(self).findAll('-----END CERTIFICATE-----').size()",message="caIntermediatesData must be base64 encoding of valid PEM format data contain the same number of '-----BEGIN CERTIFICATE-----' and '-----END CERTIFICATE-----' markers." - // +kubebuilder:validation:MaxLength=8192 - CertificateAuthorityIntermediatesData []byte `json:"caIntermediatesData,omitempty"` - - // pkiCertificateSubject defines the requirements imposed on the subject to which the certificate was issued. - // +required - PKICertificateSubject PKICertificateSubject `json:"pkiCertificateSubject"` -} - -// PKICertificateSubject defines the requirements imposed on the subject to which the certificate was issued. -// +kubebuilder:validation:XValidation:rule="has(self.email) || has(self.hostname)", message="at least one of email or hostname must be set in pkiCertificateSubject" -// +openshift:enable:FeatureGate=SigstoreImageVerificationPKI -type PKICertificateSubject struct { - // email specifies the expected email address imposed on the subject to which the certificate was issued, and must match the email address listed in the Subject Alternative Name (SAN) field of the certificate. - // The email should be a valid email address and at most 320 characters in length. - // +optional - // +kubebuilder:validation:MaxLength:=320 - // +kubebuilder:validation:XValidation:rule=`self.matches('^\\S+@\\S+$')`,message="invalid email address in pkiCertificateSubject" - Email string `json:"email,omitempty"` - // hostname specifies the expected hostname imposed on the subject to which the certificate was issued, and it must match the hostname listed in the Subject Alternative Name (SAN) DNS field of the certificate. - // The hostname should be a valid dns 1123 subdomain name, optionally prefixed by '*.', and at most 253 characters in length. - // It should consist only of lowercase alphanumeric characters, hyphens, periods and the optional preceding asterisk. - // +optional - // +kubebuilder:validation:MaxLength:=253 - // +kubebuilder:validation:XValidation:rule="self.startsWith('*.') ? !format.dns1123Subdomain().validate(self.replace('*.', '', 1)).hasValue() : !format.dns1123Subdomain().validate(self).hasValue()",message="hostname should be a valid dns 1123 subdomain name, optionally prefixed by '*.'. It should consist only of lowercase alphanumeric characters, hyphens, periods and the optional preceding asterisk." - Hostname string `json:"hostname,omitempty"` -} - -// PolicyIdentity defines image identity the signature claims about the image. When omitted, the default matchPolicy is "MatchRepoDigestOrExact". -// +kubebuilder:validation:XValidation:rule="(has(self.matchPolicy) && self.matchPolicy == 'ExactRepository') ? has(self.exactRepository) : !has(self.exactRepository)",message="exactRepository is required when matchPolicy is ExactRepository, and forbidden otherwise" -// +kubebuilder:validation:XValidation:rule="(has(self.matchPolicy) && self.matchPolicy == 'RemapIdentity') ? has(self.remapIdentity) : !has(self.remapIdentity)",message="remapIdentity is required when matchPolicy is RemapIdentity, and forbidden otherwise" -// +union -type PolicyIdentity struct { - // matchPolicy sets the type of matching to be used. - // Valid values are "MatchRepoDigestOrExact", "MatchRepository", "ExactRepository", "RemapIdentity". When omitted, the default value is "MatchRepoDigestOrExact". - // If set matchPolicy to ExactRepository, then the exactRepository must be specified. - // If set matchPolicy to RemapIdentity, then the remapIdentity must be specified. - // "MatchRepoDigestOrExact" means that the identity in the signature must be in the same repository as the image identity if the image identity is referenced by a digest. Otherwise, the identity in the signature must be the same as the image identity. - // "MatchRepository" means that the identity in the signature must be in the same repository as the image identity. - // "ExactRepository" means that the identity in the signature must be in the same repository as a specific identity specified by "repository". - // "RemapIdentity" means that the signature must be in the same as the remapped image identity. Remapped image identity is obtained by replacing the "prefix" with the specified “signedPrefix” if the the image identity matches the specified remapPrefix. - // +unionDiscriminator - // +required - MatchPolicy IdentityMatchPolicy `json:"matchPolicy"` - // exactRepository is required if matchPolicy is set to "ExactRepository". - // +optional - PolicyMatchExactRepository *PolicyMatchExactRepository `json:"exactRepository,omitempty"` - // remapIdentity is required if matchPolicy is set to "RemapIdentity". - // +optional - PolicyMatchRemapIdentity *PolicyMatchRemapIdentity `json:"remapIdentity,omitempty"` -} - -// +kubebuilder:validation:MaxLength=512 -// +kubebuilder:validation:XValidation:rule=`self.matches('.*:([\\w][\\w.-]{0,127})$')? self.matches('^(localhost:[0-9]+)$'): true`,message="invalid repository or prefix in the signedIdentity, should not include the tag or digest" -// +kubebuilder:validation:XValidation:rule=`self.matches('^(((?:[a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9])(?:\\.(?:[a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9]))+(?::[0-9]+)?)|(localhost(?::[0-9]+)?))(?:(?:/[a-z0-9]+(?:(?:(?:[._]|__|[-]*)[a-z0-9]+)+)?)+)?$')`,message="invalid repository or prefix in the signedIdentity" -type IdentityRepositoryPrefix string - -type PolicyMatchExactRepository struct { - // repository is the reference of the image identity to be matched. - // The value should be a repository name (by omitting the tag or digest) in a registry implementing the "Docker Registry HTTP API V2". For example, docker.io/library/busybox - // +required - Repository IdentityRepositoryPrefix `json:"repository"` -} - -type PolicyMatchRemapIdentity struct { - // prefix is the prefix of the image identity to be matched. - // If the image identity matches the specified prefix, that prefix is replaced by the specified “signedPrefix” (otherwise it is used as unchanged and no remapping takes place). - // This useful when verifying signatures for a mirror of some other repository namespace that preserves the vendor’s repository structure. - // The prefix and signedPrefix values can be either host[:port] values (matching exactly the same host[:port], string), repository namespaces, - // or repositories (i.e. they must not contain tags/digests), and match as prefixes of the fully expanded form. - // For example, docker.io/library/busybox (not busybox) to specify that single repository, or docker.io/library (not an empty string) to specify the parent namespace of docker.io/library/busybox. - // +required - Prefix IdentityRepositoryPrefix `json:"prefix"` - // signedPrefix is the prefix of the image identity to be matched in the signature. The format is the same as "prefix". The values can be either host[:port] values (matching exactly the same host[:port], string), repository namespaces, - // or repositories (i.e. they must not contain tags/digests), and match as prefixes of the fully expanded form. - // For example, docker.io/library/busybox (not busybox) to specify that single repository, or docker.io/library (not an empty string) to specify the parent namespace of docker.io/library/busybox. - // +required - SignedPrefix IdentityRepositoryPrefix `json:"signedPrefix"` -} - -// IdentityMatchPolicy defines the type of matching for "matchPolicy". -// +kubebuilder:validation:Enum=MatchRepoDigestOrExact;MatchRepository;ExactRepository;RemapIdentity -type IdentityMatchPolicy string - -const ( - IdentityMatchPolicyMatchRepoDigestOrExact IdentityMatchPolicy = "MatchRepoDigestOrExact" - IdentityMatchPolicyMatchRepository IdentityMatchPolicy = "MatchRepository" - IdentityMatchPolicyExactRepository IdentityMatchPolicy = "ExactRepository" - IdentityMatchPolicyRemapIdentity IdentityMatchPolicy = "RemapIdentity" -) - -// +k8s:deepcopy-gen=true -type ImagePolicyStatus struct { - // conditions provide details on the status of this API Resource. - // +listType=map - // +listMapKey=type - // +optional - Conditions []metav1.Condition `json:"conditions,omitempty"` -} - -// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object - -// ImagePolicyList is a list of ImagePolicy resources -// -// Compatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support. -// +openshift:compatibility-gen:level=4 -type ImagePolicyList struct { - metav1.TypeMeta `json:",inline"` - - // metadata is the standard list's metadata. - // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata - metav1.ListMeta `json:"metadata"` - - Items []ImagePolicy `json:"items"` -} - -const ( - // ImagePolicyPending indicates that the customer resource contains a policy that cannot take effect. It is either overwritten by a global policy or the image scope is not valid. - ImagePolicyPending = "Pending" - // ImagePolicyApplied indicates that the policy has been applied - ImagePolicyApplied = "Applied" -) diff --git a/vendor/github.com/openshift/api/config/v1alpha1/zz_generated.deepcopy.go b/vendor/github.com/openshift/api/config/v1alpha1/zz_generated.deepcopy.go index f7add2d4c..ad6afabff 100644 --- a/vendor/github.com/openshift/api/config/v1alpha1/zz_generated.deepcopy.go +++ b/vendor/github.com/openshift/api/config/v1alpha1/zz_generated.deepcopy.go @@ -11,6 +11,29 @@ import ( runtime "k8s.io/apimachinery/pkg/runtime" ) +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AdditionalAlertmanagerConfig) DeepCopyInto(out *AdditionalAlertmanagerConfig) { + *out = *in + out.Authorization = in.Authorization + if in.StaticConfigs != nil { + in, out := &in.StaticConfigs, &out.StaticConfigs + *out = make([]string, len(*in)) + copy(*out, *in) + } + out.TLSConfig = in.TLSConfig + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdditionalAlertmanagerConfig. +func (in *AdditionalAlertmanagerConfig) DeepCopy() *AdditionalAlertmanagerConfig { + if in == nil { + return nil + } + out := new(AdditionalAlertmanagerConfig) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *AlertmanagerConfig) DeepCopyInto(out *AlertmanagerConfig) { *out = *in @@ -98,6 +121,23 @@ func (in *Audit) DeepCopy() *Audit { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AuthorizationConfig) DeepCopyInto(out *AuthorizationConfig) { + *out = *in + out.BearerToken = in.BearerToken + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuthorizationConfig. +func (in *AuthorizationConfig) DeepCopy() *AuthorizationConfig { + if in == nil { + return nil + } + out := new(AuthorizationConfig) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *Backup) DeepCopyInto(out *Backup) { *out = *in @@ -192,6 +232,24 @@ func (in *BackupStatus) DeepCopy() *BackupStatus { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BasicAuth) DeepCopyInto(out *BasicAuth) { + *out = *in + out.Username = in.Username + out.Password = in.Password + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BasicAuth. +func (in *BasicAuth) DeepCopy() *BasicAuth { + if in == nil { + return nil + } + out := new(BasicAuth) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *CRIOCredentialProviderConfig) DeepCopyInto(out *CRIOCredentialProviderConfig) { *out = *in @@ -318,112 +376,6 @@ func (in *CertificateConfig) DeepCopy() *CertificateConfig { return out } -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *ClusterImagePolicy) DeepCopyInto(out *ClusterImagePolicy) { - *out = *in - out.TypeMeta = in.TypeMeta - in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) - in.Spec.DeepCopyInto(&out.Spec) - in.Status.DeepCopyInto(&out.Status) - return -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterImagePolicy. -func (in *ClusterImagePolicy) DeepCopy() *ClusterImagePolicy { - if in == nil { - return nil - } - out := new(ClusterImagePolicy) - in.DeepCopyInto(out) - return out -} - -// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. -func (in *ClusterImagePolicy) DeepCopyObject() runtime.Object { - if c := in.DeepCopy(); c != nil { - return c - } - return nil -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *ClusterImagePolicyList) DeepCopyInto(out *ClusterImagePolicyList) { - *out = *in - out.TypeMeta = in.TypeMeta - in.ListMeta.DeepCopyInto(&out.ListMeta) - if in.Items != nil { - in, out := &in.Items, &out.Items - *out = make([]ClusterImagePolicy, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - return -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterImagePolicyList. -func (in *ClusterImagePolicyList) DeepCopy() *ClusterImagePolicyList { - if in == nil { - return nil - } - out := new(ClusterImagePolicyList) - in.DeepCopyInto(out) - return out -} - -// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. -func (in *ClusterImagePolicyList) DeepCopyObject() runtime.Object { - if c := in.DeepCopy(); c != nil { - return c - } - return nil -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *ClusterImagePolicySpec) DeepCopyInto(out *ClusterImagePolicySpec) { - *out = *in - if in.Scopes != nil { - in, out := &in.Scopes, &out.Scopes - *out = make([]ImageScope, len(*in)) - copy(*out, *in) - } - in.Policy.DeepCopyInto(&out.Policy) - return -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterImagePolicySpec. -func (in *ClusterImagePolicySpec) DeepCopy() *ClusterImagePolicySpec { - if in == nil { - return nil - } - out := new(ClusterImagePolicySpec) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *ClusterImagePolicyStatus) DeepCopyInto(out *ClusterImagePolicyStatus) { - *out = *in - if in.Conditions != nil { - in, out := &in.Conditions, &out.Conditions - *out = make([]metav1.Condition, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - return -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterImagePolicyStatus. -func (in *ClusterImagePolicyStatus) DeepCopy() *ClusterImagePolicyStatus { - if in == nil { - return nil - } - out := new(ClusterImagePolicyStatus) - in.DeepCopyInto(out) - return out -} - // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ClusterMonitoring) DeepCopyInto(out *ClusterMonitoring) { *out = *in @@ -490,6 +442,7 @@ func (in *ClusterMonitoringSpec) DeepCopyInto(out *ClusterMonitoringSpec) { *out = *in out.UserDefined = in.UserDefined in.AlertmanagerConfig.DeepCopyInto(&out.AlertmanagerConfig) + in.PrometheusConfig.DeepCopyInto(&out.PrometheusConfig) in.MetricsServerConfig.DeepCopyInto(&out.MetricsServerConfig) in.PrometheusOperatorConfig.DeepCopyInto(&out.PrometheusOperatorConfig) in.PrometheusOperatorAdmissionWebhookConfig.DeepCopyInto(&out.PrometheusOperatorAdmissionWebhookConfig) @@ -575,6 +528,22 @@ func (in *DefaultCertificateConfig) DeepCopy() *DefaultCertificateConfig { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DropEqualActionConfig) DeepCopyInto(out *DropEqualActionConfig) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DropEqualActionConfig. +func (in *DropEqualActionConfig) DeepCopy() *DropEqualActionConfig { + if in == nil { + return nil + } + out := new(DropEqualActionConfig) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ECDSAKeyConfig) DeepCopyInto(out *ECDSAKeyConfig) { *out = *in @@ -635,68 +604,57 @@ func (in *GatherConfig) DeepCopy() *GatherConfig { } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *ImagePolicy) DeepCopyInto(out *ImagePolicy) { +func (in *HashModActionConfig) DeepCopyInto(out *HashModActionConfig) { *out = *in - out.TypeMeta = in.TypeMeta - in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) - in.Spec.DeepCopyInto(&out.Spec) - in.Status.DeepCopyInto(&out.Status) return } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImagePolicy. -func (in *ImagePolicy) DeepCopy() *ImagePolicy { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HashModActionConfig. +func (in *HashModActionConfig) DeepCopy() *HashModActionConfig { if in == nil { return nil } - out := new(ImagePolicy) + out := new(HashModActionConfig) in.DeepCopyInto(out) return out } -// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. -func (in *ImagePolicy) DeepCopyObject() runtime.Object { - if c := in.DeepCopy(); c != nil { - return c - } - return nil -} - // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *ImagePolicyFulcioCAWithRekorRootOfTrust) DeepCopyInto(out *ImagePolicyFulcioCAWithRekorRootOfTrust) { +func (in *InsightsDataGather) DeepCopyInto(out *InsightsDataGather) { *out = *in - if in.FulcioCAData != nil { - in, out := &in.FulcioCAData, &out.FulcioCAData - *out = make([]byte, len(*in)) - copy(*out, *in) - } - if in.RekorKeyData != nil { - in, out := &in.RekorKeyData, &out.RekorKeyData - *out = make([]byte, len(*in)) - copy(*out, *in) - } - out.FulcioSubject = in.FulcioSubject + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + out.Status = in.Status return } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImagePolicyFulcioCAWithRekorRootOfTrust. -func (in *ImagePolicyFulcioCAWithRekorRootOfTrust) DeepCopy() *ImagePolicyFulcioCAWithRekorRootOfTrust { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InsightsDataGather. +func (in *InsightsDataGather) DeepCopy() *InsightsDataGather { if in == nil { return nil } - out := new(ImagePolicyFulcioCAWithRekorRootOfTrust) + out := new(InsightsDataGather) in.DeepCopyInto(out) return out } +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *InsightsDataGather) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *ImagePolicyList) DeepCopyInto(out *ImagePolicyList) { +func (in *InsightsDataGatherList) DeepCopyInto(out *InsightsDataGatherList) { *out = *in out.TypeMeta = in.TypeMeta in.ListMeta.DeepCopyInto(&out.ListMeta) if in.Items != nil { in, out := &in.Items, &out.Items - *out = make([]ImagePolicy, len(*in)) + *out = make([]InsightsDataGather, len(*in)) for i := range *in { (*in)[i].DeepCopyInto(&(*out)[i]) } @@ -704,18 +662,18 @@ func (in *ImagePolicyList) DeepCopyInto(out *ImagePolicyList) { return } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImagePolicyList. -func (in *ImagePolicyList) DeepCopy() *ImagePolicyList { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InsightsDataGatherList. +func (in *InsightsDataGatherList) DeepCopy() *InsightsDataGatherList { if in == nil { return nil } - out := new(ImagePolicyList) + out := new(InsightsDataGatherList) in.DeepCopyInto(out) return out } // DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. -func (in *ImagePolicyList) DeepCopyObject() runtime.Object { +func (in *InsightsDataGatherList) DeepCopyObject() runtime.Object { if c := in.DeepCopy(); c != nil { return c } @@ -723,235 +681,155 @@ func (in *ImagePolicyList) DeepCopyObject() runtime.Object { } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *ImagePolicyPKIRootOfTrust) DeepCopyInto(out *ImagePolicyPKIRootOfTrust) { +func (in *InsightsDataGatherSpec) DeepCopyInto(out *InsightsDataGatherSpec) { *out = *in - if in.CertificateAuthorityRootsData != nil { - in, out := &in.CertificateAuthorityRootsData, &out.CertificateAuthorityRootsData - *out = make([]byte, len(*in)) - copy(*out, *in) - } - if in.CertificateAuthorityIntermediatesData != nil { - in, out := &in.CertificateAuthorityIntermediatesData, &out.CertificateAuthorityIntermediatesData - *out = make([]byte, len(*in)) - copy(*out, *in) - } - out.PKICertificateSubject = in.PKICertificateSubject + in.GatherConfig.DeepCopyInto(&out.GatherConfig) return } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImagePolicyPKIRootOfTrust. -func (in *ImagePolicyPKIRootOfTrust) DeepCopy() *ImagePolicyPKIRootOfTrust { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InsightsDataGatherSpec. +func (in *InsightsDataGatherSpec) DeepCopy() *InsightsDataGatherSpec { if in == nil { return nil } - out := new(ImagePolicyPKIRootOfTrust) + out := new(InsightsDataGatherSpec) in.DeepCopyInto(out) return out } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *ImagePolicyPublicKeyRootOfTrust) DeepCopyInto(out *ImagePolicyPublicKeyRootOfTrust) { +func (in *InsightsDataGatherStatus) DeepCopyInto(out *InsightsDataGatherStatus) { *out = *in - if in.KeyData != nil { - in, out := &in.KeyData, &out.KeyData - *out = make([]byte, len(*in)) - copy(*out, *in) - } - if in.RekorKeyData != nil { - in, out := &in.RekorKeyData, &out.RekorKeyData - *out = make([]byte, len(*in)) - copy(*out, *in) - } return } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImagePolicyPublicKeyRootOfTrust. -func (in *ImagePolicyPublicKeyRootOfTrust) DeepCopy() *ImagePolicyPublicKeyRootOfTrust { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InsightsDataGatherStatus. +func (in *InsightsDataGatherStatus) DeepCopy() *InsightsDataGatherStatus { if in == nil { return nil } - out := new(ImagePolicyPublicKeyRootOfTrust) + out := new(InsightsDataGatherStatus) in.DeepCopyInto(out) return out } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *ImagePolicySpec) DeepCopyInto(out *ImagePolicySpec) { +func (in *KeepEqualActionConfig) DeepCopyInto(out *KeepEqualActionConfig) { *out = *in - if in.Scopes != nil { - in, out := &in.Scopes, &out.Scopes - *out = make([]ImageScope, len(*in)) - copy(*out, *in) - } - in.Policy.DeepCopyInto(&out.Policy) return } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImagePolicySpec. -func (in *ImagePolicySpec) DeepCopy() *ImagePolicySpec { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeepEqualActionConfig. +func (in *KeepEqualActionConfig) DeepCopy() *KeepEqualActionConfig { if in == nil { return nil } - out := new(ImagePolicySpec) + out := new(KeepEqualActionConfig) in.DeepCopyInto(out) return out } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *ImagePolicyStatus) DeepCopyInto(out *ImagePolicyStatus) { +func (in *KeyConfig) DeepCopyInto(out *KeyConfig) { *out = *in - if in.Conditions != nil { - in, out := &in.Conditions, &out.Conditions - *out = make([]metav1.Condition, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } + out.RSA = in.RSA + out.ECDSA = in.ECDSA return } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImagePolicyStatus. -func (in *ImagePolicyStatus) DeepCopy() *ImagePolicyStatus { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeyConfig. +func (in *KeyConfig) DeepCopy() *KeyConfig { if in == nil { return nil } - out := new(ImagePolicyStatus) + out := new(KeyConfig) in.DeepCopyInto(out) return out } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *ImageSigstoreVerificationPolicy) DeepCopyInto(out *ImageSigstoreVerificationPolicy) { +func (in *Label) DeepCopyInto(out *Label) { *out = *in - in.RootOfTrust.DeepCopyInto(&out.RootOfTrust) - in.SignedIdentity.DeepCopyInto(&out.SignedIdentity) return } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageSigstoreVerificationPolicy. -func (in *ImageSigstoreVerificationPolicy) DeepCopy() *ImageSigstoreVerificationPolicy { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Label. +func (in *Label) DeepCopy() *Label { if in == nil { return nil } - out := new(ImageSigstoreVerificationPolicy) + out := new(Label) in.DeepCopyInto(out) return out } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *InsightsDataGather) DeepCopyInto(out *InsightsDataGather) { +func (in *LabelMapActionConfig) DeepCopyInto(out *LabelMapActionConfig) { *out = *in - out.TypeMeta = in.TypeMeta - in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) - in.Spec.DeepCopyInto(&out.Spec) - out.Status = in.Status return } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InsightsDataGather. -func (in *InsightsDataGather) DeepCopy() *InsightsDataGather { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LabelMapActionConfig. +func (in *LabelMapActionConfig) DeepCopy() *LabelMapActionConfig { if in == nil { return nil } - out := new(InsightsDataGather) + out := new(LabelMapActionConfig) in.DeepCopyInto(out) return out } -// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. -func (in *InsightsDataGather) DeepCopyObject() runtime.Object { - if c := in.DeepCopy(); c != nil { - return c - } - return nil -} - // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *InsightsDataGatherList) DeepCopyInto(out *InsightsDataGatherList) { +func (in *LowercaseActionConfig) DeepCopyInto(out *LowercaseActionConfig) { *out = *in - out.TypeMeta = in.TypeMeta - in.ListMeta.DeepCopyInto(&out.ListMeta) - if in.Items != nil { - in, out := &in.Items, &out.Items - *out = make([]InsightsDataGather, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } return } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InsightsDataGatherList. -func (in *InsightsDataGatherList) DeepCopy() *InsightsDataGatherList { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LowercaseActionConfig. +func (in *LowercaseActionConfig) DeepCopy() *LowercaseActionConfig { if in == nil { return nil } - out := new(InsightsDataGatherList) + out := new(LowercaseActionConfig) in.DeepCopyInto(out) return out } -// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. -func (in *InsightsDataGatherList) DeepCopyObject() runtime.Object { - if c := in.DeepCopy(); c != nil { - return c - } - return nil -} - // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *InsightsDataGatherSpec) DeepCopyInto(out *InsightsDataGatherSpec) { +func (in *MetadataConfig) DeepCopyInto(out *MetadataConfig) { *out = *in - in.GatherConfig.DeepCopyInto(&out.GatherConfig) + out.Custom = in.Custom return } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InsightsDataGatherSpec. -func (in *InsightsDataGatherSpec) DeepCopy() *InsightsDataGatherSpec { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetadataConfig. +func (in *MetadataConfig) DeepCopy() *MetadataConfig { if in == nil { return nil } - out := new(InsightsDataGatherSpec) + out := new(MetadataConfig) in.DeepCopyInto(out) return out } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *InsightsDataGatherStatus) DeepCopyInto(out *InsightsDataGatherStatus) { +func (in *MetadataConfigCustom) DeepCopyInto(out *MetadataConfigCustom) { *out = *in return } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InsightsDataGatherStatus. -func (in *InsightsDataGatherStatus) DeepCopy() *InsightsDataGatherStatus { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetadataConfigCustom. +func (in *MetadataConfigCustom) DeepCopy() *MetadataConfigCustom { if in == nil { return nil } - out := new(InsightsDataGatherStatus) + out := new(MetadataConfigCustom) in.DeepCopyInto(out) return out } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *KeyConfig) DeepCopyInto(out *KeyConfig) { - *out = *in - out.RSA = in.RSA - out.ECDSA = in.ECDSA - return -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeyConfig. -func (in *KeyConfig) DeepCopy() *KeyConfig { - if in == nil { - return nil - } - out := new(KeyConfig) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *MetricsServerConfig) DeepCopyInto(out *MetricsServerConfig) { +func (in *MetricsServerConfig) DeepCopyInto(out *MetricsServerConfig) { *out = *in out.Audit = in.Audit if in.NodeSelector != nil { @@ -995,6 +873,57 @@ func (in *MetricsServerConfig) DeepCopy() *MetricsServerConfig { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OAuth2) DeepCopyInto(out *OAuth2) { + *out = *in + out.ClientID = in.ClientID + out.ClientSecret = in.ClientSecret + if in.Scopes != nil { + in, out := &in.Scopes, &out.Scopes + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.EndpointParams != nil { + in, out := &in.EndpointParams, &out.EndpointParams + *out = make([]OAuth2EndpointParam, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OAuth2. +func (in *OAuth2) DeepCopy() *OAuth2 { + if in == nil { + return nil + } + out := new(OAuth2) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OAuth2EndpointParam) DeepCopyInto(out *OAuth2EndpointParam) { + *out = *in + if in.Value != nil { + in, out := &in.Value, &out.Value + *out = new(string) + **out = **in + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OAuth2EndpointParam. +func (in *OAuth2EndpointParam) DeepCopy() *OAuth2EndpointParam { + if in == nil { + return nil + } + out := new(OAuth2EndpointParam) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *OpenShiftStateMetricsConfig) DeepCopyInto(out *OpenShiftStateMetricsConfig) { *out = *in @@ -1083,22 +1012,6 @@ func (in *PKICertificateManagement) DeepCopy() *PKICertificateManagement { return out } -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *PKICertificateSubject) DeepCopyInto(out *PKICertificateSubject) { - *out = *in - return -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PKICertificateSubject. -func (in *PKICertificateSubject) DeepCopy() *PKICertificateSubject { - if in == nil { - return nil - } - out := new(PKICertificateSubject) - in.DeepCopyInto(out) - return out -} - // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *PKIList) DeepCopyInto(out *PKIList) { *out = *in @@ -1203,123 +1116,288 @@ func (in *PersistentVolumeConfig) DeepCopy() *PersistentVolumeConfig { } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *PolicyFulcioSubject) DeepCopyInto(out *PolicyFulcioSubject) { +func (in *PrometheusConfig) DeepCopyInto(out *PrometheusConfig) { *out = *in + if in.AdditionalAlertmanagerConfigs != nil { + in, out := &in.AdditionalAlertmanagerConfigs, &out.AdditionalAlertmanagerConfigs + *out = make([]AdditionalAlertmanagerConfig, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ExternalLabels != nil { + in, out := &in.ExternalLabels, &out.ExternalLabels + *out = make([]Label, len(*in)) + copy(*out, *in) + } + if in.NodeSelector != nil { + in, out := &in.NodeSelector, &out.NodeSelector + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.RemoteWrite != nil { + in, out := &in.RemoteWrite, &out.RemoteWrite + *out = make([]RemoteWriteSpec, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Resources != nil { + in, out := &in.Resources, &out.Resources + *out = make([]ContainerResource, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + out.Retention = in.Retention + if in.Tolerations != nil { + in, out := &in.Tolerations, &out.Tolerations + *out = make([]v1.Toleration, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.TopologySpreadConstraints != nil { + in, out := &in.TopologySpreadConstraints, &out.TopologySpreadConstraints + *out = make([]v1.TopologySpreadConstraint, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.VolumeClaimTemplate != nil { + in, out := &in.VolumeClaimTemplate, &out.VolumeClaimTemplate + *out = new(v1.PersistentVolumeClaim) + (*in).DeepCopyInto(*out) + } return } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PolicyFulcioSubject. -func (in *PolicyFulcioSubject) DeepCopy() *PolicyFulcioSubject { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrometheusConfig. +func (in *PrometheusConfig) DeepCopy() *PrometheusConfig { if in == nil { return nil } - out := new(PolicyFulcioSubject) + out := new(PrometheusConfig) in.DeepCopyInto(out) return out } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *PolicyIdentity) DeepCopyInto(out *PolicyIdentity) { +func (in *PrometheusOperatorAdmissionWebhookConfig) DeepCopyInto(out *PrometheusOperatorAdmissionWebhookConfig) { *out = *in - if in.PolicyMatchExactRepository != nil { - in, out := &in.PolicyMatchExactRepository, &out.PolicyMatchExactRepository - *out = new(PolicyMatchExactRepository) - **out = **in + if in.Resources != nil { + in, out := &in.Resources, &out.Resources + *out = make([]ContainerResource, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.TopologySpreadConstraints != nil { + in, out := &in.TopologySpreadConstraints, &out.TopologySpreadConstraints + *out = make([]v1.TopologySpreadConstraint, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrometheusOperatorAdmissionWebhookConfig. +func (in *PrometheusOperatorAdmissionWebhookConfig) DeepCopy() *PrometheusOperatorAdmissionWebhookConfig { + if in == nil { + return nil + } + out := new(PrometheusOperatorAdmissionWebhookConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PrometheusOperatorConfig) DeepCopyInto(out *PrometheusOperatorConfig) { + *out = *in + if in.NodeSelector != nil { + in, out := &in.NodeSelector, &out.NodeSelector + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } } - if in.PolicyMatchRemapIdentity != nil { - in, out := &in.PolicyMatchRemapIdentity, &out.PolicyMatchRemapIdentity - *out = new(PolicyMatchRemapIdentity) + if in.Resources != nil { + in, out := &in.Resources, &out.Resources + *out = make([]ContainerResource, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Tolerations != nil { + in, out := &in.Tolerations, &out.Tolerations + *out = make([]v1.Toleration, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.TopologySpreadConstraints != nil { + in, out := &in.TopologySpreadConstraints, &out.TopologySpreadConstraints + *out = make([]v1.TopologySpreadConstraint, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrometheusOperatorConfig. +func (in *PrometheusOperatorConfig) DeepCopy() *PrometheusOperatorConfig { + if in == nil { + return nil + } + out := new(PrometheusOperatorConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PrometheusRemoteWriteHeader) DeepCopyInto(out *PrometheusRemoteWriteHeader) { + *out = *in + if in.Value != nil { + in, out := &in.Value, &out.Value + *out = new(string) **out = **in } return } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PolicyIdentity. -func (in *PolicyIdentity) DeepCopy() *PolicyIdentity { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrometheusRemoteWriteHeader. +func (in *PrometheusRemoteWriteHeader) DeepCopy() *PrometheusRemoteWriteHeader { if in == nil { return nil } - out := new(PolicyIdentity) + out := new(PrometheusRemoteWriteHeader) in.DeepCopyInto(out) return out } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *PolicyMatchExactRepository) DeepCopyInto(out *PolicyMatchExactRepository) { +func (in *QueueConfig) DeepCopyInto(out *QueueConfig) { *out = *in return } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PolicyMatchExactRepository. -func (in *PolicyMatchExactRepository) DeepCopy() *PolicyMatchExactRepository { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueueConfig. +func (in *QueueConfig) DeepCopy() *QueueConfig { if in == nil { return nil } - out := new(PolicyMatchExactRepository) + out := new(QueueConfig) in.DeepCopyInto(out) return out } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *PolicyMatchRemapIdentity) DeepCopyInto(out *PolicyMatchRemapIdentity) { +func (in *RSAKeyConfig) DeepCopyInto(out *RSAKeyConfig) { *out = *in return } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PolicyMatchRemapIdentity. -func (in *PolicyMatchRemapIdentity) DeepCopy() *PolicyMatchRemapIdentity { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RSAKeyConfig. +func (in *RSAKeyConfig) DeepCopy() *RSAKeyConfig { if in == nil { return nil } - out := new(PolicyMatchRemapIdentity) + out := new(RSAKeyConfig) in.DeepCopyInto(out) return out } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *PolicyRootOfTrust) DeepCopyInto(out *PolicyRootOfTrust) { +func (in *RelabelActionConfig) DeepCopyInto(out *RelabelActionConfig) { *out = *in - if in.PublicKey != nil { - in, out := &in.PublicKey, &out.PublicKey - *out = new(ImagePolicyPublicKeyRootOfTrust) - (*in).DeepCopyInto(*out) + in.Replace.DeepCopyInto(&out.Replace) + out.HashMod = in.HashMod + out.LabelMap = in.LabelMap + out.Lowercase = in.Lowercase + out.Uppercase = in.Uppercase + out.KeepEqual = in.KeepEqual + out.DropEqual = in.DropEqual + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RelabelActionConfig. +func (in *RelabelActionConfig) DeepCopy() *RelabelActionConfig { + if in == nil { + return nil } - if in.FulcioCAWithRekor != nil { - in, out := &in.FulcioCAWithRekor, &out.FulcioCAWithRekor - *out = new(ImagePolicyFulcioCAWithRekorRootOfTrust) - (*in).DeepCopyInto(*out) + out := new(RelabelActionConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RelabelConfig) DeepCopyInto(out *RelabelConfig) { + *out = *in + if in.SourceLabels != nil { + in, out := &in.SourceLabels, &out.SourceLabels + *out = make([]string, len(*in)) + copy(*out, *in) } - if in.PKI != nil { - in, out := &in.PKI, &out.PKI - *out = new(ImagePolicyPKIRootOfTrust) + in.Action.DeepCopyInto(&out.Action) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RelabelConfig. +func (in *RelabelConfig) DeepCopy() *RelabelConfig { + if in == nil { + return nil + } + out := new(RelabelConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RemoteWriteAuthorization) DeepCopyInto(out *RemoteWriteAuthorization) { + *out = *in + if in.SafeAuthorization != nil { + in, out := &in.SafeAuthorization, &out.SafeAuthorization + *out = new(v1.SecretKeySelector) (*in).DeepCopyInto(*out) } + out.BearerToken = in.BearerToken + out.BasicAuth = in.BasicAuth + in.OAuth2.DeepCopyInto(&out.OAuth2) + out.Sigv4 = in.Sigv4 return } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PolicyRootOfTrust. -func (in *PolicyRootOfTrust) DeepCopy() *PolicyRootOfTrust { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RemoteWriteAuthorization. +func (in *RemoteWriteAuthorization) DeepCopy() *RemoteWriteAuthorization { if in == nil { return nil } - out := new(PolicyRootOfTrust) + out := new(RemoteWriteAuthorization) in.DeepCopyInto(out) return out } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *PrometheusOperatorAdmissionWebhookConfig) DeepCopyInto(out *PrometheusOperatorAdmissionWebhookConfig) { +func (in *RemoteWriteSpec) DeepCopyInto(out *RemoteWriteSpec) { *out = *in - if in.Resources != nil { - in, out := &in.Resources, &out.Resources - *out = make([]ContainerResource, len(*in)) + in.AuthorizationConfig.DeepCopyInto(&out.AuthorizationConfig) + if in.Headers != nil { + in, out := &in.Headers, &out.Headers + *out = make([]PrometheusRemoteWriteHeader, len(*in)) for i := range *in { (*in)[i].DeepCopyInto(&(*out)[i]) } } - if in.TopologySpreadConstraints != nil { - in, out := &in.TopologySpreadConstraints, &out.TopologySpreadConstraints - *out = make([]v1.TopologySpreadConstraint, len(*in)) + out.MetadataConfig = in.MetadataConfig + out.QueueConfig = in.QueueConfig + out.TLSConfig = in.TLSConfig + if in.WriteRelabelConfigs != nil { + in, out := &in.WriteRelabelConfigs, &out.WriteRelabelConfigs + *out = make([]RelabelConfig, len(*in)) for i := range *in { (*in)[i].DeepCopyInto(&(*out)[i]) } @@ -1327,72 +1405,49 @@ func (in *PrometheusOperatorAdmissionWebhookConfig) DeepCopyInto(out *Prometheus return } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrometheusOperatorAdmissionWebhookConfig. -func (in *PrometheusOperatorAdmissionWebhookConfig) DeepCopy() *PrometheusOperatorAdmissionWebhookConfig { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RemoteWriteSpec. +func (in *RemoteWriteSpec) DeepCopy() *RemoteWriteSpec { if in == nil { return nil } - out := new(PrometheusOperatorAdmissionWebhookConfig) + out := new(RemoteWriteSpec) in.DeepCopyInto(out) return out } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *PrometheusOperatorConfig) DeepCopyInto(out *PrometheusOperatorConfig) { +func (in *ReplaceActionConfig) DeepCopyInto(out *ReplaceActionConfig) { *out = *in - if in.NodeSelector != nil { - in, out := &in.NodeSelector, &out.NodeSelector - *out = make(map[string]string, len(*in)) - for key, val := range *in { - (*out)[key] = val - } - } - if in.Resources != nil { - in, out := &in.Resources, &out.Resources - *out = make([]ContainerResource, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.Tolerations != nil { - in, out := &in.Tolerations, &out.Tolerations - *out = make([]v1.Toleration, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.TopologySpreadConstraints != nil { - in, out := &in.TopologySpreadConstraints, &out.TopologySpreadConstraints - *out = make([]v1.TopologySpreadConstraint, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + if in.Replacement != nil { + in, out := &in.Replacement, &out.Replacement + *out = new(string) + **out = **in } return } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrometheusOperatorConfig. -func (in *PrometheusOperatorConfig) DeepCopy() *PrometheusOperatorConfig { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReplaceActionConfig. +func (in *ReplaceActionConfig) DeepCopy() *ReplaceActionConfig { if in == nil { return nil } - out := new(PrometheusOperatorConfig) + out := new(ReplaceActionConfig) in.DeepCopyInto(out) return out } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *RSAKeyConfig) DeepCopyInto(out *RSAKeyConfig) { +func (in *Retention) DeepCopyInto(out *Retention) { *out = *in return } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RSAKeyConfig. -func (in *RSAKeyConfig) DeepCopy() *RSAKeyConfig { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Retention. +func (in *Retention) DeepCopy() *Retention { if in == nil { return nil } - out := new(RSAKeyConfig) + out := new(Retention) in.DeepCopyInto(out) return out } @@ -1455,6 +1510,40 @@ func (in *RetentionSizeConfig) DeepCopy() *RetentionSizeConfig { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SecretKeySelector) DeepCopyInto(out *SecretKeySelector) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretKeySelector. +func (in *SecretKeySelector) DeepCopy() *SecretKeySelector { + if in == nil { + return nil + } + out := new(SecretKeySelector) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Sigv4) DeepCopyInto(out *Sigv4) { + *out = *in + out.AccessKey = in.AccessKey + out.SecretKey = in.SecretKey + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Sigv4. +func (in *Sigv4) DeepCopy() *Sigv4 { + if in == nil { + return nil + } + out := new(Sigv4) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *Storage) DeepCopyInto(out *Storage) { *out = *in @@ -1476,6 +1565,41 @@ func (in *Storage) DeepCopy() *Storage { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TLSConfig) DeepCopyInto(out *TLSConfig) { + *out = *in + out.CA = in.CA + out.Cert = in.Cert + out.Key = in.Key + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSConfig. +func (in *TLSConfig) DeepCopy() *TLSConfig { + if in == nil { + return nil + } + out := new(TLSConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UppercaseActionConfig) DeepCopyInto(out *UppercaseActionConfig) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UppercaseActionConfig. +func (in *UppercaseActionConfig) DeepCopy() *UppercaseActionConfig { + if in == nil { + return nil + } + out := new(UppercaseActionConfig) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *UserDefinedMonitoring) DeepCopyInto(out *UserDefinedMonitoring) { *out = *in diff --git a/vendor/github.com/openshift/api/config/v1alpha1/zz_generated.featuregated-crd-manifests.yaml b/vendor/github.com/openshift/api/config/v1alpha1/zz_generated.featuregated-crd-manifests.yaml index dc2d249a9..b2a124193 100644 --- a/vendor/github.com/openshift/api/config/v1alpha1/zz_generated.featuregated-crd-manifests.yaml +++ b/vendor/github.com/openshift/api/config/v1alpha1/zz_generated.featuregated-crd-manifests.yaml @@ -44,30 +44,6 @@ criocredentialproviderconfigs.config.openshift.io: - CRIOCredentialProviderConfig Version: v1alpha1 -clusterimagepolicies.config.openshift.io: - Annotations: {} - ApprovedPRNumber: https://github.com/openshift/api/pull/1457 - CRDName: clusterimagepolicies.config.openshift.io - Capability: "" - Category: "" - FeatureGates: - - SigstoreImageVerification - - SigstoreImageVerificationPKI - FilenameOperatorName: config-operator - FilenameOperatorOrdering: "01" - FilenameRunLevel: "0000_10" - GroupName: config.openshift.io - HasStatus: true - KindName: ClusterImagePolicy - Labels: {} - PluralName: clusterimagepolicies - PrinterColumns: [] - Scope: Cluster - ShortNames: null - TopLevelFeatureGates: - - SigstoreImageVerification - Version: v1alpha1 - clustermonitorings.config.openshift.io: Annotations: description: Cluster Monitoring Operators configuration API @@ -92,30 +68,6 @@ clustermonitorings.config.openshift.io: - ClusterMonitoringConfig Version: v1alpha1 -imagepolicies.config.openshift.io: - Annotations: {} - ApprovedPRNumber: https://github.com/openshift/api/pull/1457 - CRDName: imagepolicies.config.openshift.io - Capability: "" - Category: "" - FeatureGates: - - SigstoreImageVerification - - SigstoreImageVerificationPKI - FilenameOperatorName: config-operator - FilenameOperatorOrdering: "01" - FilenameRunLevel: "0000_10" - GroupName: config.openshift.io - HasStatus: true - KindName: ImagePolicy - Labels: {} - PluralName: imagepolicies - PrinterColumns: [] - Scope: Namespaced - ShortNames: null - TopLevelFeatureGates: - - SigstoreImageVerification - Version: v1alpha1 - insightsdatagathers.config.openshift.io: Annotations: {} ApprovedPRNumber: https://github.com/openshift/api/pull/1245 diff --git a/vendor/github.com/openshift/api/config/v1alpha1/zz_generated.swagger_doc_generated.go b/vendor/github.com/openshift/api/config/v1alpha1/zz_generated.swagger_doc_generated.go index 728cde2d5..b79cbbf77 100644 --- a/vendor/github.com/openshift/api/config/v1alpha1/zz_generated.swagger_doc_generated.go +++ b/vendor/github.com/openshift/api/config/v1alpha1/zz_generated.swagger_doc_generated.go @@ -80,42 +80,19 @@ func (RetentionSizeConfig) SwaggerDoc() map[string]string { return map_RetentionSizeConfig } -var map_ClusterImagePolicy = map[string]string{ - "": "ClusterImagePolicy holds cluster-wide configuration for image signature verification\n\nCompatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support.", - "metadata": "metadata is the standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "spec": "spec contains the configuration for the cluster image policy.", - "status": "status contains the observed state of the resource.", +var map_AdditionalAlertmanagerConfig = map[string]string{ + "": "AdditionalAlertmanagerConfig represents configuration for additional Alertmanager instances. The `AdditionalAlertmanagerConfig` resource defines settings for how a component communicates with additional Alertmanager instances.", + "name": "name is a unique identifier for this Alertmanager configuration entry. The name must be a valid DNS subdomain (RFC 1123): lowercase alphanumeric characters, hyphens, or periods, and must start and end with an alphanumeric character. Minimum length is 1 character (empty string is invalid). Maximum length is 253 characters.", + "authorization": "authorization configures the authentication method for Alertmanager connections. Supports bearer token authentication. When omitted, no authentication is used.", + "pathPrefix": "pathPrefix defines an optional URL path prefix to prepend to the Alertmanager API endpoints. For example, if your Alertmanager is behind a reverse proxy at \"/alertmanager/\", set this to \"/alertmanager\" so requests go to \"/alertmanager/api/v1/alerts\" instead of \"/api/v1/alerts\". This is commonly needed when Alertmanager is deployed behind ingress controllers or load balancers. When no prefix is needed, omit this field; do not set it to \"/\" as that would produce paths with double slashes (e.g. \"//api/v1/alerts\"). Must start with \"/\", must not end with \"/\", and must not be exactly \"/\". Must not contain query strings (\"?\") or fragments (\"#\").", + "scheme": "scheme defines the URL scheme to use when communicating with Alertmanager instances. Possible values are `HTTP` or `HTTPS`. When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time. The current default value is `HTTP`.", + "staticConfigs": "staticConfigs is a list of statically configured Alertmanager endpoints in the form of `:`. Each entry must be a valid hostname, IPv4 address, or IPv6 address (in brackets) followed by a colon and a valid port number (1-65535). Examples: \"alertmanager.example.com:9093\", \"192.168.1.100:9093\", \"[::1]:9093\" At least one endpoint must be specified (minimum 1, maximum 10 endpoints). Each entry must be unique and non-empty (empty string is invalid).", + "timeoutSeconds": "timeoutSeconds defines the timeout in seconds for requests to Alertmanager. When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time. Currently the default is 10 seconds. Minimum value is 1 second. Maximum value is 600 seconds (10 minutes).", + "tlsConfig": "tlsConfig defines the TLS settings to use for Alertmanager connections. When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time.", } -func (ClusterImagePolicy) SwaggerDoc() map[string]string { - return map_ClusterImagePolicy -} - -var map_ClusterImagePolicyList = map[string]string{ - "": "ClusterImagePolicyList is a list of ClusterImagePolicy resources\n\nCompatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support.", - "metadata": "metadata is the standard list's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", -} - -func (ClusterImagePolicyList) SwaggerDoc() map[string]string { - return map_ClusterImagePolicyList -} - -var map_ClusterImagePolicySpec = map[string]string{ - "": "CLusterImagePolicySpec is the specification of the ClusterImagePolicy custom resource.", - "scopes": "scopes defines the list of image identities assigned to a policy. Each item refers to a scope in a registry implementing the \"Docker Registry HTTP API V2\". Scopes matching individual images are named Docker references in the fully expanded form, either using a tag or digest. For example, docker.io/library/busybox:latest (not busybox:latest). More general scopes are prefixes of individual-image scopes, and specify a repository (by omitting the tag or digest), a repository namespace, or a registry host (by only specifying the host name and possibly a port number) or a wildcard expression starting with `*.`, for matching all subdomains (not including a port number). Wildcards are only supported for subdomain matching, and may not be used in the middle of the host, i.e. *.example.com is a valid case, but example*.*.com is not. If multiple scopes match a given image, only the policy requirements for the most specific scope apply. The policy requirements for more general scopes are ignored. In addition to setting a policy appropriate for your own deployed applications, make sure that a policy on the OpenShift image repositories quay.io/openshift-release-dev/ocp-release, quay.io/openshift-release-dev/ocp-v4.0-art-dev (or on a more general scope) allows deployment of the OpenShift images required for cluster operation. If a scope is configured in both the ClusterImagePolicy and the ImagePolicy, or if the scope in ImagePolicy is nested under one of the scopes from the ClusterImagePolicy, only the policy from the ClusterImagePolicy will be applied. For additional details about the format, please refer to the document explaining the docker transport field, which can be found at: https://github.com/containers/image/blob/main/docs/containers-policy.json.5.md#docker", - "policy": "policy contains configuration to allow scopes to be verified, and defines how images not matching the verification policy will be treated.", -} - -func (ClusterImagePolicySpec) SwaggerDoc() map[string]string { - return map_ClusterImagePolicySpec -} - -var map_ClusterImagePolicyStatus = map[string]string{ - "conditions": "conditions provide details on the status of this API Resource.", -} - -func (ClusterImagePolicyStatus) SwaggerDoc() map[string]string { - return map_ClusterImagePolicyStatus +func (AdditionalAlertmanagerConfig) SwaggerDoc() map[string]string { + return map_AdditionalAlertmanagerConfig } var map_AlertmanagerConfig = map[string]string{ @@ -136,7 +113,7 @@ var map_AlertmanagerCustomConfig = map[string]string{ "secrets": "secrets defines a list of secrets that need to be mounted into the Alertmanager. The secrets must reside within the same namespace as the Alertmanager object. They will be added as volumes named secret- and mounted at /etc/alertmanager/secrets/ within the 'alertmanager' container of the Alertmanager Pods.\n\nThese secrets can be used to authenticate Alertmanager with endpoint receivers. For example, you can use secrets to: - Provide certificates for TLS authentication with receivers that require private CA certificates - Store credentials for Basic HTTP authentication with receivers that require password-based auth - Store any other authentication credentials needed by your alert receivers\n\nThis field is optional. Maximum length for this list is 10. Minimum length for this list is 1. Entries in this list must be unique.", "tolerations": "tolerations defines tolerations for the pods. tolerations is optional.\n\nWhen omitted, this means the user has no opinion and the platform is left to choose reasonable defaults. These defaults are subject to change over time. Defaults are empty/unset. Maximum length for this list is 10. Minimum length for this list is 1.", "topologySpreadConstraints": "topologySpreadConstraints defines rules for how Alertmanager Pods should be distributed across topology domains such as zones, nodes, or other user-defined labels. topologySpreadConstraints is optional. This helps improve high availability and resource efficiency by avoiding placing too many replicas in the same failure domain.\n\nWhen omitted, this means no opinion and the platform is left to choose a default, which is subject to change over time. This field maps directly to the `topologySpreadConstraints` field in the Pod spec. Default is empty list. Maximum length for this list is 10. Minimum length for this list is 1. Entries must have unique topologyKey and whenUnsatisfiable pairs.", - "volumeClaimTemplate": "volumeClaimTemplate Defines persistent storage for Alertmanager. Use this setting to configure the persistent volume claim, including storage class, volume size, and name. If omitted, the Pod uses ephemeral storage and alert data will not persist across restarts. This field is optional.", + "volumeClaimTemplate": "volumeClaimTemplate defines persistent storage for Alertmanager. Use this setting to configure the persistent volume claim, including storage class and volume size. If omitted, the Pod uses ephemeral storage and alert data will not persist across restarts.", } func (AlertmanagerCustomConfig) SwaggerDoc() map[string]string { @@ -152,6 +129,26 @@ func (Audit) SwaggerDoc() map[string]string { return map_Audit } +var map_AuthorizationConfig = map[string]string{ + "": "AuthorizationConfig defines the authentication method for Alertmanager connections.", + "type": "type specifies the authentication type to use. Valid value is \"BearerToken\" (bearer token authentication). When set to BearerToken, the bearerToken field must be specified.", + "bearerToken": "bearerToken defines the secret reference containing the bearer token. Required when type is \"BearerToken\", and forbidden otherwise. The secret must exist in the openshift-monitoring namespace.", +} + +func (AuthorizationConfig) SwaggerDoc() map[string]string { + return map_AuthorizationConfig +} + +var map_BasicAuth = map[string]string{ + "": "BasicAuth defines basic authentication settings for the remote write endpoint URL.", + "username": "username defines the secret reference containing the username for basic authentication. The secret must exist in the openshift-monitoring namespace.", + "password": "password defines the secret reference containing the password for basic authentication. The secret must exist in the openshift-monitoring namespace.", +} + +func (BasicAuth) SwaggerDoc() map[string]string { + return map_BasicAuth +} + var map_ClusterMonitoring = map[string]string{ "": "ClusterMonitoring is the Custom Resource object which holds the current status of Cluster Monitoring Operator. CMO is a central component of the monitoring stack.\n\nCompatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support. ClusterMonitoring is the Schema for the Cluster Monitoring Operators API", "metadata": "metadata is the standard object metadata.", @@ -177,6 +174,7 @@ var map_ClusterMonitoringSpec = map[string]string{ "": "ClusterMonitoringSpec defines the desired state of Cluster Monitoring Operator", "userDefined": "userDefined set the deployment mode for user-defined monitoring in addition to the default platform monitoring. userDefined is optional. When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time. The current default value is `Disabled`.", "alertmanagerConfig": "alertmanagerConfig allows users to configure how the default Alertmanager instance should be deployed in the `openshift-monitoring` namespace. alertmanagerConfig is optional. When omitted, this means no opinion and the platform is left to choose a reasonable default, that is subject to change over time. The current default value is `DefaultConfig`.", + "prometheusConfig": "prometheusConfig provides configuration options for the default platform Prometheus instance that runs in the `openshift-monitoring` namespace. This configuration applies only to the platform Prometheus instance; user-workload Prometheus instances are configured separately.\n\nThis field allows you to customize how the platform Prometheus is deployed and operated, including:\n - Pod scheduling (node selectors, tolerations, topology spread constraints)\n - Resource allocation (CPU, memory requests/limits)\n - Retention policies (how long metrics are stored)\n - External integrations (remote write, additional alertmanagers)\n\nThis field is optional. When omitted, the platform chooses reasonable defaults, which may change over time.", "metricsServerConfig": "metricsServerConfig is an optional field that can be used to configure the Kubernetes Metrics Server that runs in the openshift-monitoring namespace. Specifically, it can configure how the Metrics Server instance is deployed, pod scheduling, its audit policy and log verbosity. When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time.", "prometheusOperatorConfig": "prometheusOperatorConfig is an optional field that can be used to configure the Prometheus Operator component. Specifically, it can configure how the Prometheus Operator instance is deployed, pod scheduling, and resource allocation. When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time.", "prometheusOperatorAdmissionWebhookConfig": "prometheusOperatorAdmissionWebhookConfig is an optional field that can be used to configure the admission webhook component of Prometheus Operator that runs in the openshift-monitoring namespace. The admission webhook validates PrometheusRule and AlertmanagerConfig objects to ensure they are semantically valid, mutates PrometheusRule annotations, and converts AlertmanagerConfig objects between API versions. When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time.", @@ -206,6 +204,81 @@ func (ContainerResource) SwaggerDoc() map[string]string { return map_ContainerResource } +var map_DropEqualActionConfig = map[string]string{ + "": "DropEqualActionConfig configures the DropEqual action. Drops targets for which the concatenated source_labels do match the value of target_label. Requires Prometheus >= v2.41.0.", + "targetLabel": "targetLabel is the label name whose value is compared to the concatenated source_labels; targets that match are dropped. Must be between 1 and 128 characters in length.", +} + +func (DropEqualActionConfig) SwaggerDoc() map[string]string { + return map_DropEqualActionConfig +} + +var map_HashModActionConfig = map[string]string{ + "": "HashModActionConfig configures the HashMod action. target_label is set to the modulus of a hash of the concatenated source_labels (target = hash % modulus).", + "targetLabel": "targetLabel is the label name where the hash modulus result is written. Must be between 1 and 128 characters in length.", + "modulus": "modulus is the divisor applied to the hash of the concatenated source label values (target = hash % modulus). Required when using the HashMod action so the intended behavior is explicit. Must be between 1 and 1000000.", +} + +func (HashModActionConfig) SwaggerDoc() map[string]string { + return map_HashModActionConfig +} + +var map_KeepEqualActionConfig = map[string]string{ + "": "KeepEqualActionConfig configures the KeepEqual action. Drops targets for which the concatenated source_labels do not match the value of target_label. Requires Prometheus >= v2.41.0.", + "targetLabel": "targetLabel is the label name whose value is compared to the concatenated source_labels; targets that do not match are dropped. Must be between 1 and 128 characters in length.", +} + +func (KeepEqualActionConfig) SwaggerDoc() map[string]string { + return map_KeepEqualActionConfig +} + +var map_Label = map[string]string{ + "": "Label represents a key/value pair for external labels.", + "key": "key is the name of the label. Prometheus supports UTF-8 label names, so any valid UTF-8 string is allowed. Must be between 1 and 128 characters in length.", + "value": "value is the value of the label. Must be between 1 and 128 characters in length.", +} + +func (Label) SwaggerDoc() map[string]string { + return map_Label +} + +var map_LabelMapActionConfig = map[string]string{ + "": "LabelMapActionConfig configures the LabelMap action. Regex is matched against all source label names (not just source_labels). Matching label values are copied to new label names given by replacement, with match group references (${1}, ${2}, ...) substituted.", + "replacement": "replacement is the template for new label names; match group references (${1}, ${2}, ...) are substituted from the matched label name. Required when using the LabelMap action so the intended behavior is explicit and the platform does not need to apply defaults. Use \"$1\" for the first capture group, \"$2\" for the second, etc. Must be between 1 and 255 characters in length. Empty string is invalid as it would produce invalid label names.", +} + +func (LabelMapActionConfig) SwaggerDoc() map[string]string { + return map_LabelMapActionConfig +} + +var map_LowercaseActionConfig = map[string]string{ + "": "LowercaseActionConfig configures the Lowercase action. Maps the concatenated source_labels to their lower case and writes to target_label. Requires Prometheus >= v2.36.0.", + "targetLabel": "targetLabel is the label name where the lower-cased value is written. Must be between 1 and 128 characters in length.", +} + +func (LowercaseActionConfig) SwaggerDoc() map[string]string { + return map_LowercaseActionConfig +} + +var map_MetadataConfig = map[string]string{ + "": "MetadataConfig defines whether and how to send series metadata to remote write storage.", + "sendPolicy": "sendPolicy specifies whether to send metadata and how it is configured. Default: send metadata using platform-chosen defaults (e.g. send interval 30 seconds). Custom: send metadata using the settings in the custom field.", + "custom": "custom defines custom metadata send settings. Required when sendPolicy is Custom (must have at least one property), and forbidden when sendPolicy is Default.", +} + +func (MetadataConfig) SwaggerDoc() map[string]string { + return map_MetadataConfig +} + +var map_MetadataConfigCustom = map[string]string{ + "": "MetadataConfigCustom defines custom settings for sending series metadata when sendPolicy is Custom. At least one property must be set when sendPolicy is Custom (e.g. sendIntervalSeconds).", + "sendIntervalSeconds": "sendIntervalSeconds is the interval in seconds at which metadata is sent. When omitted, the platform chooses a reasonable default (e.g. 30 seconds). Minimum value is 1 second. Maximum value is 86400 seconds (24 hours).", +} + +func (MetadataConfigCustom) SwaggerDoc() map[string]string { + return map_MetadataConfigCustom +} + var map_MetricsServerConfig = map[string]string{ "": "MetricsServerConfig provides configuration options for the Metrics Server instance that runs in the `openshift-monitoring` namespace. Use this configuration to control how the Metrics Server instance is deployed, how it logs, and how its pods are scheduled.", "audit": "audit defines the audit configuration used by the Metrics Server instance. audit is optional. When omitted, this means no opinion and the platform is left to choose a reasonable default, that is subject to change over time. The current default sets audit.profile to Metadata", @@ -220,6 +293,29 @@ func (MetricsServerConfig) SwaggerDoc() map[string]string { return map_MetricsServerConfig } +var map_OAuth2 = map[string]string{ + "": "OAuth2 defines OAuth2 authentication settings for the remote write endpoint.", + "clientId": "clientId defines the secret reference containing the OAuth2 client ID. The secret must exist in the openshift-monitoring namespace.", + "clientSecret": "clientSecret defines the secret reference containing the OAuth2 client secret. The secret must exist in the openshift-monitoring namespace.", + "tokenUrl": "tokenUrl is the URL to fetch the token from. Must be a valid URL with http or https scheme. Must be between 1 and 2048 characters in length.", + "scopes": "scopes is a list of OAuth2 scopes to request. When omitted, no scopes are requested. Maximum of 20 scopes can be specified. Each scope must be between 1 and 256 characters.", + "endpointParams": "endpointParams defines additional parameters to append to the token URL. When omitted, no additional parameters are sent. Maximum of 20 parameters can be specified. Entries must have unique names (name is the list key).", +} + +func (OAuth2) SwaggerDoc() map[string]string { + return map_OAuth2 +} + +var map_OAuth2EndpointParam = map[string]string{ + "": "OAuth2EndpointParam defines a name/value parameter for the OAuth2 token URL.", + "name": "name is the parameter name. Must be between 1 and 256 characters.", + "value": "value is the optional parameter value. When omitted, the query parameter is applied as ?name (no value). When set (including to the empty string), it is applied as ?name=value. Empty string may be used when the external system expects a parameter with an empty value (e.g. ?parameter=\"\"). Must be between 0 and 2048 characters when present (aligned with common URL length recommendations).", +} + +func (OAuth2EndpointParam) SwaggerDoc() map[string]string { + return map_OAuth2EndpointParam +} + var map_OpenShiftStateMetricsConfig = map[string]string{ "": "OpenShiftStateMetricsConfig provides configuration options for the openshift-state-metrics agent that runs in the `openshift-monitoring` namespace. The openshift-state-metrics agent generates metrics about the state of OpenShift-specific Kubernetes objects, such as routes, builds, and deployments.", "nodeSelector": "nodeSelector defines the nodes on which the Pods are scheduled. nodeSelector is optional.\n\nWhen omitted, this means the user has no opinion and the platform is left to choose reasonable defaults. These defaults are subject to change over time. The current default value is `kubernetes.io/os: linux`. When specified, nodeSelector must contain at least 1 entry and must not contain more than 10 entries.", @@ -232,6 +328,27 @@ func (OpenShiftStateMetricsConfig) SwaggerDoc() map[string]string { return map_OpenShiftStateMetricsConfig } +var map_PrometheusConfig = map[string]string{ + "": "PrometheusConfig provides configuration options for the Prometheus instance. Use this configuration to control Prometheus deployment, pod scheduling, resource allocation, retention policies, and external integrations.", + "additionalAlertmanagerConfigs": "additionalAlertmanagerConfigs configures additional Alertmanager instances that receive alerts from the Prometheus component. This is useful for organizations that need to:\n - Send alerts to external monitoring systems (like PagerDuty, Slack, or custom webhooks)\n - Route different types of alerts to different teams or systems\n - Integrate with existing enterprise alerting infrastructure\n - Maintain separate alert routing for compliance or organizational requirements\nWhen omitted, no additional Alertmanager instances are configured (default behavior). When provided, at least one configuration must be specified (minimum 1, maximum 10 items). Entries must have unique names (name is the list key).", + "enforcedBodySizeLimitBytes": "enforcedBodySizeLimitBytes enforces a body size limit (in bytes) for Prometheus scraped metrics. If a scraped target's body response is larger than the limit, the scrape will fail. This helps protect Prometheus from targets that return excessively large responses. The value is specified in bytes (e.g., 4194304 for 4MB, 1073741824 for 1GB). When omitted, the Cluster Monitoring Operator automatically calculates an appropriate limit based on cluster capacity. Set an explicit value to override the automatic calculation. Minimum value is 10240 (10kB). Maximum value is 1073741824 (1GB).", + "externalLabels": "externalLabels defines labels to be attached to time series and alerts when communicating with external systems such as federation, remote storage, and Alertmanager. These labels are not stored with metrics on disk; they are only added when data leaves Prometheus (e.g., during federation queries, remote write, or alert notifications). At least 1 label must be specified when set, with a maximum of 50 labels allowed. Each label key must be unique within this list. When omitted, no external labels are applied.", + "logLevel": "logLevel defines the verbosity of logs emitted by Prometheus. This field allows users to control the amount and severity of logs generated, which can be useful for debugging issues or reducing noise in production environments. Allowed values are Error, Warn, Info, and Debug. When set to Error, only errors will be logged. When set to Warn, both warnings and errors will be logged. When set to Info, general information, warnings, and errors will all be logged. When set to Debug, detailed debugging information will be logged. When omitted, this means no opinion and the platform is left to choose a reasonable default, that is subject to change over time. The current default value is `Info`.", + "nodeSelector": "nodeSelector defines the nodes on which the Pods are scheduled. nodeSelector is optional.\n\nWhen omitted, this means the user has no opinion and the platform is left to choose reasonable defaults. These defaults are subject to change over time. The current default value is `kubernetes.io/os: linux`. When specified, nodeSelector must contain at least one key-value pair (minimum of 1) and must not contain more than 10 entries.", + "queryLogFile": "queryLogFile specifies the file to which PromQL queries are logged. This setting can be either a filename, in which case the queries are saved to an `emptyDir` volume at `/var/log/prometheus`, or a full path to a location where an `emptyDir` volume will be mounted and the queries saved. Writing to `/dev/stderr`, `/dev/stdout` or `/dev/null` is supported, but writing to any other `/dev/` path is not supported. Relative paths are also not supported. By default, PromQL queries are not logged. Must be an absolute path starting with `/` or a simple filename without path separators. Must not contain consecutive slashes, end with a slash, or include '..' path traversal. Must contain only alphanumeric characters, '.', '_', '-', or '/'. Must be between 1 and 255 characters in length.", + "remoteWrite": "remoteWrite defines the remote write configuration, including URL, authentication, and relabeling settings. Remote write allows Prometheus to send metrics it collects to external long-term storage systems. When omitted, no remote write endpoints are configured. When provided, at least one configuration must be specified (minimum 1, maximum 10 items). Entries must have unique names (name is the list key).", + "resources": "resources defines the compute resource requests and limits for the Prometheus container. This includes CPU, memory and HugePages constraints to help control scheduling and resource usage. When not specified, defaults are used by the platform. Requests cannot exceed limits. Each entry must have a unique resource name. Minimum of 1 and maximum of 10 resource entries can be specified. The current default values are:\n resources:\n - name: cpu\n request: 4m\n - name: memory\n request: 40Mi", + "retention": "retention configures how long Prometheus retains metrics data and how much storage it can use. When omitted, the platform chooses reasonable defaults (currently 15 days retention, no size limit).", + "tolerations": "tolerations defines tolerations for the pods. tolerations is optional.\n\nWhen omitted, this means the user has no opinion and the platform is left to choose reasonable defaults. These defaults are subject to change over time. Defaults are empty/unset. Maximum length for this list is 10 Minimum length for this list is 1", + "topologySpreadConstraints": "topologySpreadConstraints defines rules for how Prometheus Pods should be distributed across topology domains such as zones, nodes, or other user-defined labels. topologySpreadConstraints is optional. This helps improve high availability and resource efficiency by avoiding placing too many replicas in the same failure domain.\n\nWhen omitted, this means no opinion and the platform is left to choose a default, which is subject to change over time. This field maps directly to the `topologySpreadConstraints` field in the Pod spec. Default is empty list. Maximum length for this list is 10. Minimum length for this list is 1 Entries must have unique topologyKey and whenUnsatisfiable pairs.", + "collectionProfile": "collectionProfile defines the metrics collection profile that Prometheus uses to collect metrics from the platform components. Supported values are `Full` or `Minimal`. In the `Full` profile (default), Prometheus collects all metrics that are exposed by the platform components. In the `Minimal` profile, Prometheus only collects metrics necessary for the default platform alerts, recording rules, telemetry and console dashboards. When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time. The default value is `Full`.", + "volumeClaimTemplate": "volumeClaimTemplate defines persistent storage for Prometheus. Use this setting to configure the persistent volume claim, including storage class and volume size. If omitted, the Pod uses ephemeral storage and Prometheus data will not persist across restarts.", +} + +func (PrometheusConfig) SwaggerDoc() map[string]string { + return map_PrometheusConfig +} + var map_PrometheusOperatorAdmissionWebhookConfig = map[string]string{ "": "PrometheusOperatorAdmissionWebhookConfig provides configuration options for the admission webhook component of Prometheus Operator that runs in the `openshift-monitoring` namespace. The admission webhook validates PrometheusRule and AlertmanagerConfig objects, mutates PrometheusRule annotations, and converts AlertmanagerConfig objects between API versions.", "resources": "resources defines the compute resource requests and limits for the prometheus-operator-admission-webhook container. This includes CPU, memory and HugePages constraints to help control scheduling and resource usage. When not specified, defaults are used by the platform. Requests cannot exceed limits. This field is optional. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ This is a simplified API that maps to Kubernetes ResourceRequirements. The current default values are:\n resources:\n - name: cpu\n request: 5m\n limit: null\n - name: memory\n request: 30Mi\n limit: null\nMaximum length for this list is 10. Minimum length for this list is 1. Each resource name must be unique within this list.", @@ -255,191 +372,204 @@ func (PrometheusOperatorConfig) SwaggerDoc() map[string]string { return map_PrometheusOperatorConfig } -var map_UserDefinedMonitoring = map[string]string{ - "": "UserDefinedMonitoring config for user-defined projects.", - "mode": "mode defines the different configurations of UserDefinedMonitoring Valid values are Disabled and NamespaceIsolated Disabled disables monitoring for user-defined projects. This restricts the default monitoring stack, installed in the openshift-monitoring project, to monitor only platform namespaces, which prevents any custom monitoring configurations or resources from being applied to user-defined namespaces. NamespaceIsolated enables monitoring for user-defined projects with namespace-scoped tenancy. This ensures that metrics, alerts, and monitoring data are isolated at the namespace level. The current default value is `Disabled`.", +var map_PrometheusRemoteWriteHeader = map[string]string{ + "": "PrometheusRemoteWriteHeader defines a custom HTTP header for remote write requests. The header name must not be one of the reserved headers set by Prometheus (Host, Authorization, Content-Encoding, Content-Type, X-Prometheus-Remote-Write-Version, User-Agent, Connection, Keep-Alive, Proxy-Authenticate, Proxy-Authorization, WWW-Authenticate). Header names must contain only case-insensitive alphanumeric characters, hyphens (-), and underscores (_); other characters (e.g. emoji) are rejected by validation. Validation is enforced on the Headers field in RemoteWriteSpec.", + "name": "name is the HTTP header name. Must not be a reserved header (see type documentation). Must contain only alphanumeric characters, hyphens, and underscores; invalid characters are rejected. Must be between 1 and 256 characters.", + "value": "value is the HTTP header value. Must be at most 4096 characters.", } -func (UserDefinedMonitoring) SwaggerDoc() map[string]string { - return map_UserDefinedMonitoring +func (PrometheusRemoteWriteHeader) SwaggerDoc() map[string]string { + return map_PrometheusRemoteWriteHeader } -var map_CRIOCredentialProviderConfig = map[string]string{ - "": "CRIOCredentialProviderConfig holds cluster-wide singleton resource configurations for CRI-O credential provider, the name of this instance is \"cluster\". CRI-O credential provider is a binary shipped with CRI-O that provides a way to obtain container image pull credentials from external sources. For example, it can be used to fetch mirror registry credentials from secrets resources in the cluster within the same namespace the pod will be running in. CRIOCredentialProviderConfig configuration specifies the pod image sources registries that should trigger the CRI-O credential provider execution, which will resolve the CRI-O mirror configurations and obtain the necessary credentials for pod creation. Note: Configuration changes will only take effect after the kubelet restarts, which is automatically managed by the cluster during rollout.\n\nThe resource is a singleton named \"cluster\".\n\nCompatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support.", - "metadata": "metadata is the standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "spec": "spec defines the desired configuration of the CRI-O Credential Provider. This field is required and must be provided when creating the resource.", - "status": "status represents the current state of the CRIOCredentialProviderConfig. When omitted or nil, it indicates that the status has not yet been set by the controller. The controller will populate this field with validation conditions and operational state.", +var map_QueueConfig = map[string]string{ + "": "QueueConfig allows tuning configuration for remote write queue parameters. Configure this when you need to control throughput, backpressure, or retry behavior—for example to avoid overloading the remote endpoint, to reduce memory usage, or to tune for high-cardinality workloads. Consider capacity, maxShards, and batchSendDeadlineSeconds for throughput; minBackoffMilliseconds and maxBackoffMilliseconds for retries; and rateLimitedAction when the remote returns HTTP 429.", + "capacity": "capacity is the number of samples to buffer per shard before we start dropping them. When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time. The default value is 10000. Minimum value is 1. Maximum value is 1000000.", + "maxShards": "maxShards is the maximum number of shards, i.e. amount of concurrency. When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time. The default value is 200. Minimum value is 1. Maximum value is 10000.", + "minShards": "minShards is the minimum number of shards, i.e. amount of concurrency. When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time. The default value is 1. Minimum value is 1. Maximum value is 10000.", + "maxSamplesPerSend": "maxSamplesPerSend is the maximum number of samples per send. When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time. The default value is 1000. Minimum value is 1. Maximum value is 100000.", + "batchSendDeadlineSeconds": "batchSendDeadlineSeconds is the maximum time in seconds a sample will wait in buffer before being sent. When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time. Minimum value is 1 second. Maximum value is 3600 seconds (1 hour).", + "minBackoffMilliseconds": "minBackoffMilliseconds is the minimum retry delay in milliseconds. When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time. Minimum value is 1 millisecond. Maximum value is 3600000 milliseconds (1 hour).", + "maxBackoffMilliseconds": "maxBackoffMilliseconds is the maximum retry delay in milliseconds. When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time. Minimum value is 1 millisecond. Maximum value is 3600000 milliseconds (1 hour).", + "rateLimitedAction": "rateLimitedAction controls what to do when the remote write endpoint returns HTTP 429 (Too Many Requests). When omitted, no retries are performed on rate limit responses. When set to \"Retry\", Prometheus will retry such requests using the backoff settings above. Valid value when set is \"Retry\".", } -func (CRIOCredentialProviderConfig) SwaggerDoc() map[string]string { - return map_CRIOCredentialProviderConfig +func (QueueConfig) SwaggerDoc() map[string]string { + return map_QueueConfig } -var map_CRIOCredentialProviderConfigList = map[string]string{ - "": "CRIOCredentialProviderConfigList contains a list of CRIOCredentialProviderConfig resources\n\nCompatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support.", - "metadata": "metadata is the standard list's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", +var map_RelabelActionConfig = map[string]string{ + "": "RelabelActionConfig represents the action to perform and its configuration. Exactly one action-specific configuration must be specified based on the action type.", + "type": "type specifies the action to perform on the matched labels. Allowed values are Replace, Lowercase, Uppercase, Keep, Drop, KeepEqual, DropEqual, HashMod, LabelMap, LabelDrop, LabelKeep.\n\nWhen set to Replace, regex is matched against the concatenated source_labels; target_label is set to replacement with match group references (${1}, ${2}, ...) substituted. If regex does not match, no replacement takes place.\n\nWhen set to Lowercase, the concatenated source_labels are mapped to their lower case. Requires Prometheus >= v2.36.0.\n\nWhen set to Uppercase, the concatenated source_labels are mapped to their upper case. Requires Prometheus >= v2.36.0.\n\nWhen set to Keep, targets for which regex does not match the concatenated source_labels are dropped.\n\nWhen set to Drop, targets for which regex matches the concatenated source_labels are dropped.\n\nWhen set to KeepEqual, targets for which the concatenated source_labels do not match target_label are dropped. Requires Prometheus >= v2.41.0.\n\nWhen set to DropEqual, targets for which the concatenated source_labels do match target_label are dropped. Requires Prometheus >= v2.41.0.\n\nWhen set to HashMod, target_label is set to the modulus of a hash of the concatenated source_labels.\n\nWhen set to LabelMap, regex is matched against all source label names (not just source_labels); matching label values are copied to new names given by replacement with ${1}, ${2}, ... substituted.\n\nWhen set to LabelDrop, regex is matched against all label names; any label that matches is removed.\n\nWhen set to LabelKeep, regex is matched against all label names; any label that does not match is removed.", + "replace": "replace configures the Replace action. Required when type is Replace, and forbidden otherwise.", + "hashMod": "hashMod configures the HashMod action. Required when type is HashMod, and forbidden otherwise.", + "labelMap": "labelMap configures the LabelMap action. Required when type is LabelMap, and forbidden otherwise.", + "lowercase": "lowercase configures the Lowercase action. Required when type is Lowercase, and forbidden otherwise. Requires Prometheus >= v2.36.0.", + "uppercase": "uppercase configures the Uppercase action. Required when type is Uppercase, and forbidden otherwise. Requires Prometheus >= v2.36.0.", + "keepEqual": "keepEqual configures the KeepEqual action. Required when type is KeepEqual, and forbidden otherwise. Requires Prometheus >= v2.41.0.", + "dropEqual": "dropEqual configures the DropEqual action. Required when type is DropEqual, and forbidden otherwise. Requires Prometheus >= v2.41.0.", } -func (CRIOCredentialProviderConfigList) SwaggerDoc() map[string]string { - return map_CRIOCredentialProviderConfigList +func (RelabelActionConfig) SwaggerDoc() map[string]string { + return map_RelabelActionConfig } -var map_CRIOCredentialProviderConfigSpec = map[string]string{ - "": "CRIOCredentialProviderConfigSpec defines the desired configuration of the CRI-O Credential Provider.", - "matchImages": "matchImages is a list of string patterns used to determine whether the CRI-O credential provider should be invoked for a given image. This list is passed to the kubelet CredentialProviderConfig, and if any pattern matches the requested image, CRI-O credential provider will be invoked to obtain credentials for pulling that image or its mirrors. Depending on the platform, the CRI-O credential provider may be installed alongside an existing platform specific provider. Conflicts between the existing platform specific provider image match configuration and this list will be handled by the following precedence rule: credentials from built-in kubelet providers (e.g., ECR, GCR, ACR) take precedence over those from the CRIOCredentialProviderConfig when both match the same image. To avoid uncertainty, it is recommended to avoid configuring your private image patterns to overlap with existing platform specific provider config(e.g., the entries from https://github.com/openshift/machine-config-operator/blob/main/templates/common/aws/files/etc-kubernetes-credential-providers-ecr-credential-provider.yaml). You can check the resource's Status conditions to see if any entries were ignored due to exact matches with known built-in provider patterns.\n\nThis field is optional, the items of the list must contain between 1 and 50 entries. The list is treated as a set, so duplicate entries are not allowed.\n\nFor more details, see: https://kubernetes.io/docs/tasks/administer-cluster/kubelet-credential-provider/ https://github.com/cri-o/crio-credential-provider#architecture\n\nEach entry in matchImages is a pattern which can optionally contain a port and a path. Each entry must be no longer than 512 characters. Wildcards ('*') are supported for full subdomain labels, such as '*.k8s.io' or 'k8s.*.io', and for top-level domains, such as 'k8s.*' (which matches 'k8s.io' or 'k8s.net'). A global wildcard '*' (matching any domain) is not allowed. Wildcards may replace an entire hostname label (e.g., *.example.com), but they cannot appear within a label (e.g., f*oo.example.com) and are not allowed in the port or path. For example, 'example.*.com' is valid, but 'exa*mple.*.com' is not. Each wildcard matches only a single domain label, so '*.io' does **not** match '*.k8s.io'.\n\nA match exists between an image and a matchImage when all of the below are true: Both contain the same number of domain parts and each part matches. The URL path of an matchImages must be a prefix of the target image URL path. If the matchImages contains a port, then the port must match in the image as well.\n\nExample values of matchImages: - 123456789.dkr.ecr.us-east-1.amazonaws.com - *.azurecr.io - gcr.io - *.*.registry.io - registry.io:8080/path", -} - -func (CRIOCredentialProviderConfigSpec) SwaggerDoc() map[string]string { - return map_CRIOCredentialProviderConfigSpec +var map_RelabelConfig = map[string]string{ + "": "RelabelConfig represents a relabeling rule.", + "name": "name is a unique identifier for this relabel configuration. Must contain only alphanumeric characters, hyphens, and underscores. Must be between 1 and 63 characters in length.", + "sourceLabels": "sourceLabels specifies which label names to extract from each series for this relabeling rule. The values of these labels are joined together using the configured separator, and the resulting string is then matched against the regular expression. If a referenced label does not exist on a series, Prometheus substitutes an empty string. When omitted, the rule operates without extracting source labels (useful for actions like labelmap). Minimum of 1 and maximum of 10 source labels can be specified, each between 1 and 128 characters. Each entry must be unique. Label names beginning with \"__\" (two underscores) are reserved for internal Prometheus use and are not allowed. Label names SHOULD start with a letter (a-z, A-Z) or underscore (_), followed by zero or more letters, digits (0-9), or underscores for best compatibility. While Prometheus supports UTF-8 characters in label names (since v3.0.0), using the recommended character set ensures better compatibility with the wider ecosystem (tooling, third-party instrumentation, etc.).", + "separator": "separator is the character sequence used to join source label values. Common examples: \";\", \",\", \"::\", \"|||\". When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time. The default value is \";\". Must be between 1 and 5 characters in length when specified.", + "regex": "regex is the regular expression to match against the concatenated source label values. Must be a valid RE2 regular expression (https://github.com/google/re2/wiki/Syntax). When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time. The default value is \"(.*)\" to match everything. Must be between 1 and 1000 characters in length when specified.", + "action": "action defines the action to perform on the matched labels and its configuration. Exactly one action-specific configuration must be specified based on the action type.", } -var map_CRIOCredentialProviderConfigStatus = map[string]string{ - "": "CRIOCredentialProviderConfigStatus defines the observed state of CRIOCredentialProviderConfig", - "conditions": "conditions represent the latest available observations of the configuration state. When omitted, it indicates that no conditions have been reported yet. The maximum number of conditions is 16. Conditions are stored as a map keyed by condition type, ensuring uniqueness.\n\nExpected condition types include: \"Validated\": indicates whether the matchImages configuration is valid", +func (RelabelConfig) SwaggerDoc() map[string]string { + return map_RelabelConfig } -func (CRIOCredentialProviderConfigStatus) SwaggerDoc() map[string]string { - return map_CRIOCredentialProviderConfigStatus +var map_RemoteWriteAuthorization = map[string]string{ + "": "RemoteWriteAuthorization defines the authorization method for a remote write endpoint. Exactly one of the nested configs must be set according to the type discriminator.", + "type": "type specifies the authorization method to use. Allowed values are BearerToken, BasicAuth, OAuth2, SigV4, SafeAuthorization, ServiceAccount.\n\nWhen set to BearerToken, the bearer token is read from a Secret referenced by the bearerToken field.\n\nWhen set to BasicAuth, HTTP basic authentication is used; the basicAuth field (username and password from Secrets) must be set.\n\nWhen set to OAuth2, OAuth2 client credentials flow is used; the oauth2 field (clientId, clientSecret, tokenUrl) must be set.\n\nWhen set to SigV4, AWS Signature Version 4 is used for authentication; the sigv4 field must be set.\n\nWhen set to SafeAuthorization, credentials are read from a single Secret key (Prometheus SafeAuthorization pattern). The secret key typically contains a Bearer token. Use the safeAuthorization field.\n\nWhen set to ServiceAccount, the pod's service account token is used for machine identity. No additional field is required; the operator configures the token path.", + "safeAuthorization": "safeAuthorization defines the secret reference containing the credentials for authentication (e.g. Bearer token). Required when type is \"SafeAuthorization\", and forbidden otherwise. Maps to Prometheus SafeAuthorization. The secret must exist in the openshift-monitoring namespace.", + "bearerToken": "bearerToken defines the secret reference containing the bearer token. Required when type is \"BearerToken\", and forbidden otherwise.", + "basicAuth": "basicAuth defines HTTP basic authentication credentials. Required when type is \"BasicAuth\", and forbidden otherwise.", + "oauth2": "oauth2 defines OAuth2 client credentials authentication. Required when type is \"OAuth2\", and forbidden otherwise.", + "sigv4": "sigv4 defines AWS Signature Version 4 authentication. Required when type is \"SigV4\", and forbidden otherwise.", } -var map_ImagePolicy = map[string]string{ - "": "ImagePolicy holds namespace-wide configuration for image signature verification\n\nCompatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support.", - "metadata": "metadata is the standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "spec": "spec holds user settable values for configuration", - "status": "status contains the observed state of the resource.", +func (RemoteWriteAuthorization) SwaggerDoc() map[string]string { + return map_RemoteWriteAuthorization } -func (ImagePolicy) SwaggerDoc() map[string]string { - return map_ImagePolicy +var map_RemoteWriteSpec = map[string]string{ + "": "RemoteWriteSpec represents configuration for remote write endpoints.", + "url": "url is the URL of the remote write endpoint. Must be a valid URL with http or https scheme and a non-empty hostname. Query parameters, fragments, and user information (e.g. user:password@host) are not allowed. Empty string is invalid. Must be between 1 and 2048 characters in length.", + "name": "name is a required identifier for this remote write configuration (name is the list key for the remoteWrite list). This name is used in metrics and logging to differentiate remote write queues. Must contain only alphanumeric characters, hyphens, and underscores. Must be between 1 and 63 characters in length.", + "authorization": "authorization defines the authorization method for the remote write endpoint. When omitted, no authorization is performed. When set, type must be one of BearerToken, BasicAuth, OAuth2, SigV4, SafeAuthorization, or ServiceAccount; the corresponding nested config must be set (ServiceAccount has no config).", + "headers": "headers specifies the custom HTTP headers to be sent along with each remote write request. Sending custom headers makes the configuration of a proxy in between optional and helps the receiver recognize the given source better. Clients MAY allow users to send custom HTTP headers; they MUST NOT allow users to configure them in such a way as to send reserved headers. Headers set by Prometheus cannot be overwritten. When omitted, no custom headers are sent. Maximum of 50 headers can be specified. Each header name must be unique. Each header name must contain only alphanumeric characters, hyphens, and underscores, and must not be a reserved Prometheus header (Host, Authorization, Content-Encoding, Content-Type, X-Prometheus-Remote-Write-Version, User-Agent, Connection, Keep-Alive, Proxy-Authenticate, Proxy-Authorization, WWW-Authenticate).", + "metadataConfig": "metadataConfig configures the sending of series metadata to remote storage. When omitted, no metadata is sent. When set to sendPolicy: Default, metadata is sent using platform-chosen defaults (e.g. send interval 30 seconds). When set to sendPolicy: Custom, metadata is sent using the settings in the custom field (e.g. custom.sendIntervalSeconds).", + "proxyUrl": "proxyUrl defines an optional proxy URL. If the cluster-wide proxy is enabled, it replaces the proxyUrl setting. The cluster-wide proxy supports both HTTP and HTTPS proxies, with HTTPS taking precedence. When omitted, no proxy is used. Must be a valid URL with http or https scheme. Must be between 1 and 2048 characters in length.", + "queueConfig": "queueConfig allows tuning configuration for remote write queue parameters. When omitted, default queue configuration is used.", + "remoteTimeoutSeconds": "remoteTimeoutSeconds defines the timeout in seconds for requests to the remote write endpoint. When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time. Minimum value is 1 second. Maximum value is 600 seconds (10 minutes).", + "exemplarsMode": "exemplarsMode controls whether exemplars are sent via remote write. Valid values are \"Send\", \"DoNotSend\" and omitted. When set to \"Send\", Prometheus is configured to store a maximum of 100,000 exemplars in memory and send them with remote write. Note that this setting only applies to user-defined monitoring. It is not applicable to default in-cluster monitoring. When omitted or set to \"DoNotSend\", exemplars are not sent.", + "tlsConfig": "tlsConfig defines TLS authentication settings for the remote write endpoint. When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time.", + "writeRelabelConfigs": "writeRelabelConfigs is a list of relabeling rules to apply before sending data to the remote endpoint. When omitted, no relabeling is performed and all metrics are sent as-is. Minimum of 1 and maximum of 10 relabeling rules can be specified. Each rule must have a unique name.", } -var map_ImagePolicyFulcioCAWithRekorRootOfTrust = map[string]string{ - "": "ImagePolicyFulcioCAWithRekorRootOfTrust defines the root of trust based on the Fulcio certificate and the Rekor public key.", - "fulcioCAData": "fulcioCAData contains inline base64-encoded data for the PEM format fulcio CA. fulcioCAData must be at most 8192 characters.", - "rekorKeyData": "rekorKeyData contains inline base64-encoded data for the PEM format from the Rekor public key. rekorKeyData must be at most 8192 characters.", - "fulcioSubject": "fulcioSubject specifies OIDC issuer and the email of the Fulcio authentication configuration.", +func (RemoteWriteSpec) SwaggerDoc() map[string]string { + return map_RemoteWriteSpec } -func (ImagePolicyFulcioCAWithRekorRootOfTrust) SwaggerDoc() map[string]string { - return map_ImagePolicyFulcioCAWithRekorRootOfTrust +var map_ReplaceActionConfig = map[string]string{ + "": "ReplaceActionConfig configures the Replace action. Regex is matched against the concatenated source_labels; target_label is set to replacement with match group references (${1}, ${2}, ...) substituted. No replacement if regex does not match.", + "targetLabel": "targetLabel is the label name where the replacement result is written. Must be between 1 and 128 characters in length.", + "replacement": "replacement is the value written to target_label when regex matches; match group references (${1}, ${2}, ...) are substituted. Required when using the Replace action so the intended behavior is explicit and the platform does not need to apply defaults. Use \"$1\" for the first capture group, \"$2\" for the second, etc. Use an empty string (\"\") to explicitly clear the target label value. Must be between 0 and 255 characters in length.", } -var map_ImagePolicyList = map[string]string{ - "": "ImagePolicyList is a list of ImagePolicy resources\n\nCompatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support.", - "metadata": "metadata is the standard list's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", +func (ReplaceActionConfig) SwaggerDoc() map[string]string { + return map_ReplaceActionConfig } -func (ImagePolicyList) SwaggerDoc() map[string]string { - return map_ImagePolicyList +var map_Retention = map[string]string{ + "": "Retention configures how long Prometheus retains metrics data and how much storage it can use.", + "durationInDays": "durationInDays specifies how many days Prometheus will retain metrics data. Prometheus automatically deletes data older than this duration. When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time. The default value is 15. Minimum value is 1 day. Maximum value is 365 days (1 year).", + "sizeInGiB": "sizeInGiB specifies the maximum storage size in gibibytes (GiB) that Prometheus can use for data blocks and the write-ahead log (WAL). When the limit is reached, Prometheus will delete oldest data first. When omitted, no size limit is enforced and Prometheus uses available PersistentVolume capacity. Minimum value is 1 GiB. Maximum value is 16384 GiB (16 TiB).", } -var map_ImagePolicyPKIRootOfTrust = map[string]string{ - "": "ImagePolicyPKIRootOfTrust defines the root of trust based on Root CA(s) and corresponding intermediate certificates.", - "caRootsData": "caRootsData contains base64-encoded data of a certificate bundle PEM file, which contains one or more CA roots in the PEM format. The total length of the data must not exceed 8192 characters. ", - "caIntermediatesData": "caIntermediatesData contains base64-encoded data of a certificate bundle PEM file, which contains one or more intermediate certificates in the PEM format. The total length of the data must not exceed 8192 characters. caIntermediatesData requires caRootsData to be set. ", - "pkiCertificateSubject": "pkiCertificateSubject defines the requirements imposed on the subject to which the certificate was issued.", +func (Retention) SwaggerDoc() map[string]string { + return map_Retention } -func (ImagePolicyPKIRootOfTrust) SwaggerDoc() map[string]string { - return map_ImagePolicyPKIRootOfTrust +var map_SecretKeySelector = map[string]string{ + "": "SecretKeySelector selects a key of a Secret in the `openshift-monitoring` namespace.", + "name": "name is the name of the secret in the `openshift-monitoring` namespace to select from. Must be a valid Kubernetes secret name (lowercase alphanumeric, '-' or '.', start/end with alphanumeric). Must be between 1 and 253 characters in length.", + "key": "key is the key of the secret to select from. Must consist of alphanumeric characters, '-', '_', or '.'. Must be between 1 and 253 characters in length.", } -var map_ImagePolicyPublicKeyRootOfTrust = map[string]string{ - "": "ImagePolicyPublicKeyRootOfTrust defines the root of trust based on a sigstore public key.", - "keyData": "keyData contains inline base64-encoded data for the PEM format public key. KeyData must be at most 8192 characters.", - "rekorKeyData": "rekorKeyData contains inline base64-encoded data for the PEM format from the Rekor public key. rekorKeyData must be at most 8192 characters.", +func (SecretKeySelector) SwaggerDoc() map[string]string { + return map_SecretKeySelector } -func (ImagePolicyPublicKeyRootOfTrust) SwaggerDoc() map[string]string { - return map_ImagePolicyPublicKeyRootOfTrust +var map_Sigv4 = map[string]string{ + "": "Sigv4 defines AWS Signature Version 4 authentication settings. At least one of region, accessKey/secretKey, profile, or roleArn must be set so the platform can perform authentication.", + "region": "region is the AWS region. When omitted, the region is derived from the environment or instance metadata. Must be between 1 and 128 characters.", + "accessKey": "accessKey defines the secret reference containing the AWS access key ID. The secret must exist in the openshift-monitoring namespace. When omitted, the access key is derived from the environment or instance metadata.", + "secretKey": "secretKey defines the secret reference containing the AWS secret access key. The secret must exist in the openshift-monitoring namespace. When omitted, the secret key is derived from the environment or instance metadata.", + "profile": "profile is the named AWS profile used to authenticate. When omitted, the default profile is used. Must be between 1 and 128 characters.", + "roleArn": "roleArn is the AWS Role ARN, an alternative to using AWS API keys. When omitted, API keys are used for authentication. Must be a valid AWS ARN format (e.g., \"arn:aws:iam::123456789012:role/MyRole\"). Must be between 1 and 512 characters.", } -var map_ImagePolicySpec = map[string]string{ - "": "ImagePolicySpec is the specification of the ImagePolicy CRD.", - "scopes": "scopes defines the list of image identities assigned to a policy. Each item refers to a scope in a registry implementing the \"Docker Registry HTTP API V2\". Scopes matching individual images are named Docker references in the fully expanded form, either using a tag or digest. For example, docker.io/library/busybox:latest (not busybox:latest). More general scopes are prefixes of individual-image scopes, and specify a repository (by omitting the tag or digest), a repository namespace, or a registry host (by only specifying the host name and possibly a port number) or a wildcard expression starting with `*.`, for matching all subdomains (not including a port number). Wildcards are only supported for subdomain matching, and may not be used in the middle of the host, i.e. *.example.com is a valid case, but example*.*.com is not. If multiple scopes match a given image, only the policy requirements for the most specific scope apply. The policy requirements for more general scopes are ignored. In addition to setting a policy appropriate for your own deployed applications, make sure that a policy on the OpenShift image repositories quay.io/openshift-release-dev/ocp-release, quay.io/openshift-release-dev/ocp-v4.0-art-dev (or on a more general scope) allows deployment of the OpenShift images required for cluster operation. If a scope is configured in both the ClusterImagePolicy and the ImagePolicy, or if the scope in ImagePolicy is nested under one of the scopes from the ClusterImagePolicy, only the policy from the ClusterImagePolicy will be applied. For additional details about the format, please refer to the document explaining the docker transport field, which can be found at: https://github.com/containers/image/blob/main/docs/containers-policy.json.5.md#docker", - "policy": "policy contains configuration to allow scopes to be verified, and defines how images not matching the verification policy will be treated.", +func (Sigv4) SwaggerDoc() map[string]string { + return map_Sigv4 } -func (ImagePolicySpec) SwaggerDoc() map[string]string { - return map_ImagePolicySpec +var map_TLSConfig = map[string]string{ + "": "TLSConfig represents TLS configuration for Alertmanager connections. At least one TLS configuration option must be specified. For mutual TLS (mTLS), both cert and key must be specified together, or both omitted.", + "ca": "ca is an optional CA certificate to use for TLS connections. When omitted, the system's default CA bundle is used.", + "cert": "cert is an optional client certificate to use for mutual TLS connections. When omitted, no client certificate is presented.", + "key": "key is an optional client key to use for mutual TLS connections. When omitted, no client key is used.", + "serverName": "serverName is an optional server name to use for TLS connections. When specified, must be a valid DNS subdomain as per RFC 1123. When omitted, the server name is derived from the URL. Must be between 1 and 253 characters in length.", + "certificateVerification": "certificateVerification determines the policy for TLS certificate verification. Allowed values are \"Verify\" (performs certificate verification, secure) and \"SkipVerify\" (skips verification, insecure). When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time. The default value is \"Verify\".", } -var map_ImagePolicyStatus = map[string]string{ - "conditions": "conditions provide details on the status of this API Resource.", +func (TLSConfig) SwaggerDoc() map[string]string { + return map_TLSConfig } -func (ImagePolicyStatus) SwaggerDoc() map[string]string { - return map_ImagePolicyStatus +var map_UppercaseActionConfig = map[string]string{ + "": "UppercaseActionConfig configures the Uppercase action. Maps the concatenated source_labels to their upper case and writes to target_label. Requires Prometheus >= v2.36.0.", + "targetLabel": "targetLabel is the label name where the upper-cased value is written. Must be between 1 and 128 characters in length.", } -var map_ImageSigstoreVerificationPolicy = map[string]string{ - "": "ImageSigstoreVerificationPolicy defines the verification policy for the items in the scopes list.", - "rootOfTrust": "rootOfTrust specifies the root of trust for the policy.", - "signedIdentity": "signedIdentity specifies what image identity the signature claims about the image. The required matchPolicy field specifies the approach used in the verification process to verify the identity in the signature and the actual image identity, the default matchPolicy is \"MatchRepoDigestOrExact\".", +func (UppercaseActionConfig) SwaggerDoc() map[string]string { + return map_UppercaseActionConfig } -func (ImageSigstoreVerificationPolicy) SwaggerDoc() map[string]string { - return map_ImageSigstoreVerificationPolicy -} - -var map_PKICertificateSubject = map[string]string{ - "": "PKICertificateSubject defines the requirements imposed on the subject to which the certificate was issued.", - "email": "email specifies the expected email address imposed on the subject to which the certificate was issued, and must match the email address listed in the Subject Alternative Name (SAN) field of the certificate. The email should be a valid email address and at most 320 characters in length.", - "hostname": "hostname specifies the expected hostname imposed on the subject to which the certificate was issued, and it must match the hostname listed in the Subject Alternative Name (SAN) DNS field of the certificate. The hostname should be a valid dns 1123 subdomain name, optionally prefixed by '*.', and at most 253 characters in length. It should consist only of lowercase alphanumeric characters, hyphens, periods and the optional preceding asterisk.", -} - -func (PKICertificateSubject) SwaggerDoc() map[string]string { - return map_PKICertificateSubject -} - -var map_PolicyFulcioSubject = map[string]string{ - "": "PolicyFulcioSubject defines the OIDC issuer and the email of the Fulcio authentication configuration.", - "oidcIssuer": "oidcIssuer contains the expected OIDC issuer. It will be verified that the Fulcio-issued certificate contains a (Fulcio-defined) certificate extension pointing at this OIDC issuer URL. When Fulcio issues certificates, it includes a value based on an URL inside the client-provided ID token. Example: \"https://expected.OIDC.issuer/\"", - "signedEmail": "signedEmail holds the email address the the Fulcio certificate is issued for. Example: \"expected-signing-user@example.com\"", +var map_UserDefinedMonitoring = map[string]string{ + "": "UserDefinedMonitoring config for user-defined projects.", + "mode": "mode defines the different configurations of UserDefinedMonitoring Valid values are Disabled and NamespaceIsolated Disabled disables monitoring for user-defined projects. This restricts the default monitoring stack, installed in the openshift-monitoring project, to monitor only platform namespaces, which prevents any custom monitoring configurations or resources from being applied to user-defined namespaces. NamespaceIsolated enables monitoring for user-defined projects with namespace-scoped tenancy. This ensures that metrics, alerts, and monitoring data are isolated at the namespace level. The current default value is `Disabled`.", } -func (PolicyFulcioSubject) SwaggerDoc() map[string]string { - return map_PolicyFulcioSubject +func (UserDefinedMonitoring) SwaggerDoc() map[string]string { + return map_UserDefinedMonitoring } -var map_PolicyIdentity = map[string]string{ - "": "PolicyIdentity defines image identity the signature claims about the image. When omitted, the default matchPolicy is \"MatchRepoDigestOrExact\".", - "matchPolicy": "matchPolicy sets the type of matching to be used. Valid values are \"MatchRepoDigestOrExact\", \"MatchRepository\", \"ExactRepository\", \"RemapIdentity\". When omitted, the default value is \"MatchRepoDigestOrExact\". If set matchPolicy to ExactRepository, then the exactRepository must be specified. If set matchPolicy to RemapIdentity, then the remapIdentity must be specified. \"MatchRepoDigestOrExact\" means that the identity in the signature must be in the same repository as the image identity if the image identity is referenced by a digest. Otherwise, the identity in the signature must be the same as the image identity. \"MatchRepository\" means that the identity in the signature must be in the same repository as the image identity. \"ExactRepository\" means that the identity in the signature must be in the same repository as a specific identity specified by \"repository\". \"RemapIdentity\" means that the signature must be in the same as the remapped image identity. Remapped image identity is obtained by replacing the \"prefix\" with the specified “signedPrefix” if the the image identity matches the specified remapPrefix.", - "exactRepository": "exactRepository is required if matchPolicy is set to \"ExactRepository\".", - "remapIdentity": "remapIdentity is required if matchPolicy is set to \"RemapIdentity\".", +var map_CRIOCredentialProviderConfig = map[string]string{ + "": "CRIOCredentialProviderConfig holds cluster-wide singleton resource configurations for CRI-O credential provider, the name of this instance is \"cluster\". CRI-O credential provider is a binary shipped with CRI-O that provides a way to obtain container image pull credentials from external sources. For example, it can be used to fetch mirror registry credentials from secrets resources in the cluster within the same namespace the pod will be running in. CRIOCredentialProviderConfig configuration specifies the pod image sources registries that should trigger the CRI-O credential provider execution, which will resolve the CRI-O mirror configurations and obtain the necessary credentials for pod creation. Note: Configuration changes will only take effect after the kubelet restarts, which is automatically managed by the cluster during rollout.\n\nThe resource is a singleton named \"cluster\".\n\nCompatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support.", + "metadata": "metadata is the standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", + "spec": "spec defines the desired configuration of the CRI-O Credential Provider. This field is required and must be provided when creating the resource.", + "status": "status represents the current state of the CRIOCredentialProviderConfig. When omitted or nil, it indicates that the status has not yet been set by the controller. The controller will populate this field with validation conditions and operational state.", } -func (PolicyIdentity) SwaggerDoc() map[string]string { - return map_PolicyIdentity +func (CRIOCredentialProviderConfig) SwaggerDoc() map[string]string { + return map_CRIOCredentialProviderConfig } -var map_PolicyMatchExactRepository = map[string]string{ - "repository": "repository is the reference of the image identity to be matched. The value should be a repository name (by omitting the tag or digest) in a registry implementing the \"Docker Registry HTTP API V2\". For example, docker.io/library/busybox", +var map_CRIOCredentialProviderConfigList = map[string]string{ + "": "CRIOCredentialProviderConfigList contains a list of CRIOCredentialProviderConfig resources\n\nCompatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support.", + "metadata": "metadata is the standard list's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", } -func (PolicyMatchExactRepository) SwaggerDoc() map[string]string { - return map_PolicyMatchExactRepository +func (CRIOCredentialProviderConfigList) SwaggerDoc() map[string]string { + return map_CRIOCredentialProviderConfigList } -var map_PolicyMatchRemapIdentity = map[string]string{ - "prefix": "prefix is the prefix of the image identity to be matched. If the image identity matches the specified prefix, that prefix is replaced by the specified “signedPrefix” (otherwise it is used as unchanged and no remapping takes place). This useful when verifying signatures for a mirror of some other repository namespace that preserves the vendor’s repository structure. The prefix and signedPrefix values can be either host[:port] values (matching exactly the same host[:port], string), repository namespaces, or repositories (i.e. they must not contain tags/digests), and match as prefixes of the fully expanded form. For example, docker.io/library/busybox (not busybox) to specify that single repository, or docker.io/library (not an empty string) to specify the parent namespace of docker.io/library/busybox.", - "signedPrefix": "signedPrefix is the prefix of the image identity to be matched in the signature. The format is the same as \"prefix\". The values can be either host[:port] values (matching exactly the same host[:port], string), repository namespaces, or repositories (i.e. they must not contain tags/digests), and match as prefixes of the fully expanded form. For example, docker.io/library/busybox (not busybox) to specify that single repository, or docker.io/library (not an empty string) to specify the parent namespace of docker.io/library/busybox.", +var map_CRIOCredentialProviderConfigSpec = map[string]string{ + "": "CRIOCredentialProviderConfigSpec defines the desired configuration of the CRI-O Credential Provider.", + "matchImages": "matchImages is a list of string patterns used to determine whether the CRI-O credential provider should be invoked for a given image. This list is passed to the kubelet CredentialProviderConfig, and if any pattern matches the requested image, CRI-O credential provider will be invoked to obtain credentials for pulling that image or its mirrors. Depending on the platform, the CRI-O credential provider may be installed alongside an existing platform specific provider. Conflicts between the existing platform specific provider image match configuration and this list will be handled by the following precedence rule: credentials from built-in kubelet providers (e.g., ECR, GCR, ACR) take precedence over those from the CRIOCredentialProviderConfig when both match the same image. To avoid uncertainty, it is recommended to avoid configuring your private image patterns to overlap with existing platform specific provider config(e.g., the entries from https://github.com/openshift/machine-config-operator/blob/main/templates/common/aws/files/etc-kubernetes-credential-providers-ecr-credential-provider.yaml). You can check the resource's Status conditions to see if any entries were ignored due to exact matches with known built-in provider patterns.\n\nThis field is optional, the items of the list must contain between 1 and 50 entries. The list is treated as a set, so duplicate entries are not allowed.\n\nFor more details, see: https://kubernetes.io/docs/tasks/administer-cluster/kubelet-credential-provider/ https://github.com/cri-o/crio-credential-provider#architecture\n\nEach entry in matchImages is a pattern which can optionally contain a port and a path. Each entry must be no longer than 512 characters. Wildcards ('*') are supported for full subdomain labels, such as '*.k8s.io' or 'k8s.*.io', and for top-level domains, such as 'k8s.*' (which matches 'k8s.io' or 'k8s.net'). A global wildcard '*' (matching any domain) is not allowed. Wildcards may replace an entire hostname label (e.g., *.example.com), but they cannot appear within a label (e.g., f*oo.example.com) and are not allowed in the port or path. For example, 'example.*.com' is valid, but 'exa*mple.*.com' is not. Each wildcard matches only a single domain label, so '*.io' does **not** match '*.k8s.io'.\n\nA match exists between an image and a matchImage when all of the below are true: Both contain the same number of domain parts and each part matches. The URL path of an matchImages must be a prefix of the target image URL path. If the matchImages contains a port, then the port must match in the image as well.\n\nExample values of matchImages: - 123456789.dkr.ecr.us-east-1.amazonaws.com - *.azurecr.io - gcr.io - *.*.registry.io - registry.io:8080/path", } -func (PolicyMatchRemapIdentity) SwaggerDoc() map[string]string { - return map_PolicyMatchRemapIdentity +func (CRIOCredentialProviderConfigSpec) SwaggerDoc() map[string]string { + return map_CRIOCredentialProviderConfigSpec } -var map_PolicyRootOfTrust = map[string]string{ - "": "PolicyRootOfTrust defines the root of trust based on the selected policyType.", - "policyType": "policyType serves as the union's discriminator. Users are required to assign a value to this field, choosing one of the policy types that define the root of trust. \"PublicKey\" indicates that the policy relies on a sigstore publicKey and may optionally use a Rekor verification. \"FulcioCAWithRekor\" indicates that the policy is based on the Fulcio certification and incorporates a Rekor verification. \"PKI\" indicates that the policy is based on the certificates from Bring Your Own Public Key Infrastructure (BYOPKI). This value is enabled by turning on the SigstoreImageVerificationPKI feature gate.", - "publicKey": "publicKey defines the root of trust based on a sigstore public key.", - "fulcioCAWithRekor": "fulcioCAWithRekor defines the root of trust based on the Fulcio certificate and the Rekor public key. For more information about Fulcio and Rekor, please refer to the document at: https://github.com/sigstore/fulcio and https://github.com/sigstore/rekor", - "pki": "pki defines the root of trust based on Bring Your Own Public Key Infrastructure (BYOPKI) Root CA(s) and corresponding intermediate certificates.", +var map_CRIOCredentialProviderConfigStatus = map[string]string{ + "": "CRIOCredentialProviderConfigStatus defines the observed state of CRIOCredentialProviderConfig", + "conditions": "conditions represent the latest available observations of the configuration state. When omitted, it indicates that no conditions have been reported yet. The maximum number of conditions is 16. Conditions are stored as a map keyed by condition type, ensuring uniqueness.\n\nExpected condition types include: \"Validated\": indicates whether the matchImages configuration is valid", } -func (PolicyRootOfTrust) SwaggerDoc() map[string]string { - return map_PolicyRootOfTrust +func (CRIOCredentialProviderConfigStatus) SwaggerDoc() map[string]string { + return map_CRIOCredentialProviderConfigStatus } var map_GatherConfig = map[string]string{ 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 1cf56f549..cd2e2f9e3 100644 --- a/vendor/github.com/openshift/api/operator/v1/types_network.go +++ b/vendor/github.com/openshift/api/operator/v1/types_network.go @@ -398,6 +398,12 @@ type OpenShiftSDNConfig struct { // ovnKubernetesConfig contains the configuration parameters for networks // using the ovn-kubernetes network project +// +openshift:validation:FeatureGateAwareXValidation:featureGate=NoOverlayMode,rule="self.?transport.orValue('') == 'NoOverlay' ? self.?routeAdvertisements.orValue('') == 'Enabled' : true",message="routeAdvertisements must be Enabled when transport is NoOverlay" +// +openshift:validation:FeatureGateAwareXValidation:featureGate=NoOverlayMode,rule="self.?transport.orValue('') == 'NoOverlay' ? has(self.noOverlayConfig) : !has(self.noOverlayConfig)",message="noOverlayConfig must be set if transport is NoOverlay, and is forbidden otherwise" +// +openshift:validation:FeatureGateAwareXValidation:featureGate=NoOverlayMode,rule="self.?noOverlayConfig.routing.orValue('') == 'Managed' ? has(self.bgpManagedConfig) : true",message="bgpManagedConfig is required when noOverlayConfig.routing is Managed" +// +openshift:validation:FeatureGateAwareXValidation:featureGate=NoOverlayMode,rule="!has(self.transport) || self.transport == 'Geneve' || has(oldSelf.transport)",message="transport can only be set to Geneve after installation" +// +openshift:validation:FeatureGateAwareXValidation:featureGate=NoOverlayMode,rule="!has(oldSelf.transport) || has(self.transport)",message="transport may not be removed once set" +// +openshift:validation:FeatureGateAwareXValidation:featureGate=NoOverlayMode,rule="!has(oldSelf.noOverlayConfig) || has(self.noOverlayConfig)",message="noOverlayConfig may not be removed once set" type OVNKubernetesConfig struct { // mtu is the MTU to use for the tunnel interface. This must be 100 // bytes smaller than the uplink mtu. @@ -466,6 +472,38 @@ type OVNKubernetesConfig struct { // current default is "Disabled". // +optional RouteAdvertisements RouteAdvertisementsEnablement `json:"routeAdvertisements,omitempty"` + + // transport sets the transport mode for pods on the default network. + // Allowed values are "NoOverlay" and "Geneve". + // "NoOverlay" avoids tunnel encapsulation, routing pod traffic directly between nodes. + // "Geneve" encapsulates pod traffic using Geneve tunnels between nodes. + // When omitted, this means the user has no opinion and the platform chooses + // a reasonable default which is subject to change over time. + // The current default is "Geneve". + // "NoOverlay" can only be set at installation time and cannot be changed afterwards. + // "Geneve" may be set explicitly at any time to lock in the current default. + // +openshift:enable:FeatureGate=NoOverlayMode + // +kubebuilder:validation:Enum=NoOverlay;Geneve + // +openshift:validation:FeatureGateAwareXValidation:featureGate=NoOverlayMode,rule="self == oldSelf",message="transport is immutable once set" + // +optional + Transport TransportOption `json:"transport,omitempty"` + + // noOverlayConfig contains configuration for no-overlay mode. + // This configuration applies to the default network only. + // It is required when transport is "NoOverlay". + // When omitted, this means the user does not configure no-overlay mode options. + // +openshift:enable:FeatureGate=NoOverlayMode + // +optional + NoOverlayConfig NoOverlayConfig `json:"noOverlayConfig,omitzero,omitempty"` + + // bgpManagedConfig configures the BGP properties for networks (default network or CUDNs) + // in no-overlay mode that specify routing="Managed" in their noOverlayConfig. + // It is required when noOverlayConfig.routing is set to "Managed". + // When omitted, this means the user does not configure BGP for managed routing. + // This field can be set at installation time or on day 2, and can be modified at any time. + // +openshift:enable:FeatureGate=NoOverlayMode + // +optional + BGPManagedConfig BGPManagedConfig `json:"bgpManagedConfig,omitzero,omitempty"` } type IPv4OVNKubernetesConfig struct { @@ -896,3 +934,80 @@ type AdditionalRoutingCapabilities struct { // +kubebuilder:validation:XValidation:rule="self.all(x, self.exists_one(y, x == y))" Providers []RoutingCapabilitiesProvider `json:"providers"` } + +// TransportOption is the type for network transport options +type TransportOption string + +// SNATOption is the type for SNAT configuration options +type SNATOption string + +// RoutingOption is the type for routing configuration options +type RoutingOption string + +// BGPTopology is the type for BGP topology configuration +type BGPTopology string + +const ( + // TransportOptionNoOverlay indicates the network operates in no-overlay mode + TransportOptionNoOverlay TransportOption = "NoOverlay" + // TransportOptionGeneve indicates the network uses Geneve overlay + TransportOptionGeneve TransportOption = "Geneve" + + // SNATEnabled indicates outbound SNAT is enabled + SNATEnabled SNATOption = "Enabled" + // SNATDisabled indicates outbound SNAT is disabled + SNATDisabled SNATOption = "Disabled" + + // RoutingManaged indicates routing is managed by OVN-Kubernetes + RoutingManaged RoutingOption = "Managed" + // RoutingUnmanaged indicates routing is managed by users + RoutingUnmanaged RoutingOption = "Unmanaged" + + // BGPTopologyFullMesh indicates a full mesh BGP topology where every node peers directly with every other node + BGPTopologyFullMesh BGPTopology = "FullMesh" +) + +// NoOverlayConfig contains configuration options for networks operating in no-overlay mode. +type NoOverlayConfig struct { + // outboundSNAT defines the SNAT behavior for outbound traffic from pods. + // Allowed values are "Enabled" and "Disabled". + // When set to "Enabled", SNAT is performed on outbound traffic from pods. + // When set to "Disabled", SNAT is not performed and pod IPs are preserved in outbound traffic. + // This field is required when the network operates in no-overlay mode. + // This field can be set to any value at installation time and can be changed afterwards. + // +kubebuilder:validation:Enum=Enabled;Disabled + // +required + OutboundSNAT SNATOption `json:"outboundSNAT,omitempty"` + + // routing specifies whether the pod network routing is managed by OVN-Kubernetes or users. + // Allowed values are "Managed" and "Unmanaged". + // When set to "Managed", OVN-Kubernetes manages the pod network routing configuration through BGP. + // When set to "Unmanaged", users are responsible for configuring the pod network routing. + // This field is required when the network operates in no-overlay mode. + // This field is immutable once set. + // +kubebuilder:validation:Enum=Managed;Unmanaged + // +kubebuilder:validation:XValidation:rule="self == oldSelf",message="routing is immutable once set" + // +required + Routing RoutingOption `json:"routing,omitempty"` +} + +// BGPManagedConfig contains configuration options for BGP when routing is "Managed". +type BGPManagedConfig struct { + // asNumber is the 2-byte or 4-byte Autonomous System Number (ASN) + // to be used in the generated FRR configuration. + // Valid values are 1 to 4294967295. + // When omitted, this defaults to 64512. + // +kubebuilder:validation:Minimum=1 + // +kubebuilder:validation:Maximum=4294967295 + // +default=64512 + // +optional + ASNumber int64 `json:"asNumber,omitempty"` + + // bgpTopology defines the BGP topology to be used. + // Allowed values are "FullMesh". + // When set to "FullMesh", every node peers directly with every other node via BGP. + // This field is required when BGPManagedConfig is specified. + // +kubebuilder:validation:Enum=FullMesh + // +required + BGPTopology BGPTopology `json:"bgpTopology,omitempty"` +} diff --git a/vendor/github.com/openshift/api/operator/v1/zz_generated.deepcopy.go b/vendor/github.com/openshift/api/operator/v1/zz_generated.deepcopy.go index 3bc6b81de..3d3c8f4f8 100644 --- a/vendor/github.com/openshift/api/operator/v1/zz_generated.deepcopy.go +++ b/vendor/github.com/openshift/api/operator/v1/zz_generated.deepcopy.go @@ -390,6 +390,22 @@ func (in *AzureDiskEncryptionSet) DeepCopy() *AzureDiskEncryptionSet { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BGPManagedConfig) DeepCopyInto(out *BGPManagedConfig) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BGPManagedConfig. +func (in *BGPManagedConfig) DeepCopy() *BGPManagedConfig { + if in == nil { + return nil + } + out := new(BGPManagedConfig) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *BootImageSkewEnforcementConfig) DeepCopyInto(out *BootImageSkewEnforcementConfig) { *out = *in @@ -3665,6 +3681,22 @@ func (in *NetworkStatus) DeepCopy() *NetworkStatus { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NoOverlayConfig) DeepCopyInto(out *NoOverlayConfig) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NoOverlayConfig. +func (in *NoOverlayConfig) DeepCopy() *NoOverlayConfig { + if in == nil { + return nil + } + out := new(NoOverlayConfig) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *NodeDisruptionPolicyClusterStatus) DeepCopyInto(out *NodeDisruptionPolicyClusterStatus) { *out = *in @@ -4158,6 +4190,8 @@ func (in *OVNKubernetesConfig) DeepCopyInto(out *OVNKubernetesConfig) { *out = new(IPv6OVNKubernetesConfig) **out = **in } + out.NoOverlayConfig = in.NoOverlayConfig + out.BGPManagedConfig = in.BGPManagedConfig return } diff --git a/vendor/github.com/openshift/api/operator/v1/zz_generated.featuregated-crd-manifests.yaml b/vendor/github.com/openshift/api/operator/v1/zz_generated.featuregated-crd-manifests.yaml index 1c552b0c0..53cf23ade 100644 --- a/vendor/github.com/openshift/api/operator/v1/zz_generated.featuregated-crd-manifests.yaml +++ b/vendor/github.com/openshift/api/operator/v1/zz_generated.featuregated-crd-manifests.yaml @@ -326,7 +326,8 @@ networks.operator.openshift.io: CRDName: networks.operator.openshift.io Capability: "" Category: "" - FeatureGates: [] + FeatureGates: + - NoOverlayMode FilenameOperatorName: network FilenameOperatorOrdering: "01" FilenameRunLevel: "0000_70" 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 64aac26eb..e35d997a7 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 @@ -1669,6 +1669,16 @@ func (AdditionalRoutingCapabilities) SwaggerDoc() map[string]string { return map_AdditionalRoutingCapabilities } +var map_BGPManagedConfig = map[string]string{ + "": "BGPManagedConfig contains configuration options for BGP when routing is \"Managed\".", + "asNumber": "asNumber is the 2-byte or 4-byte Autonomous System Number (ASN) to be used in the generated FRR configuration. Valid values are 1 to 4294967295. When omitted, this defaults to 64512.", + "bgpTopology": "bgpTopology defines the BGP topology to be used. Allowed values are \"FullMesh\". When set to \"FullMesh\", every node peers directly with every other node via BGP. This field is required when BGPManagedConfig is specified.", +} + +func (BGPManagedConfig) SwaggerDoc() map[string]string { + return map_BGPManagedConfig +} + var map_ClusterNetworkEntry = map[string]string{ "": "ClusterNetworkEntry is a subnet from which to allocate PodIPs. A network of size HostPrefix (in CIDR notation) will be allocated when nodes join the cluster. If the HostPrefix field is not used by the plugin, it can be left unset. Not all network providers support multiple ClusterNetworks", } @@ -1896,6 +1906,16 @@ func (NetworkStatus) SwaggerDoc() map[string]string { return map_NetworkStatus } +var map_NoOverlayConfig = map[string]string{ + "": "NoOverlayConfig contains configuration options for networks operating in no-overlay mode.", + "outboundSNAT": "outboundSNAT defines the SNAT behavior for outbound traffic from pods. Allowed values are \"Enabled\" and \"Disabled\". When set to \"Enabled\", SNAT is performed on outbound traffic from pods. When set to \"Disabled\", SNAT is not performed and pod IPs are preserved in outbound traffic. This field is required when the network operates in no-overlay mode. This field can be set to any value at installation time and can be changed afterwards.", + "routing": "routing specifies whether the pod network routing is managed by OVN-Kubernetes or users. Allowed values are \"Managed\" and \"Unmanaged\". When set to \"Managed\", OVN-Kubernetes manages the pod network routing configuration through BGP. When set to \"Unmanaged\", users are responsible for configuring the pod network routing. This field is required when the network operates in no-overlay mode. This field is immutable once set.", +} + +func (NoOverlayConfig) SwaggerDoc() map[string]string { + return map_NoOverlayConfig +} + var map_OVNKubernetesConfig = map[string]string{ "": "ovnKubernetesConfig contains the configuration parameters for networks using the ovn-kubernetes network project", "mtu": "mtu is the MTU to use for the tunnel interface. This must be 100 bytes smaller than the uplink mtu. Default is 1400", @@ -1910,6 +1930,9 @@ var map_OVNKubernetesConfig = map[string]string{ "ipv4": "ipv4 allows users to configure IP settings for IPv4 connections. When ommitted, this means no opinions and the default configuration is used. Check individual fields within ipv4 for details of default values.", "ipv6": "ipv6 allows users to configure IP settings for IPv6 connections. When ommitted, this means no opinions and the default configuration is used. Check individual fields within ipv4 for details of default values.", "routeAdvertisements": "routeAdvertisements determines if the functionality to advertise cluster network routes through a dynamic routing protocol, such as BGP, is enabled or not. This functionality is configured through the ovn-kubernetes RouteAdvertisements CRD. Requires the 'FRR' routing capability provider to be enabled as an additional routing capability. Allowed values are \"Enabled\", \"Disabled\" and ommited. When omitted, this means the user has no opinion and the platform is left to choose reasonable defaults. These defaults are subject to change over time. The current default is \"Disabled\".", + "transport": "transport sets the transport mode for pods on the default network. Allowed values are \"NoOverlay\" and \"Geneve\". \"NoOverlay\" avoids tunnel encapsulation, routing pod traffic directly between nodes. \"Geneve\" encapsulates pod traffic using Geneve tunnels between nodes. When omitted, this means the user has no opinion and the platform chooses a reasonable default which is subject to change over time. The current default is \"Geneve\". \"NoOverlay\" can only be set at installation time and cannot be changed afterwards. \"Geneve\" may be set explicitly at any time to lock in the current default.", + "noOverlayConfig": "noOverlayConfig contains configuration for no-overlay mode. This configuration applies to the default network only. It is required when transport is \"NoOverlay\". When omitted, this means the user does not configure no-overlay mode options.", + "bgpManagedConfig": "bgpManagedConfig configures the BGP properties for networks (default network or CUDNs) in no-overlay mode that specify routing=\"Managed\" in their noOverlayConfig. It is required when noOverlayConfig.routing is set to \"Managed\". When omitted, this means the user does not configure BGP for managed routing. This field can be set at installation time or on day 2, and can be modified at any time.", } func (OVNKubernetesConfig) SwaggerDoc() map[string]string { diff --git a/vendor/github.com/openshift/client-go/config/applyconfigurations/config/v1/apiserverspec.go b/vendor/github.com/openshift/client-go/config/applyconfigurations/config/v1/apiserverspec.go index 5b674ae05..42392a353 100644 --- a/vendor/github.com/openshift/client-go/config/applyconfigurations/config/v1/apiserverspec.go +++ b/vendor/github.com/openshift/client-go/config/applyconfigurations/config/v1/apiserverspec.go @@ -2,6 +2,10 @@ package v1 +import ( + configv1 "github.com/openshift/api/config/v1" +) + // APIServerSpecApplyConfiguration represents a declarative configuration of the APIServerSpec type for use // with apply. type APIServerSpecApplyConfiguration struct { @@ -26,6 +30,37 @@ type APIServerSpecApplyConfiguration struct { // When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time. // The current default is the Intermediate profile. TLSSecurityProfile *TLSSecurityProfileApplyConfiguration `json:"tlsSecurityProfile,omitempty"` + // tlsAdherence controls if components in the cluster adhere to the TLS security profile + // configured on this APIServer resource. + // + // Valid values are "LegacyAdheringComponentsOnly" and "StrictAllComponents". + // + // When set to "LegacyAdheringComponentsOnly", components that already honor the + // cluster-wide TLS profile continue to do so. Components that do not already honor + // it continue to use their individual TLS configurations. + // + // When set to "StrictAllComponents", all components must honor the configured TLS + // profile unless they have a component-specific TLS configuration that overrides + // it. This mode is recommended for security-conscious deployments and is required + // for certain compliance frameworks. + // + // Note: Some components such as Kubelet and IngressController have their own + // dedicated TLS configuration mechanisms via KubeletConfig and IngressController + // CRs respectively. When these component-specific TLS configurations are set, + // they take precedence over the cluster-wide tlsSecurityProfile. When not set, + // these components fall back to the cluster-wide default. + // + // Components that encounter an unknown value for tlsAdherence should treat it + // as "StrictAllComponents" and log a warning to ensure forward compatibility + // while defaulting to the more secure behavior. + // + // This field is optional. + // When omitted, this means the user has no opinion and the platform is left + // to choose reasonable defaults. These defaults are subject to change over time. + // The current default is LegacyAdheringComponentsOnly. + // + // Once set, this field may be changed to a different value, but may not be removed. + TLSAdherence *configv1.TLSAdherencePolicy `json:"tlsAdherence,omitempty"` // audit specifies the settings for audit configuration to be applied to all OpenShift-provided // API servers in the cluster. Audit *AuditApplyConfiguration `json:"audit,omitempty"` @@ -79,6 +114,14 @@ func (b *APIServerSpecApplyConfiguration) WithTLSSecurityProfile(value *TLSSecur return b } +// WithTLSAdherence sets the TLSAdherence field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the TLSAdherence field is set to the value of the last call. +func (b *APIServerSpecApplyConfiguration) WithTLSAdherence(value configv1.TLSAdherencePolicy) *APIServerSpecApplyConfiguration { + b.TLSAdherence = &value + return b +} + // WithAudit sets the Audit field in the declarative configuration to the given value // and returns the receiver, so that objects can be built by chaining "With" function invocations. // If called multiple times, the Audit field is set to the value of the last call. diff --git a/vendor/github.com/openshift/client-go/config/applyconfigurations/config/v1/update.go b/vendor/github.com/openshift/client-go/config/applyconfigurations/config/v1/update.go index 6151b6b13..db1128deb 100644 --- a/vendor/github.com/openshift/client-go/config/applyconfigurations/config/v1/update.go +++ b/vendor/github.com/openshift/client-go/config/applyconfigurations/config/v1/update.go @@ -47,6 +47,19 @@ type UpdateApplyConfiguration struct { // acceptRisks must not contain more than 1000 entries. // Entries in this list must be unique. AcceptRisks []AcceptRiskApplyConfiguration `json:"acceptRisks,omitempty"` + // mode determines how an update should be processed. + // The only valid value is "Preflight". + // When omitted, the cluster performs a normal update by applying the specified version or image to the cluster. + // This is the standard update behavior. + // When set to "Preflight", the cluster runs compatibility checks against the target release without + // performing an actual update. Compatibility results, including any detected risks, are reported + // in status.conditionalUpdates and status.conditionalUpdateRisks alongside risks from the update + // recommendation service. + // This allows administrators to assess update readiness and address issues before committing to the update. + // Preflight mode is particularly useful for skip-level updates where upgrade compatibility needs to be + // verified across multiple minor versions. + // When mode is set to "Preflight", the same rules for version, image, and architecture apply as for normal updates. + Mode *configv1.UpdateMode `json:"mode,omitempty"` } // UpdateApplyConfiguration constructs a declarative configuration of the Update type for use with @@ -99,3 +112,11 @@ func (b *UpdateApplyConfiguration) WithAcceptRisks(values ...*AcceptRiskApplyCon } return b } + +// WithMode sets the Mode field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Mode field is set to the value of the last call. +func (b *UpdateApplyConfiguration) WithMode(value configv1.UpdateMode) *UpdateApplyConfiguration { + b.Mode = &value + return b +} diff --git a/vendor/github.com/openshift/client-go/config/applyconfigurations/internal/internal.go b/vendor/github.com/openshift/client-go/config/applyconfigurations/internal/internal.go index 8c2fd43b2..199221a07 100644 --- a/vendor/github.com/openshift/client-go/config/applyconfigurations/internal/internal.go +++ b/vendor/github.com/openshift/client-go/config/applyconfigurations/internal/internal.go @@ -23,92 +23,80 @@ func Parser() *typed.Parser { var parserOnce sync.Once var parser *typed.Parser var schemaYAML = typed.YAMLObject(`types: -- name: com.github.openshift.api.config.v1.APIServer +- name: Condition.v1.meta.apis.pkg.apimachinery.k8s.io map: fields: - - name: apiVersion + - name: lastTransitionTime type: - scalar: string - - name: kind + namedType: Time.v1.meta.apis.pkg.apimachinery.k8s.io + - name: message type: scalar: string - - name: metadata + default: "" + - name: observedGeneration type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta - default: {} - - name: spec + scalar: numeric + - name: reason type: - namedType: com.github.openshift.api.config.v1.APIServerSpec - default: {} + scalar: string + default: "" - name: status type: - namedType: com.github.openshift.api.config.v1.APIServerStatus - default: {} -- name: com.github.openshift.api.config.v1.APIServerEncryption - map: - fields: - - name: kms - type: - namedType: com.github.openshift.api.config.v1.KMSConfig + scalar: string + default: "" - name: type type: scalar: string - unions: - - discriminator: type - fields: - - fieldName: kms - discriminatorValue: KMS -- name: com.github.openshift.api.config.v1.APIServerNamedServingCert + default: "" +- name: ConfigMapKeySelector.v1.core.api.k8s.io map: fields: - - name: names + - name: key type: - list: - elementType: - scalar: string - elementRelationship: atomic - - name: servingCertificate + scalar: string + default: "" + - name: name type: - namedType: com.github.openshift.api.config.v1.SecretNameReference - default: {} -- name: com.github.openshift.api.config.v1.APIServerServingCerts + scalar: string + default: "" + - name: optional + type: + scalar: boolean + elementRelationship: atomic +- name: Duration.v1.meta.apis.pkg.apimachinery.k8s.io + scalar: string +- name: EnvVar.v1.core.api.k8s.io map: fields: - - name: namedCertificates + - name: name type: - list: - elementType: - namedType: com.github.openshift.api.config.v1.APIServerNamedServingCert - elementRelationship: atomic -- name: com.github.openshift.api.config.v1.APIServerSpec + scalar: string + default: "" + - name: value + type: + scalar: string + - name: valueFrom + type: + namedType: EnvVarSource.v1.core.api.k8s.io +- name: EnvVarSource.v1.core.api.k8s.io map: fields: - - name: additionalCORSAllowedOrigins - type: - list: - elementType: - scalar: string - elementRelationship: atomic - - name: audit + - name: configMapKeyRef type: - namedType: com.github.openshift.api.config.v1.Audit - default: {} - - name: clientCA + namedType: ConfigMapKeySelector.v1.core.api.k8s.io + - name: fieldRef type: - namedType: com.github.openshift.api.config.v1.ConfigMapNameReference - default: {} - - name: encryption + namedType: ObjectFieldSelector.v1.core.api.k8s.io + - name: fileKeyRef type: - namedType: com.github.openshift.api.config.v1.APIServerEncryption - default: {} - - name: servingCerts + namedType: FileKeySelector.v1.core.api.k8s.io + - name: resourceFieldRef type: - namedType: com.github.openshift.api.config.v1.APIServerServingCerts - default: {} - - name: tlsSecurityProfile + namedType: ResourceFieldSelector.v1.core.api.k8s.io + - name: secretKeyRef type: - namedType: com.github.openshift.api.config.v1.TLSSecurityProfile -- name: com.github.openshift.api.config.v1.APIServerStatus + namedType: SecretKeySelector.v1.core.api.k8s.io +- name: FieldsV1.v1.meta.apis.pkg.apimachinery.k8s.io map: elementType: scalar: untyped @@ -120,201 +108,229 @@ var schemaYAML = typed.YAMLObject(`types: elementType: namedType: __untyped_deduced_ elementRelationship: separable -- name: com.github.openshift.api.config.v1.AWSDNSSpec +- name: FileKeySelector.v1.core.api.k8s.io map: fields: - - name: privateZoneIAMRole + - name: key type: scalar: string default: "" -- name: com.github.openshift.api.config.v1.AWSIngressSpec - map: - fields: - - name: type + - name: optional type: - scalar: string - default: "" - unions: - - discriminator: type -- name: com.github.openshift.api.config.v1.AWSKMSConfig - map: - fields: - - name: keyARN + scalar: boolean + default: false + - name: path type: scalar: string default: "" - - name: region + - name: volumeName type: scalar: string default: "" -- name: com.github.openshift.api.config.v1.AWSPlatformSpec + elementRelationship: atomic +- name: LabelSelector.v1.meta.apis.pkg.apimachinery.k8s.io map: fields: - - name: serviceEndpoints + - name: matchExpressions type: list: elementType: - namedType: com.github.openshift.api.config.v1.AWSServiceEndpoint + namedType: LabelSelectorRequirement.v1.meta.apis.pkg.apimachinery.k8s.io elementRelationship: atomic -- name: com.github.openshift.api.config.v1.AWSPlatformStatus + - name: matchLabels + type: + map: + elementType: + scalar: string + elementRelationship: atomic +- name: LabelSelectorRequirement.v1.meta.apis.pkg.apimachinery.k8s.io map: fields: - - name: cloudLoadBalancerConfig - type: - namedType: com.github.openshift.api.config.v1.CloudLoadBalancerConfig - default: - dnsType: PlatformDefault - - name: ipFamily + - name: key type: scalar: string - default: IPv4 - - name: region + default: "" + - name: operator type: scalar: string default: "" - - name: resourceTags - type: - list: - elementType: - namedType: com.github.openshift.api.config.v1.AWSResourceTag - elementRelationship: atomic - - name: serviceEndpoints + - name: values type: list: elementType: - namedType: com.github.openshift.api.config.v1.AWSServiceEndpoint + scalar: string elementRelationship: atomic -- name: com.github.openshift.api.config.v1.AWSResourceTag +- name: ManagedFieldsEntry.v1.meta.apis.pkg.apimachinery.k8s.io map: fields: - - name: key + - name: apiVersion type: scalar: string - default: "" - - name: value + - name: fieldsType type: scalar: string - default: "" -- name: com.github.openshift.api.config.v1.AWSServiceEndpoint - map: - fields: - - name: name + - name: fieldsV1 + type: + namedType: FieldsV1.v1.meta.apis.pkg.apimachinery.k8s.io + - name: manager type: scalar: string - default: "" - - name: url + - name: operation type: scalar: string - default: "" -- name: com.github.openshift.api.config.v1.AcceptRisk - map: - fields: - - name: name + - name: subresource type: scalar: string -- name: com.github.openshift.api.config.v1.AlibabaCloudPlatformSpec - map: - elementType: - scalar: untyped - list: - elementType: - namedType: __untyped_atomic_ - elementRelationship: atomic - map: - elementType: - namedType: __untyped_deduced_ - elementRelationship: separable -- name: com.github.openshift.api.config.v1.AlibabaCloudPlatformStatus + - name: time + type: + namedType: Time.v1.meta.apis.pkg.apimachinery.k8s.io +- name: ModifyVolumeStatus.v1.core.api.k8s.io map: fields: - - name: region + - name: status type: scalar: string default: "" - - name: resourceGroupID + - name: targetVolumeAttributesClassName type: scalar: string - - name: resourceTags - type: - list: - elementType: - namedType: com.github.openshift.api.config.v1.AlibabaCloudResourceTag - elementRelationship: associative - keys: - - key -- name: com.github.openshift.api.config.v1.AlibabaCloudResourceTag +- name: ObjectFieldSelector.v1.core.api.k8s.io map: fields: - - name: key + - name: apiVersion type: scalar: string - default: "" - - name: value + - name: fieldPath type: scalar: string default: "" -- name: com.github.openshift.api.config.v1.Audit + elementRelationship: atomic +- name: ObjectMeta.v1.meta.apis.pkg.apimachinery.k8s.io map: fields: - - name: customRules + - name: annotations + type: + map: + elementType: + scalar: string + - name: creationTimestamp + type: + namedType: Time.v1.meta.apis.pkg.apimachinery.k8s.io + - name: deletionGracePeriodSeconds + type: + scalar: numeric + - name: deletionTimestamp + type: + namedType: Time.v1.meta.apis.pkg.apimachinery.k8s.io + - name: finalizers type: list: elementType: - namedType: com.github.openshift.api.config.v1.AuditCustomRule + scalar: string elementRelationship: associative - keys: - - group - - name: profile + - name: generateName type: scalar: string -- name: com.github.openshift.api.config.v1.AuditCustomRule - map: - fields: - - name: group + - name: generation type: - scalar: string - default: "" - - name: profile + scalar: numeric + - name: labels type: - scalar: string - default: "" -- name: com.github.openshift.api.config.v1.Authentication - map: - fields: - - name: apiVersion + map: + elementType: + scalar: string + - name: managedFields + type: + list: + elementType: + namedType: ManagedFieldsEntry.v1.meta.apis.pkg.apimachinery.k8s.io + elementRelationship: atomic + - name: name type: scalar: string - - name: kind + - name: namespace type: scalar: string - - name: metadata + - name: ownerReferences type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta - default: {} + list: + elementType: + namedType: OwnerReference.v1.meta.apis.pkg.apimachinery.k8s.io + elementRelationship: associative + keys: + - uid + - name: resourceVersion + type: + scalar: string + - name: selfLink + type: + scalar: string + - name: uid + type: + scalar: string +- name: OwnerReference.v1.meta.apis.pkg.apimachinery.k8s.io + map: + fields: + - name: apiVersion + type: + scalar: string + default: "" + - name: blockOwnerDeletion + type: + scalar: boolean + - name: controller + type: + scalar: boolean + - name: kind + type: + scalar: string + default: "" + - name: name + type: + scalar: string + default: "" + - name: uid + type: + scalar: string + default: "" + elementRelationship: atomic +- name: PersistentVolumeClaim.v1.core.api.k8s.io + map: + fields: + - name: apiVersion + type: + scalar: string + - name: kind + type: + scalar: string + - name: metadata + type: + namedType: ObjectMeta.v1.meta.apis.pkg.apimachinery.k8s.io + default: {} - name: spec type: - namedType: com.github.openshift.api.config.v1.AuthenticationSpec + namedType: PersistentVolumeClaimSpec.v1.core.api.k8s.io default: {} - name: status type: - namedType: com.github.openshift.api.config.v1.AuthenticationStatus + namedType: PersistentVolumeClaimStatus.v1.core.api.k8s.io default: {} -- name: com.github.openshift.api.config.v1.AuthenticationSpec +- name: PersistentVolumeClaimCondition.v1.core.api.k8s.io map: fields: - - name: oauthMetadata + - name: lastProbeTime type: - namedType: com.github.openshift.api.config.v1.ConfigMapNameReference - default: {} - - name: oidcProviders + namedType: Time.v1.meta.apis.pkg.apimachinery.k8s.io + - name: lastTransitionTime type: - list: - elementType: - namedType: com.github.openshift.api.config.v1.OIDCProvider - elementRelationship: associative - keys: - - name - - name: serviceAccountIssuer + namedType: Time.v1.meta.apis.pkg.apimachinery.k8s.io + - name: message + type: + scalar: string + - name: reason + type: + scalar: string + - name: status type: scalar: string default: "" @@ -322,32 +338,85 @@ var schemaYAML = typed.YAMLObject(`types: type: scalar: string default: "" - - name: webhookTokenAuthenticator - type: - namedType: com.github.openshift.api.config.v1.WebhookTokenAuthenticator - - name: webhookTokenAuthenticators +- name: PersistentVolumeClaimSpec.v1.core.api.k8s.io + map: + fields: + - name: accessModes type: list: elementType: - namedType: com.github.openshift.api.config.v1.DeprecatedWebhookTokenAuthenticator + scalar: string elementRelationship: atomic -- name: com.github.openshift.api.config.v1.AuthenticationStatus + - name: dataSource + type: + namedType: TypedLocalObjectReference.v1.core.api.k8s.io + - name: dataSourceRef + type: + namedType: TypedObjectReference.v1.core.api.k8s.io + - name: resources + type: + namedType: VolumeResourceRequirements.v1.core.api.k8s.io + default: {} + - name: selector + type: + namedType: LabelSelector.v1.meta.apis.pkg.apimachinery.k8s.io + - name: storageClassName + type: + scalar: string + - name: volumeAttributesClassName + type: + scalar: string + - name: volumeMode + type: + scalar: string + - name: volumeName + type: + scalar: string +- name: PersistentVolumeClaimStatus.v1.core.api.k8s.io map: fields: - - name: integratedOAuthMetadata + - name: accessModes type: - namedType: com.github.openshift.api.config.v1.ConfigMapNameReference - default: {} - - name: oidcClients + list: + elementType: + scalar: string + elementRelationship: atomic + - name: allocatedResourceStatuses + type: + map: + elementType: + scalar: string + elementRelationship: separable + - name: allocatedResources + type: + map: + elementType: + namedType: Quantity.resource.api.pkg.apimachinery.k8s.io + - name: capacity + type: + map: + elementType: + namedType: Quantity.resource.api.pkg.apimachinery.k8s.io + - name: conditions type: list: elementType: - namedType: com.github.openshift.api.config.v1.OIDCClientStatus + namedType: PersistentVolumeClaimCondition.v1.core.api.k8s.io elementRelationship: associative keys: - - componentNamespace - - componentName -- name: com.github.openshift.api.config.v1.AzurePlatformSpec + - type + - name: currentVolumeAttributesClassName + type: + scalar: string + - name: modifyVolumeStatus + type: + namedType: ModifyVolumeStatus.v1.core.api.k8s.io + - name: phase + type: + scalar: string +- name: Quantity.resource.api.pkg.apimachinery.k8s.io + scalar: string +- name: RawExtension.runtime.pkg.apimachinery.k8s.io map: elementType: scalar: untyped @@ -359,136 +428,165 @@ var schemaYAML = typed.YAMLObject(`types: elementType: namedType: __untyped_deduced_ elementRelationship: separable -- name: com.github.openshift.api.config.v1.AzurePlatformStatus +- name: ResourceClaim.v1.core.api.k8s.io map: fields: - - name: armEndpoint + - name: name type: scalar: string - - name: cloudLoadBalancerConfig - type: - namedType: com.github.openshift.api.config.v1.CloudLoadBalancerConfig - default: - dnsType: PlatformDefault - - name: cloudName + default: "" + - name: request type: scalar: string - - name: ipFamily +- name: ResourceFieldSelector.v1.core.api.k8s.io + map: + fields: + - name: containerName type: scalar: string - default: IPv4 - - name: networkResourceGroupName + - name: divisor type: - scalar: string - - name: resourceGroupName + namedType: Quantity.resource.api.pkg.apimachinery.k8s.io + - name: resource type: scalar: string default: "" - - name: resourceTags + elementRelationship: atomic +- name: ResourceRequirements.v1.core.api.k8s.io + map: + fields: + - name: claims type: list: elementType: - namedType: com.github.openshift.api.config.v1.AzureResourceTag - elementRelationship: atomic -- name: com.github.openshift.api.config.v1.AzureResourceTag + namedType: ResourceClaim.v1.core.api.k8s.io + elementRelationship: associative + keys: + - name + - name: limits + type: + map: + elementType: + namedType: Quantity.resource.api.pkg.apimachinery.k8s.io + - name: requests + type: + map: + elementType: + namedType: Quantity.resource.api.pkg.apimachinery.k8s.io +- name: SecretKeySelector.v1.core.api.k8s.io map: fields: - name: key type: scalar: string default: "" - - name: value + - name: name type: scalar: string default: "" -- name: com.github.openshift.api.config.v1.BareMetalPlatformLoadBalancer + - name: optional + type: + scalar: boolean + elementRelationship: atomic +- name: Time.v1.meta.apis.pkg.apimachinery.k8s.io + scalar: untyped +- name: Toleration.v1.core.api.k8s.io map: fields: - - name: type + - name: effect type: scalar: string - default: OpenShiftManagedDefault - unions: - - discriminator: type -- name: com.github.openshift.api.config.v1.BareMetalPlatformSpec + - name: key + type: + scalar: string + - name: operator + type: + scalar: string + - name: tolerationSeconds + type: + scalar: numeric + - name: value + type: + scalar: string +- name: TopologySpreadConstraint.v1.core.api.k8s.io map: fields: - - name: apiServerInternalIPs + - name: labelSelector type: - list: - elementType: - scalar: string - elementRelationship: atomic - - name: ingressIPs + namedType: LabelSelector.v1.meta.apis.pkg.apimachinery.k8s.io + - name: matchLabelKeys type: list: elementType: scalar: string elementRelationship: atomic - - name: machineNetworks + - name: maxSkew type: - list: - elementType: - scalar: string - elementRelationship: atomic -- name: com.github.openshift.api.config.v1.BareMetalPlatformStatus - map: - fields: - - name: apiServerInternalIP + scalar: numeric + default: 0 + - name: minDomains + type: + scalar: numeric + - name: nodeAffinityPolicy type: scalar: string - - name: apiServerInternalIPs + - name: nodeTaintsPolicy type: - list: - elementType: - scalar: string - elementRelationship: atomic - - name: dnsRecordsType + scalar: string + - name: topologyKey type: scalar: string - - name: ingressIP + default: "" + - name: whenUnsatisfiable type: scalar: string - - name: ingressIPs + default: "" +- name: TypedLocalObjectReference.v1.core.api.k8s.io + map: + fields: + - name: apiGroup type: - list: - elementType: - scalar: string - elementRelationship: atomic - - name: loadBalancer + scalar: string + - name: kind type: - namedType: com.github.openshift.api.config.v1.BareMetalPlatformLoadBalancer - default: - type: OpenShiftManagedDefault - - name: machineNetworks - type: - list: - elementType: - scalar: string - elementRelationship: atomic - - name: nodeDNSIP + scalar: string + default: "" + - name: name type: scalar: string -- name: com.github.openshift.api.config.v1.BasicAuthIdentityProvider + default: "" + elementRelationship: atomic +- name: TypedObjectReference.v1.core.api.k8s.io map: fields: - - name: ca - type: - namedType: com.github.openshift.api.config.v1.ConfigMapNameReference - default: {} - - name: tlsClientCert + - name: apiGroup type: - namedType: com.github.openshift.api.config.v1.SecretNameReference - default: {} - - name: tlsClientKey + scalar: string + - name: kind type: - namedType: com.github.openshift.api.config.v1.SecretNameReference - default: {} - - name: url + scalar: string + default: "" + - name: name type: scalar: string default: "" -- name: com.github.openshift.api.config.v1.Build + - name: namespace + type: + scalar: string +- name: VolumeResourceRequirements.v1.core.api.k8s.io + map: + fields: + - name: limits + type: + map: + elementType: + namedType: Quantity.resource.api.pkg.apimachinery.k8s.io + - name: requests + type: + map: + elementType: + namedType: Quantity.resource.api.pkg.apimachinery.k8s.io +- name: com.github.openshift.api.config.v1.APIServer map: fields: - name: apiVersion @@ -499,205 +597,185 @@ var schemaYAML = typed.YAMLObject(`types: scalar: string - name: metadata type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta + namedType: ObjectMeta.v1.meta.apis.pkg.apimachinery.k8s.io default: {} - name: spec type: - namedType: com.github.openshift.api.config.v1.BuildSpec + namedType: com.github.openshift.api.config.v1.APIServerSpec default: {} -- name: com.github.openshift.api.config.v1.BuildDefaults + - name: status + type: + namedType: com.github.openshift.api.config.v1.APIServerStatus + default: {} +- name: com.github.openshift.api.config.v1.APIServerEncryption map: fields: - - name: defaultProxy - type: - namedType: com.github.openshift.api.config.v1.ProxySpec - - name: env + - name: kms type: - list: - elementType: - namedType: io.k8s.api.core.v1.EnvVar - elementRelationship: atomic - - name: gitProxy + namedType: com.github.openshift.api.config.v1.KMSConfig + - name: type type: - namedType: com.github.openshift.api.config.v1.ProxySpec - - name: imageLabels + scalar: string + unions: + - discriminator: type + fields: + - fieldName: kms + discriminatorValue: KMS +- name: com.github.openshift.api.config.v1.APIServerNamedServingCert + map: + fields: + - name: names type: list: elementType: - namedType: com.github.openshift.api.config.v1.ImageLabel + scalar: string elementRelationship: atomic - - name: resources + - name: servingCertificate type: - namedType: io.k8s.api.core.v1.ResourceRequirements + namedType: com.github.openshift.api.config.v1.SecretNameReference default: {} -- name: com.github.openshift.api.config.v1.BuildOverrides +- name: com.github.openshift.api.config.v1.APIServerServingCerts map: fields: - - name: forcePull - type: - scalar: boolean - - name: imageLabels + - name: namedCertificates type: list: elementType: - namedType: com.github.openshift.api.config.v1.ImageLabel + namedType: com.github.openshift.api.config.v1.APIServerNamedServingCert elementRelationship: atomic - - name: nodeSelector - type: - map: - elementType: - scalar: string - - name: tolerations +- name: com.github.openshift.api.config.v1.APIServerSpec + map: + fields: + - name: additionalCORSAllowedOrigins type: list: elementType: - namedType: io.k8s.api.core.v1.Toleration + scalar: string elementRelationship: atomic -- name: com.github.openshift.api.config.v1.BuildSpec - map: - fields: - - name: additionalTrustedCA + - name: audit + type: + namedType: com.github.openshift.api.config.v1.Audit + default: {} + - name: clientCA type: namedType: com.github.openshift.api.config.v1.ConfigMapNameReference default: {} - - name: buildDefaults + - name: encryption type: - namedType: com.github.openshift.api.config.v1.BuildDefaults + namedType: com.github.openshift.api.config.v1.APIServerEncryption default: {} - - name: buildOverrides + - name: servingCerts type: - namedType: com.github.openshift.api.config.v1.BuildOverrides + namedType: com.github.openshift.api.config.v1.APIServerServingCerts default: {} -- name: com.github.openshift.api.config.v1.CloudControllerManagerStatus + - name: tlsSecurityProfile + type: + namedType: com.github.openshift.api.config.v1.TLSSecurityProfile +- name: com.github.openshift.api.config.v1.APIServerStatus + map: + elementType: + scalar: untyped + list: + elementType: + namedType: __untyped_atomic_ + elementRelationship: atomic + map: + elementType: + namedType: __untyped_deduced_ + elementRelationship: separable +- name: com.github.openshift.api.config.v1.AWSDNSSpec map: fields: - - name: state + - name: privateZoneIAMRole type: scalar: string default: "" -- name: com.github.openshift.api.config.v1.CloudLoadBalancerConfig +- name: com.github.openshift.api.config.v1.AWSIngressSpec map: fields: - - name: clusterHosted - type: - namedType: com.github.openshift.api.config.v1.CloudLoadBalancerIPs - - name: dnsType + - name: type type: scalar: string - default: PlatformDefault + default: "" unions: - - discriminator: dnsType - fields: - - fieldName: clusterHosted - discriminatorValue: ClusterHosted -- name: com.github.openshift.api.config.v1.CloudLoadBalancerIPs + - discriminator: type +- name: com.github.openshift.api.config.v1.AWSKMSConfig map: fields: - - name: apiIntLoadBalancerIPs + - name: keyARN type: - list: - elementType: - scalar: string - elementRelationship: associative - - name: apiLoadBalancerIPs + scalar: string + default: "" + - name: region type: - list: - elementType: - scalar: string - elementRelationship: associative - - name: ingressLoadBalancerIPs + scalar: string + default: "" +- name: com.github.openshift.api.config.v1.AWSPlatformSpec + map: + fields: + - name: serviceEndpoints type: list: elementType: - scalar: string - elementRelationship: associative -- name: com.github.openshift.api.config.v1.ClusterCondition + namedType: com.github.openshift.api.config.v1.AWSServiceEndpoint + elementRelationship: atomic +- name: com.github.openshift.api.config.v1.AWSPlatformStatus map: fields: - - name: promql - type: - namedType: com.github.openshift.api.config.v1.PromQLClusterCondition - - name: type + - name: cloudLoadBalancerConfig type: - scalar: string - default: "" -- name: com.github.openshift.api.config.v1.ClusterImagePolicy - map: - fields: - - name: apiVersion + namedType: com.github.openshift.api.config.v1.CloudLoadBalancerConfig + default: + dnsType: PlatformDefault + - name: ipFamily type: scalar: string - - name: kind + default: IPv4 + - name: region type: scalar: string - - name: metadata - type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta - default: {} - - name: spec - type: - namedType: com.github.openshift.api.config.v1.ClusterImagePolicySpec - default: {} - - name: status - type: - namedType: com.github.openshift.api.config.v1.ClusterImagePolicyStatus - default: {} -- name: com.github.openshift.api.config.v1.ClusterImagePolicySpec - map: - fields: - - name: policy - type: - namedType: com.github.openshift.api.config.v1.ImageSigstoreVerificationPolicy - default: {} - - name: scopes + default: "" + - name: resourceTags type: list: elementType: - scalar: string - elementRelationship: associative -- name: com.github.openshift.api.config.v1.ClusterImagePolicyStatus - map: - fields: - - name: conditions + namedType: com.github.openshift.api.config.v1.AWSResourceTag + elementRelationship: atomic + - name: serviceEndpoints type: list: elementType: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Condition - elementRelationship: associative - keys: - - type -- name: com.github.openshift.api.config.v1.ClusterNetworkEntry + namedType: com.github.openshift.api.config.v1.AWSServiceEndpoint + elementRelationship: atomic +- name: com.github.openshift.api.config.v1.AWSResourceTag map: fields: - - name: cidr + - name: key type: scalar: string default: "" - - name: hostPrefix + - name: value type: - scalar: numeric -- name: com.github.openshift.api.config.v1.ClusterOperator + scalar: string + default: "" +- name: com.github.openshift.api.config.v1.AWSServiceEndpoint map: fields: - - name: apiVersion + - name: name type: scalar: string - - name: kind + default: "" + - name: url type: scalar: string - - name: metadata - type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta - default: {} - - name: spec - type: - namedType: com.github.openshift.api.config.v1.ClusterOperatorSpec - default: {} - - name: status + default: "" +- name: com.github.openshift.api.config.v1.AcceptRisk + map: + fields: + - name: name type: - namedType: com.github.openshift.api.config.v1.ClusterOperatorStatus - default: {} -- name: com.github.openshift.api.config.v1.ClusterOperatorSpec + scalar: string +- name: com.github.openshift.api.config.v1.AlibabaCloudPlatformSpec map: elementType: scalar: untyped @@ -709,53 +787,61 @@ var schemaYAML = typed.YAMLObject(`types: elementType: namedType: __untyped_deduced_ elementRelationship: separable -- name: com.github.openshift.api.config.v1.ClusterOperatorStatus +- name: com.github.openshift.api.config.v1.AlibabaCloudPlatformStatus map: fields: - - name: conditions - type: - list: - elementType: - namedType: com.github.openshift.api.config.v1.ClusterOperatorStatusCondition - elementRelationship: associative - keys: - - type - - name: extension + - name: region type: - namedType: __untyped_atomic_ - - name: relatedObjects + scalar: string + default: "" + - name: resourceGroupID type: - list: - elementType: - namedType: com.github.openshift.api.config.v1.ObjectReference - elementRelationship: atomic - - name: versions + scalar: string + - name: resourceTags type: list: elementType: - namedType: com.github.openshift.api.config.v1.OperandVersion - elementRelationship: atomic -- name: com.github.openshift.api.config.v1.ClusterOperatorStatusCondition + namedType: com.github.openshift.api.config.v1.AlibabaCloudResourceTag + elementRelationship: associative + keys: + - key +- name: com.github.openshift.api.config.v1.AlibabaCloudResourceTag map: fields: - - name: lastTransitionTime + - name: key type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Time - - name: message + scalar: string + default: "" + - name: value type: scalar: string - - name: reason + default: "" +- name: com.github.openshift.api.config.v1.Audit + map: + fields: + - name: customRules + type: + list: + elementType: + namedType: com.github.openshift.api.config.v1.AuditCustomRule + elementRelationship: associative + keys: + - group + - name: profile type: scalar: string - - name: status +- name: com.github.openshift.api.config.v1.AuditCustomRule + map: + fields: + - name: group type: scalar: string default: "" - - name: type + - name: profile type: scalar: string default: "" -- name: com.github.openshift.api.config.v1.ClusterVersion +- name: com.github.openshift.api.config.v1.Authentication map: fields: - name: apiVersion @@ -766,373 +852,339 @@ var schemaYAML = typed.YAMLObject(`types: scalar: string - name: metadata type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta + namedType: ObjectMeta.v1.meta.apis.pkg.apimachinery.k8s.io default: {} - name: spec type: - namedType: com.github.openshift.api.config.v1.ClusterVersionSpec + namedType: com.github.openshift.api.config.v1.AuthenticationSpec default: {} - name: status type: - namedType: com.github.openshift.api.config.v1.ClusterVersionStatus + namedType: com.github.openshift.api.config.v1.AuthenticationStatus default: {} -- name: com.github.openshift.api.config.v1.ClusterVersionCapabilitiesSpec +- name: com.github.openshift.api.config.v1.AuthenticationSpec map: fields: - - name: additionalEnabledCapabilities + - name: oauthMetadata + type: + namedType: com.github.openshift.api.config.v1.ConfigMapNameReference + default: {} + - name: oidcProviders type: list: elementType: - scalar: string - elementRelationship: atomic - - name: baselineCapabilitySet + namedType: com.github.openshift.api.config.v1.OIDCProvider + elementRelationship: associative + keys: + - name + - name: serviceAccountIssuer type: scalar: string -- name: com.github.openshift.api.config.v1.ClusterVersionCapabilitiesStatus - map: - fields: - - name: enabledCapabilities + default: "" + - name: type + type: + scalar: string + default: "" + - name: webhookTokenAuthenticator + type: + namedType: com.github.openshift.api.config.v1.WebhookTokenAuthenticator + - name: webhookTokenAuthenticators type: list: elementType: - scalar: string + namedType: com.github.openshift.api.config.v1.DeprecatedWebhookTokenAuthenticator elementRelationship: atomic - - name: knownCapabilities +- name: com.github.openshift.api.config.v1.AuthenticationStatus + map: + fields: + - name: integratedOAuthMetadata + type: + namedType: com.github.openshift.api.config.v1.ConfigMapNameReference + default: {} + - name: oidcClients type: list: elementType: - scalar: string - elementRelationship: atomic -- name: com.github.openshift.api.config.v1.ClusterVersionSpec + namedType: com.github.openshift.api.config.v1.OIDCClientStatus + elementRelationship: associative + keys: + - componentNamespace + - componentName +- name: com.github.openshift.api.config.v1.AzurePlatformSpec + map: + elementType: + scalar: untyped + list: + elementType: + namedType: __untyped_atomic_ + elementRelationship: atomic + map: + elementType: + namedType: __untyped_deduced_ + elementRelationship: separable +- name: com.github.openshift.api.config.v1.AzurePlatformStatus map: fields: - - name: capabilities + - name: armEndpoint type: - namedType: com.github.openshift.api.config.v1.ClusterVersionCapabilitiesSpec - - name: channel + scalar: string + - name: cloudLoadBalancerConfig + type: + namedType: com.github.openshift.api.config.v1.CloudLoadBalancerConfig + default: + dnsType: PlatformDefault + - name: cloudName type: scalar: string - - name: clusterID + - name: ipFamily type: scalar: string - default: "" - - name: desiredUpdate + default: IPv4 + - name: networkResourceGroupName type: - namedType: com.github.openshift.api.config.v1.Update - - name: overrides + scalar: string + - name: resourceGroupName type: - list: - elementType: - namedType: com.github.openshift.api.config.v1.ComponentOverride - elementRelationship: associative - keys: - - kind - - group - - namespace - - name - - name: signatureStores + scalar: string + default: "" + - name: resourceTags type: list: elementType: - namedType: com.github.openshift.api.config.v1.SignatureStore - elementRelationship: associative - keys: - - url - - name: upstream + namedType: com.github.openshift.api.config.v1.AzureResourceTag + elementRelationship: atomic +- name: com.github.openshift.api.config.v1.AzureResourceTag + map: + fields: + - name: key type: scalar: string -- name: com.github.openshift.api.config.v1.ClusterVersionStatus + default: "" + - name: value + type: + scalar: string + default: "" +- name: com.github.openshift.api.config.v1.BareMetalPlatformLoadBalancer map: fields: - - name: availableUpdates - type: - list: - elementType: - namedType: com.github.openshift.api.config.v1.Release - elementRelationship: atomic - - name: capabilities + - name: type type: - namedType: com.github.openshift.api.config.v1.ClusterVersionCapabilitiesStatus - default: {} - - name: conditionalUpdateRisks + scalar: string + default: OpenShiftManagedDefault + unions: + - discriminator: type +- name: com.github.openshift.api.config.v1.BareMetalPlatformSpec + map: + fields: + - name: apiServerInternalIPs type: list: elementType: - namedType: com.github.openshift.api.config.v1.ConditionalUpdateRisk - elementRelationship: associative - keys: - - name - - name: conditionalUpdates + scalar: string + elementRelationship: atomic + - name: ingressIPs type: list: elementType: - namedType: com.github.openshift.api.config.v1.ConditionalUpdate + scalar: string elementRelationship: atomic - - name: conditions + - name: machineNetworks type: list: elementType: - namedType: com.github.openshift.api.config.v1.ClusterOperatorStatusCondition - elementRelationship: associative - keys: - - type - - name: desired + scalar: string + elementRelationship: atomic +- name: com.github.openshift.api.config.v1.BareMetalPlatformStatus + map: + fields: + - name: apiServerInternalIP type: - namedType: com.github.openshift.api.config.v1.Release - default: {} - - name: history + scalar: string + - name: apiServerInternalIPs type: list: elementType: - namedType: com.github.openshift.api.config.v1.UpdateHistory + scalar: string elementRelationship: atomic - - name: observedGeneration - type: - scalar: numeric - default: 0 - - name: versionHash + - name: dnsRecordsType type: scalar: string - default: "" -- name: com.github.openshift.api.config.v1.ComponentOverride - map: - fields: - - name: group + - name: ingressIP type: scalar: string - default: "" - - name: kind + - name: ingressIPs type: - scalar: string - default: "" - - name: name + list: + elementType: + scalar: string + elementRelationship: atomic + - name: loadBalancer type: - scalar: string - default: "" - - name: namespace + namedType: com.github.openshift.api.config.v1.BareMetalPlatformLoadBalancer + default: + type: OpenShiftManagedDefault + - name: machineNetworks type: - scalar: string - default: "" - - name: unmanaged + list: + elementType: + scalar: string + elementRelationship: atomic + - name: nodeDNSIP type: - scalar: boolean - default: false -- name: com.github.openshift.api.config.v1.ComponentRouteSpec + scalar: string +- name: com.github.openshift.api.config.v1.BasicAuthIdentityProvider map: fields: - - name: hostname + - name: ca + type: + namedType: com.github.openshift.api.config.v1.ConfigMapNameReference + default: {} + - name: tlsClientCert + type: + namedType: com.github.openshift.api.config.v1.SecretNameReference + default: {} + - name: tlsClientKey + type: + namedType: com.github.openshift.api.config.v1.SecretNameReference + default: {} + - name: url type: scalar: string default: "" - - name: name +- name: com.github.openshift.api.config.v1.Build + map: + fields: + - name: apiVersion type: scalar: string - default: "" - - name: namespace + - name: kind type: scalar: string - default: "" - - name: servingCertKeyPairSecret + - name: metadata type: - namedType: com.github.openshift.api.config.v1.SecretNameReference + namedType: ObjectMeta.v1.meta.apis.pkg.apimachinery.k8s.io default: {} -- name: com.github.openshift.api.config.v1.ComponentRouteStatus + - name: spec + type: + namedType: com.github.openshift.api.config.v1.BuildSpec + default: {} +- name: com.github.openshift.api.config.v1.BuildDefaults map: fields: - - name: conditions - type: - list: - elementType: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Condition - elementRelationship: associative - keys: - - type - - name: consumingUsers + - name: defaultProxy type: - list: - elementType: - scalar: string - elementRelationship: atomic - - name: currentHostnames + namedType: com.github.openshift.api.config.v1.ProxySpec + - name: env type: list: elementType: - scalar: string + namedType: EnvVar.v1.core.api.k8s.io elementRelationship: atomic - - name: defaultHostname - type: - scalar: string - default: "" - - name: name - type: - scalar: string - default: "" - - name: namespace + - name: gitProxy type: - scalar: string - default: "" - - name: relatedObjects + namedType: com.github.openshift.api.config.v1.ProxySpec + - name: imageLabels type: list: elementType: - namedType: com.github.openshift.api.config.v1.ObjectReference + namedType: com.github.openshift.api.config.v1.ImageLabel elementRelationship: atomic -- name: com.github.openshift.api.config.v1.ConditionalUpdate - map: - fields: - - name: conditions - type: - list: - elementType: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Condition - elementRelationship: associative - keys: - - type - - name: release + - name: resources type: - namedType: com.github.openshift.api.config.v1.Release + namedType: ResourceRequirements.v1.core.api.k8s.io default: {} - - name: riskNames +- name: com.github.openshift.api.config.v1.BuildOverrides + map: + fields: + - name: forcePull type: - list: - elementType: - scalar: string - elementRelationship: associative - - name: risks + scalar: boolean + - name: imageLabels type: list: elementType: - namedType: com.github.openshift.api.config.v1.ConditionalUpdateRisk - elementRelationship: associative - keys: - - name -- name: com.github.openshift.api.config.v1.ConditionalUpdateRisk - map: - fields: - - name: conditions + namedType: com.github.openshift.api.config.v1.ImageLabel + elementRelationship: atomic + - name: nodeSelector type: - list: + map: elementType: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Condition - elementRelationship: associative - keys: - - type - - name: matchingRules + scalar: string + - name: tolerations type: list: elementType: - namedType: com.github.openshift.api.config.v1.ClusterCondition + namedType: Toleration.v1.core.api.k8s.io elementRelationship: atomic - - name: message - type: - scalar: string - default: "" - - name: name - type: - scalar: string - default: "" - - name: url - type: - scalar: string - default: "" -- name: com.github.openshift.api.config.v1.ConfigMapFileReference - map: - fields: - - name: key - type: - scalar: string - - name: name - type: - scalar: string - default: "" -- name: com.github.openshift.api.config.v1.ConfigMapNameReference - map: - fields: - - name: name - type: - scalar: string - default: "" -- name: com.github.openshift.api.config.v1.Console +- name: com.github.openshift.api.config.v1.BuildSpec map: fields: - - name: apiVersion - type: - scalar: string - - name: kind - type: - scalar: string - - name: metadata + - name: additionalTrustedCA type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta + namedType: com.github.openshift.api.config.v1.ConfigMapNameReference default: {} - - name: spec + - name: buildDefaults type: - namedType: com.github.openshift.api.config.v1.ConsoleSpec + namedType: com.github.openshift.api.config.v1.BuildDefaults default: {} - - name: status + - name: buildOverrides type: - namedType: com.github.openshift.api.config.v1.ConsoleStatus + namedType: com.github.openshift.api.config.v1.BuildOverrides default: {} -- name: com.github.openshift.api.config.v1.ConsoleAuthentication +- name: com.github.openshift.api.config.v1.CloudControllerManagerStatus map: fields: - - name: logoutRedirect + - name: state type: scalar: string -- name: com.github.openshift.api.config.v1.ConsoleSpec + default: "" +- name: com.github.openshift.api.config.v1.CloudLoadBalancerConfig map: fields: - - name: authentication + - name: clusterHosted type: - namedType: com.github.openshift.api.config.v1.ConsoleAuthentication - default: {} -- name: com.github.openshift.api.config.v1.ConsoleStatus - map: - fields: - - name: consoleURL + namedType: com.github.openshift.api.config.v1.CloudLoadBalancerIPs + - name: dnsType type: scalar: string - default: "" -- name: com.github.openshift.api.config.v1.Custom + default: PlatformDefault + unions: + - discriminator: dnsType + fields: + - fieldName: clusterHosted + discriminatorValue: ClusterHosted +- name: com.github.openshift.api.config.v1.CloudLoadBalancerIPs map: fields: - - name: configs + - name: apiIntLoadBalancerIPs type: list: elementType: - namedType: com.github.openshift.api.config.v1.GathererConfig + scalar: string elementRelationship: associative - keys: - - name -- name: com.github.openshift.api.config.v1.CustomFeatureGates - map: - fields: - - name: disabled + - name: apiLoadBalancerIPs type: list: elementType: scalar: string - elementRelationship: atomic - - name: enabled + elementRelationship: associative + - name: ingressLoadBalancerIPs type: list: elementType: scalar: string - elementRelationship: atomic -- name: com.github.openshift.api.config.v1.CustomTLSProfile + elementRelationship: associative +- name: com.github.openshift.api.config.v1.ClusterCondition map: fields: - - name: ciphers + - name: promql type: - list: - elementType: - scalar: string - elementRelationship: atomic - - name: minTLSVersion + namedType: com.github.openshift.api.config.v1.PromQLClusterCondition + - name: type type: scalar: string default: "" -- name: com.github.openshift.api.config.v1.DNS +- name: com.github.openshift.api.config.v1.ClusterImagePolicy map: fields: - name: apiVersion @@ -1143,79 +1195,72 @@ var schemaYAML = typed.YAMLObject(`types: scalar: string - name: metadata type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta + namedType: ObjectMeta.v1.meta.apis.pkg.apimachinery.k8s.io default: {} - name: spec type: - namedType: com.github.openshift.api.config.v1.DNSSpec + namedType: com.github.openshift.api.config.v1.ClusterImagePolicySpec default: {} - name: status type: - namedType: com.github.openshift.api.config.v1.DNSStatus + namedType: com.github.openshift.api.config.v1.ClusterImagePolicyStatus default: {} -- name: com.github.openshift.api.config.v1.DNSPlatformSpec +- name: com.github.openshift.api.config.v1.ClusterImagePolicySpec map: fields: - - name: aws + - name: policy type: - namedType: com.github.openshift.api.config.v1.AWSDNSSpec - - name: type + namedType: com.github.openshift.api.config.v1.ImageSigstoreVerificationPolicy + default: {} + - name: scopes type: - scalar: string - default: "" - unions: - - discriminator: type - fields: - - fieldName: aws - discriminatorValue: AWS -- name: com.github.openshift.api.config.v1.DNSSpec + list: + elementType: + scalar: string + elementRelationship: associative +- name: com.github.openshift.api.config.v1.ClusterImagePolicyStatus map: fields: - - name: baseDomain + - name: conditions + type: + list: + elementType: + namedType: Condition.v1.meta.apis.pkg.apimachinery.k8s.io + elementRelationship: associative + keys: + - type +- name: com.github.openshift.api.config.v1.ClusterNetworkEntry + map: + fields: + - name: cidr type: scalar: string default: "" - - name: platform - type: - namedType: com.github.openshift.api.config.v1.DNSPlatformSpec - default: {} - - name: privateZone - type: - namedType: com.github.openshift.api.config.v1.DNSZone - - name: publicZone + - name: hostPrefix type: - namedType: com.github.openshift.api.config.v1.DNSZone -- name: com.github.openshift.api.config.v1.DNSStatus - map: - elementType: - scalar: untyped - list: - elementType: - namedType: __untyped_atomic_ - elementRelationship: atomic - map: - elementType: - namedType: __untyped_deduced_ - elementRelationship: separable -- name: com.github.openshift.api.config.v1.DNSZone + scalar: numeric +- name: com.github.openshift.api.config.v1.ClusterOperator map: fields: - - name: id + - name: apiVersion type: scalar: string - - name: tags + - name: kind type: - map: - elementType: - scalar: string -- name: com.github.openshift.api.config.v1.DeprecatedWebhookTokenAuthenticator - map: - fields: - - name: kubeConfig + scalar: string + - name: metadata type: - namedType: com.github.openshift.api.config.v1.SecretNameReference + namedType: ObjectMeta.v1.meta.apis.pkg.apimachinery.k8s.io default: {} -- name: com.github.openshift.api.config.v1.EquinixMetalPlatformSpec + - name: spec + type: + namedType: com.github.openshift.api.config.v1.ClusterOperatorSpec + default: {} + - name: status + type: + namedType: com.github.openshift.api.config.v1.ClusterOperatorStatus + default: {} +- name: com.github.openshift.api.config.v1.ClusterOperatorSpec map: elementType: scalar: untyped @@ -1227,68 +1272,53 @@ var schemaYAML = typed.YAMLObject(`types: elementType: namedType: __untyped_deduced_ elementRelationship: separable -- name: com.github.openshift.api.config.v1.EquinixMetalPlatformStatus - map: - fields: - - name: apiServerInternalIP - type: - scalar: string - - name: ingressIP - type: - scalar: string -- name: com.github.openshift.api.config.v1.ExternalIPConfig +- name: com.github.openshift.api.config.v1.ClusterOperatorStatus map: fields: - - name: autoAssignCIDRs + - name: conditions type: list: elementType: - scalar: string - elementRelationship: atomic - - name: policy + namedType: com.github.openshift.api.config.v1.ClusterOperatorStatusCondition + elementRelationship: associative + keys: + - type + - name: extension type: - namedType: com.github.openshift.api.config.v1.ExternalIPPolicy -- name: com.github.openshift.api.config.v1.ExternalIPPolicy - map: - fields: - - name: allowedCIDRs + namedType: RawExtension.runtime.pkg.apimachinery.k8s.io + - name: relatedObjects type: list: elementType: - scalar: string + namedType: com.github.openshift.api.config.v1.ObjectReference elementRelationship: atomic - - name: rejectedCIDRs + - name: versions type: list: elementType: - scalar: string + namedType: com.github.openshift.api.config.v1.OperandVersion elementRelationship: atomic -- name: com.github.openshift.api.config.v1.ExternalPlatformSpec +- name: com.github.openshift.api.config.v1.ClusterOperatorStatusCondition map: fields: - - name: platformName + - name: lastTransitionTime + type: + namedType: Time.v1.meta.apis.pkg.apimachinery.k8s.io + - name: message type: scalar: string - default: Unknown -- name: com.github.openshift.api.config.v1.ExternalPlatformStatus - map: - fields: - - name: cloudControllerManager + - name: reason type: - namedType: com.github.openshift.api.config.v1.CloudControllerManagerStatus - default: {} -- name: com.github.openshift.api.config.v1.ExtraMapping - map: - fields: - - name: key + scalar: string + - name: status type: scalar: string default: "" - - name: valueExpression + - name: type type: scalar: string default: "" -- name: com.github.openshift.api.config.v1.FeatureGate +- name: com.github.openshift.api.config.v1.ClusterVersion map: fields: - name: apiVersion @@ -1299,318 +1329,267 @@ var schemaYAML = typed.YAMLObject(`types: scalar: string - name: metadata type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta + namedType: ObjectMeta.v1.meta.apis.pkg.apimachinery.k8s.io default: {} - name: spec type: - namedType: com.github.openshift.api.config.v1.FeatureGateSpec + namedType: com.github.openshift.api.config.v1.ClusterVersionSpec default: {} - name: status type: - namedType: com.github.openshift.api.config.v1.FeatureGateStatus + namedType: com.github.openshift.api.config.v1.ClusterVersionStatus default: {} -- name: com.github.openshift.api.config.v1.FeatureGateAttributes +- name: com.github.openshift.api.config.v1.ClusterVersionCapabilitiesSpec map: fields: - - name: name + - name: additionalEnabledCapabilities + type: + list: + elementType: + scalar: string + elementRelationship: atomic + - name: baselineCapabilitySet type: scalar: string - default: "" -- name: com.github.openshift.api.config.v1.FeatureGateDetails +- name: com.github.openshift.api.config.v1.ClusterVersionCapabilitiesStatus map: fields: - - name: disabled + - name: enabledCapabilities type: list: elementType: - namedType: com.github.openshift.api.config.v1.FeatureGateAttributes + scalar: string elementRelationship: atomic - - name: enabled + - name: knownCapabilities type: list: elementType: - namedType: com.github.openshift.api.config.v1.FeatureGateAttributes + scalar: string elementRelationship: atomic - - name: version - type: - scalar: string - default: "" -- name: com.github.openshift.api.config.v1.FeatureGateSpec +- name: com.github.openshift.api.config.v1.ClusterVersionSpec map: fields: - - name: customNoUpgrade + - name: capabilities type: - namedType: com.github.openshift.api.config.v1.CustomFeatureGates - - name: featureSet + namedType: com.github.openshift.api.config.v1.ClusterVersionCapabilitiesSpec + - name: channel type: scalar: string - unions: - - discriminator: featureSet - fields: - - fieldName: customNoUpgrade - discriminatorValue: CustomNoUpgrade -- name: com.github.openshift.api.config.v1.FeatureGateStatus - map: - fields: - - name: conditions + - name: clusterID + type: + scalar: string + default: "" + - name: desiredUpdate + type: + namedType: com.github.openshift.api.config.v1.Update + - name: overrides type: list: elementType: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Condition + namedType: com.github.openshift.api.config.v1.ComponentOverride elementRelationship: associative keys: - - type - - name: featureGates + - kind + - group + - namespace + - name + - name: signatureStores type: list: elementType: - namedType: com.github.openshift.api.config.v1.FeatureGateDetails + namedType: com.github.openshift.api.config.v1.SignatureStore elementRelationship: associative keys: - - version -- name: com.github.openshift.api.config.v1.GCPPlatformSpec - map: - elementType: - scalar: untyped - list: - elementType: - namedType: __untyped_atomic_ - elementRelationship: atomic - map: - elementType: - namedType: __untyped_deduced_ - elementRelationship: separable -- name: com.github.openshift.api.config.v1.GCPPlatformStatus + - url + - name: upstream + type: + scalar: string +- name: com.github.openshift.api.config.v1.ClusterVersionStatus map: fields: - - name: cloudLoadBalancerConfig - type: - namedType: com.github.openshift.api.config.v1.CloudLoadBalancerConfig - default: - dnsType: PlatformDefault - - name: projectID + - name: availableUpdates type: - scalar: string - default: "" - - name: region + list: + elementType: + namedType: com.github.openshift.api.config.v1.Release + elementRelationship: atomic + - name: capabilities type: - scalar: string - default: "" - - name: resourceLabels + namedType: com.github.openshift.api.config.v1.ClusterVersionCapabilitiesStatus + default: {} + - name: conditionalUpdateRisks type: list: elementType: - namedType: com.github.openshift.api.config.v1.GCPResourceLabel + namedType: com.github.openshift.api.config.v1.ConditionalUpdateRisk elementRelationship: associative keys: - - key - - name: resourceTags + - name + - name: conditionalUpdates type: list: elementType: - namedType: com.github.openshift.api.config.v1.GCPResourceTag + namedType: com.github.openshift.api.config.v1.ConditionalUpdate + elementRelationship: atomic + - name: conditions + type: + list: + elementType: + namedType: com.github.openshift.api.config.v1.ClusterOperatorStatusCondition elementRelationship: associative keys: - - key -- name: com.github.openshift.api.config.v1.GCPResourceLabel - map: - fields: - - name: key + - type + - name: desired type: - scalar: string - default: "" - - name: value + namedType: com.github.openshift.api.config.v1.Release + default: {} + - name: history + type: + list: + elementType: + namedType: com.github.openshift.api.config.v1.UpdateHistory + elementRelationship: atomic + - name: observedGeneration + type: + scalar: numeric + default: 0 + - name: versionHash type: scalar: string default: "" -- name: com.github.openshift.api.config.v1.GCPResourceTag +- name: com.github.openshift.api.config.v1.ComponentOverride map: fields: - - name: key + - name: group type: scalar: string default: "" - - name: parentID + - name: kind type: scalar: string default: "" - - name: value + - name: name type: scalar: string default: "" -- name: com.github.openshift.api.config.v1.GatherConfig - map: - fields: - - name: dataPolicy - type: - list: - elementType: - scalar: string - elementRelationship: atomic - - name: gatherers - type: - namedType: com.github.openshift.api.config.v1.Gatherers - default: {} - - name: storage - type: - namedType: com.github.openshift.api.config.v1.Storage - default: {} -- name: com.github.openshift.api.config.v1.GathererConfig - map: - fields: - - name: name + - name: namespace type: scalar: string - - name: state + default: "" + - name: unmanaged type: - scalar: string -- name: com.github.openshift.api.config.v1.Gatherers + scalar: boolean + default: false +- name: com.github.openshift.api.config.v1.ComponentRouteSpec map: fields: - - name: custom - type: - namedType: com.github.openshift.api.config.v1.Custom - default: {} - - name: mode + - name: hostname type: scalar: string - unions: - - discriminator: mode - fields: - - fieldName: custom - discriminatorValue: Custom -- name: com.github.openshift.api.config.v1.GitHubIdentityProvider - map: - fields: - - name: ca + default: "" + - name: name type: - namedType: com.github.openshift.api.config.v1.ConfigMapNameReference - default: {} - - name: clientID + scalar: string + default: "" + - name: namespace type: scalar: string default: "" - - name: clientSecret + - name: servingCertKeyPairSecret type: namedType: com.github.openshift.api.config.v1.SecretNameReference default: {} - - name: hostname +- name: com.github.openshift.api.config.v1.ComponentRouteStatus + map: + fields: + - name: conditions type: - scalar: string - default: "" - - name: organizations + list: + elementType: + namedType: Condition.v1.meta.apis.pkg.apimachinery.k8s.io + elementRelationship: associative + keys: + - type + - name: consumingUsers type: list: elementType: scalar: string elementRelationship: atomic - - name: teams + - name: currentHostnames type: list: elementType: scalar: string elementRelationship: atomic -- name: com.github.openshift.api.config.v1.GitLabIdentityProvider - map: - fields: - - name: ca - type: - namedType: com.github.openshift.api.config.v1.ConfigMapNameReference - default: {} - - name: clientID - type: - scalar: string - default: "" - - name: clientSecret - type: - namedType: com.github.openshift.api.config.v1.SecretNameReference - default: {} - - name: url + - name: defaultHostname type: scalar: string default: "" -- name: com.github.openshift.api.config.v1.GoogleIdentityProvider - map: - fields: - - name: clientID + - name: name type: scalar: string default: "" - - name: clientSecret - type: - namedType: com.github.openshift.api.config.v1.SecretNameReference - default: {} - - name: hostedDomain + - name: namespace type: scalar: string default: "" -- name: com.github.openshift.api.config.v1.HTPasswdIdentityProvider - map: - fields: - - name: fileData + - name: relatedObjects type: - namedType: com.github.openshift.api.config.v1.SecretNameReference - default: {} -- name: com.github.openshift.api.config.v1.HubSource + list: + elementType: + namedType: com.github.openshift.api.config.v1.ObjectReference + elementRelationship: atomic +- name: com.github.openshift.api.config.v1.ConditionalUpdate map: fields: - - name: disabled - type: - scalar: boolean - default: false - - name: name + - name: conditions type: - scalar: string - default: "" -- name: com.github.openshift.api.config.v1.HubSourceStatus - map: - fields: - - name: message + list: + elementType: + namedType: Condition.v1.meta.apis.pkg.apimachinery.k8s.io + elementRelationship: associative + keys: + - type + - name: release type: - scalar: string - - name: status + namedType: com.github.openshift.api.config.v1.Release + default: {} + - name: riskNames type: - scalar: string -- name: com.github.openshift.api.config.v1.IBMCloudPlatformSpec - map: - fields: - - name: serviceEndpoints + list: + elementType: + scalar: string + elementRelationship: associative + - name: risks type: list: elementType: - namedType: com.github.openshift.api.config.v1.IBMCloudServiceEndpoint + namedType: com.github.openshift.api.config.v1.ConditionalUpdateRisk elementRelationship: associative keys: - name -- name: com.github.openshift.api.config.v1.IBMCloudPlatformStatus +- name: com.github.openshift.api.config.v1.ConditionalUpdateRisk map: fields: - - name: cisInstanceCRN - type: - scalar: string - - name: dnsInstanceCRN - type: - scalar: string - - name: location - type: - scalar: string - - name: providerType - type: - scalar: string - - name: resourceGroupName - type: - scalar: string - - name: serviceEndpoints + - name: conditions type: list: elementType: - namedType: com.github.openshift.api.config.v1.IBMCloudServiceEndpoint + namedType: Condition.v1.meta.apis.pkg.apimachinery.k8s.io elementRelationship: associative keys: - - name -- name: com.github.openshift.api.config.v1.IBMCloudServiceEndpoint - map: - fields: + - type + - name: matchingRules + type: + list: + elementType: + namedType: com.github.openshift.api.config.v1.ClusterCondition + elementRelationship: atomic + - name: message + type: + scalar: string + default: "" - name: name type: scalar: string @@ -1619,48 +1598,24 @@ var schemaYAML = typed.YAMLObject(`types: type: scalar: string default: "" -- name: com.github.openshift.api.config.v1.IdentityProvider +- name: com.github.openshift.api.config.v1.ConfigMapFileReference map: fields: - - name: basicAuth - type: - namedType: com.github.openshift.api.config.v1.BasicAuthIdentityProvider - - name: github - type: - namedType: com.github.openshift.api.config.v1.GitHubIdentityProvider - - name: gitlab - type: - namedType: com.github.openshift.api.config.v1.GitLabIdentityProvider - - name: google - type: - namedType: com.github.openshift.api.config.v1.GoogleIdentityProvider - - name: htpasswd - type: - namedType: com.github.openshift.api.config.v1.HTPasswdIdentityProvider - - name: keystone - type: - namedType: com.github.openshift.api.config.v1.KeystoneIdentityProvider - - name: ldap - type: - namedType: com.github.openshift.api.config.v1.LDAPIdentityProvider - - name: mappingMethod + - name: key type: scalar: string - name: name type: scalar: string default: "" - - name: openID - type: - namedType: com.github.openshift.api.config.v1.OpenIDIdentityProvider - - name: requestHeader - type: - namedType: com.github.openshift.api.config.v1.RequestHeaderIdentityProvider - - name: type +- name: com.github.openshift.api.config.v1.ConfigMapNameReference + map: + fields: + - name: name type: scalar: string default: "" -- name: com.github.openshift.api.config.v1.Image +- name: com.github.openshift.api.config.v1.Console map: fields: - name: apiVersion @@ -1671,113 +1626,76 @@ var schemaYAML = typed.YAMLObject(`types: scalar: string - name: metadata type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta + namedType: ObjectMeta.v1.meta.apis.pkg.apimachinery.k8s.io default: {} - name: spec type: - namedType: com.github.openshift.api.config.v1.ImageSpec + namedType: com.github.openshift.api.config.v1.ConsoleSpec default: {} - name: status type: - namedType: com.github.openshift.api.config.v1.ImageStatus + namedType: com.github.openshift.api.config.v1.ConsoleStatus default: {} -- name: com.github.openshift.api.config.v1.ImageContentPolicy +- name: com.github.openshift.api.config.v1.ConsoleAuthentication map: fields: - - name: apiVersion + - name: logoutRedirect type: scalar: string - - name: kind +- name: com.github.openshift.api.config.v1.ConsoleSpec + map: + fields: + - name: authentication type: - scalar: string - - name: metadata - type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta + namedType: com.github.openshift.api.config.v1.ConsoleAuthentication default: {} - - name: spec +- name: com.github.openshift.api.config.v1.ConsoleStatus + map: + fields: + - name: consoleURL type: - namedType: com.github.openshift.api.config.v1.ImageContentPolicySpec - default: {} -- name: com.github.openshift.api.config.v1.ImageContentPolicySpec + scalar: string + default: "" +- name: com.github.openshift.api.config.v1.Custom map: fields: - - name: repositoryDigestMirrors + - name: configs type: list: elementType: - namedType: com.github.openshift.api.config.v1.RepositoryDigestMirrors + namedType: com.github.openshift.api.config.v1.GathererConfig elementRelationship: associative keys: - - source -- name: com.github.openshift.api.config.v1.ImageDigestMirrorSet + - name +- name: com.github.openshift.api.config.v1.CustomFeatureGates map: fields: - - name: apiVersion - type: - scalar: string - - name: kind - type: - scalar: string - - name: metadata - type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta - default: {} - - name: spec - type: - namedType: com.github.openshift.api.config.v1.ImageDigestMirrorSetSpec - default: {} - - name: status + - name: disabled type: - namedType: com.github.openshift.api.config.v1.ImageDigestMirrorSetStatus - default: {} -- name: com.github.openshift.api.config.v1.ImageDigestMirrorSetSpec - map: - fields: - - name: imageDigestMirrors + list: + elementType: + scalar: string + elementRelationship: atomic + - name: enabled type: list: elementType: - namedType: com.github.openshift.api.config.v1.ImageDigestMirrors + scalar: string elementRelationship: atomic -- name: com.github.openshift.api.config.v1.ImageDigestMirrorSetStatus - map: - elementType: - scalar: untyped - list: - elementType: - namedType: __untyped_atomic_ - elementRelationship: atomic - map: - elementType: - namedType: __untyped_deduced_ - elementRelationship: separable -- name: com.github.openshift.api.config.v1.ImageDigestMirrors +- name: com.github.openshift.api.config.v1.CustomTLSProfile map: fields: - - name: mirrorSourcePolicy - type: - scalar: string - - name: mirrors + - name: ciphers type: list: elementType: scalar: string - elementRelationship: associative - - name: source - type: - scalar: string - default: "" -- name: com.github.openshift.api.config.v1.ImageLabel - map: - fields: - - name: name + elementRelationship: atomic + - name: minTLSVersion type: scalar: string default: "" - - name: value - type: - scalar: string -- name: com.github.openshift.api.config.v1.ImagePolicy +- name: com.github.openshift.api.config.v1.DNS map: fields: - name: apiVersion @@ -1788,128 +1706,152 @@ var schemaYAML = typed.YAMLObject(`types: scalar: string - name: metadata type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta + namedType: ObjectMeta.v1.meta.apis.pkg.apimachinery.k8s.io default: {} - name: spec type: - namedType: com.github.openshift.api.config.v1.ImagePolicySpec + namedType: com.github.openshift.api.config.v1.DNSSpec default: {} - name: status type: - namedType: com.github.openshift.api.config.v1.ImagePolicyStatus + namedType: com.github.openshift.api.config.v1.DNSStatus default: {} -- name: com.github.openshift.api.config.v1.ImagePolicyFulcioCAWithRekorRootOfTrust +- name: com.github.openshift.api.config.v1.DNSPlatformSpec map: fields: - - name: fulcioCAData - type: - scalar: string - - name: fulcioSubject + - name: aws type: - namedType: com.github.openshift.api.config.v1.PolicyFulcioSubject - default: {} - - name: rekorKeyData + namedType: com.github.openshift.api.config.v1.AWSDNSSpec + - name: type type: scalar: string -- name: com.github.openshift.api.config.v1.ImagePolicyPKIRootOfTrust + default: "" + unions: + - discriminator: type + fields: + - fieldName: aws + discriminatorValue: AWS +- name: com.github.openshift.api.config.v1.DNSSpec map: fields: - - name: caIntermediatesData - type: - scalar: string - - name: caRootsData + - name: baseDomain type: scalar: string - - name: pkiCertificateSubject + default: "" + - name: platform type: - namedType: com.github.openshift.api.config.v1.PKICertificateSubject + namedType: com.github.openshift.api.config.v1.DNSPlatformSpec default: {} -- name: com.github.openshift.api.config.v1.ImagePolicyPublicKeyRootOfTrust - map: - fields: - - name: keyData + - name: privateZone type: - scalar: string - - name: rekorKeyData + namedType: com.github.openshift.api.config.v1.DNSZone + - name: publicZone type: - scalar: string -- name: com.github.openshift.api.config.v1.ImagePolicySpec + namedType: com.github.openshift.api.config.v1.DNSZone +- name: com.github.openshift.api.config.v1.DNSStatus + map: + elementType: + scalar: untyped + list: + elementType: + namedType: __untyped_atomic_ + elementRelationship: atomic + map: + elementType: + namedType: __untyped_deduced_ + elementRelationship: separable +- name: com.github.openshift.api.config.v1.DNSZone map: fields: - - name: policy + - name: id type: - namedType: com.github.openshift.api.config.v1.ImageSigstoreVerificationPolicy - default: {} - - name: scopes + scalar: string + - name: tags type: - list: + map: elementType: scalar: string - elementRelationship: associative -- name: com.github.openshift.api.config.v1.ImagePolicyStatus +- name: com.github.openshift.api.config.v1.DeprecatedWebhookTokenAuthenticator map: fields: - - name: conditions + - name: kubeConfig type: - list: - elementType: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Condition - elementRelationship: associative - keys: - - type -- name: com.github.openshift.api.config.v1.ImageSigstoreVerificationPolicy + namedType: com.github.openshift.api.config.v1.SecretNameReference + default: {} +- name: com.github.openshift.api.config.v1.EquinixMetalPlatformSpec + map: + elementType: + scalar: untyped + list: + elementType: + namedType: __untyped_atomic_ + elementRelationship: atomic + map: + elementType: + namedType: __untyped_deduced_ + elementRelationship: separable +- name: com.github.openshift.api.config.v1.EquinixMetalPlatformStatus map: fields: - - name: rootOfTrust + - name: apiServerInternalIP type: - namedType: com.github.openshift.api.config.v1.PolicyRootOfTrust - default: {} - - name: signedIdentity + scalar: string + - name: ingressIP type: - namedType: com.github.openshift.api.config.v1.PolicyIdentity -- name: com.github.openshift.api.config.v1.ImageSpec + scalar: string +- name: com.github.openshift.api.config.v1.ExternalIPConfig map: fields: - - name: additionalTrustedCA + - name: autoAssignCIDRs type: - namedType: com.github.openshift.api.config.v1.ConfigMapNameReference - default: {} - - name: allowedRegistriesForImport + list: + elementType: + scalar: string + elementRelationship: atomic + - name: policy + type: + namedType: com.github.openshift.api.config.v1.ExternalIPPolicy +- name: com.github.openshift.api.config.v1.ExternalIPPolicy + map: + fields: + - name: allowedCIDRs type: list: elementType: - namedType: com.github.openshift.api.config.v1.RegistryLocation + scalar: string elementRelationship: atomic - - name: externalRegistryHostnames + - name: rejectedCIDRs type: list: elementType: scalar: string elementRelationship: atomic - - name: imageStreamImportMode +- name: com.github.openshift.api.config.v1.ExternalPlatformSpec + map: + fields: + - name: platformName type: scalar: string - default: "" - - name: registrySources + default: Unknown +- name: com.github.openshift.api.config.v1.ExternalPlatformStatus + map: + fields: + - name: cloudControllerManager type: - namedType: com.github.openshift.api.config.v1.RegistrySources + namedType: com.github.openshift.api.config.v1.CloudControllerManagerStatus default: {} -- name: com.github.openshift.api.config.v1.ImageStatus +- name: com.github.openshift.api.config.v1.ExtraMapping map: fields: - - name: externalRegistryHostnames - type: - list: - elementType: - scalar: string - elementRelationship: atomic - - name: imageStreamImportMode + - name: key type: scalar: string - - name: internalRegistryHostname + default: "" + - name: valueExpression type: scalar: string -- name: com.github.openshift.api.config.v1.ImageTagMirrorSet + default: "" +- name: com.github.openshift.api.config.v1.FeatureGate map: fields: - name: apiVersion @@ -1920,26 +1862,76 @@ var schemaYAML = typed.YAMLObject(`types: scalar: string - name: metadata type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta + namedType: ObjectMeta.v1.meta.apis.pkg.apimachinery.k8s.io default: {} - name: spec type: - namedType: com.github.openshift.api.config.v1.ImageTagMirrorSetSpec + namedType: com.github.openshift.api.config.v1.FeatureGateSpec default: {} - name: status type: - namedType: com.github.openshift.api.config.v1.ImageTagMirrorSetStatus + namedType: com.github.openshift.api.config.v1.FeatureGateStatus default: {} -- name: com.github.openshift.api.config.v1.ImageTagMirrorSetSpec +- name: com.github.openshift.api.config.v1.FeatureGateAttributes map: fields: - - name: imageTagMirrors + - name: name + type: + scalar: string + default: "" +- name: com.github.openshift.api.config.v1.FeatureGateDetails + map: + fields: + - name: disabled type: list: elementType: - namedType: com.github.openshift.api.config.v1.ImageTagMirrors + namedType: com.github.openshift.api.config.v1.FeatureGateAttributes elementRelationship: atomic -- name: com.github.openshift.api.config.v1.ImageTagMirrorSetStatus + - name: enabled + type: + list: + elementType: + namedType: com.github.openshift.api.config.v1.FeatureGateAttributes + elementRelationship: atomic + - name: version + type: + scalar: string + default: "" +- name: com.github.openshift.api.config.v1.FeatureGateSpec + map: + fields: + - name: customNoUpgrade + type: + namedType: com.github.openshift.api.config.v1.CustomFeatureGates + - name: featureSet + type: + scalar: string + unions: + - discriminator: featureSet + fields: + - fieldName: customNoUpgrade + discriminatorValue: CustomNoUpgrade +- name: com.github.openshift.api.config.v1.FeatureGateStatus + map: + fields: + - name: conditions + type: + list: + elementType: + namedType: Condition.v1.meta.apis.pkg.apimachinery.k8s.io + elementRelationship: associative + keys: + - type + - name: featureGates + type: + list: + elementType: + namedType: com.github.openshift.api.config.v1.FeatureGateDetails + elementRelationship: associative + keys: + - version +- name: com.github.openshift.api.config.v1.GCPPlatformSpec map: elementType: scalar: untyped @@ -1951,172 +1943,287 @@ var schemaYAML = typed.YAMLObject(`types: elementType: namedType: __untyped_deduced_ elementRelationship: separable -- name: com.github.openshift.api.config.v1.ImageTagMirrors +- name: com.github.openshift.api.config.v1.GCPPlatformStatus map: fields: - - name: mirrorSourcePolicy + - name: cloudLoadBalancerConfig + type: + namedType: com.github.openshift.api.config.v1.CloudLoadBalancerConfig + default: + dnsType: PlatformDefault + - name: projectID type: scalar: string - - name: mirrors + default: "" + - name: region + type: + scalar: string + default: "" + - name: resourceLabels type: list: elementType: - scalar: string + namedType: com.github.openshift.api.config.v1.GCPResourceLabel elementRelationship: associative - - name: source + keys: + - key + - name: resourceTags + type: + list: + elementType: + namedType: com.github.openshift.api.config.v1.GCPResourceTag + elementRelationship: associative + keys: + - key +- name: com.github.openshift.api.config.v1.GCPResourceLabel + map: + fields: + - name: key type: scalar: string default: "" -- name: com.github.openshift.api.config.v1.Infrastructure + - name: value + type: + scalar: string + default: "" +- name: com.github.openshift.api.config.v1.GCPResourceTag map: fields: - - name: apiVersion + - name: key type: scalar: string - - name: kind + default: "" + - name: parentID type: scalar: string - - name: metadata + default: "" + - name: value type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta - default: {} - - name: spec + scalar: string + default: "" +- name: com.github.openshift.api.config.v1.GatherConfig + map: + fields: + - name: dataPolicy type: - namedType: com.github.openshift.api.config.v1.InfrastructureSpec + list: + elementType: + scalar: string + elementRelationship: atomic + - name: gatherers + type: + namedType: com.github.openshift.api.config.v1.Gatherers default: {} - - name: status + - name: storage type: - namedType: com.github.openshift.api.config.v1.InfrastructureStatus + namedType: com.github.openshift.api.config.v1.Storage default: {} -- name: com.github.openshift.api.config.v1.InfrastructureSpec +- name: com.github.openshift.api.config.v1.GathererConfig map: fields: - - name: cloudConfig + - name: name type: - namedType: com.github.openshift.api.config.v1.ConfigMapFileReference - default: {} - - name: platformSpec + scalar: string + - name: state type: - namedType: com.github.openshift.api.config.v1.PlatformSpec - default: {} -- name: com.github.openshift.api.config.v1.InfrastructureStatus + scalar: string +- name: com.github.openshift.api.config.v1.Gatherers map: fields: - - name: apiServerInternalURI + - name: custom type: - scalar: string - default: "" - - name: apiServerURL + namedType: com.github.openshift.api.config.v1.Custom + default: {} + - name: mode type: scalar: string - default: "" - - name: controlPlaneTopology + unions: + - discriminator: mode + fields: + - fieldName: custom + discriminatorValue: Custom +- name: com.github.openshift.api.config.v1.GitHubIdentityProvider + map: + fields: + - name: ca + type: + namedType: com.github.openshift.api.config.v1.ConfigMapNameReference + default: {} + - name: clientID type: scalar: string default: "" - - name: cpuPartitioning + - name: clientSecret type: - scalar: string - default: None - - name: etcdDiscoveryDomain + namedType: com.github.openshift.api.config.v1.SecretNameReference + default: {} + - name: hostname type: scalar: string default: "" - - name: infrastructureName + - name: organizations + type: + list: + elementType: + scalar: string + elementRelationship: atomic + - name: teams + type: + list: + elementType: + scalar: string + elementRelationship: atomic +- name: com.github.openshift.api.config.v1.GitLabIdentityProvider + map: + fields: + - name: ca + type: + namedType: com.github.openshift.api.config.v1.ConfigMapNameReference + default: {} + - name: clientID type: scalar: string default: "" - - name: infrastructureTopology + - name: clientSecret type: - scalar: string - - name: platform + namedType: com.github.openshift.api.config.v1.SecretNameReference + default: {} + - name: url type: scalar: string - - name: platformStatus - type: - namedType: com.github.openshift.api.config.v1.PlatformStatus -- name: com.github.openshift.api.config.v1.Ingress + default: "" +- name: com.github.openshift.api.config.v1.GoogleIdentityProvider map: fields: - - name: apiVersion - type: - scalar: string - - name: kind + - name: clientID type: scalar: string - - name: metadata + default: "" + - name: clientSecret type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta + namedType: com.github.openshift.api.config.v1.SecretNameReference default: {} - - name: spec + - name: hostedDomain type: - namedType: com.github.openshift.api.config.v1.IngressSpec - default: {} - - name: status + scalar: string + default: "" +- name: com.github.openshift.api.config.v1.HTPasswdIdentityProvider + map: + fields: + - name: fileData type: - namedType: com.github.openshift.api.config.v1.IngressStatus + namedType: com.github.openshift.api.config.v1.SecretNameReference default: {} -- name: com.github.openshift.api.config.v1.IngressPlatformSpec +- name: com.github.openshift.api.config.v1.HubSource map: fields: - - name: aws + - name: disabled type: - namedType: com.github.openshift.api.config.v1.AWSIngressSpec - - name: type + scalar: boolean + default: false + - name: name type: scalar: string default: "" - unions: - - discriminator: type - fields: - - fieldName: aws - discriminatorValue: AWS -- name: com.github.openshift.api.config.v1.IngressSpec +- name: com.github.openshift.api.config.v1.HubSourceStatus map: fields: - - name: appsDomain + - name: message type: scalar: string - - name: componentRoutes + - name: status + type: + scalar: string +- name: com.github.openshift.api.config.v1.IBMCloudPlatformSpec + map: + fields: + - name: serviceEndpoints type: list: elementType: - namedType: com.github.openshift.api.config.v1.ComponentRouteSpec + namedType: com.github.openshift.api.config.v1.IBMCloudServiceEndpoint elementRelationship: associative keys: - - namespace - name - - name: domain +- name: com.github.openshift.api.config.v1.IBMCloudPlatformStatus + map: + fields: + - name: cisInstanceCRN type: scalar: string - default: "" - - name: loadBalancer + - name: dnsInstanceCRN type: - namedType: com.github.openshift.api.config.v1.LoadBalancer - default: {} - - name: requiredHSTSPolicies + scalar: string + - name: location type: - list: - elementType: - namedType: com.github.openshift.api.config.v1.RequiredHSTSPolicy - elementRelationship: atomic -- name: com.github.openshift.api.config.v1.IngressStatus - map: - fields: - - name: componentRoutes + scalar: string + - name: providerType + type: + scalar: string + - name: resourceGroupName + type: + scalar: string + - name: serviceEndpoints type: list: elementType: - namedType: com.github.openshift.api.config.v1.ComponentRouteStatus + namedType: com.github.openshift.api.config.v1.IBMCloudServiceEndpoint elementRelationship: associative keys: - - namespace - name - - name: defaultPlacement +- name: com.github.openshift.api.config.v1.IBMCloudServiceEndpoint + map: + fields: + - name: name type: scalar: string default: "" -- name: com.github.openshift.api.config.v1.InsightsDataGather + - name: url + type: + scalar: string + default: "" +- name: com.github.openshift.api.config.v1.IdentityProvider + map: + fields: + - name: basicAuth + type: + namedType: com.github.openshift.api.config.v1.BasicAuthIdentityProvider + - name: github + type: + namedType: com.github.openshift.api.config.v1.GitHubIdentityProvider + - name: gitlab + type: + namedType: com.github.openshift.api.config.v1.GitLabIdentityProvider + - name: google + type: + namedType: com.github.openshift.api.config.v1.GoogleIdentityProvider + - name: htpasswd + type: + namedType: com.github.openshift.api.config.v1.HTPasswdIdentityProvider + - name: keystone + type: + namedType: com.github.openshift.api.config.v1.KeystoneIdentityProvider + - name: ldap + type: + namedType: com.github.openshift.api.config.v1.LDAPIdentityProvider + - name: mappingMethod + type: + scalar: string + - name: name + type: + scalar: string + default: "" + - name: openID + type: + namedType: com.github.openshift.api.config.v1.OpenIDIdentityProvider + - name: requestHeader + type: + namedType: com.github.openshift.api.config.v1.RequestHeaderIdentityProvider + - name: type + type: + scalar: string + default: "" +- name: com.github.openshift.api.config.v1.Image map: fields: - name: apiVersion @@ -2127,70 +2234,75 @@ var schemaYAML = typed.YAMLObject(`types: scalar: string - name: metadata type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta + namedType: ObjectMeta.v1.meta.apis.pkg.apimachinery.k8s.io default: {} - name: spec type: - namedType: com.github.openshift.api.config.v1.InsightsDataGatherSpec + namedType: com.github.openshift.api.config.v1.ImageSpec default: {} -- name: com.github.openshift.api.config.v1.InsightsDataGatherSpec - map: - fields: - - name: gatherConfig + - name: status type: - namedType: com.github.openshift.api.config.v1.GatherConfig + namedType: com.github.openshift.api.config.v1.ImageStatus default: {} -- name: com.github.openshift.api.config.v1.IntermediateTLSProfile - map: - elementType: - scalar: untyped - list: - elementType: - namedType: __untyped_atomic_ - elementRelationship: atomic - map: - elementType: - namedType: __untyped_deduced_ - elementRelationship: separable -- name: com.github.openshift.api.config.v1.KMSConfig +- name: com.github.openshift.api.config.v1.ImageContentPolicy map: fields: - - name: aws + - name: apiVersion type: - namedType: com.github.openshift.api.config.v1.AWSKMSConfig - - name: type + scalar: string + - name: kind type: scalar: string - default: "" - unions: - - discriminator: type - fields: - - fieldName: aws - discriminatorValue: AWS -- name: com.github.openshift.api.config.v1.KeystoneIdentityProvider + - name: metadata + type: + namedType: ObjectMeta.v1.meta.apis.pkg.apimachinery.k8s.io + default: {} + - name: spec + type: + namedType: com.github.openshift.api.config.v1.ImageContentPolicySpec + default: {} +- name: com.github.openshift.api.config.v1.ImageContentPolicySpec map: fields: - - name: ca + - name: repositoryDigestMirrors type: - namedType: com.github.openshift.api.config.v1.ConfigMapNameReference - default: {} - - name: domainName + list: + elementType: + namedType: com.github.openshift.api.config.v1.RepositoryDigestMirrors + elementRelationship: associative + keys: + - source +- name: com.github.openshift.api.config.v1.ImageDigestMirrorSet + map: + fields: + - name: apiVersion type: scalar: string - default: "" - - name: tlsClientCert + - name: kind type: - namedType: com.github.openshift.api.config.v1.SecretNameReference + scalar: string + - name: metadata + type: + namedType: ObjectMeta.v1.meta.apis.pkg.apimachinery.k8s.io default: {} - - name: tlsClientKey + - name: spec type: - namedType: com.github.openshift.api.config.v1.SecretNameReference + namedType: com.github.openshift.api.config.v1.ImageDigestMirrorSetSpec default: {} - - name: url + - name: status type: - scalar: string - default: "" -- name: com.github.openshift.api.config.v1.KubevirtPlatformSpec + namedType: com.github.openshift.api.config.v1.ImageDigestMirrorSetStatus + default: {} +- name: com.github.openshift.api.config.v1.ImageDigestMirrorSetSpec + map: + fields: + - name: imageDigestMirrors + type: + list: + elementType: + namedType: com.github.openshift.api.config.v1.ImageDigestMirrors + elementRelationship: atomic +- name: com.github.openshift.api.config.v1.ImageDigestMirrorSetStatus map: elementType: scalar: untyped @@ -2202,250 +2314,223 @@ var schemaYAML = typed.YAMLObject(`types: elementType: namedType: __untyped_deduced_ elementRelationship: separable -- name: com.github.openshift.api.config.v1.KubevirtPlatformStatus +- name: com.github.openshift.api.config.v1.ImageDigestMirrors map: fields: - - name: apiServerInternalIP - type: - scalar: string - - name: ingressIP + - name: mirrorSourcePolicy type: scalar: string -- name: com.github.openshift.api.config.v1.LDAPAttributeMapping - map: - fields: - - name: email + - name: mirrors type: list: elementType: scalar: string - elementRelationship: atomic - - name: id + elementRelationship: associative + - name: source type: - list: - elementType: - scalar: string - elementRelationship: atomic + scalar: string + default: "" +- name: com.github.openshift.api.config.v1.ImageLabel + map: + fields: - name: name type: - list: - elementType: - scalar: string - elementRelationship: atomic - - name: preferredUsername + scalar: string + default: "" + - name: value type: - list: - elementType: - scalar: string - elementRelationship: atomic -- name: com.github.openshift.api.config.v1.LDAPIdentityProvider + scalar: string +- name: com.github.openshift.api.config.v1.ImagePolicy map: fields: - - name: attributes + - name: apiVersion type: - namedType: com.github.openshift.api.config.v1.LDAPAttributeMapping - default: {} - - name: bindDN + scalar: string + - name: kind type: scalar: string - default: "" - - name: bindPassword + - name: metadata type: - namedType: com.github.openshift.api.config.v1.SecretNameReference + namedType: ObjectMeta.v1.meta.apis.pkg.apimachinery.k8s.io default: {} - - name: ca + - name: spec type: - namedType: com.github.openshift.api.config.v1.ConfigMapNameReference + namedType: com.github.openshift.api.config.v1.ImagePolicySpec default: {} - - name: insecure + - name: status type: - scalar: boolean - default: false - - name: url + namedType: com.github.openshift.api.config.v1.ImagePolicyStatus + default: {} +- name: com.github.openshift.api.config.v1.ImagePolicyFulcioCAWithRekorRootOfTrust + map: + fields: + - name: fulcioCAData type: scalar: string - default: "" -- name: com.github.openshift.api.config.v1.LoadBalancer + - name: fulcioSubject + type: + namedType: com.github.openshift.api.config.v1.PolicyFulcioSubject + default: {} + - name: rekorKeyData + type: + scalar: string +- name: com.github.openshift.api.config.v1.ImagePolicyPKIRootOfTrust map: fields: - - name: platform + - name: caIntermediatesData type: - namedType: com.github.openshift.api.config.v1.IngressPlatformSpec + scalar: string + - name: caRootsData + type: + scalar: string + - name: pkiCertificateSubject + type: + namedType: com.github.openshift.api.config.v1.PKICertificateSubject default: {} -- name: com.github.openshift.api.config.v1.MTUMigration +- name: com.github.openshift.api.config.v1.ImagePolicyPublicKeyRootOfTrust map: fields: - - name: machine + - name: keyData type: - namedType: com.github.openshift.api.config.v1.MTUMigrationValues - - name: network + scalar: string + - name: rekorKeyData type: - namedType: com.github.openshift.api.config.v1.MTUMigrationValues -- name: com.github.openshift.api.config.v1.MTUMigrationValues + scalar: string +- name: com.github.openshift.api.config.v1.ImagePolicySpec map: fields: - - name: from + - name: policy type: - scalar: numeric - - name: to + namedType: com.github.openshift.api.config.v1.ImageSigstoreVerificationPolicy + default: {} + - name: scopes type: - scalar: numeric -- name: com.github.openshift.api.config.v1.MaxAgePolicy + list: + elementType: + scalar: string + elementRelationship: associative +- name: com.github.openshift.api.config.v1.ImagePolicyStatus map: fields: - - name: largestMaxAge - type: - scalar: numeric - - name: smallestMaxAge + - name: conditions type: - scalar: numeric -- name: com.github.openshift.api.config.v1.ModernTLSProfile - map: - elementType: - scalar: untyped - list: - elementType: - namedType: __untyped_atomic_ - elementRelationship: atomic - map: - elementType: - namedType: __untyped_deduced_ - elementRelationship: separable -- name: com.github.openshift.api.config.v1.Network + list: + elementType: + namedType: Condition.v1.meta.apis.pkg.apimachinery.k8s.io + elementRelationship: associative + keys: + - type +- name: com.github.openshift.api.config.v1.ImageSigstoreVerificationPolicy map: fields: - - name: apiVersion - type: - scalar: string - - name: kind - type: - scalar: string - - name: metadata - type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta - default: {} - - name: spec + - name: rootOfTrust type: - namedType: com.github.openshift.api.config.v1.NetworkSpec + namedType: com.github.openshift.api.config.v1.PolicyRootOfTrust default: {} - - name: status + - name: signedIdentity type: - namedType: com.github.openshift.api.config.v1.NetworkStatus - default: {} -- name: com.github.openshift.api.config.v1.NetworkDiagnostics + namedType: com.github.openshift.api.config.v1.PolicyIdentity +- name: com.github.openshift.api.config.v1.ImageSpec map: fields: - - name: mode - type: - scalar: string - default: "" - - name: sourcePlacement - type: - namedType: com.github.openshift.api.config.v1.NetworkDiagnosticsSourcePlacement - default: {} - - name: targetPlacement + - name: additionalTrustedCA type: - namedType: com.github.openshift.api.config.v1.NetworkDiagnosticsTargetPlacement + namedType: com.github.openshift.api.config.v1.ConfigMapNameReference default: {} -- name: com.github.openshift.api.config.v1.NetworkDiagnosticsSourcePlacement - map: - fields: - - name: nodeSelector + - name: allowedRegistriesForImport type: - map: + list: elementType: - scalar: string - - name: tolerations + namedType: com.github.openshift.api.config.v1.RegistryLocation + elementRelationship: atomic + - name: externalRegistryHostnames type: list: elementType: - namedType: io.k8s.api.core.v1.Toleration + scalar: string elementRelationship: atomic -- name: com.github.openshift.api.config.v1.NetworkDiagnosticsTargetPlacement + - name: imageStreamImportMode + type: + scalar: string + default: "" + - name: registrySources + type: + namedType: com.github.openshift.api.config.v1.RegistrySources + default: {} +- name: com.github.openshift.api.config.v1.ImageStatus map: fields: - - name: nodeSelector - type: - map: - elementType: - scalar: string - - name: tolerations + - name: externalRegistryHostnames type: list: elementType: - namedType: io.k8s.api.core.v1.Toleration + scalar: string elementRelationship: atomic -- name: com.github.openshift.api.config.v1.NetworkMigration - map: - fields: - - name: mtu + - name: imageStreamImportMode type: - namedType: com.github.openshift.api.config.v1.MTUMigration - - name: networkType + scalar: string + - name: internalRegistryHostname type: scalar: string -- name: com.github.openshift.api.config.v1.NetworkSpec +- name: com.github.openshift.api.config.v1.ImageTagMirrorSet map: fields: - - name: clusterNetwork + - name: apiVersion type: - list: - elementType: - namedType: com.github.openshift.api.config.v1.ClusterNetworkEntry - elementRelationship: atomic - - name: externalIP + scalar: string + - name: kind type: - namedType: com.github.openshift.api.config.v1.ExternalIPConfig - - name: networkDiagnostics + scalar: string + - name: metadata type: - namedType: com.github.openshift.api.config.v1.NetworkDiagnostics + namedType: ObjectMeta.v1.meta.apis.pkg.apimachinery.k8s.io default: {} - - name: networkType - type: - scalar: string - default: "" - - name: serviceNetwork + - name: spec type: - list: - elementType: - scalar: string - elementRelationship: atomic - - name: serviceNodePortRange + namedType: com.github.openshift.api.config.v1.ImageTagMirrorSetSpec + default: {} + - name: status type: - scalar: string -- name: com.github.openshift.api.config.v1.NetworkStatus + namedType: com.github.openshift.api.config.v1.ImageTagMirrorSetStatus + default: {} +- name: com.github.openshift.api.config.v1.ImageTagMirrorSetSpec map: fields: - - name: clusterNetwork + - name: imageTagMirrors type: list: elementType: - namedType: com.github.openshift.api.config.v1.ClusterNetworkEntry + namedType: com.github.openshift.api.config.v1.ImageTagMirrors elementRelationship: atomic - - name: clusterNetworkMTU +- name: com.github.openshift.api.config.v1.ImageTagMirrorSetStatus + map: + elementType: + scalar: untyped + list: + elementType: + namedType: __untyped_atomic_ + elementRelationship: atomic + map: + elementType: + namedType: __untyped_deduced_ + elementRelationship: separable +- name: com.github.openshift.api.config.v1.ImageTagMirrors + map: + fields: + - name: mirrorSourcePolicy type: - scalar: numeric - - name: conditions + scalar: string + - name: mirrors type: list: elementType: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Condition + scalar: string elementRelationship: associative - keys: - - type - - name: migration - type: - namedType: com.github.openshift.api.config.v1.NetworkMigration - - name: networkType + - name: source type: scalar: string - - name: serviceNetwork - type: - list: - elementType: - scalar: string - elementRelationship: atomic -- name: com.github.openshift.api.config.v1.Node + default: "" +- name: com.github.openshift.api.config.v1.Infrastructure map: fields: - name: apiVersion @@ -2456,161 +2541,145 @@ var schemaYAML = typed.YAMLObject(`types: scalar: string - name: metadata type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta + namedType: ObjectMeta.v1.meta.apis.pkg.apimachinery.k8s.io default: {} - name: spec type: - namedType: com.github.openshift.api.config.v1.NodeSpec + namedType: com.github.openshift.api.config.v1.InfrastructureSpec default: {} - name: status type: - namedType: com.github.openshift.api.config.v1.NodeStatus + namedType: com.github.openshift.api.config.v1.InfrastructureStatus default: {} -- name: com.github.openshift.api.config.v1.NodeSpec +- name: com.github.openshift.api.config.v1.InfrastructureSpec map: fields: - - name: cgroupMode + - name: cloudConfig + type: + namedType: com.github.openshift.api.config.v1.ConfigMapFileReference + default: {} + - name: platformSpec + type: + namedType: com.github.openshift.api.config.v1.PlatformSpec + default: {} +- name: com.github.openshift.api.config.v1.InfrastructureStatus + map: + fields: + - name: apiServerInternalURI type: scalar: string - - name: minimumKubeletVersion + default: "" + - name: apiServerURL type: scalar: string default: "" - - name: workerLatencyProfile + - name: controlPlaneTopology type: scalar: string -- name: com.github.openshift.api.config.v1.NodeStatus - map: - fields: - - name: conditions + default: "" + - name: cpuPartitioning type: - list: - elementType: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Condition - elementRelationship: associative - keys: - - type -- name: com.github.openshift.api.config.v1.NutanixFailureDomain - map: - fields: - - name: cluster + scalar: string + default: None + - name: etcdDiscoveryDomain type: - namedType: com.github.openshift.api.config.v1.NutanixResourceIdentifier - default: {} - - name: name + scalar: string + default: "" + - name: infrastructureName type: scalar: string default: "" - - name: subnets + - name: infrastructureTopology type: - list: - elementType: - namedType: com.github.openshift.api.config.v1.NutanixResourceIdentifier - elementRelationship: atomic -- name: com.github.openshift.api.config.v1.NutanixPlatformLoadBalancer - map: - fields: - - name: type + scalar: string + - name: platform type: scalar: string - default: OpenShiftManagedDefault - unions: - - discriminator: type -- name: com.github.openshift.api.config.v1.NutanixPlatformSpec + - name: platformStatus + type: + namedType: com.github.openshift.api.config.v1.PlatformStatus +- name: com.github.openshift.api.config.v1.Ingress map: fields: - - name: failureDomains + - name: apiVersion type: - list: - elementType: - namedType: com.github.openshift.api.config.v1.NutanixFailureDomain - elementRelationship: associative - keys: - - name - - name: prismCentral + scalar: string + - name: kind type: - namedType: com.github.openshift.api.config.v1.NutanixPrismEndpoint + scalar: string + - name: metadata + type: + namedType: ObjectMeta.v1.meta.apis.pkg.apimachinery.k8s.io default: {} - - name: prismElements + - name: spec type: - list: - elementType: - namedType: com.github.openshift.api.config.v1.NutanixPrismElementEndpoint - elementRelationship: associative - keys: - - name -- name: com.github.openshift.api.config.v1.NutanixPlatformStatus + namedType: com.github.openshift.api.config.v1.IngressSpec + default: {} + - name: status + type: + namedType: com.github.openshift.api.config.v1.IngressStatus + default: {} +- name: com.github.openshift.api.config.v1.IngressPlatformSpec map: fields: - - name: apiServerInternalIP - type: - scalar: string - - name: apiServerInternalIPs + - name: aws type: - list: - elementType: - scalar: string - elementRelationship: associative - - name: dnsRecordsType + namedType: com.github.openshift.api.config.v1.AWSIngressSpec + - name: type type: scalar: string - - name: ingressIP + default: "" + unions: + - discriminator: type + fields: + - fieldName: aws + discriminatorValue: AWS +- name: com.github.openshift.api.config.v1.IngressSpec + map: + fields: + - name: appsDomain type: scalar: string - - name: ingressIPs + - name: componentRoutes type: list: elementType: - scalar: string + namedType: com.github.openshift.api.config.v1.ComponentRouteSpec elementRelationship: associative - - name: loadBalancer - type: - namedType: com.github.openshift.api.config.v1.NutanixPlatformLoadBalancer - default: - type: OpenShiftManagedDefault -- name: com.github.openshift.api.config.v1.NutanixPrismElementEndpoint - map: - fields: - - name: endpoint - type: - namedType: com.github.openshift.api.config.v1.NutanixPrismEndpoint - default: {} - - name: name + keys: + - namespace + - name + - name: domain type: scalar: string default: "" -- name: com.github.openshift.api.config.v1.NutanixPrismEndpoint - map: - fields: - - name: address + - name: loadBalancer type: - scalar: string - default: "" - - name: port + namedType: com.github.openshift.api.config.v1.LoadBalancer + default: {} + - name: requiredHSTSPolicies type: - scalar: numeric - default: 0 -- name: com.github.openshift.api.config.v1.NutanixResourceIdentifier + list: + elementType: + namedType: com.github.openshift.api.config.v1.RequiredHSTSPolicy + elementRelationship: atomic +- name: com.github.openshift.api.config.v1.IngressStatus map: fields: - - name: name + - name: componentRoutes type: - scalar: string - - name: type + list: + elementType: + namedType: com.github.openshift.api.config.v1.ComponentRouteStatus + elementRelationship: associative + keys: + - namespace + - name + - name: defaultPlacement type: scalar: string default: "" - - name: uuid - type: - scalar: string - unions: - - discriminator: type - fields: - - fieldName: name - discriminatorValue: Name - - fieldName: uuid - discriminatorValue: UUID -- name: com.github.openshift.api.config.v1.OAuth +- name: com.github.openshift.api.config.v1.InsightsDataGather map: fields: - name: apiVersion @@ -2621,34 +2690,20 @@ var schemaYAML = typed.YAMLObject(`types: scalar: string - name: metadata type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta + namedType: ObjectMeta.v1.meta.apis.pkg.apimachinery.k8s.io default: {} - name: spec type: - namedType: com.github.openshift.api.config.v1.OAuthSpec - default: {} - - name: status - type: - namedType: com.github.openshift.api.config.v1.OAuthStatus + namedType: com.github.openshift.api.config.v1.InsightsDataGatherSpec default: {} -- name: com.github.openshift.api.config.v1.OAuthSpec +- name: com.github.openshift.api.config.v1.InsightsDataGatherSpec map: fields: - - name: identityProviders - type: - list: - elementType: - namedType: com.github.openshift.api.config.v1.IdentityProvider - elementRelationship: atomic - - name: templates - type: - namedType: com.github.openshift.api.config.v1.OAuthTemplates - default: {} - - name: tokenConfig + - name: gatherConfig type: - namedType: com.github.openshift.api.config.v1.TokenConfig + namedType: com.github.openshift.api.config.v1.GatherConfig default: {} -- name: com.github.openshift.api.config.v1.OAuthStatus +- name: com.github.openshift.api.config.v1.IntermediateTLSProfile map: elementType: scalar: untyped @@ -2660,152 +2715,154 @@ var schemaYAML = typed.YAMLObject(`types: elementType: namedType: __untyped_deduced_ elementRelationship: separable -- name: com.github.openshift.api.config.v1.OAuthTemplates +- name: com.github.openshift.api.config.v1.KMSConfig map: fields: - - name: error - type: - namedType: com.github.openshift.api.config.v1.SecretNameReference - default: {} - - name: login + - name: aws type: - namedType: com.github.openshift.api.config.v1.SecretNameReference - default: {} - - name: providerSelection + namedType: com.github.openshift.api.config.v1.AWSKMSConfig + - name: type type: - namedType: com.github.openshift.api.config.v1.SecretNameReference - default: {} -- name: com.github.openshift.api.config.v1.OIDCClientConfig + scalar: string + default: "" + unions: + - discriminator: type + fields: + - fieldName: aws + discriminatorValue: AWS +- name: com.github.openshift.api.config.v1.KeystoneIdentityProvider map: fields: - - name: clientID + - name: ca + type: + namedType: com.github.openshift.api.config.v1.ConfigMapNameReference + default: {} + - name: domainName type: scalar: string default: "" - - name: clientSecret + - name: tlsClientCert type: namedType: com.github.openshift.api.config.v1.SecretNameReference default: {} - - name: componentName + - name: tlsClientKey type: - scalar: string - default: "" - - name: componentNamespace + namedType: com.github.openshift.api.config.v1.SecretNameReference + default: {} + - name: url type: scalar: string default: "" - - name: extraScopes - type: - list: - elementType: - scalar: string - elementRelationship: associative -- name: com.github.openshift.api.config.v1.OIDCClientReference +- name: com.github.openshift.api.config.v1.KubevirtPlatformSpec + map: + elementType: + scalar: untyped + list: + elementType: + namedType: __untyped_atomic_ + elementRelationship: atomic + map: + elementType: + namedType: __untyped_deduced_ + elementRelationship: separable +- name: com.github.openshift.api.config.v1.KubevirtPlatformStatus map: fields: - - name: clientID - type: - scalar: string - default: "" - - name: issuerURL + - name: apiServerInternalIP type: scalar: string - default: "" - - name: oidcProviderName + - name: ingressIP type: scalar: string - default: "" -- name: com.github.openshift.api.config.v1.OIDCClientStatus +- name: com.github.openshift.api.config.v1.LDAPAttributeMapping map: fields: - - name: componentName - type: - scalar: string - default: "" - - name: componentNamespace + - name: email type: - scalar: string - default: "" - - name: conditions + list: + elementType: + scalar: string + elementRelationship: atomic + - name: id type: list: elementType: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Condition - elementRelationship: associative - keys: - - type - - name: consumingUsers + scalar: string + elementRelationship: atomic + - name: name type: list: elementType: scalar: string - elementRelationship: associative - - name: currentOIDCClients + elementRelationship: atomic + - name: preferredUsername type: list: elementType: - namedType: com.github.openshift.api.config.v1.OIDCClientReference - elementRelationship: associative - keys: - - issuerURL - - clientID -- name: com.github.openshift.api.config.v1.OIDCProvider + scalar: string + elementRelationship: atomic +- name: com.github.openshift.api.config.v1.LDAPIdentityProvider map: fields: - - name: claimMappings + - name: attributes type: - namedType: com.github.openshift.api.config.v1.TokenClaimMappings + namedType: com.github.openshift.api.config.v1.LDAPAttributeMapping default: {} - - name: claimValidationRules + - name: bindDN type: - list: - elementType: - namedType: com.github.openshift.api.config.v1.TokenClaimValidationRule - elementRelationship: atomic - - name: issuer + scalar: string + default: "" + - name: bindPassword type: - namedType: com.github.openshift.api.config.v1.TokenIssuer + namedType: com.github.openshift.api.config.v1.SecretNameReference default: {} - - name: name + - name: ca + type: + namedType: com.github.openshift.api.config.v1.ConfigMapNameReference + default: {} + - name: insecure + type: + scalar: boolean + default: false + - name: url type: scalar: string default: "" - - name: oidcClients +- name: com.github.openshift.api.config.v1.LoadBalancer + map: + fields: + - name: platform type: - list: - elementType: - namedType: com.github.openshift.api.config.v1.OIDCClientConfig - elementRelationship: associative - keys: - - componentNamespace - - componentName - - name: userValidationRules + namedType: com.github.openshift.api.config.v1.IngressPlatformSpec + default: {} +- name: com.github.openshift.api.config.v1.MTUMigration + map: + fields: + - name: machine type: - list: - elementType: - namedType: com.github.openshift.api.config.v1.TokenUserValidationRule - elementRelationship: associative - keys: - - expression -- name: com.github.openshift.api.config.v1.ObjectReference + namedType: com.github.openshift.api.config.v1.MTUMigrationValues + - name: network + type: + namedType: com.github.openshift.api.config.v1.MTUMigrationValues +- name: com.github.openshift.api.config.v1.MTUMigrationValues map: fields: - - name: group + - name: from type: - scalar: string - default: "" - - name: name + scalar: numeric + - name: to type: - scalar: string - default: "" - - name: namespace + scalar: numeric +- name: com.github.openshift.api.config.v1.MaxAgePolicy + map: + fields: + - name: largestMaxAge type: - scalar: string - - name: resource + scalar: numeric + - name: smallestMaxAge type: - scalar: string - default: "" -- name: com.github.openshift.api.config.v1.OldTLSProfile + scalar: numeric +- name: com.github.openshift.api.config.v1.ModernTLSProfile map: elementType: scalar: untyped @@ -2817,150 +2874,141 @@ var schemaYAML = typed.YAMLObject(`types: elementType: namedType: __untyped_deduced_ elementRelationship: separable -- name: com.github.openshift.api.config.v1.OpenIDClaims +- name: com.github.openshift.api.config.v1.Network map: fields: - - name: email - type: - list: - elementType: - scalar: string - elementRelationship: atomic - - name: groups + - name: apiVersion type: - list: - elementType: - scalar: string - elementRelationship: atomic - - name: name + scalar: string + - name: kind type: - list: - elementType: - scalar: string - elementRelationship: atomic - - name: preferredUsername + scalar: string + - name: metadata type: - list: - elementType: - scalar: string - elementRelationship: atomic -- name: com.github.openshift.api.config.v1.OpenIDIdentityProvider - map: - fields: - - name: ca + namedType: ObjectMeta.v1.meta.apis.pkg.apimachinery.k8s.io + default: {} + - name: spec type: - namedType: com.github.openshift.api.config.v1.ConfigMapNameReference + namedType: com.github.openshift.api.config.v1.NetworkSpec default: {} - - name: claims + - name: status type: - namedType: com.github.openshift.api.config.v1.OpenIDClaims + namedType: com.github.openshift.api.config.v1.NetworkStatus default: {} - - name: clientID +- name: com.github.openshift.api.config.v1.NetworkDiagnostics + map: + fields: + - name: mode type: scalar: string default: "" - - name: clientSecret + - name: sourcePlacement type: - namedType: com.github.openshift.api.config.v1.SecretNameReference + namedType: com.github.openshift.api.config.v1.NetworkDiagnosticsSourcePlacement default: {} - - name: extraAuthorizeParameters + - name: targetPlacement + type: + namedType: com.github.openshift.api.config.v1.NetworkDiagnosticsTargetPlacement + default: {} +- name: com.github.openshift.api.config.v1.NetworkDiagnosticsSourcePlacement + map: + fields: + - name: nodeSelector type: map: elementType: scalar: string - - name: extraScopes + - name: tolerations type: list: elementType: - scalar: string + namedType: Toleration.v1.core.api.k8s.io elementRelationship: atomic - - name: issuer - type: - scalar: string - default: "" -- name: com.github.openshift.api.config.v1.OpenStackPlatformLoadBalancer - map: - fields: - - name: type - type: - scalar: string - default: OpenShiftManagedDefault - unions: - - discriminator: type -- name: com.github.openshift.api.config.v1.OpenStackPlatformSpec +- name: com.github.openshift.api.config.v1.NetworkDiagnosticsTargetPlacement map: fields: - - name: apiServerInternalIPs - type: - list: - elementType: - scalar: string - elementRelationship: atomic - - name: ingressIPs + - name: nodeSelector type: - list: + map: elementType: scalar: string - elementRelationship: atomic - - name: machineNetworks + - name: tolerations type: list: elementType: - scalar: string + namedType: Toleration.v1.core.api.k8s.io elementRelationship: atomic -- name: com.github.openshift.api.config.v1.OpenStackPlatformStatus +- name: com.github.openshift.api.config.v1.NetworkMigration map: fields: - - name: apiServerInternalIP + - name: mtu + type: + namedType: com.github.openshift.api.config.v1.MTUMigration + - name: networkType type: scalar: string - - name: apiServerInternalIPs +- name: com.github.openshift.api.config.v1.NetworkSpec + map: + fields: + - name: clusterNetwork type: list: elementType: - scalar: string + namedType: com.github.openshift.api.config.v1.ClusterNetworkEntry elementRelationship: atomic - - name: cloudName + - name: externalIP type: - scalar: string - - name: dnsRecordsType + namedType: com.github.openshift.api.config.v1.ExternalIPConfig + - name: networkDiagnostics type: - scalar: string - - name: ingressIP + namedType: com.github.openshift.api.config.v1.NetworkDiagnostics + default: {} + - name: networkType type: scalar: string - - name: ingressIPs + default: "" + - name: serviceNetwork type: list: elementType: scalar: string elementRelationship: atomic - - name: loadBalancer + - name: serviceNodePortRange type: - namedType: com.github.openshift.api.config.v1.OpenStackPlatformLoadBalancer - default: - type: OpenShiftManagedDefault - - name: machineNetworks + scalar: string +- name: com.github.openshift.api.config.v1.NetworkStatus + map: + fields: + - name: clusterNetwork type: list: elementType: - scalar: string + namedType: com.github.openshift.api.config.v1.ClusterNetworkEntry elementRelationship: atomic - - name: nodeDNSIP + - name: clusterNetworkMTU type: - scalar: string -- name: com.github.openshift.api.config.v1.OperandVersion - map: - fields: - - name: name + scalar: numeric + - name: conditions type: - scalar: string - default: "" - - name: version + list: + elementType: + namedType: Condition.v1.meta.apis.pkg.apimachinery.k8s.io + elementRelationship: associative + keys: + - type + - name: migration + type: + namedType: com.github.openshift.api.config.v1.NetworkMigration + - name: networkType type: scalar: string - default: "" -- name: com.github.openshift.api.config.v1.OperatorHub + - name: serviceNetwork + type: + list: + elementType: + scalar: string + elementRelationship: atomic +- name: com.github.openshift.api.config.v1.Node map: fields: - name: apiVersion @@ -2971,38 +3019,58 @@ var schemaYAML = typed.YAMLObject(`types: scalar: string - name: metadata type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta + namedType: ObjectMeta.v1.meta.apis.pkg.apimachinery.k8s.io default: {} - name: spec type: - namedType: com.github.openshift.api.config.v1.OperatorHubSpec + namedType: com.github.openshift.api.config.v1.NodeSpec default: {} - name: status type: - namedType: com.github.openshift.api.config.v1.OperatorHubStatus + namedType: com.github.openshift.api.config.v1.NodeStatus default: {} -- name: com.github.openshift.api.config.v1.OperatorHubSpec +- name: com.github.openshift.api.config.v1.NodeSpec map: fields: - - name: disableAllDefaultSources + - name: cgroupMode type: - scalar: boolean - - name: sources + scalar: string + - name: minimumKubeletVersion + type: + scalar: string + default: "" + - name: workerLatencyProfile + type: + scalar: string +- name: com.github.openshift.api.config.v1.NodeStatus + map: + fields: + - name: conditions type: list: elementType: - namedType: com.github.openshift.api.config.v1.HubSource - elementRelationship: atomic -- name: com.github.openshift.api.config.v1.OperatorHubStatus + namedType: Condition.v1.meta.apis.pkg.apimachinery.k8s.io + elementRelationship: associative + keys: + - type +- name: com.github.openshift.api.config.v1.NutanixFailureDomain map: fields: - - name: sources + - name: cluster + type: + namedType: com.github.openshift.api.config.v1.NutanixResourceIdentifier + default: {} + - name: name + type: + scalar: string + default: "" + - name: subnets type: list: elementType: - namedType: com.github.openshift.api.config.v1.HubSourceStatus + namedType: com.github.openshift.api.config.v1.NutanixResourceIdentifier elementRelationship: atomic -- name: com.github.openshift.api.config.v1.OvirtPlatformLoadBalancer +- name: com.github.openshift.api.config.v1.NutanixPlatformLoadBalancer map: fields: - name: type @@ -3011,19 +3079,30 @@ var schemaYAML = typed.YAMLObject(`types: default: OpenShiftManagedDefault unions: - discriminator: type -- name: com.github.openshift.api.config.v1.OvirtPlatformSpec +- name: com.github.openshift.api.config.v1.NutanixPlatformSpec map: - elementType: - scalar: untyped - list: - elementType: - namedType: __untyped_atomic_ - elementRelationship: atomic - map: - elementType: - namedType: __untyped_deduced_ - elementRelationship: separable -- name: com.github.openshift.api.config.v1.OvirtPlatformStatus + fields: + - name: failureDomains + type: + list: + elementType: + namedType: com.github.openshift.api.config.v1.NutanixFailureDomain + elementRelationship: associative + keys: + - name + - name: prismCentral + type: + namedType: com.github.openshift.api.config.v1.NutanixPrismEndpoint + default: {} + - name: prismElements + type: + list: + elementType: + namedType: com.github.openshift.api.config.v1.NutanixPrismElementEndpoint + elementRelationship: associative + keys: + - name +- name: com.github.openshift.api.config.v1.NutanixPlatformStatus map: fields: - name: apiServerInternalIP @@ -3049,282 +3128,402 @@ var schemaYAML = typed.YAMLObject(`types: elementRelationship: associative - name: loadBalancer type: - namedType: com.github.openshift.api.config.v1.OvirtPlatformLoadBalancer + namedType: com.github.openshift.api.config.v1.NutanixPlatformLoadBalancer default: type: OpenShiftManagedDefault - - name: nodeDNSIP +- name: com.github.openshift.api.config.v1.NutanixPrismElementEndpoint + map: + fields: + - name: endpoint + type: + namedType: com.github.openshift.api.config.v1.NutanixPrismEndpoint + default: {} + - name: name type: scalar: string -- name: com.github.openshift.api.config.v1.PKICertificateSubject + default: "" +- name: com.github.openshift.api.config.v1.NutanixPrismEndpoint map: fields: - - name: email + - name: address type: scalar: string - - name: hostname + default: "" + - name: port type: - scalar: string -- name: com.github.openshift.api.config.v1.PersistentVolumeClaimReference + scalar: numeric + default: 0 +- name: com.github.openshift.api.config.v1.NutanixResourceIdentifier map: fields: - name: name type: scalar: string -- name: com.github.openshift.api.config.v1.PersistentVolumeConfig - map: - fields: - - name: claim + - name: type type: - namedType: com.github.openshift.api.config.v1.PersistentVolumeClaimReference - default: {} - - name: mountPath + scalar: string + default: "" + - name: uuid type: scalar: string -- name: com.github.openshift.api.config.v1.PlatformSpec + unions: + - discriminator: type + fields: + - fieldName: name + discriminatorValue: Name + - fieldName: uuid + discriminatorValue: UUID +- name: com.github.openshift.api.config.v1.OAuth map: fields: - - name: alibabaCloud + - name: apiVersion type: - namedType: com.github.openshift.api.config.v1.AlibabaCloudPlatformSpec - - name: aws + scalar: string + - name: kind type: - namedType: com.github.openshift.api.config.v1.AWSPlatformSpec - - name: azure + scalar: string + - name: metadata type: - namedType: com.github.openshift.api.config.v1.AzurePlatformSpec - - name: baremetal + namedType: ObjectMeta.v1.meta.apis.pkg.apimachinery.k8s.io + default: {} + - name: spec type: - namedType: com.github.openshift.api.config.v1.BareMetalPlatformSpec - - name: equinixMetal + namedType: com.github.openshift.api.config.v1.OAuthSpec + default: {} + - name: status type: - namedType: com.github.openshift.api.config.v1.EquinixMetalPlatformSpec - - name: external + namedType: com.github.openshift.api.config.v1.OAuthStatus + default: {} +- name: com.github.openshift.api.config.v1.OAuthSpec + map: + fields: + - name: identityProviders type: - namedType: com.github.openshift.api.config.v1.ExternalPlatformSpec - - name: gcp + list: + elementType: + namedType: com.github.openshift.api.config.v1.IdentityProvider + elementRelationship: atomic + - name: templates type: - namedType: com.github.openshift.api.config.v1.GCPPlatformSpec - - name: ibmcloud + namedType: com.github.openshift.api.config.v1.OAuthTemplates + default: {} + - name: tokenConfig type: - namedType: com.github.openshift.api.config.v1.IBMCloudPlatformSpec - - name: kubevirt + namedType: com.github.openshift.api.config.v1.TokenConfig + default: {} +- name: com.github.openshift.api.config.v1.OAuthStatus + map: + elementType: + scalar: untyped + list: + elementType: + namedType: __untyped_atomic_ + elementRelationship: atomic + map: + elementType: + namedType: __untyped_deduced_ + elementRelationship: separable +- name: com.github.openshift.api.config.v1.OAuthTemplates + map: + fields: + - name: error type: - namedType: com.github.openshift.api.config.v1.KubevirtPlatformSpec - - name: nutanix + namedType: com.github.openshift.api.config.v1.SecretNameReference + default: {} + - name: login type: - namedType: com.github.openshift.api.config.v1.NutanixPlatformSpec - - name: openstack + namedType: com.github.openshift.api.config.v1.SecretNameReference + default: {} + - name: providerSelection type: - namedType: com.github.openshift.api.config.v1.OpenStackPlatformSpec - - name: ovirt + namedType: com.github.openshift.api.config.v1.SecretNameReference + default: {} +- name: com.github.openshift.api.config.v1.OIDCClientConfig + map: + fields: + - name: clientID type: - namedType: com.github.openshift.api.config.v1.OvirtPlatformSpec - - name: powervs + scalar: string + default: "" + - name: clientSecret type: - namedType: com.github.openshift.api.config.v1.PowerVSPlatformSpec - - name: type + namedType: com.github.openshift.api.config.v1.SecretNameReference + default: {} + - name: componentName type: scalar: string default: "" - - name: vsphere + - name: componentNamespace type: - namedType: com.github.openshift.api.config.v1.VSpherePlatformSpec -- name: com.github.openshift.api.config.v1.PlatformStatus + scalar: string + default: "" + - name: extraScopes + type: + list: + elementType: + scalar: string + elementRelationship: associative +- name: com.github.openshift.api.config.v1.OIDCClientReference map: fields: - - name: alibabaCloud - type: - namedType: com.github.openshift.api.config.v1.AlibabaCloudPlatformStatus - - name: aws - type: - namedType: com.github.openshift.api.config.v1.AWSPlatformStatus - - name: azure - type: - namedType: com.github.openshift.api.config.v1.AzurePlatformStatus - - name: baremetal - type: - namedType: com.github.openshift.api.config.v1.BareMetalPlatformStatus - - name: equinixMetal - type: - namedType: com.github.openshift.api.config.v1.EquinixMetalPlatformStatus - - name: external - type: - namedType: com.github.openshift.api.config.v1.ExternalPlatformStatus - - name: gcp - type: - namedType: com.github.openshift.api.config.v1.GCPPlatformStatus - - name: ibmcloud - type: - namedType: com.github.openshift.api.config.v1.IBMCloudPlatformStatus - - name: kubevirt - type: - namedType: com.github.openshift.api.config.v1.KubevirtPlatformStatus - - name: nutanix - type: - namedType: com.github.openshift.api.config.v1.NutanixPlatformStatus - - name: openstack - type: - namedType: com.github.openshift.api.config.v1.OpenStackPlatformStatus - - name: ovirt - type: - namedType: com.github.openshift.api.config.v1.OvirtPlatformStatus - - name: powervs + - name: clientID type: - namedType: com.github.openshift.api.config.v1.PowerVSPlatformStatus - - name: type + scalar: string + default: "" + - name: issuerURL type: scalar: string default: "" - - name: vsphere + - name: oidcProviderName type: - namedType: com.github.openshift.api.config.v1.VSpherePlatformStatus -- name: com.github.openshift.api.config.v1.PolicyFulcioSubject + scalar: string + default: "" +- name: com.github.openshift.api.config.v1.OIDCClientStatus map: fields: - - name: oidcIssuer + - name: componentName type: scalar: string default: "" - - name: signedEmail + - name: componentNamespace type: scalar: string default: "" -- name: com.github.openshift.api.config.v1.PolicyIdentity - map: - fields: - - name: exactRepository + - name: conditions type: - namedType: com.github.openshift.api.config.v1.PolicyMatchExactRepository - - name: matchPolicy + list: + elementType: + namedType: Condition.v1.meta.apis.pkg.apimachinery.k8s.io + elementRelationship: associative + keys: + - type + - name: consumingUsers type: - scalar: string - default: "" - - name: remapIdentity + list: + elementType: + scalar: string + elementRelationship: associative + - name: currentOIDCClients type: - namedType: com.github.openshift.api.config.v1.PolicyMatchRemapIdentity - unions: - - discriminator: matchPolicy - fields: - - fieldName: exactRepository - discriminatorValue: PolicyMatchExactRepository - - fieldName: remapIdentity - discriminatorValue: PolicyMatchRemapIdentity -- name: com.github.openshift.api.config.v1.PolicyMatchExactRepository + list: + elementType: + namedType: com.github.openshift.api.config.v1.OIDCClientReference + elementRelationship: associative + keys: + - issuerURL + - clientID +- name: com.github.openshift.api.config.v1.OIDCProvider map: fields: - - name: repository + - name: claimMappings + type: + namedType: com.github.openshift.api.config.v1.TokenClaimMappings + default: {} + - name: claimValidationRules + type: + list: + elementType: + namedType: com.github.openshift.api.config.v1.TokenClaimValidationRule + elementRelationship: atomic + - name: issuer + type: + namedType: com.github.openshift.api.config.v1.TokenIssuer + default: {} + - name: name type: scalar: string default: "" -- name: com.github.openshift.api.config.v1.PolicyMatchRemapIdentity + - name: oidcClients + type: + list: + elementType: + namedType: com.github.openshift.api.config.v1.OIDCClientConfig + elementRelationship: associative + keys: + - componentNamespace + - componentName + - name: userValidationRules + type: + list: + elementType: + namedType: com.github.openshift.api.config.v1.TokenUserValidationRule + elementRelationship: associative + keys: + - expression +- name: com.github.openshift.api.config.v1.ObjectReference map: fields: - - name: prefix + - name: group type: scalar: string default: "" - - name: signedPrefix + - name: name type: scalar: string default: "" -- name: com.github.openshift.api.config.v1.PolicyRootOfTrust - map: - fields: - - name: fulcioCAWithRekor - type: - namedType: com.github.openshift.api.config.v1.ImagePolicyFulcioCAWithRekorRootOfTrust - - name: pki + - name: namespace type: - namedType: com.github.openshift.api.config.v1.ImagePolicyPKIRootOfTrust - - name: policyType + scalar: string + - name: resource type: scalar: string default: "" - - name: publicKey - type: - namedType: com.github.openshift.api.config.v1.ImagePolicyPublicKeyRootOfTrust - unions: - - discriminator: policyType - fields: - - fieldName: fulcioCAWithRekor - discriminatorValue: FulcioCAWithRekor - - fieldName: pki - discriminatorValue: PKI - - fieldName: publicKey - discriminatorValue: PublicKey -- name: com.github.openshift.api.config.v1.PowerVSPlatformSpec +- name: com.github.openshift.api.config.v1.OldTLSProfile + map: + elementType: + scalar: untyped + list: + elementType: + namedType: __untyped_atomic_ + elementRelationship: atomic + map: + elementType: + namedType: __untyped_deduced_ + elementRelationship: separable +- name: com.github.openshift.api.config.v1.OpenIDClaims map: fields: - - name: serviceEndpoints + - name: email type: list: elementType: - namedType: com.github.openshift.api.config.v1.PowerVSServiceEndpoint - elementRelationship: associative - keys: - - name -- name: com.github.openshift.api.config.v1.PowerVSPlatformStatus + scalar: string + elementRelationship: atomic + - name: groups + type: + list: + elementType: + scalar: string + elementRelationship: atomic + - name: name + type: + list: + elementType: + scalar: string + elementRelationship: atomic + - name: preferredUsername + type: + list: + elementType: + scalar: string + elementRelationship: atomic +- name: com.github.openshift.api.config.v1.OpenIDIdentityProvider map: fields: - - name: cisInstanceCRN + - name: ca type: - scalar: string - - name: dnsInstanceCRN + namedType: com.github.openshift.api.config.v1.ConfigMapNameReference + default: {} + - name: claims type: - scalar: string - - name: region + namedType: com.github.openshift.api.config.v1.OpenIDClaims + default: {} + - name: clientID type: scalar: string default: "" - - name: resourceGroup + - name: clientSecret type: - scalar: string - default: "" - - name: serviceEndpoints + namedType: com.github.openshift.api.config.v1.SecretNameReference + default: {} + - name: extraAuthorizeParameters + type: + map: + elementType: + scalar: string + - name: extraScopes type: list: elementType: - namedType: com.github.openshift.api.config.v1.PowerVSServiceEndpoint - elementRelationship: associative - keys: - - name - - name: zone + scalar: string + elementRelationship: atomic + - name: issuer type: scalar: string default: "" -- name: com.github.openshift.api.config.v1.PowerVSServiceEndpoint +- name: com.github.openshift.api.config.v1.OpenStackPlatformLoadBalancer map: fields: - - name: name + - name: type type: scalar: string - default: "" - - name: url + default: OpenShiftManagedDefault + unions: + - discriminator: type +- name: com.github.openshift.api.config.v1.OpenStackPlatformSpec + map: + fields: + - name: apiServerInternalIPs type: - scalar: string - default: "" -- name: com.github.openshift.api.config.v1.PrefixedClaimMapping + list: + elementType: + scalar: string + elementRelationship: atomic + - name: ingressIPs + type: + list: + elementType: + scalar: string + elementRelationship: atomic + - name: machineNetworks + type: + list: + elementType: + scalar: string + elementRelationship: atomic +- name: com.github.openshift.api.config.v1.OpenStackPlatformStatus map: fields: - - name: claim + - name: apiServerInternalIP type: scalar: string - default: "" - - name: expression + - name: apiServerInternalIPs + type: + list: + elementType: + scalar: string + elementRelationship: atomic + - name: cloudName type: scalar: string - - name: prefix + - name: dnsRecordsType type: scalar: string - default: "" -- name: com.github.openshift.api.config.v1.ProfileCustomizations + - name: ingressIP + type: + scalar: string + - name: ingressIPs + type: + list: + elementType: + scalar: string + elementRelationship: atomic + - name: loadBalancer + type: + namedType: com.github.openshift.api.config.v1.OpenStackPlatformLoadBalancer + default: + type: OpenShiftManagedDefault + - name: machineNetworks + type: + list: + elementType: + scalar: string + elementRelationship: atomic + - name: nodeDNSIP + type: + scalar: string +- name: com.github.openshift.api.config.v1.OperandVersion map: fields: - - name: dynamicResourceAllocation + - name: name type: scalar: string default: "" -- name: com.github.openshift.api.config.v1.Project + - name: version + type: + scalar: string + default: "" +- name: com.github.openshift.api.config.v1.OperatorHub map: fields: - name: apiVersion @@ -3335,28 +3534,47 @@ var schemaYAML = typed.YAMLObject(`types: scalar: string - name: metadata type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta + namedType: ObjectMeta.v1.meta.apis.pkg.apimachinery.k8s.io default: {} - name: spec type: - namedType: com.github.openshift.api.config.v1.ProjectSpec + namedType: com.github.openshift.api.config.v1.OperatorHubSpec default: {} - name: status type: - namedType: com.github.openshift.api.config.v1.ProjectStatus + namedType: com.github.openshift.api.config.v1.OperatorHubStatus default: {} -- name: com.github.openshift.api.config.v1.ProjectSpec +- name: com.github.openshift.api.config.v1.OperatorHubSpec map: fields: - - name: projectRequestMessage + - name: disableAllDefaultSources type: - scalar: string - default: "" - - name: projectRequestTemplate + scalar: boolean + - name: sources type: - namedType: com.github.openshift.api.config.v1.TemplateReference - default: {} -- name: com.github.openshift.api.config.v1.ProjectStatus + list: + elementType: + namedType: com.github.openshift.api.config.v1.HubSource + elementRelationship: atomic +- name: com.github.openshift.api.config.v1.OperatorHubStatus + map: + fields: + - name: sources + type: + list: + elementType: + namedType: com.github.openshift.api.config.v1.HubSourceStatus + elementRelationship: atomic +- name: com.github.openshift.api.config.v1.OvirtPlatformLoadBalancer + map: + fields: + - name: type + type: + scalar: string + default: OpenShiftManagedDefault + unions: + - discriminator: type +- name: com.github.openshift.api.config.v1.OvirtPlatformSpec map: elementType: scalar: untyped @@ -3368,212 +3586,308 @@ var schemaYAML = typed.YAMLObject(`types: elementType: namedType: __untyped_deduced_ elementRelationship: separable -- name: com.github.openshift.api.config.v1.PromQLClusterCondition +- name: com.github.openshift.api.config.v1.OvirtPlatformStatus map: fields: - - name: promql + - name: apiServerInternalIP type: scalar: string - default: "" -- name: com.github.openshift.api.config.v1.Proxy + - name: apiServerInternalIPs + type: + list: + elementType: + scalar: string + elementRelationship: associative + - name: dnsRecordsType + type: + scalar: string + - name: ingressIP + type: + scalar: string + - name: ingressIPs + type: + list: + elementType: + scalar: string + elementRelationship: associative + - name: loadBalancer + type: + namedType: com.github.openshift.api.config.v1.OvirtPlatformLoadBalancer + default: + type: OpenShiftManagedDefault + - name: nodeDNSIP + type: + scalar: string +- name: com.github.openshift.api.config.v1.PKICertificateSubject map: fields: - - name: apiVersion + - name: email type: scalar: string - - name: kind + - name: hostname type: scalar: string - - name: metadata +- name: com.github.openshift.api.config.v1.PersistentVolumeClaimReference + map: + fields: + - name: name type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta - default: {} - - name: spec + scalar: string +- name: com.github.openshift.api.config.v1.PersistentVolumeConfig + map: + fields: + - name: claim type: - namedType: com.github.openshift.api.config.v1.ProxySpec + namedType: com.github.openshift.api.config.v1.PersistentVolumeClaimReference default: {} - - name: status + - name: mountPath type: - namedType: com.github.openshift.api.config.v1.ProxyStatus - default: {} -- name: com.github.openshift.api.config.v1.ProxySpec + scalar: string +- name: com.github.openshift.api.config.v1.PlatformSpec map: fields: - - name: httpProxy + - name: alibabaCloud + type: + namedType: com.github.openshift.api.config.v1.AlibabaCloudPlatformSpec + - name: aws + type: + namedType: com.github.openshift.api.config.v1.AWSPlatformSpec + - name: azure + type: + namedType: com.github.openshift.api.config.v1.AzurePlatformSpec + - name: baremetal + type: + namedType: com.github.openshift.api.config.v1.BareMetalPlatformSpec + - name: equinixMetal + type: + namedType: com.github.openshift.api.config.v1.EquinixMetalPlatformSpec + - name: external + type: + namedType: com.github.openshift.api.config.v1.ExternalPlatformSpec + - name: gcp + type: + namedType: com.github.openshift.api.config.v1.GCPPlatformSpec + - name: ibmcloud + type: + namedType: com.github.openshift.api.config.v1.IBMCloudPlatformSpec + - name: kubevirt + type: + namedType: com.github.openshift.api.config.v1.KubevirtPlatformSpec + - name: nutanix + type: + namedType: com.github.openshift.api.config.v1.NutanixPlatformSpec + - name: openstack + type: + namedType: com.github.openshift.api.config.v1.OpenStackPlatformSpec + - name: ovirt + type: + namedType: com.github.openshift.api.config.v1.OvirtPlatformSpec + - name: powervs + type: + namedType: com.github.openshift.api.config.v1.PowerVSPlatformSpec + - name: type type: scalar: string - - name: httpsProxy + default: "" + - name: vsphere + type: + namedType: com.github.openshift.api.config.v1.VSpherePlatformSpec +- name: com.github.openshift.api.config.v1.PlatformStatus + map: + fields: + - name: alibabaCloud + type: + namedType: com.github.openshift.api.config.v1.AlibabaCloudPlatformStatus + - name: aws + type: + namedType: com.github.openshift.api.config.v1.AWSPlatformStatus + - name: azure + type: + namedType: com.github.openshift.api.config.v1.AzurePlatformStatus + - name: baremetal + type: + namedType: com.github.openshift.api.config.v1.BareMetalPlatformStatus + - name: equinixMetal + type: + namedType: com.github.openshift.api.config.v1.EquinixMetalPlatformStatus + - name: external + type: + namedType: com.github.openshift.api.config.v1.ExternalPlatformStatus + - name: gcp + type: + namedType: com.github.openshift.api.config.v1.GCPPlatformStatus + - name: ibmcloud + type: + namedType: com.github.openshift.api.config.v1.IBMCloudPlatformStatus + - name: kubevirt + type: + namedType: com.github.openshift.api.config.v1.KubevirtPlatformStatus + - name: nutanix + type: + namedType: com.github.openshift.api.config.v1.NutanixPlatformStatus + - name: openstack + type: + namedType: com.github.openshift.api.config.v1.OpenStackPlatformStatus + - name: ovirt + type: + namedType: com.github.openshift.api.config.v1.OvirtPlatformStatus + - name: powervs + type: + namedType: com.github.openshift.api.config.v1.PowerVSPlatformStatus + - name: type type: scalar: string - - name: noProxy + default: "" + - name: vsphere + type: + namedType: com.github.openshift.api.config.v1.VSpherePlatformStatus +- name: com.github.openshift.api.config.v1.PolicyFulcioSubject + map: + fields: + - name: oidcIssuer type: scalar: string - - name: readinessEndpoints + default: "" + - name: signedEmail type: - list: - elementType: - scalar: string - elementRelationship: atomic - - name: trustedCA + scalar: string + default: "" +- name: com.github.openshift.api.config.v1.PolicyIdentity + map: + fields: + - name: exactRepository type: - namedType: com.github.openshift.api.config.v1.ConfigMapNameReference - default: {} -- name: com.github.openshift.api.config.v1.ProxyStatus + namedType: com.github.openshift.api.config.v1.PolicyMatchExactRepository + - name: matchPolicy + type: + scalar: string + default: "" + - name: remapIdentity + type: + namedType: com.github.openshift.api.config.v1.PolicyMatchRemapIdentity + unions: + - discriminator: matchPolicy + fields: + - fieldName: exactRepository + discriminatorValue: PolicyMatchExactRepository + - fieldName: remapIdentity + discriminatorValue: PolicyMatchRemapIdentity +- name: com.github.openshift.api.config.v1.PolicyMatchExactRepository map: fields: - - name: httpProxy + - name: repository type: scalar: string - - name: httpsProxy + default: "" +- name: com.github.openshift.api.config.v1.PolicyMatchRemapIdentity + map: + fields: + - name: prefix type: scalar: string - - name: noProxy + default: "" + - name: signedPrefix type: scalar: string -- name: com.github.openshift.api.config.v1.RegistryLocation + default: "" +- name: com.github.openshift.api.config.v1.PolicyRootOfTrust map: fields: - - name: domainName + - name: fulcioCAWithRekor + type: + namedType: com.github.openshift.api.config.v1.ImagePolicyFulcioCAWithRekorRootOfTrust + - name: pki + type: + namedType: com.github.openshift.api.config.v1.ImagePolicyPKIRootOfTrust + - name: policyType type: scalar: string default: "" - - name: insecure + - name: publicKey type: - scalar: boolean -- name: com.github.openshift.api.config.v1.RegistrySources + namedType: com.github.openshift.api.config.v1.ImagePolicyPublicKeyRootOfTrust + unions: + - discriminator: policyType + fields: + - fieldName: fulcioCAWithRekor + discriminatorValue: FulcioCAWithRekor + - fieldName: pki + discriminatorValue: PKI + - fieldName: publicKey + discriminatorValue: PublicKey +- name: com.github.openshift.api.config.v1.PowerVSPlatformSpec map: fields: - - name: allowedRegistries - type: - list: - elementType: - scalar: string - elementRelationship: atomic - - name: blockedRegistries - type: - list: - elementType: - scalar: string - elementRelationship: atomic - - name: containerRuntimeSearchRegistries + - name: serviceEndpoints type: list: elementType: - scalar: string + namedType: com.github.openshift.api.config.v1.PowerVSServiceEndpoint elementRelationship: associative - - name: insecureRegistries - type: - list: - elementType: - scalar: string - elementRelationship: atomic -- name: com.github.openshift.api.config.v1.Release + keys: + - name +- name: com.github.openshift.api.config.v1.PowerVSPlatformStatus map: fields: - - name: architecture + - name: cisInstanceCRN type: scalar: string - - name: channels - type: - list: - elementType: - scalar: string - elementRelationship: associative - - name: image + - name: dnsInstanceCRN type: scalar: string - default: "" - - name: url + - name: region type: scalar: string - - name: version + default: "" + - name: resourceGroup type: scalar: string default: "" -- name: com.github.openshift.api.config.v1.RepositoryDigestMirrors - map: - fields: - - name: allowMirrorByTags - type: - scalar: boolean - - name: mirrors + - name: serviceEndpoints type: list: elementType: - scalar: string + namedType: com.github.openshift.api.config.v1.PowerVSServiceEndpoint elementRelationship: associative - - name: source + keys: + - name + - name: zone type: scalar: string default: "" -- name: com.github.openshift.api.config.v1.RequestHeaderIdentityProvider +- name: com.github.openshift.api.config.v1.PowerVSServiceEndpoint map: fields: - - name: ca - type: - namedType: com.github.openshift.api.config.v1.ConfigMapNameReference - default: {} - - name: challengeURL + - name: name type: scalar: string default: "" - - name: clientCommonNames - type: - list: - elementType: - scalar: string - elementRelationship: atomic - - name: emailHeaders - type: - list: - elementType: - scalar: string - elementRelationship: atomic - - name: headers - type: - list: - elementType: - scalar: string - elementRelationship: atomic - - name: loginURL + - name: url type: scalar: string default: "" - - name: nameHeaders - type: - list: - elementType: - scalar: string - elementRelationship: atomic - - name: preferredUsernameHeaders - type: - list: - elementType: - scalar: string - elementRelationship: atomic -- name: com.github.openshift.api.config.v1.RequiredHSTSPolicy +- name: com.github.openshift.api.config.v1.PrefixedClaimMapping map: fields: - - name: domainPatterns - type: - list: - elementType: - scalar: string - elementRelationship: atomic - - name: includeSubDomainsPolicy + - name: claim type: scalar: string - - name: maxAge + default: "" + - name: expression type: - namedType: com.github.openshift.api.config.v1.MaxAgePolicy - default: {} - - name: namespaceSelector + scalar: string + - name: prefix type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector - - name: preloadPolicy + scalar: string + default: "" +- name: com.github.openshift.api.config.v1.ProfileCustomizations + map: + fields: + - name: dynamicResourceAllocation type: scalar: string -- name: com.github.openshift.api.config.v1.Scheduler + default: "" +- name: com.github.openshift.api.config.v1.Project map: fields: - name: apiVersion @@ -3584,38 +3898,28 @@ var schemaYAML = typed.YAMLObject(`types: scalar: string - name: metadata type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta + namedType: ObjectMeta.v1.meta.apis.pkg.apimachinery.k8s.io default: {} - name: spec type: - namedType: com.github.openshift.api.config.v1.SchedulerSpec + namedType: com.github.openshift.api.config.v1.ProjectSpec default: {} - name: status type: - namedType: com.github.openshift.api.config.v1.SchedulerStatus + namedType: com.github.openshift.api.config.v1.ProjectStatus default: {} -- name: com.github.openshift.api.config.v1.SchedulerSpec +- name: com.github.openshift.api.config.v1.ProjectSpec map: fields: - - name: defaultNodeSelector - type: - scalar: string - - name: mastersSchedulable - type: - scalar: boolean - default: false - - name: policy - type: - namedType: com.github.openshift.api.config.v1.ConfigMapNameReference - default: {} - - name: profile + - name: projectRequestMessage type: scalar: string - - name: profileCustomizations + default: "" + - name: projectRequestTemplate type: - namedType: com.github.openshift.api.config.v1.ProfileCustomizations + namedType: com.github.openshift.api.config.v1.TemplateReference default: {} -- name: com.github.openshift.api.config.v1.SchedulerStatus +- name: com.github.openshift.api.config.v1.ProjectStatus map: elementType: scalar: untyped @@ -3627,1004 +3931,812 @@ var schemaYAML = typed.YAMLObject(`types: elementType: namedType: __untyped_deduced_ elementRelationship: separable -- name: com.github.openshift.api.config.v1.SecretNameReference - map: - fields: - - name: name - type: - scalar: string - default: "" -- name: com.github.openshift.api.config.v1.SignatureStore - map: - fields: - - name: ca - type: - namedType: com.github.openshift.api.config.v1.ConfigMapNameReference - default: {} - - name: url - type: - scalar: string - default: "" -- name: com.github.openshift.api.config.v1.Storage - map: - fields: - - name: persistentVolume - type: - namedType: com.github.openshift.api.config.v1.PersistentVolumeConfig - default: {} - - name: type - type: - scalar: string - unions: - - discriminator: type - fields: - - fieldName: persistentVolume - discriminatorValue: PersistentVolume -- name: com.github.openshift.api.config.v1.TLSSecurityProfile - map: - fields: - - name: custom - type: - namedType: com.github.openshift.api.config.v1.CustomTLSProfile - - name: intermediate - type: - namedType: com.github.openshift.api.config.v1.IntermediateTLSProfile - - name: modern - type: - namedType: com.github.openshift.api.config.v1.ModernTLSProfile - - name: old - type: - namedType: com.github.openshift.api.config.v1.OldTLSProfile - - name: type - type: - scalar: string - default: "" - unions: - - discriminator: type - fields: - - fieldName: custom - discriminatorValue: Custom - - fieldName: intermediate - discriminatorValue: Intermediate - - fieldName: modern - discriminatorValue: Modern - - fieldName: old - discriminatorValue: Old -- name: com.github.openshift.api.config.v1.TemplateReference +- name: com.github.openshift.api.config.v1.PromQLClusterCondition map: fields: - - name: name + - name: promql type: scalar: string default: "" -- name: com.github.openshift.api.config.v1.TokenClaimMappings +- name: com.github.openshift.api.config.v1.Proxy map: fields: - - name: extra + - name: apiVersion type: - list: - elementType: - namedType: com.github.openshift.api.config.v1.ExtraMapping - elementRelationship: associative - keys: - - key - - name: groups + scalar: string + - name: kind type: - namedType: com.github.openshift.api.config.v1.PrefixedClaimMapping + scalar: string + - name: metadata + type: + namedType: ObjectMeta.v1.meta.apis.pkg.apimachinery.k8s.io default: {} - - name: uid + - name: spec type: - namedType: com.github.openshift.api.config.v1.TokenClaimOrExpressionMapping - - name: username + namedType: com.github.openshift.api.config.v1.ProxySpec + default: {} + - name: status type: - namedType: com.github.openshift.api.config.v1.UsernameClaimMapping + namedType: com.github.openshift.api.config.v1.ProxyStatus default: {} -- name: com.github.openshift.api.config.v1.TokenClaimOrExpressionMapping +- name: com.github.openshift.api.config.v1.ProxySpec map: fields: - - name: claim + - name: httpProxy type: scalar: string - - name: expression + - name: httpsProxy type: scalar: string -- name: com.github.openshift.api.config.v1.TokenClaimValidationCELRule - map: - fields: - - name: expression + - name: noProxy type: scalar: string - - name: message + - name: readinessEndpoints type: - scalar: string -- name: com.github.openshift.api.config.v1.TokenClaimValidationRule + list: + elementType: + scalar: string + elementRelationship: atomic + - name: trustedCA + type: + namedType: com.github.openshift.api.config.v1.ConfigMapNameReference + default: {} +- name: com.github.openshift.api.config.v1.ProxyStatus map: fields: - - name: cel + - name: httpProxy type: - namedType: com.github.openshift.api.config.v1.TokenClaimValidationCELRule - default: {} - - name: requiredClaim + scalar: string + - name: httpsProxy type: - namedType: com.github.openshift.api.config.v1.TokenRequiredClaim - - name: type + scalar: string + - name: noProxy type: scalar: string - default: "" -- name: com.github.openshift.api.config.v1.TokenConfig +- name: com.github.openshift.api.config.v1.RegistryLocation map: fields: - - name: accessTokenInactivityTimeout - type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Duration - - name: accessTokenInactivityTimeoutSeconds + - name: domainName type: - scalar: numeric - - name: accessTokenMaxAgeSeconds + scalar: string + default: "" + - name: insecure type: - scalar: numeric -- name: com.github.openshift.api.config.v1.TokenIssuer + scalar: boolean +- name: com.github.openshift.api.config.v1.RegistrySources map: fields: - - name: audiences + - name: allowedRegistries type: list: elementType: scalar: string - elementRelationship: associative - - name: discoveryURL + elementRelationship: atomic + - name: blockedRegistries type: - scalar: string - - name: issuerCertificateAuthority + list: + elementType: + scalar: string + elementRelationship: atomic + - name: containerRuntimeSearchRegistries type: - namedType: com.github.openshift.api.config.v1.ConfigMapNameReference - default: {} - - name: issuerURL + list: + elementType: + scalar: string + elementRelationship: associative + - name: insecureRegistries type: - scalar: string - default: "" -- name: com.github.openshift.api.config.v1.TokenRequiredClaim + list: + elementType: + scalar: string + elementRelationship: atomic +- name: com.github.openshift.api.config.v1.Release map: fields: - - name: claim + - name: architecture type: scalar: string - default: "" - - name: requiredValue + - name: channels + type: + list: + elementType: + scalar: string + elementRelationship: associative + - name: image type: scalar: string default: "" -- name: com.github.openshift.api.config.v1.TokenUserValidationRule - map: - fields: - - name: expression + - name: url type: scalar: string - - name: message + - name: version type: scalar: string -- name: com.github.openshift.api.config.v1.Update + default: "" +- name: com.github.openshift.api.config.v1.RepositoryDigestMirrors map: fields: - - name: acceptRisks + - name: allowMirrorByTags + type: + scalar: boolean + - name: mirrors type: list: elementType: - namedType: com.github.openshift.api.config.v1.AcceptRisk + scalar: string elementRelationship: associative - keys: - - name - - name: architecture + - name: source type: scalar: string default: "" - - name: force +- name: com.github.openshift.api.config.v1.RequestHeaderIdentityProvider + map: + fields: + - name: ca type: - scalar: boolean - default: false - - name: image + namedType: com.github.openshift.api.config.v1.ConfigMapNameReference + default: {} + - name: challengeURL type: scalar: string default: "" - - name: version + - name: clientCommonNames type: - scalar: string - default: "" -- name: com.github.openshift.api.config.v1.UpdateHistory - map: - fields: - - name: acceptedRisks + list: + elementType: + scalar: string + elementRelationship: atomic + - name: emailHeaders type: - scalar: string - - name: completionTime + list: + elementType: + scalar: string + elementRelationship: atomic + - name: headers type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Time - - name: image + list: + elementType: + scalar: string + elementRelationship: atomic + - name: loginURL type: scalar: string default: "" - - name: startedTime + - name: nameHeaders type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Time - - name: state + list: + elementType: + scalar: string + elementRelationship: atomic + - name: preferredUsernameHeaders + type: + list: + elementType: + scalar: string + elementRelationship: atomic +- name: com.github.openshift.api.config.v1.RequiredHSTSPolicy + map: + fields: + - name: domainPatterns + type: + list: + elementType: + scalar: string + elementRelationship: atomic + - name: includeSubDomainsPolicy type: scalar: string - default: "" - - name: verified + - name: maxAge type: - scalar: boolean - default: false - - name: version + namedType: com.github.openshift.api.config.v1.MaxAgePolicy + default: {} + - name: namespaceSelector + type: + namedType: LabelSelector.v1.meta.apis.pkg.apimachinery.k8s.io + - name: preloadPolicy type: scalar: string - default: "" -- name: com.github.openshift.api.config.v1.UsernameClaimMapping +- name: com.github.openshift.api.config.v1.Scheduler map: fields: - - name: claim + - name: apiVersion type: scalar: string - - name: expression + - name: kind type: scalar: string - - name: prefix + - name: metadata type: - namedType: com.github.openshift.api.config.v1.UsernamePrefix - - name: prefixPolicy + namedType: ObjectMeta.v1.meta.apis.pkg.apimachinery.k8s.io + default: {} + - name: spec type: - scalar: string - default: "" - unions: - - discriminator: prefixPolicy - fields: - - fieldName: claim - discriminatorValue: Claim - - fieldName: expression - discriminatorValue: Expression - - fieldName: prefix - discriminatorValue: Prefix -- name: com.github.openshift.api.config.v1.UsernamePrefix + namedType: com.github.openshift.api.config.v1.SchedulerSpec + default: {} + - name: status + type: + namedType: com.github.openshift.api.config.v1.SchedulerStatus + default: {} +- name: com.github.openshift.api.config.v1.SchedulerSpec map: fields: - - name: prefixString + - name: defaultNodeSelector type: scalar: string - default: "" -- name: com.github.openshift.api.config.v1.VSphereFailureDomainHostGroup - map: - fields: - - name: hostGroup + - name: mastersSchedulable + type: + scalar: boolean + default: false + - name: policy type: - scalar: string - default: "" - - name: vmGroup + namedType: com.github.openshift.api.config.v1.ConfigMapNameReference + default: {} + - name: profile type: scalar: string - default: "" - - name: vmHostRule + - name: profileCustomizations + type: + namedType: com.github.openshift.api.config.v1.ProfileCustomizations + default: {} +- name: com.github.openshift.api.config.v1.SchedulerStatus + map: + elementType: + scalar: untyped + list: + elementType: + namedType: __untyped_atomic_ + elementRelationship: atomic + map: + elementType: + namedType: __untyped_deduced_ + elementRelationship: separable +- name: com.github.openshift.api.config.v1.SecretNameReference + map: + fields: + - name: name type: scalar: string default: "" -- name: com.github.openshift.api.config.v1.VSphereFailureDomainRegionAffinity +- name: com.github.openshift.api.config.v1.SignatureStore map: fields: - - name: type + - name: ca + type: + namedType: com.github.openshift.api.config.v1.ConfigMapNameReference + default: {} + - name: url type: scalar: string default: "" - unions: - - discriminator: type -- name: com.github.openshift.api.config.v1.VSphereFailureDomainZoneAffinity +- name: com.github.openshift.api.config.v1.Storage map: fields: - - name: hostGroup + - name: persistentVolume type: - namedType: com.github.openshift.api.config.v1.VSphereFailureDomainHostGroup + namedType: com.github.openshift.api.config.v1.PersistentVolumeConfig + default: {} - name: type type: scalar: string - default: "" unions: - discriminator: type fields: - - fieldName: hostGroup - discriminatorValue: HostGroup -- name: com.github.openshift.api.config.v1.VSpherePlatformFailureDomainSpec + - fieldName: persistentVolume + discriminatorValue: PersistentVolume +- name: com.github.openshift.api.config.v1.TLSSecurityProfile map: fields: - - name: name - type: - scalar: string - default: "" - - name: region - type: - scalar: string - default: "" - - name: regionAffinity - type: - namedType: com.github.openshift.api.config.v1.VSphereFailureDomainRegionAffinity - - name: server + - name: custom type: - scalar: string - default: "" - - name: topology + namedType: com.github.openshift.api.config.v1.CustomTLSProfile + - name: intermediate type: - namedType: com.github.openshift.api.config.v1.VSpherePlatformTopology - default: {} - - name: zone + namedType: com.github.openshift.api.config.v1.IntermediateTLSProfile + - name: modern type: - scalar: string - default: "" - - name: zoneAffinity + namedType: com.github.openshift.api.config.v1.ModernTLSProfile + - name: old type: - namedType: com.github.openshift.api.config.v1.VSphereFailureDomainZoneAffinity -- name: com.github.openshift.api.config.v1.VSpherePlatformLoadBalancer - map: - fields: + namedType: com.github.openshift.api.config.v1.OldTLSProfile - name: type type: scalar: string - default: OpenShiftManagedDefault + default: "" unions: - discriminator: type -- name: com.github.openshift.api.config.v1.VSpherePlatformNodeNetworking - map: - fields: - - name: external - type: - namedType: com.github.openshift.api.config.v1.VSpherePlatformNodeNetworkingSpec - default: {} - - name: internal - type: - namedType: com.github.openshift.api.config.v1.VSpherePlatformNodeNetworkingSpec - default: {} -- name: com.github.openshift.api.config.v1.VSpherePlatformNodeNetworkingSpec + fields: + - fieldName: custom + discriminatorValue: Custom + - fieldName: intermediate + discriminatorValue: Intermediate + - fieldName: modern + discriminatorValue: Modern + - fieldName: old + discriminatorValue: Old +- name: com.github.openshift.api.config.v1.TemplateReference map: fields: - - name: excludeNetworkSubnetCidr - type: - list: - elementType: - scalar: string - elementRelationship: atomic - - name: network + - name: name type: scalar: string - - name: networkSubnetCidr - type: - list: - elementType: - scalar: string - elementRelationship: associative -- name: com.github.openshift.api.config.v1.VSpherePlatformSpec + default: "" +- name: com.github.openshift.api.config.v1.TokenClaimMappings map: fields: - - name: apiServerInternalIPs - type: - list: - elementType: - scalar: string - elementRelationship: atomic - - name: failureDomains + - name: extra type: list: elementType: - namedType: com.github.openshift.api.config.v1.VSpherePlatformFailureDomainSpec + namedType: com.github.openshift.api.config.v1.ExtraMapping elementRelationship: associative keys: - - name - - name: ingressIPs + - key + - name: groups type: - list: - elementType: - scalar: string - elementRelationship: atomic - - name: machineNetworks + namedType: com.github.openshift.api.config.v1.PrefixedClaimMapping + default: {} + - name: uid type: - list: - elementType: - scalar: string - elementRelationship: atomic - - name: nodeNetworking + namedType: com.github.openshift.api.config.v1.TokenClaimOrExpressionMapping + - name: username type: - namedType: com.github.openshift.api.config.v1.VSpherePlatformNodeNetworking + namedType: com.github.openshift.api.config.v1.UsernameClaimMapping default: {} - - name: vcenters - type: - list: - elementType: - namedType: com.github.openshift.api.config.v1.VSpherePlatformVCenterSpec - elementRelationship: atomic -- name: com.github.openshift.api.config.v1.VSpherePlatformStatus +- name: com.github.openshift.api.config.v1.TokenClaimOrExpressionMapping map: fields: - - name: apiServerInternalIP + - name: claim type: scalar: string - - name: apiServerInternalIPs - type: - list: - elementType: - scalar: string - elementRelationship: atomic - - name: dnsRecordsType + - name: expression type: scalar: string - - name: ingressIP +- name: com.github.openshift.api.config.v1.TokenClaimValidationCELRule + map: + fields: + - name: expression type: scalar: string - - name: ingressIPs - type: - list: - elementType: - scalar: string - elementRelationship: atomic - - name: loadBalancer - type: - namedType: com.github.openshift.api.config.v1.VSpherePlatformLoadBalancer - default: - type: OpenShiftManagedDefault - - name: machineNetworks - type: - list: - elementType: - scalar: string - elementRelationship: atomic - - name: nodeDNSIP + - name: message type: scalar: string -- name: com.github.openshift.api.config.v1.VSpherePlatformTopology +- name: com.github.openshift.api.config.v1.TokenClaimValidationRule map: fields: - - name: computeCluster + - name: cel type: - scalar: string - default: "" - - name: datacenter + namedType: com.github.openshift.api.config.v1.TokenClaimValidationCELRule + default: {} + - name: requiredClaim type: - scalar: string - default: "" - - name: datastore + namedType: com.github.openshift.api.config.v1.TokenRequiredClaim + - name: type type: scalar: string default: "" - - name: folder - type: - scalar: string - - name: networks +- name: com.github.openshift.api.config.v1.TokenConfig + map: + fields: + - name: accessTokenInactivityTimeout type: - list: - elementType: - scalar: string - elementRelationship: atomic - - name: resourcePool + namedType: Duration.v1.meta.apis.pkg.apimachinery.k8s.io + - name: accessTokenInactivityTimeoutSeconds type: - scalar: string - - name: template + scalar: numeric + - name: accessTokenMaxAgeSeconds type: - scalar: string -- name: com.github.openshift.api.config.v1.VSpherePlatformVCenterSpec + scalar: numeric +- name: com.github.openshift.api.config.v1.TokenIssuer map: fields: - - name: datacenters + - name: audiences type: list: elementType: scalar: string elementRelationship: associative - - name: port - type: - scalar: numeric - - name: server + - name: discoveryURL type: scalar: string - default: "" -- name: com.github.openshift.api.config.v1.WebhookTokenAuthenticator - map: - fields: - - name: kubeConfig + - name: issuerCertificateAuthority type: - namedType: com.github.openshift.api.config.v1.SecretNameReference + namedType: com.github.openshift.api.config.v1.ConfigMapNameReference default: {} -- name: com.github.openshift.api.config.v1alpha1.AlertmanagerConfig + - name: issuerURL + type: + scalar: string + default: "" +- name: com.github.openshift.api.config.v1.TokenRequiredClaim map: fields: - - name: customConfig + - name: claim type: - namedType: com.github.openshift.api.config.v1alpha1.AlertmanagerCustomConfig - default: {} - - name: deploymentMode + scalar: string + default: "" + - name: requiredValue type: scalar: string -- name: com.github.openshift.api.config.v1alpha1.AlertmanagerCustomConfig + default: "" +- name: com.github.openshift.api.config.v1.TokenUserValidationRule map: fields: - - name: logLevel + - name: expression type: scalar: string - - name: nodeSelector + - name: message type: - map: - elementType: - scalar: string - - name: resources + scalar: string +- name: com.github.openshift.api.config.v1.Update + map: + fields: + - name: acceptRisks type: list: elementType: - namedType: com.github.openshift.api.config.v1alpha1.ContainerResource + namedType: com.github.openshift.api.config.v1.AcceptRisk elementRelationship: associative keys: - name - - name: secrets + - name: architecture type: - list: - elementType: - scalar: string - elementRelationship: associative - - name: tolerations + scalar: string + default: "" + - name: force type: - list: - elementType: - namedType: io.k8s.api.core.v1.Toleration - elementRelationship: atomic - - name: topologySpreadConstraints + scalar: boolean + default: false + - name: image type: - list: - elementType: - namedType: io.k8s.api.core.v1.TopologySpreadConstraint - elementRelationship: associative - keys: - - topologyKey - - whenUnsatisfiable - - name: volumeClaimTemplate + scalar: string + default: "" + - name: mode type: - namedType: io.k8s.api.core.v1.PersistentVolumeClaim -- name: com.github.openshift.api.config.v1alpha1.Audit - map: - fields: - - name: profile + scalar: string + - name: version type: scalar: string -- name: com.github.openshift.api.config.v1alpha1.Backup + default: "" +- name: com.github.openshift.api.config.v1.UpdateHistory map: fields: - - name: apiVersion + - name: acceptedRisks type: scalar: string - - name: kind + - name: completionTime + type: + namedType: Time.v1.meta.apis.pkg.apimachinery.k8s.io + - name: image type: scalar: string - - name: metadata + default: "" + - name: startedTime type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta - default: {} - - name: spec + namedType: Time.v1.meta.apis.pkg.apimachinery.k8s.io + - name: state type: - namedType: com.github.openshift.api.config.v1alpha1.BackupSpec - default: {} - - name: status + scalar: string + default: "" + - name: verified type: - namedType: com.github.openshift.api.config.v1alpha1.BackupStatus - default: {} -- name: com.github.openshift.api.config.v1alpha1.BackupSpec - map: - fields: - - name: etcd + scalar: boolean + default: false + - name: version type: - namedType: com.github.openshift.api.config.v1alpha1.EtcdBackupSpec - default: {} -- name: com.github.openshift.api.config.v1alpha1.BackupStatus - map: - elementType: - scalar: untyped - list: - elementType: - namedType: __untyped_atomic_ - elementRelationship: atomic - map: - elementType: - namedType: __untyped_deduced_ - elementRelationship: separable -- name: com.github.openshift.api.config.v1alpha1.CRIOCredentialProviderConfig + scalar: string + default: "" +- name: com.github.openshift.api.config.v1.UsernameClaimMapping map: fields: - - name: apiVersion + - name: claim type: scalar: string - - name: kind + - name: expression type: scalar: string - - name: metadata - type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta - default: {} - - name: spec + - name: prefix type: - namedType: com.github.openshift.api.config.v1alpha1.CRIOCredentialProviderConfigSpec - - name: status + namedType: com.github.openshift.api.config.v1.UsernamePrefix + - name: prefixPolicy type: - namedType: com.github.openshift.api.config.v1alpha1.CRIOCredentialProviderConfigStatus - default: {} -- name: com.github.openshift.api.config.v1alpha1.CRIOCredentialProviderConfigSpec + scalar: string + default: "" + unions: + - discriminator: prefixPolicy + fields: + - fieldName: claim + discriminatorValue: Claim + - fieldName: expression + discriminatorValue: Expression + - fieldName: prefix + discriminatorValue: Prefix +- name: com.github.openshift.api.config.v1.UsernamePrefix map: fields: - - name: matchImages + - name: prefixString type: - list: - elementType: - scalar: string - elementRelationship: associative -- name: com.github.openshift.api.config.v1alpha1.CRIOCredentialProviderConfigStatus + scalar: string + default: "" +- name: com.github.openshift.api.config.v1.VSphereFailureDomainHostGroup map: fields: - - name: conditions + - name: hostGroup type: - list: - elementType: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Condition - elementRelationship: associative - keys: - - type -- name: com.github.openshift.api.config.v1alpha1.CategoryOverride - map: - fields: - - name: certificate + scalar: string + default: "" + - name: vmGroup type: - namedType: com.github.openshift.api.config.v1alpha1.CertificateConfig - default: {} - - name: name + scalar: string + default: "" + - name: vmHostRule type: scalar: string -- name: com.github.openshift.api.config.v1alpha1.CertificateConfig + default: "" +- name: com.github.openshift.api.config.v1.VSphereFailureDomainRegionAffinity map: fields: - - name: key + - name: type type: - namedType: com.github.openshift.api.config.v1alpha1.KeyConfig - default: {} -- name: com.github.openshift.api.config.v1alpha1.CertificateOverride + scalar: string + default: "" + unions: + - discriminator: type +- name: com.github.openshift.api.config.v1.VSphereFailureDomainZoneAffinity map: fields: - - name: category + - name: hostGroup type: - namedType: com.github.openshift.api.config.v1alpha1.CategoryOverride - default: {} + namedType: com.github.openshift.api.config.v1.VSphereFailureDomainHostGroup - name: type type: scalar: string + default: "" unions: - discriminator: type fields: - - fieldName: category - discriminatorValue: Category -- name: com.github.openshift.api.config.v1alpha1.ClusterImagePolicy + - fieldName: hostGroup + discriminatorValue: HostGroup +- name: com.github.openshift.api.config.v1.VSpherePlatformFailureDomainSpec map: fields: - - name: apiVersion + - name: name type: scalar: string - - name: kind + default: "" + - name: region type: scalar: string - - name: metadata - type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta - default: {} - - name: spec - type: - namedType: com.github.openshift.api.config.v1alpha1.ClusterImagePolicySpec - default: {} - - name: status - type: - namedType: com.github.openshift.api.config.v1alpha1.ClusterImagePolicyStatus - default: {} -- name: com.github.openshift.api.config.v1alpha1.ClusterImagePolicySpec - map: - fields: - - name: policy - type: - namedType: com.github.openshift.api.config.v1alpha1.ImageSigstoreVerificationPolicy - default: {} - - name: scopes - type: - list: - elementType: - scalar: string - elementRelationship: associative -- name: com.github.openshift.api.config.v1alpha1.ClusterImagePolicyStatus - map: - fields: - - name: conditions - type: - list: - elementType: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Condition - elementRelationship: associative - keys: - - type -- name: com.github.openshift.api.config.v1alpha1.ClusterMonitoring - map: - fields: - - name: apiVersion + default: "" + - name: regionAffinity type: - scalar: string - - name: kind + namedType: com.github.openshift.api.config.v1.VSphereFailureDomainRegionAffinity + - name: server type: scalar: string - - name: metadata + default: "" + - name: topology type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta + namedType: com.github.openshift.api.config.v1.VSpherePlatformTopology default: {} - - name: spec + - name: zone type: - namedType: com.github.openshift.api.config.v1alpha1.ClusterMonitoringSpec - default: {} - - name: status + scalar: string + default: "" + - name: zoneAffinity type: - namedType: com.github.openshift.api.config.v1alpha1.ClusterMonitoringStatus - default: {} -- name: com.github.openshift.api.config.v1alpha1.ClusterMonitoringSpec + namedType: com.github.openshift.api.config.v1.VSphereFailureDomainZoneAffinity +- name: com.github.openshift.api.config.v1.VSpherePlatformLoadBalancer map: fields: - - name: alertmanagerConfig - type: - namedType: com.github.openshift.api.config.v1alpha1.AlertmanagerConfig - default: {} - - name: metricsServerConfig + - name: type type: - namedType: com.github.openshift.api.config.v1alpha1.MetricsServerConfig - default: {} - - name: prometheusOperatorConfig + scalar: string + default: OpenShiftManagedDefault + unions: + - discriminator: type +- name: com.github.openshift.api.config.v1.VSpherePlatformNodeNetworking + map: + fields: + - name: external type: - namedType: com.github.openshift.api.config.v1alpha1.PrometheusOperatorConfig + namedType: com.github.openshift.api.config.v1.VSpherePlatformNodeNetworkingSpec default: {} - - name: userDefined + - name: internal type: - namedType: com.github.openshift.api.config.v1alpha1.UserDefinedMonitoring + namedType: com.github.openshift.api.config.v1.VSpherePlatformNodeNetworkingSpec default: {} -- name: com.github.openshift.api.config.v1alpha1.ClusterMonitoringStatus - map: - elementType: - scalar: untyped - list: - elementType: - namedType: __untyped_atomic_ - elementRelationship: atomic - map: - elementType: - namedType: __untyped_deduced_ - elementRelationship: separable -- name: com.github.openshift.api.config.v1alpha1.ContainerResource +- name: com.github.openshift.api.config.v1.VSpherePlatformNodeNetworkingSpec map: fields: - - name: limit + - name: excludeNetworkSubnetCidr type: - namedType: io.k8s.apimachinery.pkg.api.resource.Quantity - - name: name + list: + elementType: + scalar: string + elementRelationship: atomic + - name: network type: scalar: string - - name: request + - name: networkSubnetCidr type: - namedType: io.k8s.apimachinery.pkg.api.resource.Quantity -- name: com.github.openshift.api.config.v1alpha1.CustomPKIPolicy + list: + elementType: + scalar: string + elementRelationship: associative +- name: com.github.openshift.api.config.v1.VSpherePlatformSpec map: fields: - - name: defaults - type: - namedType: com.github.openshift.api.config.v1alpha1.DefaultCertificateConfig - default: {} - - name: overrides + - name: apiServerInternalIPs type: list: elementType: - namedType: com.github.openshift.api.config.v1alpha1.CertificateOverride + scalar: string elementRelationship: atomic -- name: com.github.openshift.api.config.v1alpha1.DefaultCertificateConfig - map: - fields: - - name: key + - name: failureDomains type: - namedType: com.github.openshift.api.config.v1alpha1.KeyConfig - default: {} -- name: com.github.openshift.api.config.v1alpha1.ECDSAKeyConfig - map: - fields: - - name: curve + list: + elementType: + namedType: com.github.openshift.api.config.v1.VSpherePlatformFailureDomainSpec + elementRelationship: associative + keys: + - name + - name: ingressIPs type: - scalar: string -- name: com.github.openshift.api.config.v1alpha1.EtcdBackupSpec - map: - fields: - - name: pvcName + list: + elementType: + scalar: string + elementRelationship: atomic + - name: machineNetworks type: - scalar: string - default: "" - - name: retentionPolicy + list: + elementType: + scalar: string + elementRelationship: atomic + - name: nodeNetworking type: - namedType: com.github.openshift.api.config.v1alpha1.RetentionPolicy + namedType: com.github.openshift.api.config.v1.VSpherePlatformNodeNetworking default: {} - - name: schedule - type: - scalar: string - default: "" - - name: timeZone + - name: vcenters type: - scalar: string - default: "" -- name: com.github.openshift.api.config.v1alpha1.GatherConfig + list: + elementType: + namedType: com.github.openshift.api.config.v1.VSpherePlatformVCenterSpec + elementRelationship: atomic +- name: com.github.openshift.api.config.v1.VSpherePlatformStatus map: fields: - - name: dataPolicy + - name: apiServerInternalIP type: scalar: string - - name: disabledGatherers + - name: apiServerInternalIPs type: list: elementType: scalar: string elementRelationship: atomic - - name: storage - type: - namedType: com.github.openshift.api.config.v1alpha1.Storage -- name: com.github.openshift.api.config.v1alpha1.ImagePolicy - map: - fields: - - name: apiVersion + - name: dnsRecordsType type: scalar: string - - name: kind + - name: ingressIP type: scalar: string - - name: metadata + - name: ingressIPs type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta - default: {} - - name: spec + list: + elementType: + scalar: string + elementRelationship: atomic + - name: loadBalancer type: - namedType: com.github.openshift.api.config.v1alpha1.ImagePolicySpec - default: {} - - name: status + namedType: com.github.openshift.api.config.v1.VSpherePlatformLoadBalancer + default: + type: OpenShiftManagedDefault + - name: machineNetworks type: - namedType: com.github.openshift.api.config.v1alpha1.ImagePolicyStatus - default: {} -- name: com.github.openshift.api.config.v1alpha1.ImagePolicyFulcioCAWithRekorRootOfTrust + list: + elementType: + scalar: string + elementRelationship: atomic + - name: nodeDNSIP + type: + scalar: string +- name: com.github.openshift.api.config.v1.VSpherePlatformTopology map: fields: - - name: fulcioCAData + - name: computeCluster type: scalar: string - - name: fulcioSubject - type: - namedType: com.github.openshift.api.config.v1alpha1.PolicyFulcioSubject - default: {} - - name: rekorKeyData + default: "" + - name: datacenter type: scalar: string -- name: com.github.openshift.api.config.v1alpha1.ImagePolicyPKIRootOfTrust - map: - fields: - - name: caIntermediatesData + default: "" + - name: datastore type: scalar: string - - name: caRootsData + default: "" + - name: folder type: scalar: string - - name: pkiCertificateSubject + - name: networks type: - namedType: com.github.openshift.api.config.v1alpha1.PKICertificateSubject - default: {} -- name: com.github.openshift.api.config.v1alpha1.ImagePolicyPublicKeyRootOfTrust - map: - fields: - - name: keyData + list: + elementType: + scalar: string + elementRelationship: atomic + - name: resourcePool type: scalar: string - - name: rekorKeyData + - name: template type: scalar: string -- name: com.github.openshift.api.config.v1alpha1.ImagePolicySpec +- name: com.github.openshift.api.config.v1.VSpherePlatformVCenterSpec map: fields: - - name: policy - type: - namedType: com.github.openshift.api.config.v1alpha1.ImageSigstoreVerificationPolicy - default: {} - - name: scopes + - name: datacenters type: list: elementType: scalar: string elementRelationship: associative -- name: com.github.openshift.api.config.v1alpha1.ImagePolicyStatus + - name: port + type: + scalar: numeric + - name: server + type: + scalar: string + default: "" +- name: com.github.openshift.api.config.v1.WebhookTokenAuthenticator map: fields: - - name: conditions + - name: kubeConfig type: - list: - elementType: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Condition - elementRelationship: associative - keys: - - type -- name: com.github.openshift.api.config.v1alpha1.ImageSigstoreVerificationPolicy + namedType: com.github.openshift.api.config.v1.SecretNameReference + default: {} +- name: com.github.openshift.api.config.v1alpha1.AdditionalAlertmanagerConfig map: fields: - - name: rootOfTrust + - name: authorization type: - namedType: com.github.openshift.api.config.v1alpha1.PolicyRootOfTrust + namedType: com.github.openshift.api.config.v1alpha1.AuthorizationConfig default: {} - - name: signedIdentity + - name: name type: - namedType: com.github.openshift.api.config.v1alpha1.PolicyIdentity - default: {} -- name: com.github.openshift.api.config.v1alpha1.InsightsDataGather - map: - fields: - - name: apiVersion + scalar: string + - name: pathPrefix type: scalar: string - - name: kind + - name: scheme type: scalar: string - - name: metadata + - name: staticConfigs type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta - default: {} - - name: spec + list: + elementType: + scalar: string + elementRelationship: associative + - name: timeoutSeconds type: - namedType: com.github.openshift.api.config.v1alpha1.InsightsDataGatherSpec - default: {} - - name: status + scalar: numeric + - name: tlsConfig type: - namedType: com.github.openshift.api.config.v1alpha1.InsightsDataGatherStatus + namedType: com.github.openshift.api.config.v1alpha1.TLSConfig default: {} -- name: com.github.openshift.api.config.v1alpha1.InsightsDataGatherSpec +- name: com.github.openshift.api.config.v1alpha1.AlertmanagerConfig map: fields: - - name: gatherConfig + - name: customConfig type: - namedType: com.github.openshift.api.config.v1alpha1.GatherConfig + namedType: com.github.openshift.api.config.v1alpha1.AlertmanagerCustomConfig default: {} -- name: com.github.openshift.api.config.v1alpha1.InsightsDataGatherStatus - map: - elementType: - scalar: untyped - list: - elementType: - namedType: __untyped_atomic_ - elementRelationship: atomic - map: - elementType: - namedType: __untyped_deduced_ - elementRelationship: separable -- name: com.github.openshift.api.config.v1alpha1.KeyConfig - map: - fields: - - name: algorithm + - name: deploymentMode type: scalar: string - - name: ecdsa - type: - namedType: com.github.openshift.api.config.v1alpha1.ECDSAKeyConfig - default: {} - - name: rsa - type: - namedType: com.github.openshift.api.config.v1alpha1.RSAKeyConfig - default: {} - unions: - - discriminator: algorithm - fields: - - fieldName: ecdsa - discriminatorValue: ECDSA - - fieldName: rsa - discriminatorValue: RSA -- name: com.github.openshift.api.config.v1alpha1.MetricsServerConfig +- name: com.github.openshift.api.config.v1alpha1.AlertmanagerCustomConfig map: fields: - - name: audit + - name: logLevel type: - namedType: com.github.openshift.api.config.v1alpha1.Audit - default: {} + scalar: string - name: nodeSelector type: map: @@ -4638,303 +4750,307 @@ var schemaYAML = typed.YAMLObject(`types: elementRelationship: associative keys: - name + - name: secrets + type: + list: + elementType: + scalar: string + elementRelationship: associative - name: tolerations type: list: elementType: - namedType: io.k8s.api.core.v1.Toleration + namedType: Toleration.v1.core.api.k8s.io elementRelationship: atomic - name: topologySpreadConstraints type: list: elementType: - namedType: io.k8s.api.core.v1.TopologySpreadConstraint + namedType: TopologySpreadConstraint.v1.core.api.k8s.io elementRelationship: associative keys: - topologyKey - whenUnsatisfiable - - name: verbosity + - name: volumeClaimTemplate type: - scalar: string -- name: com.github.openshift.api.config.v1alpha1.PKI + namedType: PersistentVolumeClaim.v1.core.api.k8s.io +- name: com.github.openshift.api.config.v1alpha1.Audit map: fields: - - name: apiVersion - type: - scalar: string - - name: kind + - name: profile type: scalar: string - - name: metadata - type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta - default: {} - - name: spec - type: - namedType: com.github.openshift.api.config.v1alpha1.PKISpec - default: {} -- name: com.github.openshift.api.config.v1alpha1.PKICertificateManagement +- name: com.github.openshift.api.config.v1alpha1.AuthorizationConfig map: fields: - - name: custom + - name: bearerToken type: - namedType: com.github.openshift.api.config.v1alpha1.CustomPKIPolicy + namedType: com.github.openshift.api.config.v1alpha1.SecretKeySelector default: {} - - name: mode + - name: type type: scalar: string unions: - - discriminator: mode + - discriminator: type fields: - - fieldName: custom - discriminatorValue: Custom -- name: com.github.openshift.api.config.v1alpha1.PKICertificateSubject + - fieldName: bearerToken + discriminatorValue: BearerToken +- name: com.github.openshift.api.config.v1alpha1.Backup map: fields: - - name: email + - name: apiVersion type: scalar: string - - name: hostname + - name: kind type: scalar: string -- name: com.github.openshift.api.config.v1alpha1.PKISpec - map: - fields: - - name: certificateManagement + - name: metadata type: - namedType: com.github.openshift.api.config.v1alpha1.PKICertificateManagement + namedType: ObjectMeta.v1.meta.apis.pkg.apimachinery.k8s.io default: {} -- name: com.github.openshift.api.config.v1alpha1.PersistentVolumeClaimReference + - name: spec + type: + namedType: com.github.openshift.api.config.v1alpha1.BackupSpec + default: {} + - name: status + type: + namedType: com.github.openshift.api.config.v1alpha1.BackupStatus + default: {} +- name: com.github.openshift.api.config.v1alpha1.BackupSpec map: fields: - - name: name + - name: etcd type: - scalar: string - default: "" -- name: com.github.openshift.api.config.v1alpha1.PersistentVolumeConfig + namedType: com.github.openshift.api.config.v1alpha1.EtcdBackupSpec + default: {} +- name: com.github.openshift.api.config.v1alpha1.BackupStatus + map: + elementType: + scalar: untyped + list: + elementType: + namedType: __untyped_atomic_ + elementRelationship: atomic + map: + elementType: + namedType: __untyped_deduced_ + elementRelationship: separable +- name: com.github.openshift.api.config.v1alpha1.BasicAuth map: fields: - - name: claim + - name: password type: - namedType: com.github.openshift.api.config.v1alpha1.PersistentVolumeClaimReference + namedType: com.github.openshift.api.config.v1alpha1.SecretKeySelector default: {} - - name: mountPath + - name: username type: - scalar: string -- name: com.github.openshift.api.config.v1alpha1.PolicyFulcioSubject + namedType: com.github.openshift.api.config.v1alpha1.SecretKeySelector + default: {} +- name: com.github.openshift.api.config.v1alpha1.CRIOCredentialProviderConfig map: fields: - - name: oidcIssuer + - name: apiVersion type: scalar: string - default: "" - - name: signedEmail + - name: kind type: scalar: string - default: "" -- name: com.github.openshift.api.config.v1alpha1.PolicyIdentity - map: - fields: - - name: exactRepository + - name: metadata type: - namedType: com.github.openshift.api.config.v1alpha1.PolicyMatchExactRepository - - name: matchPolicy + namedType: ObjectMeta.v1.meta.apis.pkg.apimachinery.k8s.io + default: {} + - name: spec type: - scalar: string - default: "" - - name: remapIdentity + namedType: com.github.openshift.api.config.v1alpha1.CRIOCredentialProviderConfigSpec + - name: status type: - namedType: com.github.openshift.api.config.v1alpha1.PolicyMatchRemapIdentity - unions: - - discriminator: matchPolicy - fields: - - fieldName: exactRepository - discriminatorValue: PolicyMatchExactRepository - - fieldName: remapIdentity - discriminatorValue: PolicyMatchRemapIdentity -- name: com.github.openshift.api.config.v1alpha1.PolicyMatchExactRepository + namedType: com.github.openshift.api.config.v1alpha1.CRIOCredentialProviderConfigStatus + default: {} +- name: com.github.openshift.api.config.v1alpha1.CRIOCredentialProviderConfigSpec map: fields: - - name: repository + - name: matchImages type: - scalar: string - default: "" -- name: com.github.openshift.api.config.v1alpha1.PolicyMatchRemapIdentity + list: + elementType: + scalar: string + elementRelationship: associative +- name: com.github.openshift.api.config.v1alpha1.CRIOCredentialProviderConfigStatus map: fields: - - name: prefix - type: - scalar: string - default: "" - - name: signedPrefix + - name: conditions type: - scalar: string - default: "" -- name: com.github.openshift.api.config.v1alpha1.PolicyRootOfTrust + list: + elementType: + namedType: Condition.v1.meta.apis.pkg.apimachinery.k8s.io + elementRelationship: associative + keys: + - type +- name: com.github.openshift.api.config.v1alpha1.CertificateConfig map: fields: - - name: fulcioCAWithRekor + - name: key type: - namedType: com.github.openshift.api.config.v1alpha1.ImagePolicyFulcioCAWithRekorRootOfTrust - - name: pki + namedType: com.github.openshift.api.config.v1alpha1.KeyConfig + default: {} +- name: com.github.openshift.api.config.v1alpha1.ClusterMonitoring + map: + fields: + - name: apiVersion type: - namedType: com.github.openshift.api.config.v1alpha1.ImagePolicyPKIRootOfTrust - - name: policyType + scalar: string + - name: kind type: scalar: string - default: "" - - name: publicKey + - name: metadata type: - namedType: com.github.openshift.api.config.v1alpha1.ImagePolicyPublicKeyRootOfTrust - unions: - - discriminator: policyType - fields: - - fieldName: fulcioCAWithRekor - discriminatorValue: FulcioCAWithRekor - - fieldName: pki - discriminatorValue: PKI - - fieldName: publicKey - discriminatorValue: PublicKey -- name: com.github.openshift.api.config.v1alpha1.PrometheusOperatorConfig + namedType: ObjectMeta.v1.meta.apis.pkg.apimachinery.k8s.io + default: {} + - name: spec + type: + namedType: com.github.openshift.api.config.v1alpha1.ClusterMonitoringSpec + default: {} + - name: status + type: + namedType: com.github.openshift.api.config.v1alpha1.ClusterMonitoringStatus + default: {} +- name: com.github.openshift.api.config.v1alpha1.ClusterMonitoringSpec map: fields: - - name: logLevel + - name: alertmanagerConfig type: - scalar: string - - name: nodeSelector + namedType: com.github.openshift.api.config.v1alpha1.AlertmanagerConfig + default: {} + - name: metricsServerConfig type: - map: - elementType: - scalar: string - - name: resources + namedType: com.github.openshift.api.config.v1alpha1.MetricsServerConfig + default: {} + - name: openShiftStateMetricsConfig type: - list: - elementType: - namedType: com.github.openshift.api.config.v1alpha1.ContainerResource - elementRelationship: associative - keys: - - name - - name: tolerations + namedType: com.github.openshift.api.config.v1alpha1.OpenShiftStateMetricsConfig + default: {} + - name: prometheusConfig type: - list: - elementType: - namedType: io.k8s.api.core.v1.Toleration - elementRelationship: atomic - - name: topologySpreadConstraints + namedType: com.github.openshift.api.config.v1alpha1.PrometheusConfig + default: {} + - name: prometheusOperatorAdmissionWebhookConfig type: - list: - elementType: - namedType: io.k8s.api.core.v1.TopologySpreadConstraint - elementRelationship: associative - keys: - - topologyKey - - whenUnsatisfiable -- name: com.github.openshift.api.config.v1alpha1.RSAKeyConfig - map: - fields: - - name: keySize + namedType: com.github.openshift.api.config.v1alpha1.PrometheusOperatorAdmissionWebhookConfig + default: {} + - name: prometheusOperatorConfig type: - scalar: numeric -- name: com.github.openshift.api.config.v1alpha1.RetentionNumberConfig + namedType: com.github.openshift.api.config.v1alpha1.PrometheusOperatorConfig + default: {} + - name: userDefined + type: + namedType: com.github.openshift.api.config.v1alpha1.UserDefinedMonitoring + default: {} +- name: com.github.openshift.api.config.v1alpha1.ClusterMonitoringStatus + map: + elementType: + scalar: untyped + list: + elementType: + namedType: __untyped_atomic_ + elementRelationship: atomic + map: + elementType: + namedType: __untyped_deduced_ + elementRelationship: separable +- name: com.github.openshift.api.config.v1alpha1.ContainerResource map: fields: - - name: maxNumberOfBackups + - name: limit type: - scalar: numeric - default: 0 -- name: com.github.openshift.api.config.v1alpha1.RetentionPolicy + namedType: Quantity.resource.api.pkg.apimachinery.k8s.io + - name: name + type: + scalar: string + - name: request + type: + namedType: Quantity.resource.api.pkg.apimachinery.k8s.io +- name: com.github.openshift.api.config.v1alpha1.CustomPKIPolicy map: fields: - - name: retentionNumber + - name: clientCertificates type: - namedType: com.github.openshift.api.config.v1alpha1.RetentionNumberConfig - - name: retentionSize + namedType: com.github.openshift.api.config.v1alpha1.CertificateConfig + default: {} + - name: defaults type: - namedType: com.github.openshift.api.config.v1alpha1.RetentionSizeConfig - - name: retentionType + namedType: com.github.openshift.api.config.v1alpha1.DefaultCertificateConfig + default: {} + - name: servingCertificates type: - scalar: string - default: "" - unions: - - discriminator: retentionType - fields: - - fieldName: retentionNumber - discriminatorValue: RetentionNumber - - fieldName: retentionSize - discriminatorValue: RetentionSize -- name: com.github.openshift.api.config.v1alpha1.RetentionSizeConfig + namedType: com.github.openshift.api.config.v1alpha1.CertificateConfig + default: {} + - name: signerCertificates + type: + namedType: com.github.openshift.api.config.v1alpha1.CertificateConfig + default: {} +- name: com.github.openshift.api.config.v1alpha1.DefaultCertificateConfig map: fields: - - name: maxSizeOfBackupsGb + - name: key type: - scalar: numeric - default: 0 -- name: com.github.openshift.api.config.v1alpha1.Storage + namedType: com.github.openshift.api.config.v1alpha1.KeyConfig + default: {} +- name: com.github.openshift.api.config.v1alpha1.DropEqualActionConfig map: fields: - - name: persistentVolume - type: - namedType: com.github.openshift.api.config.v1alpha1.PersistentVolumeConfig - - name: type + - name: targetLabel type: scalar: string - default: "" -- name: com.github.openshift.api.config.v1alpha1.UserDefinedMonitoring +- name: com.github.openshift.api.config.v1alpha1.ECDSAKeyConfig map: fields: - - name: mode + - name: curve type: scalar: string - default: "" -- name: com.github.openshift.api.config.v1alpha2.Custom +- name: com.github.openshift.api.config.v1alpha1.EtcdBackupSpec map: fields: - - name: configs + - name: pvcName type: - list: - elementType: - namedType: com.github.openshift.api.config.v1alpha2.GathererConfig - elementRelationship: associative - keys: - - name -- name: com.github.openshift.api.config.v1alpha2.GatherConfig + scalar: string + default: "" + - name: retentionPolicy + type: + namedType: com.github.openshift.api.config.v1alpha1.RetentionPolicy + default: {} + - name: schedule + type: + scalar: string + default: "" + - name: timeZone + type: + scalar: string + default: "" +- name: com.github.openshift.api.config.v1alpha1.GatherConfig map: fields: - name: dataPolicy + type: + scalar: string + - name: disabledGatherers type: list: elementType: scalar: string elementRelationship: atomic - - name: gatherers - type: - namedType: com.github.openshift.api.config.v1alpha2.Gatherers - default: {} - name: storage type: - namedType: com.github.openshift.api.config.v1alpha2.Storage -- name: com.github.openshift.api.config.v1alpha2.GathererConfig - map: - fields: - - name: name - type: - scalar: string - default: "" - - name: state - type: - scalar: string - default: "" -- name: com.github.openshift.api.config.v1alpha2.Gatherers + namedType: com.github.openshift.api.config.v1alpha1.Storage +- name: com.github.openshift.api.config.v1alpha1.HashModActionConfig map: fields: - - name: custom + - name: modulus type: - namedType: com.github.openshift.api.config.v1alpha2.Custom - - name: mode + scalar: numeric + - name: targetLabel type: scalar: string - default: "" -- name: com.github.openshift.api.config.v1alpha2.InsightsDataGather +- name: com.github.openshift.api.config.v1alpha1.InsightsDataGather map: fields: - name: apiVersion @@ -4945,24 +5061,24 @@ var schemaYAML = typed.YAMLObject(`types: scalar: string - name: metadata type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta + namedType: ObjectMeta.v1.meta.apis.pkg.apimachinery.k8s.io default: {} - name: spec type: - namedType: com.github.openshift.api.config.v1alpha2.InsightsDataGatherSpec + namedType: com.github.openshift.api.config.v1alpha1.InsightsDataGatherSpec default: {} - name: status type: - namedType: com.github.openshift.api.config.v1alpha2.InsightsDataGatherStatus + namedType: com.github.openshift.api.config.v1alpha1.InsightsDataGatherStatus default: {} -- name: com.github.openshift.api.config.v1alpha2.InsightsDataGatherSpec +- name: com.github.openshift.api.config.v1alpha1.InsightsDataGatherSpec map: fields: - name: gatherConfig type: - namedType: com.github.openshift.api.config.v1alpha2.GatherConfig + namedType: com.github.openshift.api.config.v1alpha1.GatherConfig default: {} -- name: com.github.openshift.api.config.v1alpha2.InsightsDataGatherStatus +- name: com.github.openshift.api.config.v1alpha1.InsightsDataGatherStatus map: elementType: scalar: untyped @@ -4974,121 +5090,177 @@ var schemaYAML = typed.YAMLObject(`types: elementType: namedType: __untyped_deduced_ elementRelationship: separable -- name: com.github.openshift.api.config.v1alpha2.PersistentVolumeClaimReference +- name: com.github.openshift.api.config.v1alpha1.KeepEqualActionConfig map: fields: - - name: name + - name: targetLabel type: scalar: string - default: "" -- name: com.github.openshift.api.config.v1alpha2.PersistentVolumeConfig +- name: com.github.openshift.api.config.v1alpha1.KeyConfig map: fields: - - name: claim + - name: algorithm type: - namedType: com.github.openshift.api.config.v1alpha2.PersistentVolumeClaimReference + scalar: string + - name: ecdsa + type: + namedType: com.github.openshift.api.config.v1alpha1.ECDSAKeyConfig default: {} - - name: mountPath + - name: rsa type: - scalar: string -- name: com.github.openshift.api.config.v1alpha2.Storage + namedType: com.github.openshift.api.config.v1alpha1.RSAKeyConfig + default: {} + unions: + - discriminator: algorithm + fields: + - fieldName: ecdsa + discriminatorValue: ECDSA + - fieldName: rsa + discriminatorValue: RSA +- name: com.github.openshift.api.config.v1alpha1.Label map: fields: - - name: persistentVolume + - name: key type: - namedType: com.github.openshift.api.config.v1alpha2.PersistentVolumeConfig - - name: type + scalar: string + - name: value type: scalar: string - default: "" -- name: io.k8s.api.core.v1.ConfigMapKeySelector +- name: com.github.openshift.api.config.v1alpha1.LabelMapActionConfig map: fields: - - name: key + - name: replacement type: scalar: string - default: "" - - name: name +- name: com.github.openshift.api.config.v1alpha1.LowercaseActionConfig + map: + fields: + - name: targetLabel type: scalar: string - default: "" - - name: optional - type: - scalar: boolean - elementRelationship: atomic -- name: io.k8s.api.core.v1.EnvVar +- name: com.github.openshift.api.config.v1alpha1.MetadataConfig map: fields: - - name: name + - name: custom type: - scalar: string - default: "" - - name: value + namedType: com.github.openshift.api.config.v1alpha1.MetadataConfigCustom + default: {} + - name: sendPolicy type: scalar: string - - name: valueFrom +- name: com.github.openshift.api.config.v1alpha1.MetadataConfigCustom + map: + fields: + - name: sendIntervalSeconds type: - namedType: io.k8s.api.core.v1.EnvVarSource -- name: io.k8s.api.core.v1.EnvVarSource + scalar: numeric +- name: com.github.openshift.api.config.v1alpha1.MetricsServerConfig map: fields: - - name: configMapKeyRef + - name: audit type: - namedType: io.k8s.api.core.v1.ConfigMapKeySelector - - name: fieldRef + namedType: com.github.openshift.api.config.v1alpha1.Audit + default: {} + - name: nodeSelector type: - namedType: io.k8s.api.core.v1.ObjectFieldSelector - - name: fileKeyRef + map: + elementType: + scalar: string + - name: resources type: - namedType: io.k8s.api.core.v1.FileKeySelector - - name: resourceFieldRef + list: + elementType: + namedType: com.github.openshift.api.config.v1alpha1.ContainerResource + elementRelationship: associative + keys: + - name + - name: tolerations type: - namedType: io.k8s.api.core.v1.ResourceFieldSelector - - name: secretKeyRef + list: + elementType: + namedType: Toleration.v1.core.api.k8s.io + elementRelationship: atomic + - name: topologySpreadConstraints + type: + list: + elementType: + namedType: TopologySpreadConstraint.v1.core.api.k8s.io + elementRelationship: associative + keys: + - topologyKey + - whenUnsatisfiable + - name: verbosity type: - namedType: io.k8s.api.core.v1.SecretKeySelector -- name: io.k8s.api.core.v1.FileKeySelector + scalar: string +- name: com.github.openshift.api.config.v1alpha1.OAuth2 map: fields: - - name: key + - name: clientId type: - scalar: string - default: "" - - name: optional + namedType: com.github.openshift.api.config.v1alpha1.SecretKeySelector + default: {} + - name: clientSecret type: - scalar: boolean - default: false - - name: path + namedType: com.github.openshift.api.config.v1alpha1.SecretKeySelector + default: {} + - name: endpointParams type: - scalar: string - default: "" - - name: volumeName + list: + elementType: + namedType: com.github.openshift.api.config.v1alpha1.OAuth2EndpointParam + elementRelationship: associative + keys: + - name + - name: scopes + type: + list: + elementType: + scalar: string + elementRelationship: atomic + - name: tokenUrl type: scalar: string - default: "" - elementRelationship: atomic -- name: io.k8s.api.core.v1.ModifyVolumeStatus +- name: com.github.openshift.api.config.v1alpha1.OAuth2EndpointParam map: fields: - - name: status + - name: name type: scalar: string - default: "" - - name: targetVolumeAttributesClassName + - name: value type: scalar: string -- name: io.k8s.api.core.v1.ObjectFieldSelector +- name: com.github.openshift.api.config.v1alpha1.OpenShiftStateMetricsConfig map: fields: - - name: apiVersion + - name: nodeSelector type: - scalar: string - - name: fieldPath + map: + elementType: + scalar: string + - name: resources type: - scalar: string - default: "" - elementRelationship: atomic -- name: io.k8s.api.core.v1.PersistentVolumeClaim + list: + elementType: + namedType: com.github.openshift.api.config.v1alpha1.ContainerResource + elementRelationship: associative + keys: + - name + - name: tolerations + type: + list: + elementType: + namedType: Toleration.v1.core.api.k8s.io + elementRelationship: atomic + - name: topologySpreadConstraints + type: + list: + elementType: + namedType: TopologySpreadConstraint.v1.core.api.k8s.io + elementRelationship: associative + keys: + - topologyKey + - whenUnsatisfiable +- name: com.github.openshift.api.config.v1alpha1.PKI map: fields: - name: apiVersion @@ -5099,460 +5271,585 @@ var schemaYAML = typed.YAMLObject(`types: scalar: string - name: metadata type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta + namedType: ObjectMeta.v1.meta.apis.pkg.apimachinery.k8s.io default: {} - name: spec type: - namedType: io.k8s.api.core.v1.PersistentVolumeClaimSpec - default: {} - - name: status - type: - namedType: io.k8s.api.core.v1.PersistentVolumeClaimStatus + namedType: com.github.openshift.api.config.v1alpha1.PKISpec default: {} -- name: io.k8s.api.core.v1.PersistentVolumeClaimCondition +- name: com.github.openshift.api.config.v1alpha1.PKICertificateManagement map: fields: - - name: lastProbeTime - type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Time - - name: lastTransitionTime + - name: custom type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Time - - name: message + namedType: com.github.openshift.api.config.v1alpha1.CustomPKIPolicy + default: {} + - name: mode type: scalar: string - - name: reason + unions: + - discriminator: mode + fields: + - fieldName: custom + discriminatorValue: Custom +- name: com.github.openshift.api.config.v1alpha1.PKISpec + map: + fields: + - name: certificateManagement type: - scalar: string - - name: status + namedType: com.github.openshift.api.config.v1alpha1.PKICertificateManagement + default: {} +- name: com.github.openshift.api.config.v1alpha1.PersistentVolumeClaimReference + map: + fields: + - name: name type: scalar: string default: "" - - name: type +- name: com.github.openshift.api.config.v1alpha1.PersistentVolumeConfig + map: + fields: + - name: claim + type: + namedType: com.github.openshift.api.config.v1alpha1.PersistentVolumeClaimReference + default: {} + - name: mountPath type: scalar: string - default: "" -- name: io.k8s.api.core.v1.PersistentVolumeClaimSpec +- name: com.github.openshift.api.config.v1alpha1.PrometheusConfig map: fields: - - name: accessModes + - name: additionalAlertmanagerConfigs type: list: elementType: - scalar: string - elementRelationship: atomic - - name: dataSource - type: - namedType: io.k8s.api.core.v1.TypedLocalObjectReference - - name: dataSourceRef - type: - namedType: io.k8s.api.core.v1.TypedObjectReference - - name: resources + namedType: com.github.openshift.api.config.v1alpha1.AdditionalAlertmanagerConfig + elementRelationship: associative + keys: + - name + - name: collectionProfile type: - namedType: io.k8s.api.core.v1.VolumeResourceRequirements - default: {} - - name: selector + scalar: string + - name: enforcedBodySizeLimitBytes type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector - - name: storageClassName + scalar: numeric + - name: externalLabels type: - scalar: string - - name: volumeAttributesClassName + list: + elementType: + namedType: com.github.openshift.api.config.v1alpha1.Label + elementRelationship: associative + keys: + - key + - name: logLevel type: scalar: string - - name: volumeMode + - name: nodeSelector type: - scalar: string - - name: volumeName + map: + elementType: + scalar: string + - name: queryLogFile type: scalar: string -- name: io.k8s.api.core.v1.PersistentVolumeClaimStatus - map: - fields: - - name: accessModes + - name: remoteWrite type: list: elementType: - scalar: string - elementRelationship: atomic - - name: allocatedResourceStatuses + namedType: com.github.openshift.api.config.v1alpha1.RemoteWriteSpec + elementRelationship: associative + keys: + - name + - name: resources type: - map: + list: elementType: - scalar: string - elementRelationship: separable - - name: allocatedResources + namedType: com.github.openshift.api.config.v1alpha1.ContainerResource + elementRelationship: associative + keys: + - name + - name: retention type: - map: - elementType: - namedType: io.k8s.apimachinery.pkg.api.resource.Quantity - - name: capacity + namedType: com.github.openshift.api.config.v1alpha1.Retention + default: {} + - name: tolerations type: - map: + list: elementType: - namedType: io.k8s.apimachinery.pkg.api.resource.Quantity - - name: conditions + namedType: Toleration.v1.core.api.k8s.io + elementRelationship: atomic + - name: topologySpreadConstraints type: list: elementType: - namedType: io.k8s.api.core.v1.PersistentVolumeClaimCondition + namedType: TopologySpreadConstraint.v1.core.api.k8s.io elementRelationship: associative keys: - - type - - name: currentVolumeAttributesClassName - type: - scalar: string - - name: modifyVolumeStatus - type: - namedType: io.k8s.api.core.v1.ModifyVolumeStatus - - name: phase + - topologyKey + - whenUnsatisfiable + - name: volumeClaimTemplate type: - scalar: string -- name: io.k8s.api.core.v1.ResourceClaim + namedType: PersistentVolumeClaim.v1.core.api.k8s.io +- name: com.github.openshift.api.config.v1alpha1.PrometheusOperatorAdmissionWebhookConfig map: fields: - - name: name + - name: resources type: - scalar: string - default: "" - - name: request + list: + elementType: + namedType: com.github.openshift.api.config.v1alpha1.ContainerResource + elementRelationship: associative + keys: + - name + - name: topologySpreadConstraints type: - scalar: string -- name: io.k8s.api.core.v1.ResourceFieldSelector + list: + elementType: + namedType: TopologySpreadConstraint.v1.core.api.k8s.io + elementRelationship: associative + keys: + - topologyKey + - whenUnsatisfiable +- name: com.github.openshift.api.config.v1alpha1.PrometheusOperatorConfig map: fields: - - name: containerName + - name: logLevel type: scalar: string - - name: divisor - type: - namedType: io.k8s.apimachinery.pkg.api.resource.Quantity - - name: resource + - name: nodeSelector type: - scalar: string - default: "" - elementRelationship: atomic -- name: io.k8s.api.core.v1.ResourceRequirements - map: - fields: - - name: claims + map: + elementType: + scalar: string + - name: resources type: list: elementType: - namedType: io.k8s.api.core.v1.ResourceClaim + namedType: com.github.openshift.api.config.v1alpha1.ContainerResource elementRelationship: associative keys: - name - - name: limits + - name: tolerations type: - map: + list: elementType: - namedType: io.k8s.apimachinery.pkg.api.resource.Quantity - - name: requests + namedType: Toleration.v1.core.api.k8s.io + elementRelationship: atomic + - name: topologySpreadConstraints type: - map: + list: elementType: - namedType: io.k8s.apimachinery.pkg.api.resource.Quantity -- name: io.k8s.api.core.v1.SecretKeySelector + namedType: TopologySpreadConstraint.v1.core.api.k8s.io + elementRelationship: associative + keys: + - topologyKey + - whenUnsatisfiable +- name: com.github.openshift.api.config.v1alpha1.PrometheusRemoteWriteHeader map: fields: - - name: key - type: - scalar: string - default: "" - name: name type: scalar: string - default: "" - - name: optional + - name: value type: - scalar: boolean - elementRelationship: atomic -- name: io.k8s.api.core.v1.Toleration + scalar: string +- name: com.github.openshift.api.config.v1alpha1.QueueConfig map: fields: - - name: effect + - name: batchSendDeadlineSeconds type: - scalar: string - - name: key + scalar: numeric + - name: capacity type: - scalar: string - - name: operator + scalar: numeric + - name: maxBackoffMilliseconds type: - scalar: string - - name: tolerationSeconds + scalar: numeric + - name: maxSamplesPerSend type: scalar: numeric - - name: value + - name: maxShards + type: + scalar: numeric + - name: minBackoffMilliseconds + type: + scalar: numeric + - name: minShards + type: + scalar: numeric + - name: rateLimitedAction type: scalar: string -- name: io.k8s.api.core.v1.TopologySpreadConstraint +- name: com.github.openshift.api.config.v1alpha1.RSAKeyConfig map: fields: - - name: labelSelector + - name: keySize type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector - - name: matchLabelKeys + scalar: numeric +- name: com.github.openshift.api.config.v1alpha1.RelabelActionConfig + map: + fields: + - name: dropEqual type: - list: - elementType: - scalar: string - elementRelationship: atomic - - name: maxSkew + namedType: com.github.openshift.api.config.v1alpha1.DropEqualActionConfig + default: {} + - name: hashMod type: - scalar: numeric - default: 0 - - name: minDomains + namedType: com.github.openshift.api.config.v1alpha1.HashModActionConfig + default: {} + - name: keepEqual type: - scalar: numeric - - name: nodeAffinityPolicy + namedType: com.github.openshift.api.config.v1alpha1.KeepEqualActionConfig + default: {} + - name: labelMap + type: + namedType: com.github.openshift.api.config.v1alpha1.LabelMapActionConfig + default: {} + - name: lowercase + type: + namedType: com.github.openshift.api.config.v1alpha1.LowercaseActionConfig + default: {} + - name: replace + type: + namedType: com.github.openshift.api.config.v1alpha1.ReplaceActionConfig + default: {} + - name: type type: scalar: string - - name: nodeTaintsPolicy + - name: uppercase + type: + namedType: com.github.openshift.api.config.v1alpha1.UppercaseActionConfig + default: {} + unions: + - discriminator: type + fields: + - fieldName: dropEqual + discriminatorValue: DropEqual + - fieldName: hashMod + discriminatorValue: HashMod + - fieldName: keepEqual + discriminatorValue: KeepEqual + - fieldName: labelMap + discriminatorValue: LabelMap + - fieldName: lowercase + discriminatorValue: Lowercase + - fieldName: replace + discriminatorValue: Replace + - fieldName: uppercase + discriminatorValue: Uppercase +- name: com.github.openshift.api.config.v1alpha1.RelabelConfig + map: + fields: + - name: action + type: + namedType: com.github.openshift.api.config.v1alpha1.RelabelActionConfig + default: {} + - name: name type: scalar: string - - name: topologyKey + - name: regex type: scalar: string - default: "" - - name: whenUnsatisfiable + - name: separator type: scalar: string - default: "" -- name: io.k8s.api.core.v1.TypedLocalObjectReference + - name: sourceLabels + type: + list: + elementType: + scalar: string + elementRelationship: associative +- name: com.github.openshift.api.config.v1alpha1.RemoteWriteAuthorization map: fields: - - name: apiGroup + - name: basicAuth + type: + namedType: com.github.openshift.api.config.v1alpha1.BasicAuth + default: {} + - name: bearerToken + type: + namedType: com.github.openshift.api.config.v1alpha1.SecretKeySelector + default: {} + - name: oauth2 + type: + namedType: com.github.openshift.api.config.v1alpha1.OAuth2 + default: {} + - name: safeAuthorization + type: + namedType: SecretKeySelector.v1.core.api.k8s.io + - name: sigv4 + type: + namedType: com.github.openshift.api.config.v1alpha1.Sigv4 + default: {} + - name: type type: scalar: string - - name: kind + unions: + - discriminator: type + fields: + - fieldName: basicAuth + discriminatorValue: BasicAuth + - fieldName: bearerToken + discriminatorValue: BearerToken + - fieldName: oauth2 + discriminatorValue: OAuth2 + - fieldName: safeAuthorization + discriminatorValue: SafeAuthorization + - fieldName: sigv4 + discriminatorValue: Sigv4 +- name: com.github.openshift.api.config.v1alpha1.RemoteWriteSpec + map: + fields: + - name: authorization + type: + namedType: com.github.openshift.api.config.v1alpha1.RemoteWriteAuthorization + default: {} + - name: exemplarsMode type: scalar: string - default: "" + - name: headers + type: + list: + elementType: + namedType: com.github.openshift.api.config.v1alpha1.PrometheusRemoteWriteHeader + elementRelationship: associative + keys: + - name + - name: metadataConfig + type: + namedType: com.github.openshift.api.config.v1alpha1.MetadataConfig + default: {} - name: name type: scalar: string - default: "" - elementRelationship: atomic -- name: io.k8s.api.core.v1.TypedObjectReference - map: - fields: - - name: apiGroup + - name: proxyUrl + type: + scalar: string + - name: queueConfig + type: + namedType: com.github.openshift.api.config.v1alpha1.QueueConfig + default: {} + - name: remoteTimeoutSeconds + type: + scalar: numeric + - name: tlsConfig + type: + namedType: com.github.openshift.api.config.v1alpha1.TLSConfig + default: {} + - name: url type: scalar: string - - name: kind + - name: writeRelabelConfigs type: - scalar: string - default: "" - - name: name + list: + elementType: + namedType: com.github.openshift.api.config.v1alpha1.RelabelConfig + elementRelationship: associative + keys: + - name +- name: com.github.openshift.api.config.v1alpha1.ReplaceActionConfig + map: + fields: + - name: replacement type: scalar: string - default: "" - - name: namespace + - name: targetLabel type: scalar: string -- name: io.k8s.api.core.v1.VolumeResourceRequirements +- name: com.github.openshift.api.config.v1alpha1.Retention map: fields: - - name: limits + - name: durationInDays type: - map: - elementType: - namedType: io.k8s.apimachinery.pkg.api.resource.Quantity - - name: requests + scalar: numeric + - name: sizeInGiB type: - map: - elementType: - namedType: io.k8s.apimachinery.pkg.api.resource.Quantity -- name: io.k8s.apimachinery.pkg.api.resource.Quantity - scalar: untyped -- name: io.k8s.apimachinery.pkg.apis.meta.v1.Condition + scalar: numeric +- name: com.github.openshift.api.config.v1alpha1.RetentionNumberConfig map: fields: - - name: lastTransitionTime - type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Time - - name: message - type: - scalar: string - default: "" - - name: observedGeneration + - name: maxNumberOfBackups type: scalar: numeric - - name: reason + default: 0 +- name: com.github.openshift.api.config.v1alpha1.RetentionPolicy + map: + fields: + - name: retentionNumber type: - scalar: string - default: "" - - name: status + namedType: com.github.openshift.api.config.v1alpha1.RetentionNumberConfig + - name: retentionSize type: - scalar: string - default: "" - - name: type + namedType: com.github.openshift.api.config.v1alpha1.RetentionSizeConfig + - name: retentionType type: scalar: string default: "" -- name: io.k8s.apimachinery.pkg.apis.meta.v1.Duration - scalar: string -- name: io.k8s.apimachinery.pkg.apis.meta.v1.FieldsV1 - map: - elementType: - scalar: untyped - list: - elementType: - namedType: __untyped_atomic_ - elementRelationship: atomic - map: - elementType: - namedType: __untyped_deduced_ - elementRelationship: separable -- name: io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector + unions: + - discriminator: retentionType + fields: + - fieldName: retentionNumber + discriminatorValue: RetentionNumber + - fieldName: retentionSize + discriminatorValue: RetentionSize +- name: com.github.openshift.api.config.v1alpha1.RetentionSizeConfig map: fields: - - name: matchExpressions - type: - list: - elementType: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelectorRequirement - elementRelationship: atomic - - name: matchLabels + - name: maxSizeOfBackupsGb type: - map: - elementType: - scalar: string - elementRelationship: atomic -- name: io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelectorRequirement + scalar: numeric + default: 0 +- name: com.github.openshift.api.config.v1alpha1.SecretKeySelector map: fields: - name: key type: scalar: string - default: "" - - name: operator + - name: name type: scalar: string - default: "" - - name: values - type: - list: - elementType: - scalar: string - elementRelationship: atomic -- name: io.k8s.apimachinery.pkg.apis.meta.v1.ManagedFieldsEntry + elementRelationship: atomic +- name: com.github.openshift.api.config.v1alpha1.Sigv4 map: fields: - - name: apiVersion - type: - scalar: string - - name: fieldsType - type: - scalar: string - - name: fieldsV1 + - name: accessKey type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.FieldsV1 - - name: manager + namedType: com.github.openshift.api.config.v1alpha1.SecretKeySelector + default: {} + - name: profile type: scalar: string - - name: operation + - name: region type: scalar: string - - name: subresource + - name: roleArn type: scalar: string - - name: time + - name: secretKey type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Time -- name: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta + namedType: com.github.openshift.api.config.v1alpha1.SecretKeySelector + default: {} +- name: com.github.openshift.api.config.v1alpha1.Storage map: fields: - - name: annotations - type: - map: - elementType: - scalar: string - - name: creationTimestamp + - name: persistentVolume type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Time - - name: deletionGracePeriodSeconds + namedType: com.github.openshift.api.config.v1alpha1.PersistentVolumeConfig + - name: type type: - scalar: numeric - - name: deletionTimestamp + scalar: string + default: "" +- name: com.github.openshift.api.config.v1alpha1.TLSConfig + map: + fields: + - name: ca type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Time - - name: finalizers + namedType: com.github.openshift.api.config.v1alpha1.SecretKeySelector + default: {} + - name: cert type: - list: - elementType: - scalar: string - elementRelationship: associative - - name: generateName + namedType: com.github.openshift.api.config.v1alpha1.SecretKeySelector + default: {} + - name: certificateVerification type: scalar: string - - name: generation - type: - scalar: numeric - - name: labels + - name: key type: - map: - elementType: - scalar: string - - name: managedFields + namedType: com.github.openshift.api.config.v1alpha1.SecretKeySelector + default: {} + - name: serverName type: - list: - elementType: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ManagedFieldsEntry - elementRelationship: atomic - - name: name + scalar: string +- name: com.github.openshift.api.config.v1alpha1.UppercaseActionConfig + map: + fields: + - name: targetLabel type: scalar: string - - name: namespace +- name: com.github.openshift.api.config.v1alpha1.UserDefinedMonitoring + map: + fields: + - name: mode type: scalar: string - - name: ownerReferences + default: "" +- name: com.github.openshift.api.config.v1alpha2.Custom + map: + fields: + - name: configs type: list: elementType: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference + namedType: com.github.openshift.api.config.v1alpha2.GathererConfig elementRelationship: associative keys: - - uid - - name: resourceVersion + - name +- name: com.github.openshift.api.config.v1alpha2.GatherConfig + map: + fields: + - name: dataPolicy type: - scalar: string - - name: selfLink + list: + elementType: + scalar: string + elementRelationship: atomic + - name: gatherers type: - scalar: string - - name: uid + namedType: com.github.openshift.api.config.v1alpha2.Gatherers + default: {} + - name: storage type: - scalar: string -- name: io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference + namedType: com.github.openshift.api.config.v1alpha2.Storage +- name: com.github.openshift.api.config.v1alpha2.GathererConfig map: fields: - - name: apiVersion + - name: name type: scalar: string default: "" - - name: blockOwnerDeletion + - name: state type: - scalar: boolean - - name: controller + scalar: string + default: "" +- name: com.github.openshift.api.config.v1alpha2.Gatherers + map: + fields: + - name: custom type: - scalar: boolean - - name: kind + namedType: com.github.openshift.api.config.v1alpha2.Custom + - name: mode type: scalar: string default: "" - - name: name +- name: com.github.openshift.api.config.v1alpha2.InsightsDataGather + map: + fields: + - name: apiVersion type: scalar: string - default: "" - - name: uid + - name: kind type: scalar: string - default: "" - elementRelationship: atomic -- name: io.k8s.apimachinery.pkg.apis.meta.v1.Time - scalar: untyped -- name: io.k8s.apimachinery.pkg.runtime.RawExtension + - name: metadata + type: + namedType: ObjectMeta.v1.meta.apis.pkg.apimachinery.k8s.io + default: {} + - name: spec + type: + namedType: com.github.openshift.api.config.v1alpha2.InsightsDataGatherSpec + default: {} + - name: status + type: + namedType: com.github.openshift.api.config.v1alpha2.InsightsDataGatherStatus + default: {} +- name: com.github.openshift.api.config.v1alpha2.InsightsDataGatherSpec + map: + fields: + - name: gatherConfig + type: + namedType: com.github.openshift.api.config.v1alpha2.GatherConfig + default: {} +- name: com.github.openshift.api.config.v1alpha2.InsightsDataGatherStatus map: elementType: scalar: untyped @@ -5564,6 +5861,33 @@ var schemaYAML = typed.YAMLObject(`types: elementType: namedType: __untyped_deduced_ elementRelationship: separable +- name: com.github.openshift.api.config.v1alpha2.PersistentVolumeClaimReference + map: + fields: + - name: name + type: + scalar: string + default: "" +- name: com.github.openshift.api.config.v1alpha2.PersistentVolumeConfig + map: + fields: + - name: claim + type: + namedType: com.github.openshift.api.config.v1alpha2.PersistentVolumeClaimReference + default: {} + - name: mountPath + type: + scalar: string +- name: com.github.openshift.api.config.v1alpha2.Storage + map: + fields: + - name: persistentVolume + type: + namedType: com.github.openshift.api.config.v1alpha2.PersistentVolumeConfig + - name: type + type: + scalar: string + default: "" - name: __untyped_atomic_ scalar: untyped list: diff --git a/vendor/github.com/openshift/client-go/operator/applyconfigurations/internal/internal.go b/vendor/github.com/openshift/client-go/operator/applyconfigurations/internal/internal.go index 13bc4fc94..0fccb1b47 100644 --- a/vendor/github.com/openshift/client-go/operator/applyconfigurations/internal/internal.go +++ b/vendor/github.com/openshift/client-go/operator/applyconfigurations/internal/internal.go @@ -23,61 +23,63 @@ func Parser() *typed.Parser { var parserOnce sync.Once var parser *typed.Parser var schemaYAML = typed.YAMLObject(`types: -- name: com.github.openshift.api.config.v1.ConfigMapFileReference +- name: Condition.v1.meta.apis.pkg.apimachinery.k8s.io map: fields: - - name: key + - name: lastTransitionTime + type: + namedType: Time.v1.meta.apis.pkg.apimachinery.k8s.io + - name: message type: scalar: string - - name: name + default: "" + - name: observedGeneration + type: + scalar: numeric + - name: reason type: scalar: string default: "" -- name: com.github.openshift.api.config.v1.ConfigMapNameReference - map: - fields: - - name: name + - name: status type: scalar: string default: "" -- name: com.github.openshift.api.config.v1.CustomTLSProfile + - name: type + type: + scalar: string + default: "" +- name: Duration.v1.meta.apis.pkg.apimachinery.k8s.io + scalar: string +- name: FieldSelectorAttributes.v1.authorization.api.k8s.io map: fields: - - name: ciphers + - name: rawSelector + type: + scalar: string + - name: requirements type: list: elementType: - scalar: string + namedType: FieldSelectorRequirement.v1.meta.apis.pkg.apimachinery.k8s.io elementRelationship: atomic - - name: minTLSVersion +- name: FieldSelectorRequirement.v1.meta.apis.pkg.apimachinery.k8s.io + map: + fields: + - name: key type: scalar: string default: "" -- name: com.github.openshift.api.config.v1.IntermediateTLSProfile - map: - elementType: - scalar: untyped - list: - elementType: - namedType: __untyped_atomic_ - elementRelationship: atomic - map: - elementType: - namedType: __untyped_deduced_ - elementRelationship: separable -- name: com.github.openshift.api.config.v1.ModernTLSProfile - map: - elementType: - scalar: untyped - list: - elementType: - namedType: __untyped_atomic_ - elementRelationship: atomic - map: - elementType: - namedType: __untyped_deduced_ - elementRelationship: separable -- name: com.github.openshift.api.config.v1.OldTLSProfile + - name: operator + type: + scalar: string + default: "" + - name: values + type: + list: + elementType: + scalar: string + elementRelationship: atomic +- name: FieldsV1.v1.meta.apis.pkg.apimachinery.k8s.io map: elementType: scalar: untyped @@ -89,1196 +91,500 @@ var schemaYAML = typed.YAMLObject(`types: elementType: namedType: __untyped_deduced_ elementRelationship: separable -- name: com.github.openshift.api.config.v1.SecretNameReference - map: - fields: - - name: name - type: - scalar: string - default: "" -- name: com.github.openshift.api.config.v1.TLSProfileSpec +- name: LabelSelector.v1.meta.apis.pkg.apimachinery.k8s.io map: fields: - - name: ciphers + - name: matchExpressions type: list: elementType: - scalar: string + namedType: LabelSelectorRequirement.v1.meta.apis.pkg.apimachinery.k8s.io elementRelationship: atomic - - name: minTLSVersion + - name: matchLabels type: - scalar: string - default: "" -- name: com.github.openshift.api.config.v1.TLSSecurityProfile + map: + elementType: + scalar: string + elementRelationship: atomic +- name: LabelSelectorAttributes.v1.authorization.api.k8s.io map: fields: - - name: custom - type: - namedType: com.github.openshift.api.config.v1.CustomTLSProfile - - name: intermediate - type: - namedType: com.github.openshift.api.config.v1.IntermediateTLSProfile - - name: modern - type: - namedType: com.github.openshift.api.config.v1.ModernTLSProfile - - name: old - type: - namedType: com.github.openshift.api.config.v1.OldTLSProfile - - name: type + - name: rawSelector type: scalar: string - default: "" - unions: - - discriminator: type - fields: - - fieldName: custom - discriminatorValue: Custom - - fieldName: intermediate - discriminatorValue: Intermediate - - fieldName: modern - discriminatorValue: Modern - - fieldName: old - discriminatorValue: Old -- name: com.github.openshift.api.operator.v1.AWSCSIDriverConfigSpec + - name: requirements + type: + list: + elementType: + namedType: LabelSelectorRequirement.v1.meta.apis.pkg.apimachinery.k8s.io + elementRelationship: atomic +- name: LabelSelectorRequirement.v1.meta.apis.pkg.apimachinery.k8s.io map: fields: - - name: efsVolumeMetrics - type: - namedType: com.github.openshift.api.operator.v1.AWSEFSVolumeMetrics - - name: kmsKeyARN + - name: key type: scalar: string -- name: com.github.openshift.api.operator.v1.AWSClassicLoadBalancerParameters - map: - fields: - - name: connectionIdleTimeout + default: "" + - name: operator type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Duration - - name: subnets + scalar: string + default: "" + - name: values type: - namedType: com.github.openshift.api.operator.v1.AWSSubnets -- name: com.github.openshift.api.operator.v1.AWSEFSVolumeMetrics + list: + elementType: + scalar: string + elementRelationship: atomic +- name: LocalObjectReference.v1.core.api.k8s.io map: fields: - - name: recursiveWalk - type: - namedType: com.github.openshift.api.operator.v1.AWSEFSVolumeMetricsRecursiveWalkConfig - - name: state + - name: name type: scalar: string default: "" - unions: - - discriminator: state - fields: - - fieldName: recursiveWalk - discriminatorValue: RecursiveWalk -- name: com.github.openshift.api.operator.v1.AWSEFSVolumeMetricsRecursiveWalkConfig + elementRelationship: atomic +- name: ManagedFieldsEntry.v1.meta.apis.pkg.apimachinery.k8s.io map: fields: - - name: fsRateLimit + - name: apiVersion type: - scalar: numeric - - name: refreshPeriodMinutes + scalar: string + - name: fieldsType type: - scalar: numeric -- name: com.github.openshift.api.operator.v1.AWSLoadBalancerParameters - map: - fields: - - name: classicLoadBalancer + scalar: string + - name: fieldsV1 type: - namedType: com.github.openshift.api.operator.v1.AWSClassicLoadBalancerParameters - - name: networkLoadBalancer + namedType: FieldsV1.v1.meta.apis.pkg.apimachinery.k8s.io + - name: manager type: - namedType: com.github.openshift.api.operator.v1.AWSNetworkLoadBalancerParameters - - name: type + scalar: string + - name: operation type: scalar: string - default: "" - unions: - - discriminator: type - fields: - - fieldName: classicLoadBalancer - discriminatorValue: ClassicLoadBalancerParameters - - fieldName: networkLoadBalancer - discriminatorValue: NetworkLoadBalancerParameters -- name: com.github.openshift.api.operator.v1.AWSNetworkLoadBalancerParameters + - name: subresource + type: + scalar: string + - name: time + type: + namedType: Time.v1.meta.apis.pkg.apimachinery.k8s.io +- name: ObjectMeta.v1.meta.apis.pkg.apimachinery.k8s.io map: fields: - - name: eipAllocations + - name: annotations type: - list: + map: elementType: scalar: string - elementRelationship: atomic - - name: subnets + - name: creationTimestamp type: - namedType: com.github.openshift.api.operator.v1.AWSSubnets -- name: com.github.openshift.api.operator.v1.AWSSubnets - map: - fields: - - name: ids + namedType: Time.v1.meta.apis.pkg.apimachinery.k8s.io + - name: deletionGracePeriodSeconds + type: + scalar: numeric + - name: deletionTimestamp + type: + namedType: Time.v1.meta.apis.pkg.apimachinery.k8s.io + - name: finalizers type: list: elementType: scalar: string - elementRelationship: atomic - - name: names + elementRelationship: associative + - name: generateName type: - list: + scalar: string + - name: generation + type: + scalar: numeric + - name: labels + type: + map: elementType: scalar: string - elementRelationship: atomic -- name: com.github.openshift.api.operator.v1.AccessLogging - map: - fields: - - name: destination - type: - namedType: com.github.openshift.api.operator.v1.LoggingDestination - default: {} - - name: httpCaptureCookies + - name: managedFields type: list: elementType: - namedType: com.github.openshift.api.operator.v1.IngressControllerCaptureHTTPCookie + namedType: ManagedFieldsEntry.v1.meta.apis.pkg.apimachinery.k8s.io elementRelationship: atomic - - name: httpCaptureHeaders - type: - namedType: com.github.openshift.api.operator.v1.IngressControllerCaptureHTTPHeaders - default: {} - - name: httpLogFormat + - name: name type: scalar: string - - name: logEmptyRequests + - name: namespace type: scalar: string -- name: com.github.openshift.api.operator.v1.AddPage - map: - fields: - - name: disabledActions + - name: ownerReferences type: list: elementType: - scalar: string - elementRelationship: atomic -- name: com.github.openshift.api.operator.v1.AdditionalNetworkDefinition - map: - fields: - - name: name + namedType: OwnerReference.v1.meta.apis.pkg.apimachinery.k8s.io + elementRelationship: associative + keys: + - uid + - name: resourceVersion type: scalar: string - default: "" - - name: namespace + - name: selfLink type: scalar: string - - name: rawCNIConfig + - name: uid type: scalar: string - - name: simpleMacvlanConfig - type: - namedType: com.github.openshift.api.operator.v1.SimpleMacvlanConfig - - name: type - type: - scalar: string - default: "" -- name: com.github.openshift.api.operator.v1.AdditionalRoutingCapabilities - map: - fields: - - name: providers - type: - list: - elementType: - scalar: string - elementRelationship: atomic -- name: com.github.openshift.api.operator.v1.Authentication - map: - fields: - - name: apiVersion - type: - scalar: string - - name: kind - type: - scalar: string - - name: metadata - type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta - default: {} - - name: spec - type: - namedType: com.github.openshift.api.operator.v1.AuthenticationSpec - default: {} - - name: status - type: - namedType: com.github.openshift.api.operator.v1.AuthenticationStatus - default: {} -- name: com.github.openshift.api.operator.v1.AuthenticationSpec - map: - fields: - - name: logLevel - type: - scalar: string - - name: managementState - type: - scalar: string - default: "" - - name: observedConfig - type: - namedType: __untyped_atomic_ - - name: operatorLogLevel - type: - scalar: string - - name: unsupportedConfigOverrides - type: - namedType: __untyped_atomic_ -- name: com.github.openshift.api.operator.v1.AuthenticationStatus - map: - fields: - - name: conditions - type: - list: - elementType: - namedType: com.github.openshift.api.operator.v1.OperatorCondition - elementRelationship: associative - keys: - - type - - name: generations - type: - list: - elementType: - namedType: com.github.openshift.api.operator.v1.GenerationStatus - elementRelationship: associative - keys: - - group - - resource - - namespace - - name - - name: latestAvailableRevision - type: - scalar: numeric - - name: oauthAPIServer - type: - namedType: com.github.openshift.api.operator.v1.OAuthAPIServerStatus - default: {} - - name: observedGeneration - type: - scalar: numeric - - name: readyReplicas - type: - scalar: numeric - default: 0 - - name: version - type: - scalar: string -- name: com.github.openshift.api.operator.v1.AzureCSIDriverConfigSpec - map: - fields: - - name: diskEncryptionSet - type: - namedType: com.github.openshift.api.operator.v1.AzureDiskEncryptionSet -- name: com.github.openshift.api.operator.v1.AzureDiskEncryptionSet - map: - fields: - - name: name - type: - scalar: string - default: "" - - name: resourceGroup - type: - scalar: string - default: "" - - name: subscriptionID - type: - scalar: string - default: "" -- name: com.github.openshift.api.operator.v1.BootImageSkewEnforcementConfig - map: - fields: - - name: manual - type: - namedType: com.github.openshift.api.operator.v1.ClusterBootImageManual - default: {} - - name: mode - type: - scalar: string - unions: - - discriminator: mode - fields: - - fieldName: manual - discriminatorValue: Manual -- name: com.github.openshift.api.operator.v1.BootImageSkewEnforcementStatus - map: - fields: - - name: automatic - type: - namedType: com.github.openshift.api.operator.v1.ClusterBootImageAutomatic - default: {} - - name: manual - type: - namedType: com.github.openshift.api.operator.v1.ClusterBootImageManual - default: {} - - name: mode - type: - scalar: string - unions: - - discriminator: mode - fields: - - fieldName: automatic - discriminatorValue: Automatic - - fieldName: manual - discriminatorValue: Manual -- name: com.github.openshift.api.operator.v1.CSIDriverConfigSpec - map: - fields: - - name: aws - type: - namedType: com.github.openshift.api.operator.v1.AWSCSIDriverConfigSpec - - name: azure - type: - namedType: com.github.openshift.api.operator.v1.AzureCSIDriverConfigSpec - - name: driverType - type: - scalar: string - default: "" - - name: gcp - type: - namedType: com.github.openshift.api.operator.v1.GCPCSIDriverConfigSpec - - name: ibmcloud - type: - namedType: com.github.openshift.api.operator.v1.IBMCloudCSIDriverConfigSpec - - name: vSphere - type: - namedType: com.github.openshift.api.operator.v1.VSphereCSIDriverConfigSpec - unions: - - discriminator: driverType - fields: - - fieldName: aws - discriminatorValue: AWS - - fieldName: azure - discriminatorValue: Azure - - fieldName: gcp - discriminatorValue: GCP - - fieldName: ibmcloud - discriminatorValue: IBMCloud - - fieldName: vSphere - discriminatorValue: VSphere -- name: com.github.openshift.api.operator.v1.CSISnapshotController - map: - fields: - - name: apiVersion - type: - scalar: string - - name: kind - type: - scalar: string - - name: metadata - type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta - default: {} - - name: spec - type: - namedType: com.github.openshift.api.operator.v1.CSISnapshotControllerSpec - default: {} - - name: status - type: - namedType: com.github.openshift.api.operator.v1.CSISnapshotControllerStatus - default: {} -- name: com.github.openshift.api.operator.v1.CSISnapshotControllerSpec - map: - fields: - - name: logLevel - type: - scalar: string - - name: managementState - type: - scalar: string - default: "" - - name: observedConfig - type: - namedType: __untyped_atomic_ - - name: operatorLogLevel - type: - scalar: string - - name: unsupportedConfigOverrides - type: - namedType: __untyped_atomic_ -- name: com.github.openshift.api.operator.v1.CSISnapshotControllerStatus - map: - fields: - - name: conditions - type: - list: - elementType: - namedType: com.github.openshift.api.operator.v1.OperatorCondition - elementRelationship: associative - keys: - - type - - name: generations - type: - list: - elementType: - namedType: com.github.openshift.api.operator.v1.GenerationStatus - elementRelationship: associative - keys: - - group - - resource - - namespace - - name - - name: latestAvailableRevision - type: - scalar: numeric - - name: observedGeneration - type: - scalar: numeric - - name: readyReplicas - type: - scalar: numeric - default: 0 - - name: version - type: - scalar: string -- name: com.github.openshift.api.operator.v1.Capability - map: - fields: - - name: name - type: - scalar: string - default: "" - - name: visibility - type: - namedType: com.github.openshift.api.operator.v1.CapabilityVisibility - default: {} -- name: com.github.openshift.api.operator.v1.CapabilityVisibility - map: - fields: - - name: state - type: - scalar: string - default: "" - unions: - - discriminator: state -- name: com.github.openshift.api.operator.v1.ClientTLS - map: - fields: - - name: allowedSubjectPatterns - type: - list: - elementType: - scalar: string - elementRelationship: atomic - - name: clientCA - type: - namedType: com.github.openshift.api.config.v1.ConfigMapNameReference - default: {} - - name: clientCertificatePolicy - type: - scalar: string - default: "" -- name: com.github.openshift.api.operator.v1.CloudCredential - map: - fields: - - name: apiVersion - type: - scalar: string - - name: kind - type: - scalar: string - - name: metadata - type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta - default: {} - - name: spec - type: - namedType: com.github.openshift.api.operator.v1.CloudCredentialSpec - default: {} - - name: status - type: - namedType: com.github.openshift.api.operator.v1.CloudCredentialStatus - default: {} -- name: com.github.openshift.api.operator.v1.CloudCredentialSpec - map: - fields: - - name: credentialsMode - type: - scalar: string - - name: logLevel - type: - scalar: string - - name: managementState - type: - scalar: string - default: "" - - name: observedConfig - type: - namedType: __untyped_atomic_ - - name: operatorLogLevel - type: - scalar: string - - name: unsupportedConfigOverrides - type: - namedType: __untyped_atomic_ -- name: com.github.openshift.api.operator.v1.CloudCredentialStatus - map: - fields: - - name: conditions - type: - list: - elementType: - namedType: com.github.openshift.api.operator.v1.OperatorCondition - elementRelationship: associative - keys: - - type - - name: generations - type: - list: - elementType: - namedType: com.github.openshift.api.operator.v1.GenerationStatus - elementRelationship: associative - keys: - - group - - resource - - namespace - - name - - name: latestAvailableRevision - type: - scalar: numeric - - name: observedGeneration - type: - scalar: numeric - - name: readyReplicas - type: - scalar: numeric - default: 0 - - name: version - type: - scalar: string -- name: com.github.openshift.api.operator.v1.ClusterBootImageAutomatic - map: - fields: - - name: ocpVersion - type: - scalar: string - - name: rhcosVersion - type: - scalar: string -- name: com.github.openshift.api.operator.v1.ClusterBootImageManual - map: - fields: - - name: mode - type: - scalar: string - - name: ocpVersion - type: - scalar: string - - name: rhcosVersion - type: - scalar: string - unions: - - discriminator: mode - fields: - - fieldName: ocpVersion - discriminatorValue: OCPVersion - - fieldName: rhcosVersion - discriminatorValue: RHCOSVersion -- name: com.github.openshift.api.operator.v1.ClusterCSIDriver - map: - fields: - - name: apiVersion - type: - scalar: string - - name: kind - type: - scalar: string - - name: metadata - type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta - default: {} - - name: spec - type: - namedType: com.github.openshift.api.operator.v1.ClusterCSIDriverSpec - default: {} - - name: status - type: - namedType: com.github.openshift.api.operator.v1.ClusterCSIDriverStatus - default: {} -- name: com.github.openshift.api.operator.v1.ClusterCSIDriverSpec - map: - fields: - - name: driverConfig - type: - namedType: com.github.openshift.api.operator.v1.CSIDriverConfigSpec - default: {} - - name: logLevel - type: - scalar: string - - name: managementState - type: - scalar: string - default: "" - - name: observedConfig - type: - namedType: __untyped_atomic_ - - name: operatorLogLevel - type: - scalar: string - - name: storageClassState - type: - scalar: string - - name: unsupportedConfigOverrides - type: - namedType: __untyped_atomic_ -- name: com.github.openshift.api.operator.v1.ClusterCSIDriverStatus - map: - fields: - - name: conditions - type: - list: - elementType: - namedType: com.github.openshift.api.operator.v1.OperatorCondition - elementRelationship: associative - keys: - - type - - name: generations - type: - list: - elementType: - namedType: com.github.openshift.api.operator.v1.GenerationStatus - elementRelationship: associative - keys: - - group - - resource - - namespace - - name - - name: latestAvailableRevision - type: - scalar: numeric - - name: observedGeneration - type: - scalar: numeric - - name: readyReplicas - type: - scalar: numeric - default: 0 - - name: version - type: - scalar: string -- name: com.github.openshift.api.operator.v1.ClusterNetworkEntry +- name: OwnerReference.v1.meta.apis.pkg.apimachinery.k8s.io map: fields: - - name: cidr + - name: apiVersion type: scalar: string default: "" - - name: hostPrefix + - name: blockOwnerDeletion type: - scalar: numeric -- name: com.github.openshift.api.operator.v1.Config - map: - fields: - - name: apiVersion + scalar: boolean + - name: controller type: - scalar: string + scalar: boolean - name: kind type: scalar: string - - name: metadata - type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta - default: {} - - name: spec - type: - namedType: com.github.openshift.api.operator.v1.ConfigSpec - default: {} - - name: status - type: - namedType: com.github.openshift.api.operator.v1.ConfigStatus - default: {} -- name: com.github.openshift.api.operator.v1.ConfigMapFileReference - map: - fields: - - name: key - type: - scalar: string default: "" - name: name type: scalar: string default: "" -- name: com.github.openshift.api.operator.v1.ConfigSpec - map: - fields: - - name: logLevel - type: - scalar: string - - name: managementState + - name: uid type: scalar: string default: "" - - name: observedConfig - type: - namedType: __untyped_atomic_ - - name: operatorLogLevel - type: - scalar: string - - name: unsupportedConfigOverrides - type: - namedType: __untyped_atomic_ -- name: com.github.openshift.api.operator.v1.ConfigStatus - map: - fields: - - name: conditions - type: - list: - elementType: - namedType: com.github.openshift.api.operator.v1.OperatorCondition - elementRelationship: associative - keys: - - type - - name: generations - type: - list: - elementType: - namedType: com.github.openshift.api.operator.v1.GenerationStatus - elementRelationship: associative - keys: - - group - - resource - - namespace - - name - - name: latestAvailableRevision - type: - scalar: numeric - - name: observedGeneration - type: - scalar: numeric - - name: readyReplicas - type: - scalar: numeric - default: 0 - - name: version - type: - scalar: string -- name: com.github.openshift.api.operator.v1.Console - map: - fields: - - name: apiVersion - type: - scalar: string - - name: kind - type: - scalar: string - - name: metadata - type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta - default: {} - - name: spec - type: - namedType: com.github.openshift.api.operator.v1.ConsoleSpec - default: {} - - name: status - type: - namedType: com.github.openshift.api.operator.v1.ConsoleStatus - default: {} -- name: com.github.openshift.api.operator.v1.ConsoleConfigRoute + elementRelationship: atomic +- name: RawExtension.runtime.pkg.apimachinery.k8s.io map: - fields: - - name: hostname - type: - scalar: string - default: "" - - name: secret - type: - namedType: com.github.openshift.api.config.v1.SecretNameReference - default: {} -- name: com.github.openshift.api.operator.v1.ConsoleCustomization + elementType: + scalar: untyped + list: + elementType: + namedType: __untyped_atomic_ + elementRelationship: atomic + map: + elementType: + namedType: __untyped_deduced_ + elementRelationship: separable +- name: ResourceAttributes.v1.authorization.api.k8s.io map: fields: - - name: addPage - type: - namedType: com.github.openshift.api.operator.v1.AddPage - default: {} - - name: brand - type: - scalar: string - - name: capabilities - type: - list: - elementType: - namedType: com.github.openshift.api.operator.v1.Capability - elementRelationship: associative - keys: - - name - - name: customLogoFile + - name: fieldSelector type: - namedType: com.github.openshift.api.config.v1.ConfigMapFileReference - default: {} - - name: customProductName + namedType: FieldSelectorAttributes.v1.authorization.api.k8s.io + - name: group type: scalar: string - - name: developerCatalog + - name: labelSelector type: - namedType: com.github.openshift.api.operator.v1.DeveloperConsoleCatalogCustomization - default: {} - - name: documentationBaseURL + namedType: LabelSelectorAttributes.v1.authorization.api.k8s.io + - name: name type: scalar: string - - name: logos - type: - list: - elementType: - namedType: com.github.openshift.api.operator.v1.Logo - elementRelationship: associative - keys: - - type - - name: perspectives - type: - list: - elementType: - namedType: com.github.openshift.api.operator.v1.Perspective - elementRelationship: associative - keys: - - id - - name: projectAccess - type: - namedType: com.github.openshift.api.operator.v1.ProjectAccess - default: {} - - name: quickStarts - type: - namedType: com.github.openshift.api.operator.v1.QuickStarts - default: {} -- name: com.github.openshift.api.operator.v1.ConsoleProviders - map: - fields: - - name: statuspage - type: - namedType: com.github.openshift.api.operator.v1.StatuspageProvider -- name: com.github.openshift.api.operator.v1.ConsoleSpec - map: - fields: - - name: customization - type: - namedType: com.github.openshift.api.operator.v1.ConsoleCustomization - default: {} - - name: ingress - type: - namedType: com.github.openshift.api.operator.v1.Ingress - default: {} - - name: logLevel + - name: namespace type: scalar: string - - name: managementState + - name: resource type: scalar: string - default: "" - - name: observedConfig - type: - namedType: __untyped_atomic_ - - name: operatorLogLevel + - name: subresource type: scalar: string - - name: plugins - type: - list: - elementType: - scalar: string - elementRelationship: atomic - - name: providers - type: - namedType: com.github.openshift.api.operator.v1.ConsoleProviders - default: {} - - name: route - type: - namedType: com.github.openshift.api.operator.v1.ConsoleConfigRoute - default: {} - - name: unsupportedConfigOverrides - type: - namedType: __untyped_atomic_ -- name: com.github.openshift.api.operator.v1.ConsoleStatus - map: - fields: - - name: conditions - type: - list: - elementType: - namedType: com.github.openshift.api.operator.v1.OperatorCondition - elementRelationship: associative - keys: - - type - - name: generations - type: - list: - elementType: - namedType: com.github.openshift.api.operator.v1.GenerationStatus - elementRelationship: associative - keys: - - group - - resource - - namespace - - name - - name: latestAvailableRevision - type: - scalar: numeric - - name: observedGeneration - type: - scalar: numeric - - name: readyReplicas - type: - scalar: numeric - default: 0 - - name: version + - name: verb type: - scalar: string -- name: com.github.openshift.api.operator.v1.ContainerLoggingDestinationParameters - map: - fields: - - name: maxLength + scalar: string + - name: version type: - scalar: numeric -- name: com.github.openshift.api.operator.v1.DNS + scalar: string +- name: Time.v1.meta.apis.pkg.apimachinery.k8s.io + scalar: untyped +- name: Toleration.v1.core.api.k8s.io map: fields: - - name: apiVersion + - name: effect type: scalar: string - - name: kind + - name: key type: scalar: string - - name: metadata + - name: operator type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta - default: {} - - name: spec + scalar: string + - name: tolerationSeconds type: - namedType: com.github.openshift.api.operator.v1.DNSSpec - default: {} - - name: status + scalar: numeric + - name: value type: - namedType: com.github.openshift.api.operator.v1.DNSStatus - default: {} -- name: com.github.openshift.api.operator.v1.DNSCache + scalar: string +- name: com.github.openshift.api.config.v1.ConfigMapFileReference map: fields: - - name: negativeTTL + - name: key type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Duration - - name: positiveTTL + scalar: string + - name: name type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Duration -- name: com.github.openshift.api.operator.v1.DNSNodePlacement + scalar: string + default: "" +- name: com.github.openshift.api.config.v1.ConfigMapNameReference map: fields: - - name: nodeSelector + - name: name type: - map: - elementType: - scalar: string - - name: tolerations + scalar: string + default: "" +- name: com.github.openshift.api.config.v1.CustomTLSProfile + map: + fields: + - name: ciphers type: list: elementType: - namedType: io.k8s.api.core.v1.Toleration + scalar: string elementRelationship: atomic -- name: com.github.openshift.api.operator.v1.DNSOverTLSConfig - map: - fields: - - name: caBundle - type: - namedType: com.github.openshift.api.config.v1.ConfigMapNameReference - default: {} - - name: serverName + - name: minTLSVersion type: scalar: string default: "" -- name: com.github.openshift.api.operator.v1.DNSSpec +- name: com.github.openshift.api.config.v1.IntermediateTLSProfile + map: + elementType: + scalar: untyped + list: + elementType: + namedType: __untyped_atomic_ + elementRelationship: atomic + map: + elementType: + namedType: __untyped_deduced_ + elementRelationship: separable +- name: com.github.openshift.api.config.v1.ModernTLSProfile + map: + elementType: + scalar: untyped + list: + elementType: + namedType: __untyped_atomic_ + elementRelationship: atomic + map: + elementType: + namedType: __untyped_deduced_ + elementRelationship: separable +- name: com.github.openshift.api.config.v1.OldTLSProfile + map: + elementType: + scalar: untyped + list: + elementType: + namedType: __untyped_atomic_ + elementRelationship: atomic + map: + elementType: + namedType: __untyped_deduced_ + elementRelationship: separable +- name: com.github.openshift.api.config.v1.SecretNameReference map: fields: - - name: cache - type: - namedType: com.github.openshift.api.operator.v1.DNSCache - default: {} - - name: logLevel - type: - scalar: string - - name: managementState - type: - scalar: string - - name: nodePlacement - type: - namedType: com.github.openshift.api.operator.v1.DNSNodePlacement - default: {} - - name: operatorLogLevel + - name: name type: scalar: string - - name: servers + default: "" +- name: com.github.openshift.api.config.v1.TLSProfileSpec + map: + fields: + - name: ciphers type: list: elementType: - namedType: com.github.openshift.api.operator.v1.Server + scalar: string elementRelationship: atomic - - name: upstreamResolvers + - name: minTLSVersion type: - namedType: com.github.openshift.api.operator.v1.UpstreamResolvers - default: {} -- name: com.github.openshift.api.operator.v1.DNSStatus + scalar: string + default: "" +- name: com.github.openshift.api.config.v1.TLSSecurityProfile map: fields: - - name: clusterDomain + - name: custom type: - scalar: string - default: "" - - name: clusterIP + namedType: com.github.openshift.api.config.v1.CustomTLSProfile + - name: intermediate type: - scalar: string - default: "" - - name: conditions + namedType: com.github.openshift.api.config.v1.IntermediateTLSProfile + - name: modern type: - list: - elementType: - namedType: com.github.openshift.api.operator.v1.OperatorCondition - elementRelationship: associative - keys: - - type -- name: com.github.openshift.api.operator.v1.DNSTransportConfig - map: - fields: - - name: tls + namedType: com.github.openshift.api.config.v1.ModernTLSProfile + - name: old type: - namedType: com.github.openshift.api.operator.v1.DNSOverTLSConfig - - name: transport + namedType: com.github.openshift.api.config.v1.OldTLSProfile + - name: type type: scalar: string + default: "" unions: - - discriminator: transport + - discriminator: type fields: - - fieldName: tls - discriminatorValue: TLS -- name: com.github.openshift.api.operator.v1.DefaultNetworkDefinition + - fieldName: custom + discriminatorValue: Custom + - fieldName: intermediate + discriminatorValue: Intermediate + - fieldName: modern + discriminatorValue: Modern + - fieldName: old + discriminatorValue: Old +- name: com.github.openshift.api.operator.v1.AWSCSIDriverConfigSpec map: fields: - - name: openshiftSDNConfig - type: - namedType: com.github.openshift.api.operator.v1.OpenShiftSDNConfig - - name: ovnKubernetesConfig + - name: efsVolumeMetrics type: - namedType: com.github.openshift.api.operator.v1.OVNKubernetesConfig - - name: type + namedType: com.github.openshift.api.operator.v1.AWSEFSVolumeMetrics + - name: kmsKeyARN type: scalar: string - default: "" -- name: com.github.openshift.api.operator.v1.DeveloperConsoleCatalogCategory +- name: com.github.openshift.api.operator.v1.AWSClassicLoadBalancerParameters map: fields: - - name: id + - name: connectionIdleTimeout type: - scalar: string - default: "" - - name: label + namedType: Duration.v1.meta.apis.pkg.apimachinery.k8s.io + - name: subnets + type: + namedType: com.github.openshift.api.operator.v1.AWSSubnets +- name: com.github.openshift.api.operator.v1.AWSEFSVolumeMetrics + map: + fields: + - name: recursiveWalk + type: + namedType: com.github.openshift.api.operator.v1.AWSEFSVolumeMetricsRecursiveWalkConfig + - name: state type: scalar: string default: "" - - name: subcategories + unions: + - discriminator: state + fields: + - fieldName: recursiveWalk + discriminatorValue: RecursiveWalk +- name: com.github.openshift.api.operator.v1.AWSEFSVolumeMetricsRecursiveWalkConfig + map: + fields: + - name: fsRateLimit type: - list: - elementType: - namedType: com.github.openshift.api.operator.v1.DeveloperConsoleCatalogCategoryMeta - elementRelationship: atomic - - name: tags + scalar: numeric + - name: refreshPeriodMinutes type: - list: - elementType: - scalar: string - elementRelationship: atomic -- name: com.github.openshift.api.operator.v1.DeveloperConsoleCatalogCategoryMeta + scalar: numeric +- name: com.github.openshift.api.operator.v1.AWSLoadBalancerParameters map: fields: - - name: id + - name: classicLoadBalancer type: - scalar: string - default: "" - - name: label + namedType: com.github.openshift.api.operator.v1.AWSClassicLoadBalancerParameters + - name: networkLoadBalancer + type: + namedType: com.github.openshift.api.operator.v1.AWSNetworkLoadBalancerParameters + - name: type type: scalar: string default: "" - - name: tags - type: - list: - elementType: - scalar: string - elementRelationship: atomic -- name: com.github.openshift.api.operator.v1.DeveloperConsoleCatalogCustomization + unions: + - discriminator: type + fields: + - fieldName: classicLoadBalancer + discriminatorValue: ClassicLoadBalancerParameters + - fieldName: networkLoadBalancer + discriminatorValue: NetworkLoadBalancerParameters +- name: com.github.openshift.api.operator.v1.AWSNetworkLoadBalancerParameters map: fields: - - name: categories + - name: eipAllocations type: list: elementType: - namedType: com.github.openshift.api.operator.v1.DeveloperConsoleCatalogCategory + scalar: string elementRelationship: atomic - - name: types + - name: subnets type: - namedType: com.github.openshift.api.operator.v1.DeveloperConsoleCatalogTypes - default: {} -- name: com.github.openshift.api.operator.v1.DeveloperConsoleCatalogTypes + namedType: com.github.openshift.api.operator.v1.AWSSubnets +- name: com.github.openshift.api.operator.v1.AWSSubnets map: fields: - - name: disabled + - name: ids type: list: elementType: scalar: string - elementRelationship: associative - - name: enabled + elementRelationship: atomic + - name: names type: list: elementType: scalar: string - elementRelationship: associative - - name: state + elementRelationship: atomic +- name: com.github.openshift.api.operator.v1.AccessLogging + map: + fields: + - name: destination + type: + namedType: com.github.openshift.api.operator.v1.LoggingDestination + default: {} + - name: httpCaptureCookies + type: + list: + elementType: + namedType: com.github.openshift.api.operator.v1.IngressControllerCaptureHTTPCookie + elementRelationship: atomic + - name: httpCaptureHeaders + type: + namedType: com.github.openshift.api.operator.v1.IngressControllerCaptureHTTPHeaders + default: {} + - name: httpLogFormat type: scalar: string - default: Enabled - unions: - - discriminator: state - fields: - - fieldName: disabled - discriminatorValue: Disabled - - fieldName: enabled - discriminatorValue: Enabled -- name: com.github.openshift.api.operator.v1.EgressIPConfig + - name: logEmptyRequests + type: + scalar: string +- name: com.github.openshift.api.operator.v1.AddPage map: fields: - - name: reachabilityTotalTimeoutSeconds + - name: disabledActions type: - scalar: numeric -- name: com.github.openshift.api.operator.v1.EndpointPublishingStrategy + list: + elementType: + scalar: string + elementRelationship: atomic +- name: com.github.openshift.api.operator.v1.AdditionalNetworkDefinition map: fields: - - name: hostNetwork + - name: name type: - namedType: com.github.openshift.api.operator.v1.HostNetworkStrategy - - name: loadBalancer + scalar: string + default: "" + - name: namespace type: - namedType: com.github.openshift.api.operator.v1.LoadBalancerStrategy - - name: nodePort + scalar: string + - name: rawCNIConfig type: - namedType: com.github.openshift.api.operator.v1.NodePortStrategy - - name: private + scalar: string + - name: simpleMacvlanConfig type: - namedType: com.github.openshift.api.operator.v1.PrivateStrategy + namedType: com.github.openshift.api.operator.v1.SimpleMacvlanConfig - name: type type: scalar: string default: "" - unions: - - discriminator: type - fields: - - fieldName: hostNetwork - discriminatorValue: HostNetwork - - fieldName: loadBalancer - discriminatorValue: LoadBalancer - - fieldName: nodePort - discriminatorValue: NodePort - - fieldName: private - discriminatorValue: Private -- name: com.github.openshift.api.operator.v1.Etcd +- name: com.github.openshift.api.operator.v1.AdditionalRoutingCapabilities + map: + fields: + - name: providers + type: + list: + elementType: + scalar: string + elementRelationship: atomic +- name: com.github.openshift.api.operator.v1.Authentication map: fields: - name: apiVersion @@ -1289,34 +595,19 @@ var schemaYAML = typed.YAMLObject(`types: scalar: string - name: metadata type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta + namedType: ObjectMeta.v1.meta.apis.pkg.apimachinery.k8s.io default: {} - name: spec type: - namedType: com.github.openshift.api.operator.v1.EtcdSpec + namedType: com.github.openshift.api.operator.v1.AuthenticationSpec default: {} - name: status type: - namedType: com.github.openshift.api.operator.v1.EtcdStatus + namedType: com.github.openshift.api.operator.v1.AuthenticationStatus default: {} -- name: com.github.openshift.api.operator.v1.EtcdSpec +- name: com.github.openshift.api.operator.v1.AuthenticationSpec map: fields: - - name: backendQuotaGiB - type: - scalar: numeric - default: 8 - - name: controlPlaneHardwareSpeed - type: - scalar: string - default: "" - - name: failedRevisionLimit - type: - scalar: numeric - - name: forceRedeploymentReason - type: - scalar: string - default: "" - name: logLevel type: scalar: string @@ -1326,17 +617,14 @@ var schemaYAML = typed.YAMLObject(`types: default: "" - name: observedConfig type: - namedType: __untyped_atomic_ + namedType: RawExtension.runtime.pkg.apimachinery.k8s.io - name: operatorLogLevel type: scalar: string - - name: succeededRevisionLimit - type: - scalar: numeric - name: unsupportedConfigOverrides type: - namedType: __untyped_atomic_ -- name: com.github.openshift.api.operator.v1.EtcdStatus + namedType: RawExtension.runtime.pkg.apimachinery.k8s.io +- name: com.github.openshift.api.operator.v1.AuthenticationStatus map: fields: - name: conditions @@ -1347,10 +635,6 @@ var schemaYAML = typed.YAMLObject(`types: elementRelationship: associative keys: - type - - name: controlPlaneHardwareSpeed - type: - scalar: string - default: "" - name: generations type: list: @@ -1365,17 +649,10 @@ var schemaYAML = typed.YAMLObject(`types: - name: latestAvailableRevision type: scalar: numeric - - name: latestAvailableRevisionReason - type: - scalar: string - - name: nodeStatuses + - name: oauthAPIServer type: - list: - elementType: - namedType: com.github.openshift.api.operator.v1.NodeStatus - elementRelationship: associative - keys: - - nodeName + namedType: com.github.openshift.api.operator.v1.OAuthAPIServerStatus + default: {} - name: observedGeneration type: scalar: numeric @@ -1386,314 +663,419 @@ var schemaYAML = typed.YAMLObject(`types: - name: version type: scalar: string -- name: com.github.openshift.api.operator.v1.ExportNetworkFlows +- name: com.github.openshift.api.operator.v1.AzureCSIDriverConfigSpec map: fields: - - name: ipfix - type: - namedType: com.github.openshift.api.operator.v1.IPFIXConfig - - name: netFlow - type: - namedType: com.github.openshift.api.operator.v1.NetFlowConfig - - name: sFlow + - name: diskEncryptionSet type: - namedType: com.github.openshift.api.operator.v1.SFlowConfig -- name: com.github.openshift.api.operator.v1.FeaturesMigration + namedType: com.github.openshift.api.operator.v1.AzureDiskEncryptionSet +- name: com.github.openshift.api.operator.v1.AzureDiskEncryptionSet map: fields: - - name: egressFirewall + - name: name type: - scalar: boolean - - name: egressIP + scalar: string + default: "" + - name: resourceGroup type: - scalar: boolean - - name: multicast + scalar: string + default: "" + - name: subscriptionID type: - scalar: boolean -- name: com.github.openshift.api.operator.v1.FileReferenceSource + scalar: string + default: "" +- name: com.github.openshift.api.operator.v1.BGPManagedConfig map: fields: - - name: configMap + - name: asNumber type: - namedType: com.github.openshift.api.operator.v1.ConfigMapFileReference - - name: from + scalar: numeric + default: 64512 + - name: bgpTopology type: scalar: string - default: "" -- name: com.github.openshift.api.operator.v1.ForwardPlugin +- name: com.github.openshift.api.operator.v1.BootImageSkewEnforcementConfig map: fields: - - name: policy + - name: manual type: - scalar: string - - name: protocolStrategy + namedType: com.github.openshift.api.operator.v1.ClusterBootImageManual + default: {} + - name: mode type: scalar: string - default: "" - - name: transportConfig + unions: + - discriminator: mode + fields: + - fieldName: manual + discriminatorValue: Manual +- name: com.github.openshift.api.operator.v1.BootImageSkewEnforcementStatus + map: + fields: + - name: automatic type: - namedType: com.github.openshift.api.operator.v1.DNSTransportConfig + namedType: com.github.openshift.api.operator.v1.ClusterBootImageAutomatic default: {} - - name: upstreams + - name: manual type: - list: - elementType: - scalar: string - elementRelationship: atomic -- name: com.github.openshift.api.operator.v1.GCPCSIDriverConfigSpec - map: - fields: - - name: kmsKey + namedType: com.github.openshift.api.operator.v1.ClusterBootImageManual + default: {} + - name: mode type: - namedType: com.github.openshift.api.operator.v1.GCPKMSKeyReference -- name: com.github.openshift.api.operator.v1.GCPKMSKeyReference + scalar: string + unions: + - discriminator: mode + fields: + - fieldName: automatic + discriminatorValue: Automatic + - fieldName: manual + discriminatorValue: Manual +- name: com.github.openshift.api.operator.v1.CSIDriverConfigSpec map: fields: - - name: keyRing + - name: aws type: - scalar: string - default: "" - - name: location + namedType: com.github.openshift.api.operator.v1.AWSCSIDriverConfigSpec + - name: azure type: - scalar: string - - name: name + namedType: com.github.openshift.api.operator.v1.AzureCSIDriverConfigSpec + - name: driverType type: scalar: string default: "" - - name: projectID + - name: gcp type: - scalar: string - default: "" -- name: com.github.openshift.api.operator.v1.GCPLoadBalancerParameters - map: - fields: - - name: clientAccess + namedType: com.github.openshift.api.operator.v1.GCPCSIDriverConfigSpec + - name: ibmcloud type: - scalar: string -- name: com.github.openshift.api.operator.v1.GatewayConfig + namedType: com.github.openshift.api.operator.v1.IBMCloudCSIDriverConfigSpec + - name: vSphere + type: + namedType: com.github.openshift.api.operator.v1.VSphereCSIDriverConfigSpec + unions: + - discriminator: driverType + fields: + - fieldName: aws + discriminatorValue: AWS + - fieldName: azure + discriminatorValue: Azure + - fieldName: gcp + discriminatorValue: GCP + - fieldName: ibmcloud + discriminatorValue: IBMCloud + - fieldName: vSphere + discriminatorValue: VSphere +- name: com.github.openshift.api.operator.v1.CSISnapshotController map: fields: - - name: ipForwarding + - name: apiVersion type: scalar: string - - name: ipv4 + - name: kind type: - namedType: com.github.openshift.api.operator.v1.IPv4GatewayConfig + scalar: string + - name: metadata + type: + namedType: ObjectMeta.v1.meta.apis.pkg.apimachinery.k8s.io default: {} - - name: ipv6 + - name: spec type: - namedType: com.github.openshift.api.operator.v1.IPv6GatewayConfig + namedType: com.github.openshift.api.operator.v1.CSISnapshotControllerSpec default: {} - - name: routingViaHost + - name: status type: - scalar: boolean -- name: com.github.openshift.api.operator.v1.GatherStatus + namedType: com.github.openshift.api.operator.v1.CSISnapshotControllerStatus + default: {} +- name: com.github.openshift.api.operator.v1.CSISnapshotControllerSpec map: fields: - - name: gatherers + - name: logLevel type: - list: - elementType: - namedType: com.github.openshift.api.operator.v1.GathererStatus - elementRelationship: atomic - - name: lastGatherDuration + scalar: string + - name: managementState type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Duration - - name: lastGatherTime + scalar: string + default: "" + - name: observedConfig type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Time -- name: com.github.openshift.api.operator.v1.GathererStatus + namedType: RawExtension.runtime.pkg.apimachinery.k8s.io + - name: operatorLogLevel + type: + scalar: string + - name: unsupportedConfigOverrides + type: + namedType: RawExtension.runtime.pkg.apimachinery.k8s.io +- name: com.github.openshift.api.operator.v1.CSISnapshotControllerStatus map: fields: - name: conditions type: list: elementType: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Condition - elementRelationship: atomic - - name: lastGatherDuration - type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Duration - - name: name + namedType: com.github.openshift.api.operator.v1.OperatorCondition + elementRelationship: associative + keys: + - type + - name: generations type: - scalar: string - default: "" -- name: com.github.openshift.api.operator.v1.GenerationStatus - map: - fields: - - name: group + list: + elementType: + namedType: com.github.openshift.api.operator.v1.GenerationStatus + elementRelationship: associative + keys: + - group + - resource + - namespace + - name + - name: latestAvailableRevision type: - scalar: string - default: "" - - name: hash + scalar: numeric + - name: observedGeneration type: - scalar: string - default: "" - - name: lastGeneration + scalar: numeric + - name: readyReplicas type: scalar: numeric default: 0 - - name: name + - name: version type: scalar: string - default: "" - - name: namespace +- name: com.github.openshift.api.operator.v1.Capability + map: + fields: + - name: name type: scalar: string default: "" - - name: resource + - name: visibility + type: + namedType: com.github.openshift.api.operator.v1.CapabilityVisibility + default: {} +- name: com.github.openshift.api.operator.v1.CapabilityVisibility + map: + fields: + - name: state type: scalar: string default: "" -- name: com.github.openshift.api.operator.v1.HTTPCompressionPolicy + unions: + - discriminator: state +- name: com.github.openshift.api.operator.v1.ClientTLS map: fields: - - name: mimeTypes + - name: allowedSubjectPatterns type: list: elementType: scalar: string - elementRelationship: associative -- name: com.github.openshift.api.operator.v1.HealthCheck - map: - fields: - - name: advisorURI + elementRelationship: atomic + - name: clientCA + type: + namedType: com.github.openshift.api.config.v1.ConfigMapNameReference + default: {} + - name: clientCertificatePolicy type: scalar: string default: "" - - name: description +- name: com.github.openshift.api.operator.v1.CloudCredential + map: + fields: + - name: apiVersion type: scalar: string - default: "" - - name: state + - name: kind type: scalar: string - default: "" - - name: totalRisk + - name: metadata type: - scalar: numeric - default: 0 -- name: com.github.openshift.api.operator.v1.HostNetworkStrategy + namedType: ObjectMeta.v1.meta.apis.pkg.apimachinery.k8s.io + default: {} + - name: spec + type: + namedType: com.github.openshift.api.operator.v1.CloudCredentialSpec + default: {} + - name: status + type: + namedType: com.github.openshift.api.operator.v1.CloudCredentialStatus + default: {} +- name: com.github.openshift.api.operator.v1.CloudCredentialSpec map: fields: - - name: httpPort + - name: credentialsMode type: - scalar: numeric - - name: httpsPort + scalar: string + - name: logLevel type: - scalar: numeric - - name: protocol + scalar: string + - name: managementState type: scalar: string - - name: statsPort + default: "" + - name: observedConfig type: - scalar: numeric -- name: com.github.openshift.api.operator.v1.HybridOverlayConfig + namedType: RawExtension.runtime.pkg.apimachinery.k8s.io + - name: operatorLogLevel + type: + scalar: string + - name: unsupportedConfigOverrides + type: + namedType: RawExtension.runtime.pkg.apimachinery.k8s.io +- name: com.github.openshift.api.operator.v1.CloudCredentialStatus map: fields: - - name: hybridClusterNetwork + - name: conditions type: list: elementType: - namedType: com.github.openshift.api.operator.v1.ClusterNetworkEntry - elementRelationship: atomic - - name: hybridOverlayVXLANPort + namedType: com.github.openshift.api.operator.v1.OperatorCondition + elementRelationship: associative + keys: + - type + - name: generations + type: + list: + elementType: + namedType: com.github.openshift.api.operator.v1.GenerationStatus + elementRelationship: associative + keys: + - group + - resource + - namespace + - name + - name: latestAvailableRevision type: scalar: numeric -- name: com.github.openshift.api.operator.v1.IBMCloudCSIDriverConfigSpec - map: - fields: - - name: encryptionKeyCRN + - name: observedGeneration type: - scalar: string - default: "" -- name: com.github.openshift.api.operator.v1.IBMLoadBalancerParameters - map: - fields: - - name: protocol + scalar: numeric + - name: readyReplicas + type: + scalar: numeric + default: 0 + - name: version type: scalar: string -- name: com.github.openshift.api.operator.v1.IPAMConfig +- name: com.github.openshift.api.operator.v1.ClusterBootImageAutomatic map: fields: - - name: staticIPAMConfig + - name: ocpVersion type: - namedType: com.github.openshift.api.operator.v1.StaticIPAMConfig - - name: type + scalar: string + - name: rhcosVersion type: scalar: string - default: "" -- name: com.github.openshift.api.operator.v1.IPFIXConfig +- name: com.github.openshift.api.operator.v1.ClusterBootImageManual map: fields: - - name: collectors + - name: mode type: - list: - elementType: - scalar: string - elementRelationship: atomic -- name: com.github.openshift.api.operator.v1.IPsecConfig - map: - fields: - - name: full + scalar: string + - name: ocpVersion type: - namedType: com.github.openshift.api.operator.v1.IPsecFullModeConfig - - name: mode + scalar: string + - name: rhcosVersion type: scalar: string unions: - discriminator: mode fields: - - fieldName: full - discriminatorValue: Full -- name: com.github.openshift.api.operator.v1.IPsecFullModeConfig + - fieldName: ocpVersion + discriminatorValue: OCPVersion + - fieldName: rhcosVersion + discriminatorValue: RHCOSVersion +- name: com.github.openshift.api.operator.v1.ClusterCSIDriver map: fields: - - name: encapsulation + - name: apiVersion type: scalar: string -- name: com.github.openshift.api.operator.v1.IPv4GatewayConfig - map: - fields: - - name: internalMasqueradeSubnet + - name: kind type: scalar: string -- name: com.github.openshift.api.operator.v1.IPv4OVNKubernetesConfig + - name: metadata + type: + namedType: ObjectMeta.v1.meta.apis.pkg.apimachinery.k8s.io + default: {} + - name: spec + type: + namedType: com.github.openshift.api.operator.v1.ClusterCSIDriverSpec + default: {} + - name: status + type: + namedType: com.github.openshift.api.operator.v1.ClusterCSIDriverStatus + default: {} +- name: com.github.openshift.api.operator.v1.ClusterCSIDriverSpec map: fields: - - name: internalJoinSubnet + - name: driverConfig + type: + namedType: com.github.openshift.api.operator.v1.CSIDriverConfigSpec + default: {} + - name: logLevel + type: + scalar: string + - name: managementState + type: + scalar: string + default: "" + - name: observedConfig type: - scalar: string - - name: internalTransitSwitchSubnet + namedType: RawExtension.runtime.pkg.apimachinery.k8s.io + - name: operatorLogLevel type: scalar: string -- name: com.github.openshift.api.operator.v1.IPv6GatewayConfig - map: - fields: - - name: internalMasqueradeSubnet + - name: storageClassState type: scalar: string -- name: com.github.openshift.api.operator.v1.IPv6OVNKubernetesConfig + - name: unsupportedConfigOverrides + type: + namedType: RawExtension.runtime.pkg.apimachinery.k8s.io +- name: com.github.openshift.api.operator.v1.ClusterCSIDriverStatus map: fields: - - name: internalJoinSubnet + - name: conditions type: - scalar: string - - name: internalTransitSwitchSubnet + list: + elementType: + namedType: com.github.openshift.api.operator.v1.OperatorCondition + elementRelationship: associative + keys: + - type + - name: generations + type: + list: + elementType: + namedType: com.github.openshift.api.operator.v1.GenerationStatus + elementRelationship: associative + keys: + - group + - resource + - namespace + - name + - name: latestAvailableRevision + type: + scalar: numeric + - name: observedGeneration + type: + scalar: numeric + - name: readyReplicas + type: + scalar: numeric + default: 0 + - name: version type: scalar: string -- name: com.github.openshift.api.operator.v1.Ingress +- name: com.github.openshift.api.operator.v1.ClusterNetworkEntry map: fields: - - name: clientDownloadsURL + - name: cidr type: scalar: string default: "" - - name: consoleURL + - name: hostPrefix type: - scalar: string - default: "" -- name: com.github.openshift.api.operator.v1.IngressController + scalar: numeric +- name: com.github.openshift.api.operator.v1.Config map: fields: - name: apiVersion @@ -1704,228 +1086,219 @@ var schemaYAML = typed.YAMLObject(`types: scalar: string - name: metadata type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta + namedType: ObjectMeta.v1.meta.apis.pkg.apimachinery.k8s.io default: {} - name: spec type: - namedType: com.github.openshift.api.operator.v1.IngressControllerSpec + namedType: com.github.openshift.api.operator.v1.ConfigSpec default: {} - name: status type: - namedType: com.github.openshift.api.operator.v1.IngressControllerStatus + namedType: com.github.openshift.api.operator.v1.ConfigStatus default: {} -- name: com.github.openshift.api.operator.v1.IngressControllerCaptureHTTPCookie +- name: com.github.openshift.api.operator.v1.ConfigMapFileReference map: fields: - - name: matchType + - name: key type: scalar: string default: "" - - name: maxLength - type: - scalar: numeric - default: 0 - name: name type: scalar: string default: "" - - name: namePrefix - type: - scalar: string - default: "" - unions: - - discriminator: matchType - fields: - - fieldName: name - discriminatorValue: Name - - fieldName: namePrefix - discriminatorValue: NamePrefix -- name: com.github.openshift.api.operator.v1.IngressControllerCaptureHTTPHeader +- name: com.github.openshift.api.operator.v1.ConfigSpec map: fields: - - name: maxLength - type: - scalar: numeric - default: 0 - - name: name + - name: logLevel type: scalar: string - default: "" -- name: com.github.openshift.api.operator.v1.IngressControllerCaptureHTTPHeaders - map: - fields: - - name: request - type: - list: - elementType: - namedType: com.github.openshift.api.operator.v1.IngressControllerCaptureHTTPHeader - elementRelationship: atomic - - name: response - type: - list: - elementType: - namedType: com.github.openshift.api.operator.v1.IngressControllerCaptureHTTPHeader - elementRelationship: atomic -- name: com.github.openshift.api.operator.v1.IngressControllerHTTPHeader - map: - fields: - - name: action - type: - namedType: com.github.openshift.api.operator.v1.IngressControllerHTTPHeaderActionUnion - default: {} - - name: name + - name: managementState type: scalar: string default: "" -- name: com.github.openshift.api.operator.v1.IngressControllerHTTPHeaderActionUnion - map: - fields: - - name: set + - name: observedConfig type: - namedType: com.github.openshift.api.operator.v1.IngressControllerSetHTTPHeader - - name: type + namedType: RawExtension.runtime.pkg.apimachinery.k8s.io + - name: operatorLogLevel type: scalar: string - default: "" - unions: - - discriminator: type - fields: - - fieldName: set - discriminatorValue: Set -- name: com.github.openshift.api.operator.v1.IngressControllerHTTPHeaderActions + - name: unsupportedConfigOverrides + type: + namedType: RawExtension.runtime.pkg.apimachinery.k8s.io +- name: com.github.openshift.api.operator.v1.ConfigStatus map: fields: - - name: request + - name: conditions type: list: elementType: - namedType: com.github.openshift.api.operator.v1.IngressControllerHTTPHeader + namedType: com.github.openshift.api.operator.v1.OperatorCondition elementRelationship: associative keys: - - name - - name: response + - type + - name: generations type: list: elementType: - namedType: com.github.openshift.api.operator.v1.IngressControllerHTTPHeader + namedType: com.github.openshift.api.operator.v1.GenerationStatus elementRelationship: associative keys: + - group + - resource + - namespace - name -- name: com.github.openshift.api.operator.v1.IngressControllerHTTPHeaders - map: - fields: - - name: actions + - name: latestAvailableRevision type: - namedType: com.github.openshift.api.operator.v1.IngressControllerHTTPHeaderActions - default: {} - - name: forwardedHeaderPolicy + scalar: numeric + - name: observedGeneration type: - scalar: string - - name: headerNameCaseAdjustments + scalar: numeric + - name: readyReplicas type: - list: - elementType: - scalar: string - elementRelationship: atomic - - name: uniqueId + scalar: numeric + default: 0 + - name: version type: - namedType: com.github.openshift.api.operator.v1.IngressControllerHTTPUniqueIdHeaderPolicy - default: {} -- name: com.github.openshift.api.operator.v1.IngressControllerHTTPUniqueIdHeaderPolicy + scalar: string +- name: com.github.openshift.api.operator.v1.Console map: fields: - - name: format + - name: apiVersion type: scalar: string - - name: name + - name: kind type: scalar: string -- name: com.github.openshift.api.operator.v1.IngressControllerLogging - map: - fields: - - name: access + - name: metadata type: - namedType: com.github.openshift.api.operator.v1.AccessLogging -- name: com.github.openshift.api.operator.v1.IngressControllerSetHTTPHeader + namedType: ObjectMeta.v1.meta.apis.pkg.apimachinery.k8s.io + default: {} + - name: spec + type: + namedType: com.github.openshift.api.operator.v1.ConsoleSpec + default: {} + - name: status + type: + namedType: com.github.openshift.api.operator.v1.ConsoleStatus + default: {} +- name: com.github.openshift.api.operator.v1.ConsoleConfigRoute map: fields: - - name: value + - name: hostname type: scalar: string default: "" -- name: com.github.openshift.api.operator.v1.IngressControllerSpec + - name: secret + type: + namedType: com.github.openshift.api.config.v1.SecretNameReference + default: {} +- name: com.github.openshift.api.operator.v1.ConsoleCustomization map: fields: - - name: clientTLS + - name: addPage type: - namedType: com.github.openshift.api.operator.v1.ClientTLS + namedType: com.github.openshift.api.operator.v1.AddPage default: {} - - name: closedClientConnectionPolicy + - name: brand type: scalar: string - default: Continue - - name: defaultCertificate + - name: capabilities type: - namedType: io.k8s.api.core.v1.LocalObjectReference - - name: domain + list: + elementType: + namedType: com.github.openshift.api.operator.v1.Capability + elementRelationship: associative + keys: + - name + - name: customLogoFile + type: + namedType: com.github.openshift.api.config.v1.ConfigMapFileReference + default: {} + - name: customProductName type: scalar: string - - name: endpointPublishingStrategy + - name: developerCatalog type: - namedType: com.github.openshift.api.operator.v1.EndpointPublishingStrategy - - name: httpCompression + namedType: com.github.openshift.api.operator.v1.DeveloperConsoleCatalogCustomization + default: {} + - name: documentationBaseURL type: - namedType: com.github.openshift.api.operator.v1.HTTPCompressionPolicy + scalar: string + - name: logos + type: + list: + elementType: + namedType: com.github.openshift.api.operator.v1.Logo + elementRelationship: associative + keys: + - type + - name: perspectives + type: + list: + elementType: + namedType: com.github.openshift.api.operator.v1.Perspective + elementRelationship: associative + keys: + - id + - name: projectAccess + type: + namedType: com.github.openshift.api.operator.v1.ProjectAccess default: {} - - name: httpEmptyRequestsPolicy + - name: quickStarts + type: + namedType: com.github.openshift.api.operator.v1.QuickStarts + default: {} +- name: com.github.openshift.api.operator.v1.ConsoleProviders + map: + fields: + - name: statuspage type: - scalar: string - - name: httpErrorCodePages + namedType: com.github.openshift.api.operator.v1.StatuspageProvider +- name: com.github.openshift.api.operator.v1.ConsoleSpec + map: + fields: + - name: customization type: - namedType: com.github.openshift.api.config.v1.ConfigMapNameReference + namedType: com.github.openshift.api.operator.v1.ConsoleCustomization default: {} - - name: httpHeaders + - name: ingress type: - namedType: com.github.openshift.api.operator.v1.IngressControllerHTTPHeaders - - name: idleConnectionTerminationPolicy + namedType: com.github.openshift.api.operator.v1.Ingress + default: {} + - name: logLevel type: scalar: string - default: Immediate - - name: logging - type: - namedType: com.github.openshift.api.operator.v1.IngressControllerLogging - - name: namespaceSelector - type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector - - name: nodePlacement + - name: managementState type: - namedType: com.github.openshift.api.operator.v1.NodePlacement - - name: replicas + scalar: string + default: "" + - name: observedConfig type: - scalar: numeric - - name: routeAdmission + namedType: RawExtension.runtime.pkg.apimachinery.k8s.io + - name: operatorLogLevel type: - namedType: com.github.openshift.api.operator.v1.RouteAdmissionPolicy - - name: routeSelector + scalar: string + - name: plugins type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector - - name: tlsSecurityProfile + list: + elementType: + scalar: string + elementRelationship: atomic + - name: providers type: - namedType: com.github.openshift.api.config.v1.TLSSecurityProfile - - name: tuningOptions + namedType: com.github.openshift.api.operator.v1.ConsoleProviders + default: {} + - name: route type: - namedType: com.github.openshift.api.operator.v1.IngressControllerTuningOptions + namedType: com.github.openshift.api.operator.v1.ConsoleConfigRoute default: {} - name: unsupportedConfigOverrides type: - namedType: __untyped_atomic_ -- name: com.github.openshift.api.operator.v1.IngressControllerStatus + namedType: RawExtension.runtime.pkg.apimachinery.k8s.io +- name: com.github.openshift.api.operator.v1.ConsoleStatus map: fields: - - name: availableReplicas - type: - scalar: numeric - default: 0 - name: conditions type: list: @@ -1934,75 +1307,37 @@ var schemaYAML = typed.YAMLObject(`types: elementRelationship: associative keys: - type - - name: domain - type: - scalar: string - default: "" - - name: endpointPublishingStrategy + - name: generations type: - namedType: com.github.openshift.api.operator.v1.EndpointPublishingStrategy - - name: namespaceSelector + list: + elementType: + namedType: com.github.openshift.api.operator.v1.GenerationStatus + elementRelationship: associative + keys: + - group + - resource + - namespace + - name + - name: latestAvailableRevision type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector + scalar: numeric - name: observedGeneration type: scalar: numeric - - name: routeSelector + - name: readyReplicas type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector - - name: selector + scalar: numeric + default: 0 + - name: version type: scalar: string - default: "" - - name: tlsProfile - type: - namedType: com.github.openshift.api.config.v1.TLSProfileSpec -- name: com.github.openshift.api.operator.v1.IngressControllerTuningOptions +- name: com.github.openshift.api.operator.v1.ContainerLoggingDestinationParameters map: fields: - - name: clientFinTimeout - type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Duration - - name: clientTimeout - type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Duration - - name: connectTimeout - type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Duration - - name: headerBufferBytes - type: - scalar: numeric - - name: headerBufferMaxRewriteBytes - type: - scalar: numeric - - name: healthCheckInterval - type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Duration - - name: httpKeepAliveTimeout - type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Duration - - name: maxConnections - type: - scalar: numeric - - name: reloadInterval - type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Duration - - name: serverFinTimeout - type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Duration - - name: serverTimeout - type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Duration - - name: threadCount + - name: maxLength type: scalar: numeric - - name: tlsInspectDelay - type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Duration - - name: tunnelTimeout - type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Duration -- name: com.github.openshift.api.operator.v1.InsightsOperator +- name: com.github.openshift.api.operator.v1.DNS map: fields: - name: apiVersion @@ -2013,38 +1348,91 @@ var schemaYAML = typed.YAMLObject(`types: scalar: string - name: metadata type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta + namedType: ObjectMeta.v1.meta.apis.pkg.apimachinery.k8s.io default: {} - name: spec type: - namedType: com.github.openshift.api.operator.v1.InsightsOperatorSpec + namedType: com.github.openshift.api.operator.v1.DNSSpec default: {} - name: status type: - namedType: com.github.openshift.api.operator.v1.InsightsOperatorStatus + namedType: com.github.openshift.api.operator.v1.DNSStatus default: {} -- name: com.github.openshift.api.operator.v1.InsightsOperatorSpec +- name: com.github.openshift.api.operator.v1.DNSCache + map: + fields: + - name: negativeTTL + type: + namedType: Duration.v1.meta.apis.pkg.apimachinery.k8s.io + - name: positiveTTL + type: + namedType: Duration.v1.meta.apis.pkg.apimachinery.k8s.io +- name: com.github.openshift.api.operator.v1.DNSNodePlacement + map: + fields: + - name: nodeSelector + type: + map: + elementType: + scalar: string + - name: tolerations + type: + list: + elementType: + namedType: Toleration.v1.core.api.k8s.io + elementRelationship: atomic +- name: com.github.openshift.api.operator.v1.DNSOverTLSConfig + map: + fields: + - name: caBundle + type: + namedType: com.github.openshift.api.config.v1.ConfigMapNameReference + default: {} + - name: serverName + type: + scalar: string + default: "" +- name: com.github.openshift.api.operator.v1.DNSSpec map: fields: + - name: cache + type: + namedType: com.github.openshift.api.operator.v1.DNSCache + default: {} - name: logLevel type: scalar: string - name: managementState type: scalar: string - default: "" - - name: observedConfig + - name: nodePlacement type: - namedType: __untyped_atomic_ + namedType: com.github.openshift.api.operator.v1.DNSNodePlacement + default: {} - name: operatorLogLevel type: scalar: string - - name: unsupportedConfigOverrides + - name: servers type: - namedType: __untyped_atomic_ -- name: com.github.openshift.api.operator.v1.InsightsOperatorStatus + list: + elementType: + namedType: com.github.openshift.api.operator.v1.Server + elementRelationship: atomic + - name: upstreamResolvers + type: + namedType: com.github.openshift.api.operator.v1.UpstreamResolvers + default: {} +- name: com.github.openshift.api.operator.v1.DNSStatus map: fields: + - name: clusterDomain + type: + scalar: string + default: "" + - name: clusterIP + type: + scalar: string + default: "" - name: conditions type: list: @@ -2053,60 +1441,149 @@ var schemaYAML = typed.YAMLObject(`types: elementRelationship: associative keys: - type - - name: gatherStatus +- name: com.github.openshift.api.operator.v1.DNSTransportConfig + map: + fields: + - name: tls type: - namedType: com.github.openshift.api.operator.v1.GatherStatus - default: {} - - name: generations + namedType: com.github.openshift.api.operator.v1.DNSOverTLSConfig + - name: transport type: - list: - elementType: - namedType: com.github.openshift.api.operator.v1.GenerationStatus - elementRelationship: associative - keys: - - group - - resource - - namespace - - name - - name: insightsReport + scalar: string + unions: + - discriminator: transport + fields: + - fieldName: tls + discriminatorValue: TLS +- name: com.github.openshift.api.operator.v1.DefaultNetworkDefinition + map: + fields: + - name: openshiftSDNConfig type: - namedType: com.github.openshift.api.operator.v1.InsightsReport - default: {} - - name: latestAvailableRevision + namedType: com.github.openshift.api.operator.v1.OpenShiftSDNConfig + - name: ovnKubernetesConfig type: - scalar: numeric - - name: observedGeneration + namedType: com.github.openshift.api.operator.v1.OVNKubernetesConfig + - name: type type: - scalar: numeric - - name: readyReplicas + scalar: string + default: "" +- name: com.github.openshift.api.operator.v1.DeveloperConsoleCatalogCategory + map: + fields: + - name: id + type: + scalar: string + default: "" + - name: label + type: + scalar: string + default: "" + - name: subcategories + type: + list: + elementType: + namedType: com.github.openshift.api.operator.v1.DeveloperConsoleCatalogCategoryMeta + elementRelationship: atomic + - name: tags + type: + list: + elementType: + scalar: string + elementRelationship: atomic +- name: com.github.openshift.api.operator.v1.DeveloperConsoleCatalogCategoryMeta + map: + fields: + - name: id type: - scalar: numeric - default: 0 - - name: version + scalar: string + default: "" + - name: label type: scalar: string -- name: com.github.openshift.api.operator.v1.InsightsReport + default: "" + - name: tags + type: + list: + elementType: + scalar: string + elementRelationship: atomic +- name: com.github.openshift.api.operator.v1.DeveloperConsoleCatalogCustomization map: fields: - - name: downloadedAt - type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Time - - name: healthChecks + - name: categories type: list: elementType: - namedType: com.github.openshift.api.operator.v1.HealthCheck + namedType: com.github.openshift.api.operator.v1.DeveloperConsoleCatalogCategory elementRelationship: atomic -- name: com.github.openshift.api.operator.v1.IrreconcilableValidationOverrides + - name: types + type: + namedType: com.github.openshift.api.operator.v1.DeveloperConsoleCatalogTypes + default: {} +- name: com.github.openshift.api.operator.v1.DeveloperConsoleCatalogTypes map: fields: - - name: storage + - name: disabled type: list: elementType: scalar: string elementRelationship: associative -- name: com.github.openshift.api.operator.v1.KubeAPIServer + - name: enabled + type: + list: + elementType: + scalar: string + elementRelationship: associative + - name: state + type: + scalar: string + default: Enabled + unions: + - discriminator: state + fields: + - fieldName: disabled + discriminatorValue: Disabled + - fieldName: enabled + discriminatorValue: Enabled +- name: com.github.openshift.api.operator.v1.EgressIPConfig + map: + fields: + - name: reachabilityTotalTimeoutSeconds + type: + scalar: numeric +- name: com.github.openshift.api.operator.v1.EndpointPublishingStrategy + map: + fields: + - name: hostNetwork + type: + namedType: com.github.openshift.api.operator.v1.HostNetworkStrategy + - name: loadBalancer + type: + namedType: com.github.openshift.api.operator.v1.LoadBalancerStrategy + - name: nodePort + type: + namedType: com.github.openshift.api.operator.v1.NodePortStrategy + - name: private + type: + namedType: com.github.openshift.api.operator.v1.PrivateStrategy + - name: type + type: + scalar: string + default: "" + unions: + - discriminator: type + fields: + - fieldName: hostNetwork + discriminatorValue: HostNetwork + - fieldName: loadBalancer + discriminatorValue: LoadBalancer + - fieldName: nodePort + discriminatorValue: NodePort + - fieldName: private + discriminatorValue: Private +- name: com.github.openshift.api.operator.v1.Etcd map: fields: - name: apiVersion @@ -2117,22 +1594,27 @@ var schemaYAML = typed.YAMLObject(`types: scalar: string - name: metadata type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta + namedType: ObjectMeta.v1.meta.apis.pkg.apimachinery.k8s.io default: {} - name: spec type: - namedType: com.github.openshift.api.operator.v1.KubeAPIServerSpec + namedType: com.github.openshift.api.operator.v1.EtcdSpec default: {} - name: status type: - namedType: com.github.openshift.api.operator.v1.KubeAPIServerStatus + namedType: com.github.openshift.api.operator.v1.EtcdStatus default: {} -- name: com.github.openshift.api.operator.v1.KubeAPIServerSpec +- name: com.github.openshift.api.operator.v1.EtcdSpec map: fields: - - name: eventTTLMinutes + - name: backendQuotaGiB type: scalar: numeric + default: 8 + - name: controlPlaneHardwareSpeed + type: + scalar: string + default: "" - name: failedRevisionLimit type: scalar: numeric @@ -2149,7 +1631,7 @@ var schemaYAML = typed.YAMLObject(`types: default: "" - name: observedConfig type: - namedType: __untyped_atomic_ + namedType: RawExtension.runtime.pkg.apimachinery.k8s.io - name: operatorLogLevel type: scalar: string @@ -2158,8 +1640,8 @@ var schemaYAML = typed.YAMLObject(`types: scalar: numeric - name: unsupportedConfigOverrides type: - namedType: __untyped_atomic_ -- name: com.github.openshift.api.operator.v1.KubeAPIServerStatus + namedType: RawExtension.runtime.pkg.apimachinery.k8s.io +- name: com.github.openshift.api.operator.v1.EtcdStatus map: fields: - name: conditions @@ -2170,6 +1652,10 @@ var schemaYAML = typed.YAMLObject(`types: elementRelationship: associative keys: - type + - name: controlPlaneHardwareSpeed + type: + scalar: string + default: "" - name: generations type: list: @@ -2202,212 +1688,317 @@ var schemaYAML = typed.YAMLObject(`types: type: scalar: numeric default: 0 - - name: serviceAccountIssuers - type: - list: - elementType: - namedType: com.github.openshift.api.operator.v1.ServiceAccountIssuerStatus - elementRelationship: atomic - name: version type: scalar: string -- name: com.github.openshift.api.operator.v1.KubeControllerManager +- name: com.github.openshift.api.operator.v1.ExportNetworkFlows map: fields: - - name: apiVersion + - name: ipfix + type: + namedType: com.github.openshift.api.operator.v1.IPFIXConfig + - name: netFlow + type: + namedType: com.github.openshift.api.operator.v1.NetFlowConfig + - name: sFlow + type: + namedType: com.github.openshift.api.operator.v1.SFlowConfig +- name: com.github.openshift.api.operator.v1.FeaturesMigration + map: + fields: + - name: egressFirewall + type: + scalar: boolean + - name: egressIP + type: + scalar: boolean + - name: multicast + type: + scalar: boolean +- name: com.github.openshift.api.operator.v1.FileReferenceSource + map: + fields: + - name: configMap + type: + namedType: com.github.openshift.api.operator.v1.ConfigMapFileReference + - name: from type: scalar: string - - name: kind + default: "" +- name: com.github.openshift.api.operator.v1.ForwardPlugin + map: + fields: + - name: policy type: scalar: string - - name: metadata + - name: protocolStrategy type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta - default: {} - - name: spec + scalar: string + default: "" + - name: transportConfig type: - namedType: com.github.openshift.api.operator.v1.KubeControllerManagerSpec + namedType: com.github.openshift.api.operator.v1.DNSTransportConfig default: {} - - name: status + - name: upstreams type: - namedType: com.github.openshift.api.operator.v1.KubeControllerManagerStatus - default: {} -- name: com.github.openshift.api.operator.v1.KubeControllerManagerSpec + list: + elementType: + scalar: string + elementRelationship: atomic +- name: com.github.openshift.api.operator.v1.GCPCSIDriverConfigSpec map: fields: - - name: failedRevisionLimit + - name: kmsKey type: - scalar: numeric - - name: forceRedeploymentReason + namedType: com.github.openshift.api.operator.v1.GCPKMSKeyReference +- name: com.github.openshift.api.operator.v1.GCPKMSKeyReference + map: + fields: + - name: keyRing type: scalar: string default: "" - - name: logLevel + - name: location type: scalar: string - - name: managementState + - name: name type: scalar: string default: "" - - name: observedConfig + - name: projectID type: - namedType: __untyped_atomic_ - - name: operatorLogLevel + scalar: string + default: "" +- name: com.github.openshift.api.operator.v1.GCPLoadBalancerParameters + map: + fields: + - name: clientAccess type: scalar: string - - name: succeededRevisionLimit +- name: com.github.openshift.api.operator.v1.GatewayConfig + map: + fields: + - name: ipForwarding type: - scalar: numeric - - name: unsupportedConfigOverrides + scalar: string + - name: ipv4 type: - namedType: __untyped_atomic_ - - name: useMoreSecureServiceCA + namedType: com.github.openshift.api.operator.v1.IPv4GatewayConfig + default: {} + - name: ipv6 + type: + namedType: com.github.openshift.api.operator.v1.IPv6GatewayConfig + default: {} + - name: routingViaHost type: scalar: boolean - default: false -- name: com.github.openshift.api.operator.v1.KubeControllerManagerStatus +- name: com.github.openshift.api.operator.v1.GatherStatus map: fields: - - name: conditions + - name: gatherers type: list: elementType: - namedType: com.github.openshift.api.operator.v1.OperatorCondition - elementRelationship: associative - keys: - - type - - name: generations + namedType: com.github.openshift.api.operator.v1.GathererStatus + elementRelationship: atomic + - name: lastGatherDuration + type: + namedType: Duration.v1.meta.apis.pkg.apimachinery.k8s.io + - name: lastGatherTime + type: + namedType: Time.v1.meta.apis.pkg.apimachinery.k8s.io +- name: com.github.openshift.api.operator.v1.GathererStatus + map: + fields: + - name: conditions type: list: elementType: - namedType: com.github.openshift.api.operator.v1.GenerationStatus - elementRelationship: associative - keys: - - group - - resource - - namespace - - name - - name: latestAvailableRevision + namedType: Condition.v1.meta.apis.pkg.apimachinery.k8s.io + elementRelationship: atomic + - name: lastGatherDuration + type: + namedType: Duration.v1.meta.apis.pkg.apimachinery.k8s.io + - name: name + type: + scalar: string + default: "" +- name: com.github.openshift.api.operator.v1.GenerationStatus + map: + fields: + - name: group + type: + scalar: string + default: "" + - name: hash + type: + scalar: string + default: "" + - name: lastGeneration + type: + scalar: numeric + default: 0 + - name: name + type: + scalar: string + default: "" + - name: namespace type: - scalar: numeric - - name: latestAvailableRevisionReason + scalar: string + default: "" + - name: resource type: scalar: string - - name: nodeStatuses + default: "" +- name: com.github.openshift.api.operator.v1.HTTPCompressionPolicy + map: + fields: + - name: mimeTypes type: list: elementType: - namedType: com.github.openshift.api.operator.v1.NodeStatus + scalar: string elementRelationship: associative - keys: - - nodeName - - name: observedGeneration +- name: com.github.openshift.api.operator.v1.HealthCheck + map: + fields: + - name: advisorURI type: - scalar: numeric - - name: readyReplicas + scalar: string + default: "" + - name: description type: - scalar: numeric - default: 0 - - name: version + scalar: string + default: "" + - name: state type: scalar: string -- name: com.github.openshift.api.operator.v1.KubeScheduler + default: "" + - name: totalRisk + type: + scalar: numeric + default: 0 +- name: com.github.openshift.api.operator.v1.HostNetworkStrategy map: fields: - - name: apiVersion - type: - scalar: string - - name: kind + - name: httpPort type: - scalar: string - - name: metadata + scalar: numeric + - name: httpsPort type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta - default: {} - - name: spec + scalar: numeric + - name: protocol type: - namedType: com.github.openshift.api.operator.v1.KubeSchedulerSpec - default: {} - - name: status + scalar: string + - name: statsPort type: - namedType: com.github.openshift.api.operator.v1.KubeSchedulerStatus - default: {} -- name: com.github.openshift.api.operator.v1.KubeSchedulerSpec + scalar: numeric +- name: com.github.openshift.api.operator.v1.HybridOverlayConfig map: fields: - - name: failedRevisionLimit + - name: hybridClusterNetwork + type: + list: + elementType: + namedType: com.github.openshift.api.operator.v1.ClusterNetworkEntry + elementRelationship: atomic + - name: hybridOverlayVXLANPort type: scalar: numeric - - name: forceRedeploymentReason +- name: com.github.openshift.api.operator.v1.IBMCloudCSIDriverConfigSpec + map: + fields: + - name: encryptionKeyCRN type: scalar: string default: "" - - name: logLevel +- name: com.github.openshift.api.operator.v1.IBMLoadBalancerParameters + map: + fields: + - name: protocol type: scalar: string - - name: managementState +- name: com.github.openshift.api.operator.v1.IPAMConfig + map: + fields: + - name: staticIPAMConfig + type: + namedType: com.github.openshift.api.operator.v1.StaticIPAMConfig + - name: type type: scalar: string default: "" - - name: observedConfig +- name: com.github.openshift.api.operator.v1.IPFIXConfig + map: + fields: + - name: collectors type: - namedType: __untyped_atomic_ - - name: operatorLogLevel + list: + elementType: + scalar: string + elementRelationship: atomic +- name: com.github.openshift.api.operator.v1.IPsecConfig + map: + fields: + - name: full type: - scalar: string - - name: succeededRevisionLimit + namedType: com.github.openshift.api.operator.v1.IPsecFullModeConfig + - name: mode type: - scalar: numeric - - name: unsupportedConfigOverrides + scalar: string + unions: + - discriminator: mode + fields: + - fieldName: full + discriminatorValue: Full +- name: com.github.openshift.api.operator.v1.IPsecFullModeConfig + map: + fields: + - name: encapsulation type: - namedType: __untyped_atomic_ -- name: com.github.openshift.api.operator.v1.KubeSchedulerStatus + scalar: string +- name: com.github.openshift.api.operator.v1.IPv4GatewayConfig map: fields: - - name: conditions + - name: internalMasqueradeSubnet type: - list: - elementType: - namedType: com.github.openshift.api.operator.v1.OperatorCondition - elementRelationship: associative - keys: - - type - - name: generations + scalar: string +- name: com.github.openshift.api.operator.v1.IPv4OVNKubernetesConfig + map: + fields: + - name: internalJoinSubnet type: - list: - elementType: - namedType: com.github.openshift.api.operator.v1.GenerationStatus - elementRelationship: associative - keys: - - group - - resource - - namespace - - name - - name: latestAvailableRevision + scalar: string + - name: internalTransitSwitchSubnet type: - scalar: numeric - - name: latestAvailableRevisionReason + scalar: string +- name: com.github.openshift.api.operator.v1.IPv6GatewayConfig + map: + fields: + - name: internalMasqueradeSubnet type: scalar: string - - name: nodeStatuses +- name: com.github.openshift.api.operator.v1.IPv6OVNKubernetesConfig + map: + fields: + - name: internalJoinSubnet type: - list: - elementType: - namedType: com.github.openshift.api.operator.v1.NodeStatus - elementRelationship: associative - keys: - - nodeName - - name: observedGeneration + scalar: string + - name: internalTransitSwitchSubnet type: - scalar: numeric - - name: readyReplicas + scalar: string +- name: com.github.openshift.api.operator.v1.Ingress + map: + fields: + - name: clientDownloadsURL type: - scalar: numeric - default: 0 - - name: version + scalar: string + default: "" + - name: consoleURL type: scalar: string -- name: com.github.openshift.api.operator.v1.KubeStorageVersionMigrator + default: "" +- name: com.github.openshift.api.operator.v1.IngressController map: fields: - name: apiVersion @@ -2418,99 +2009,85 @@ var schemaYAML = typed.YAMLObject(`types: scalar: string - name: metadata type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta + namedType: ObjectMeta.v1.meta.apis.pkg.apimachinery.k8s.io default: {} - name: spec type: - namedType: com.github.openshift.api.operator.v1.KubeStorageVersionMigratorSpec + namedType: com.github.openshift.api.operator.v1.IngressControllerSpec default: {} - name: status type: - namedType: com.github.openshift.api.operator.v1.KubeStorageVersionMigratorStatus + namedType: com.github.openshift.api.operator.v1.IngressControllerStatus default: {} -- name: com.github.openshift.api.operator.v1.KubeStorageVersionMigratorSpec +- name: com.github.openshift.api.operator.v1.IngressControllerCaptureHTTPCookie map: fields: - - name: logLevel - type: - scalar: string - - name: managementState + - name: matchType type: scalar: string default: "" - - name: observedConfig + - name: maxLength type: - namedType: __untyped_atomic_ - - name: operatorLogLevel + scalar: numeric + default: 0 + - name: name type: scalar: string - - name: unsupportedConfigOverrides + default: "" + - name: namePrefix type: - namedType: __untyped_atomic_ -- name: com.github.openshift.api.operator.v1.KubeStorageVersionMigratorStatus + scalar: string + default: "" + unions: + - discriminator: matchType + fields: + - fieldName: name + discriminatorValue: Name + - fieldName: namePrefix + discriminatorValue: NamePrefix +- name: com.github.openshift.api.operator.v1.IngressControllerCaptureHTTPHeader map: fields: - - name: conditions - type: - list: - elementType: - namedType: com.github.openshift.api.operator.v1.OperatorCondition - elementRelationship: associative - keys: - - type - - name: generations - type: - list: - elementType: - namedType: com.github.openshift.api.operator.v1.GenerationStatus - elementRelationship: associative - keys: - - group - - resource - - namespace - - name - - name: latestAvailableRevision - type: - scalar: numeric - - name: observedGeneration - type: - scalar: numeric - - name: readyReplicas + - name: maxLength type: scalar: numeric default: 0 - - name: version + - name: name type: scalar: string -- name: com.github.openshift.api.operator.v1.LoadBalancerStrategy + default: "" +- name: com.github.openshift.api.operator.v1.IngressControllerCaptureHTTPHeaders map: fields: - - name: allowedSourceRanges + - name: request + type: + list: + elementType: + namedType: com.github.openshift.api.operator.v1.IngressControllerCaptureHTTPHeader + elementRelationship: atomic + - name: response type: list: elementType: - scalar: string + namedType: com.github.openshift.api.operator.v1.IngressControllerCaptureHTTPHeader elementRelationship: atomic - - name: dnsManagementPolicy - type: - scalar: string - default: Managed - - name: providerParameters +- name: com.github.openshift.api.operator.v1.IngressControllerHTTPHeader + map: + fields: + - name: action type: - namedType: com.github.openshift.api.operator.v1.ProviderLoadBalancerParameters - - name: scope + namedType: com.github.openshift.api.operator.v1.IngressControllerHTTPHeaderActionUnion + default: {} + - name: name type: scalar: string default: "" -- name: com.github.openshift.api.operator.v1.LoggingDestination +- name: com.github.openshift.api.operator.v1.IngressControllerHTTPHeaderActionUnion map: fields: - - name: container - type: - namedType: com.github.openshift.api.operator.v1.ContainerLoggingDestinationParameters - - name: syslog + - name: set type: - namedType: com.github.openshift.api.operator.v1.SyslogLoggingDestinationParameters + namedType: com.github.openshift.api.operator.v1.IngressControllerSetHTTPHeader - name: type type: scalar: string @@ -2518,187 +2095,219 @@ var schemaYAML = typed.YAMLObject(`types: unions: - discriminator: type fields: - - fieldName: container - discriminatorValue: Container - - fieldName: syslog - discriminatorValue: Syslog -- name: com.github.openshift.api.operator.v1.Logo + - fieldName: set + discriminatorValue: Set +- name: com.github.openshift.api.operator.v1.IngressControllerHTTPHeaderActions map: fields: - - name: themes + - name: request type: list: elementType: - namedType: com.github.openshift.api.operator.v1.Theme + namedType: com.github.openshift.api.operator.v1.IngressControllerHTTPHeader elementRelationship: associative keys: - - mode - - name: type + - name + - name: response type: - scalar: string - default: "" -- name: com.github.openshift.api.operator.v1.MTUMigration + list: + elementType: + namedType: com.github.openshift.api.operator.v1.IngressControllerHTTPHeader + elementRelationship: associative + keys: + - name +- name: com.github.openshift.api.operator.v1.IngressControllerHTTPHeaders map: fields: - - name: machine + - name: actions type: - namedType: com.github.openshift.api.operator.v1.MTUMigrationValues - - name: network + namedType: com.github.openshift.api.operator.v1.IngressControllerHTTPHeaderActions + default: {} + - name: forwardedHeaderPolicy type: - namedType: com.github.openshift.api.operator.v1.MTUMigrationValues -- name: com.github.openshift.api.operator.v1.MTUMigrationValues - map: - fields: - - name: from + scalar: string + - name: headerNameCaseAdjustments type: - scalar: numeric - - name: to + list: + elementType: + scalar: string + elementRelationship: atomic + - name: uniqueId type: - scalar: numeric -- name: com.github.openshift.api.operator.v1.MachineConfiguration + namedType: com.github.openshift.api.operator.v1.IngressControllerHTTPUniqueIdHeaderPolicy + default: {} +- name: com.github.openshift.api.operator.v1.IngressControllerHTTPUniqueIdHeaderPolicy map: fields: - - name: apiVersion + - name: format type: scalar: string - - name: kind + - name: name type: scalar: string - - name: metadata - type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta - default: {} - - name: spec +- name: com.github.openshift.api.operator.v1.IngressControllerLogging + map: + fields: + - name: access type: - namedType: com.github.openshift.api.operator.v1.MachineConfigurationSpec - default: {} - - name: status + namedType: com.github.openshift.api.operator.v1.AccessLogging +- name: com.github.openshift.api.operator.v1.IngressControllerSetHTTPHeader + map: + fields: + - name: value type: - namedType: com.github.openshift.api.operator.v1.MachineConfigurationStatus - default: {} -- name: com.github.openshift.api.operator.v1.MachineConfigurationSpec + scalar: string + default: "" +- name: com.github.openshift.api.operator.v1.IngressControllerSpec map: fields: - - name: bootImageSkewEnforcement + - name: clientTLS type: - namedType: com.github.openshift.api.operator.v1.BootImageSkewEnforcementConfig + namedType: com.github.openshift.api.operator.v1.ClientTLS default: {} - - name: failedRevisionLimit - type: - scalar: numeric - - name: forceRedeploymentReason + - name: closedClientConnectionPolicy type: scalar: string - default: "" - - name: irreconcilableValidationOverrides + default: Continue + - name: defaultCertificate type: - namedType: com.github.openshift.api.operator.v1.IrreconcilableValidationOverrides - default: {} - - name: logLevel + namedType: LocalObjectReference.v1.core.api.k8s.io + - name: domain type: scalar: string - - name: managedBootImages + - name: endpointPublishingStrategy type: - namedType: com.github.openshift.api.operator.v1.ManagedBootImages + namedType: com.github.openshift.api.operator.v1.EndpointPublishingStrategy + - name: httpCompression + type: + namedType: com.github.openshift.api.operator.v1.HTTPCompressionPolicy default: {} - - name: managementState + - name: httpEmptyRequestsPolicy type: scalar: string - default: "" - - name: nodeDisruptionPolicy + - name: httpErrorCodePages type: - namedType: com.github.openshift.api.operator.v1.NodeDisruptionPolicyConfig + namedType: com.github.openshift.api.config.v1.ConfigMapNameReference default: {} - - name: observedConfig + - name: httpHeaders type: - namedType: __untyped_atomic_ - - name: operatorLogLevel + namedType: com.github.openshift.api.operator.v1.IngressControllerHTTPHeaders + - name: idleConnectionTerminationPolicy type: scalar: string - - name: succeededRevisionLimit + default: Immediate + - name: logging + type: + namedType: com.github.openshift.api.operator.v1.IngressControllerLogging + - name: namespaceSelector + type: + namedType: LabelSelector.v1.meta.apis.pkg.apimachinery.k8s.io + - name: nodePlacement + type: + namedType: com.github.openshift.api.operator.v1.NodePlacement + - name: replicas type: scalar: numeric + - name: routeAdmission + type: + namedType: com.github.openshift.api.operator.v1.RouteAdmissionPolicy + - name: routeSelector + type: + namedType: LabelSelector.v1.meta.apis.pkg.apimachinery.k8s.io + - name: tlsSecurityProfile + type: + namedType: com.github.openshift.api.config.v1.TLSSecurityProfile + - name: tuningOptions + type: + namedType: com.github.openshift.api.operator.v1.IngressControllerTuningOptions + default: {} - name: unsupportedConfigOverrides type: - namedType: __untyped_atomic_ -- name: com.github.openshift.api.operator.v1.MachineConfigurationStatus + namedType: RawExtension.runtime.pkg.apimachinery.k8s.io +- name: com.github.openshift.api.operator.v1.IngressControllerStatus map: fields: - - name: bootImageSkewEnforcementStatus + - name: availableReplicas type: - namedType: com.github.openshift.api.operator.v1.BootImageSkewEnforcementStatus - default: {} + scalar: numeric + default: 0 - name: conditions type: list: elementType: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Condition + namedType: com.github.openshift.api.operator.v1.OperatorCondition elementRelationship: associative keys: - type - - name: managedBootImagesStatus + - name: domain type: - namedType: com.github.openshift.api.operator.v1.ManagedBootImages - default: {} - - name: nodeDisruptionPolicyStatus + scalar: string + default: "" + - name: endpointPublishingStrategy type: - namedType: com.github.openshift.api.operator.v1.NodeDisruptionPolicyStatus - default: {} + namedType: com.github.openshift.api.operator.v1.EndpointPublishingStrategy + - name: namespaceSelector + type: + namedType: LabelSelector.v1.meta.apis.pkg.apimachinery.k8s.io - name: observedGeneration type: scalar: numeric -- name: com.github.openshift.api.operator.v1.MachineManager - map: - fields: - - name: apiGroup + - name: routeSelector type: - scalar: string - default: "" - - name: resource + namedType: LabelSelector.v1.meta.apis.pkg.apimachinery.k8s.io + - name: selector type: scalar: string default: "" - - name: selection + - name: tlsProfile type: - namedType: com.github.openshift.api.operator.v1.MachineManagerSelector - default: {} -- name: com.github.openshift.api.operator.v1.MachineManagerSelector + namedType: com.github.openshift.api.config.v1.TLSProfileSpec +- name: com.github.openshift.api.operator.v1.IngressControllerTuningOptions map: fields: - - name: mode + - name: clientFinTimeout type: - scalar: string - default: "" - - name: partial + namedType: Duration.v1.meta.apis.pkg.apimachinery.k8s.io + - name: clientTimeout type: - namedType: com.github.openshift.api.operator.v1.PartialSelector - unions: - - discriminator: mode - fields: - - fieldName: partial - discriminatorValue: Partial -- name: com.github.openshift.api.operator.v1.ManagedBootImages - map: - fields: - - name: machineManagers + namedType: Duration.v1.meta.apis.pkg.apimachinery.k8s.io + - name: connectTimeout type: - list: - elementType: - namedType: com.github.openshift.api.operator.v1.MachineManager - elementRelationship: associative - keys: - - resource - - apiGroup -- name: com.github.openshift.api.operator.v1.NetFlowConfig - map: - fields: - - name: collectors + namedType: Duration.v1.meta.apis.pkg.apimachinery.k8s.io + - name: headerBufferBytes type: - list: - elementType: - scalar: string - elementRelationship: atomic -- name: com.github.openshift.api.operator.v1.Network + scalar: numeric + - name: headerBufferMaxRewriteBytes + type: + scalar: numeric + - name: healthCheckInterval + type: + namedType: Duration.v1.meta.apis.pkg.apimachinery.k8s.io + - name: httpKeepAliveTimeout + type: + namedType: Duration.v1.meta.apis.pkg.apimachinery.k8s.io + - name: maxConnections + type: + scalar: numeric + - name: reloadInterval + type: + namedType: Duration.v1.meta.apis.pkg.apimachinery.k8s.io + - name: serverFinTimeout + type: + namedType: Duration.v1.meta.apis.pkg.apimachinery.k8s.io + - name: serverTimeout + type: + namedType: Duration.v1.meta.apis.pkg.apimachinery.k8s.io + - name: threadCount + type: + scalar: numeric + - name: tlsInspectDelay + type: + namedType: Duration.v1.meta.apis.pkg.apimachinery.k8s.io + - name: tunnelTimeout + type: + namedType: Duration.v1.meta.apis.pkg.apimachinery.k8s.io +- name: com.github.openshift.api.operator.v1.InsightsOperator map: fields: - name: apiVersion @@ -2709,71 +2318,19 @@ var schemaYAML = typed.YAMLObject(`types: scalar: string - name: metadata type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta + namedType: ObjectMeta.v1.meta.apis.pkg.apimachinery.k8s.io default: {} - name: spec type: - namedType: com.github.openshift.api.operator.v1.NetworkSpec + namedType: com.github.openshift.api.operator.v1.InsightsOperatorSpec default: {} - name: status type: - namedType: com.github.openshift.api.operator.v1.NetworkStatus + namedType: com.github.openshift.api.operator.v1.InsightsOperatorStatus default: {} -- name: com.github.openshift.api.operator.v1.NetworkMigration - map: - fields: - - name: features - type: - namedType: com.github.openshift.api.operator.v1.FeaturesMigration - - name: mode - type: - scalar: string - - name: mtu - type: - namedType: com.github.openshift.api.operator.v1.MTUMigration - - name: networkType - type: - scalar: string -- name: com.github.openshift.api.operator.v1.NetworkSpec +- name: com.github.openshift.api.operator.v1.InsightsOperatorSpec map: fields: - - name: additionalNetworks - type: - list: - elementType: - namedType: com.github.openshift.api.operator.v1.AdditionalNetworkDefinition - elementRelationship: associative - keys: - - name - - name: additionalRoutingCapabilities - type: - namedType: com.github.openshift.api.operator.v1.AdditionalRoutingCapabilities - - name: clusterNetwork - type: - list: - elementType: - namedType: com.github.openshift.api.operator.v1.ClusterNetworkEntry - elementRelationship: atomic - - name: defaultNetwork - type: - namedType: com.github.openshift.api.operator.v1.DefaultNetworkDefinition - default: {} - - name: deployKubeProxy - type: - scalar: boolean - - name: disableMultiNetwork - type: - scalar: boolean - - name: disableNetworkDiagnostics - type: - scalar: boolean - default: false - - name: exportNetworkFlows - type: - namedType: com.github.openshift.api.operator.v1.ExportNetworkFlows - - name: kubeProxyConfig - type: - namedType: com.github.openshift.api.operator.v1.ProxyConfig - name: logLevel type: scalar: string @@ -2781,28 +2338,16 @@ var schemaYAML = typed.YAMLObject(`types: type: scalar: string default: "" - - name: migration - type: - namedType: com.github.openshift.api.operator.v1.NetworkMigration - name: observedConfig type: - namedType: __untyped_atomic_ + namedType: RawExtension.runtime.pkg.apimachinery.k8s.io - name: operatorLogLevel type: scalar: string - - name: serviceNetwork - type: - list: - elementType: - scalar: string - elementRelationship: atomic - name: unsupportedConfigOverrides type: - namedType: __untyped_atomic_ - - name: useMultiNetworkPolicy - type: - scalar: boolean -- name: com.github.openshift.api.operator.v1.NetworkStatus + namedType: RawExtension.runtime.pkg.apimachinery.k8s.io +- name: com.github.openshift.api.operator.v1.InsightsOperatorStatus map: fields: - name: conditions @@ -2813,6 +2358,10 @@ var schemaYAML = typed.YAMLObject(`types: elementRelationship: associative keys: - type + - name: gatherStatus + type: + namedType: com.github.openshift.api.operator.v1.GatherStatus + default: {} - name: generations type: list: @@ -2824,6 +2373,10 @@ var schemaYAML = typed.YAMLObject(`types: - resource - namespace - name + - name: insightsReport + type: + namedType: com.github.openshift.api.operator.v1.InsightsReport + default: {} - name: latestAvailableRevision type: scalar: numeric @@ -2837,228 +2390,329 @@ var schemaYAML = typed.YAMLObject(`types: - name: version type: scalar: string -- name: com.github.openshift.api.operator.v1.NodeDisruptionPolicyClusterStatus +- name: com.github.openshift.api.operator.v1.InsightsReport map: fields: - - name: files - type: - list: - elementType: - namedType: com.github.openshift.api.operator.v1.NodeDisruptionPolicyStatusFile - elementRelationship: associative - keys: - - path - - name: sshkey + - name: downloadedAt type: - namedType: com.github.openshift.api.operator.v1.NodeDisruptionPolicyStatusSSHKey - default: {} - - name: units + namedType: Time.v1.meta.apis.pkg.apimachinery.k8s.io + - name: healthChecks type: list: elementType: - namedType: com.github.openshift.api.operator.v1.NodeDisruptionPolicyStatusUnit - elementRelationship: associative - keys: - - name -- name: com.github.openshift.api.operator.v1.NodeDisruptionPolicyConfig + namedType: com.github.openshift.api.operator.v1.HealthCheck + elementRelationship: atomic +- name: com.github.openshift.api.operator.v1.IrreconcilableValidationOverrides map: fields: - - name: files + - name: storage type: list: elementType: - namedType: com.github.openshift.api.operator.v1.NodeDisruptionPolicySpecFile + scalar: string elementRelationship: associative - keys: - - path - - name: sshkey +- name: com.github.openshift.api.operator.v1.KubeAPIServer + map: + fields: + - name: apiVersion type: - namedType: com.github.openshift.api.operator.v1.NodeDisruptionPolicySpecSSHKey + scalar: string + - name: kind + type: + scalar: string + - name: metadata + type: + namedType: ObjectMeta.v1.meta.apis.pkg.apimachinery.k8s.io default: {} - - name: units + - name: spec type: - list: - elementType: - namedType: com.github.openshift.api.operator.v1.NodeDisruptionPolicySpecUnit - elementRelationship: associative - keys: - - name -- name: com.github.openshift.api.operator.v1.NodeDisruptionPolicySpecAction + namedType: com.github.openshift.api.operator.v1.KubeAPIServerSpec + default: {} + - name: status + type: + namedType: com.github.openshift.api.operator.v1.KubeAPIServerStatus + default: {} +- name: com.github.openshift.api.operator.v1.KubeAPIServerSpec map: fields: - - name: reload + - name: eventTTLMinutes type: - namedType: com.github.openshift.api.operator.v1.ReloadService - - name: restart + scalar: numeric + - name: failedRevisionLimit type: - namedType: com.github.openshift.api.operator.v1.RestartService - - name: type + scalar: numeric + - name: forceRedeploymentReason type: scalar: string default: "" - unions: - - discriminator: type - fields: - - fieldName: reload - discriminatorValue: Reload - - fieldName: restart - discriminatorValue: Restart -- name: com.github.openshift.api.operator.v1.NodeDisruptionPolicySpecFile + - name: logLevel + type: + scalar: string + - name: managementState + type: + scalar: string + default: "" + - name: observedConfig + type: + namedType: RawExtension.runtime.pkg.apimachinery.k8s.io + - name: operatorLogLevel + type: + scalar: string + - name: succeededRevisionLimit + type: + scalar: numeric + - name: unsupportedConfigOverrides + type: + namedType: RawExtension.runtime.pkg.apimachinery.k8s.io +- name: com.github.openshift.api.operator.v1.KubeAPIServerStatus map: fields: - - name: actions + - name: conditions type: list: elementType: - namedType: com.github.openshift.api.operator.v1.NodeDisruptionPolicySpecAction - elementRelationship: atomic - - name: path + namedType: com.github.openshift.api.operator.v1.OperatorCondition + elementRelationship: associative + keys: + - type + - name: generations + type: + list: + elementType: + namedType: com.github.openshift.api.operator.v1.GenerationStatus + elementRelationship: associative + keys: + - group + - resource + - namespace + - name + - name: latestAvailableRevision + type: + scalar: numeric + - name: latestAvailableRevisionReason type: scalar: string - default: "" -- name: com.github.openshift.api.operator.v1.NodeDisruptionPolicySpecSSHKey - map: - fields: - - name: actions + - name: nodeStatuses type: list: elementType: - namedType: com.github.openshift.api.operator.v1.NodeDisruptionPolicySpecAction - elementRelationship: atomic -- name: com.github.openshift.api.operator.v1.NodeDisruptionPolicySpecUnit - map: - fields: - - name: actions + namedType: com.github.openshift.api.operator.v1.NodeStatus + elementRelationship: associative + keys: + - nodeName + - name: observedGeneration + type: + scalar: numeric + - name: readyReplicas + type: + scalar: numeric + default: 0 + - name: serviceAccountIssuers type: list: elementType: - namedType: com.github.openshift.api.operator.v1.NodeDisruptionPolicySpecAction + namedType: com.github.openshift.api.operator.v1.ServiceAccountIssuerStatus elementRelationship: atomic - - name: name + - name: version type: scalar: string - default: "" -- name: com.github.openshift.api.operator.v1.NodeDisruptionPolicyStatus +- name: com.github.openshift.api.operator.v1.KubeControllerManager map: fields: - - name: clusterPolicies + - name: apiVersion type: - namedType: com.github.openshift.api.operator.v1.NodeDisruptionPolicyClusterStatus + scalar: string + - name: kind + type: + scalar: string + - name: metadata + type: + namedType: ObjectMeta.v1.meta.apis.pkg.apimachinery.k8s.io default: {} -- name: com.github.openshift.api.operator.v1.NodeDisruptionPolicyStatusAction - map: - fields: - - name: reload + - name: spec type: - namedType: com.github.openshift.api.operator.v1.ReloadService - - name: restart + namedType: com.github.openshift.api.operator.v1.KubeControllerManagerSpec + default: {} + - name: status + type: + namedType: com.github.openshift.api.operator.v1.KubeControllerManagerStatus + default: {} +- name: com.github.openshift.api.operator.v1.KubeControllerManagerSpec + map: + fields: + - name: failedRevisionLimit type: - namedType: com.github.openshift.api.operator.v1.RestartService - - name: type + scalar: numeric + - name: forceRedeploymentReason type: scalar: string default: "" - unions: - - discriminator: type - fields: - - fieldName: reload - discriminatorValue: Reload - - fieldName: restart - discriminatorValue: Restart -- name: com.github.openshift.api.operator.v1.NodeDisruptionPolicyStatusFile - map: - fields: - - name: actions + - name: logLevel type: - list: - elementType: - namedType: com.github.openshift.api.operator.v1.NodeDisruptionPolicyStatusAction - elementRelationship: atomic - - name: path + scalar: string + - name: managementState type: scalar: string default: "" -- name: com.github.openshift.api.operator.v1.NodeDisruptionPolicyStatusSSHKey + - name: observedConfig + type: + namedType: RawExtension.runtime.pkg.apimachinery.k8s.io + - name: operatorLogLevel + type: + scalar: string + - name: succeededRevisionLimit + type: + scalar: numeric + - name: unsupportedConfigOverrides + type: + namedType: RawExtension.runtime.pkg.apimachinery.k8s.io + - name: useMoreSecureServiceCA + type: + scalar: boolean + default: false +- name: com.github.openshift.api.operator.v1.KubeControllerManagerStatus map: fields: - - name: actions + - name: conditions type: list: elementType: - namedType: com.github.openshift.api.operator.v1.NodeDisruptionPolicyStatusAction - elementRelationship: atomic -- name: com.github.openshift.api.operator.v1.NodeDisruptionPolicyStatusUnit - map: - fields: - - name: actions + namedType: com.github.openshift.api.operator.v1.OperatorCondition + elementRelationship: associative + keys: + - type + - name: generations type: list: elementType: - namedType: com.github.openshift.api.operator.v1.NodeDisruptionPolicyStatusAction - elementRelationship: atomic - - name: name + namedType: com.github.openshift.api.operator.v1.GenerationStatus + elementRelationship: associative + keys: + - group + - resource + - namespace + - name + - name: latestAvailableRevision type: - scalar: string - default: "" -- name: com.github.openshift.api.operator.v1.NodePlacement - map: - fields: - - name: nodeSelector + scalar: numeric + - name: latestAvailableRevisionReason type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector - - name: tolerations + scalar: string + - name: nodeStatuses type: list: elementType: - namedType: io.k8s.api.core.v1.Toleration - elementRelationship: atomic -- name: com.github.openshift.api.operator.v1.NodePortStrategy + namedType: com.github.openshift.api.operator.v1.NodeStatus + elementRelationship: associative + keys: + - nodeName + - name: observedGeneration + type: + scalar: numeric + - name: readyReplicas + type: + scalar: numeric + default: 0 + - name: version + type: + scalar: string +- name: com.github.openshift.api.operator.v1.KubeScheduler map: fields: - - name: protocol + - name: apiVersion type: scalar: string -- name: com.github.openshift.api.operator.v1.NodeStatus + - name: kind + type: + scalar: string + - name: metadata + type: + namedType: ObjectMeta.v1.meta.apis.pkg.apimachinery.k8s.io + default: {} + - name: spec + type: + namedType: com.github.openshift.api.operator.v1.KubeSchedulerSpec + default: {} + - name: status + type: + namedType: com.github.openshift.api.operator.v1.KubeSchedulerStatus + default: {} +- name: com.github.openshift.api.operator.v1.KubeSchedulerSpec map: fields: - - name: currentRevision + - name: failedRevisionLimit type: scalar: numeric - - name: lastFailedCount + - name: forceRedeploymentReason type: - scalar: numeric - - name: lastFailedReason + scalar: string + default: "" + - name: logLevel type: scalar: string - - name: lastFailedRevision + - name: managementState + type: + scalar: string + default: "" + - name: observedConfig + type: + namedType: RawExtension.runtime.pkg.apimachinery.k8s.io + - name: operatorLogLevel + type: + scalar: string + - name: succeededRevisionLimit type: scalar: numeric - - name: lastFailedRevisionErrors + - name: unsupportedConfigOverrides + type: + namedType: RawExtension.runtime.pkg.apimachinery.k8s.io +- name: com.github.openshift.api.operator.v1.KubeSchedulerStatus + map: + fields: + - name: conditions type: list: elementType: - scalar: string - elementRelationship: atomic - - name: lastFailedTime + namedType: com.github.openshift.api.operator.v1.OperatorCondition + elementRelationship: associative + keys: + - type + - name: generations type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Time - - name: lastFallbackCount + list: + elementType: + namedType: com.github.openshift.api.operator.v1.GenerationStatus + elementRelationship: associative + keys: + - group + - resource + - namespace + - name + - name: latestAvailableRevision type: scalar: numeric - - name: nodeName + - name: latestAvailableRevisionReason type: scalar: string - default: "" - - name: targetRevision + - name: nodeStatuses + type: + list: + elementType: + namedType: com.github.openshift.api.operator.v1.NodeStatus + elementRelationship: associative + keys: + - nodeName + - name: observedGeneration type: scalar: numeric -- name: com.github.openshift.api.operator.v1.OAuthAPIServerStatus - map: - fields: - - name: latestAvailableRevision + - name: readyReplicas type: scalar: numeric -- name: com.github.openshift.api.operator.v1.OLM + default: 0 + - name: version + type: + scalar: string +- name: com.github.openshift.api.operator.v1.KubeStorageVersionMigrator map: fields: - name: apiVersion @@ -3069,17 +2723,17 @@ var schemaYAML = typed.YAMLObject(`types: scalar: string - name: metadata type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta + namedType: ObjectMeta.v1.meta.apis.pkg.apimachinery.k8s.io default: {} - name: spec type: - namedType: com.github.openshift.api.operator.v1.OLMSpec + namedType: com.github.openshift.api.operator.v1.KubeStorageVersionMigratorSpec default: {} - name: status type: - namedType: com.github.openshift.api.operator.v1.OLMStatus + namedType: com.github.openshift.api.operator.v1.KubeStorageVersionMigratorStatus default: {} -- name: com.github.openshift.api.operator.v1.OLMSpec +- name: com.github.openshift.api.operator.v1.KubeStorageVersionMigratorSpec map: fields: - name: logLevel @@ -3091,14 +2745,14 @@ var schemaYAML = typed.YAMLObject(`types: default: "" - name: observedConfig type: - namedType: __untyped_atomic_ + namedType: RawExtension.runtime.pkg.apimachinery.k8s.io - name: operatorLogLevel type: scalar: string - name: unsupportedConfigOverrides type: - namedType: __untyped_atomic_ -- name: com.github.openshift.api.operator.v1.OLMStatus + namedType: RawExtension.runtime.pkg.apimachinery.k8s.io +- name: com.github.openshift.api.operator.v1.KubeStorageVersionMigratorStatus map: fields: - name: conditions @@ -3133,49 +2787,80 @@ var schemaYAML = typed.YAMLObject(`types: - name: version type: scalar: string -- name: com.github.openshift.api.operator.v1.OVNKubernetesConfig +- name: com.github.openshift.api.operator.v1.LoadBalancerStrategy map: fields: - - name: egressIPConfig - type: - namedType: com.github.openshift.api.operator.v1.EgressIPConfig - default: {} - - name: gatewayConfig + - name: allowedSourceRanges type: - namedType: com.github.openshift.api.operator.v1.GatewayConfig - - name: genevePort + list: + elementType: + scalar: string + elementRelationship: atomic + - name: dnsManagementPolicy type: - scalar: numeric - - name: hybridOverlayConfig + scalar: string + default: Managed + - name: providerParameters type: - namedType: com.github.openshift.api.operator.v1.HybridOverlayConfig - - name: ipsecConfig + namedType: com.github.openshift.api.operator.v1.ProviderLoadBalancerParameters + - name: scope type: - namedType: com.github.openshift.api.operator.v1.IPsecConfig - default: - mode: Disabled - - name: ipv4 + scalar: string + default: "" +- name: com.github.openshift.api.operator.v1.LoggingDestination + map: + fields: + - name: container type: - namedType: com.github.openshift.api.operator.v1.IPv4OVNKubernetesConfig - - name: ipv6 + namedType: com.github.openshift.api.operator.v1.ContainerLoggingDestinationParameters + - name: syslog type: - namedType: com.github.openshift.api.operator.v1.IPv6OVNKubernetesConfig - - name: mtu + namedType: com.github.openshift.api.operator.v1.SyslogLoggingDestinationParameters + - name: type type: - scalar: numeric - - name: policyAuditConfig + scalar: string + default: "" + unions: + - discriminator: type + fields: + - fieldName: container + discriminatorValue: Container + - fieldName: syslog + discriminatorValue: Syslog +- name: com.github.openshift.api.operator.v1.Logo + map: + fields: + - name: themes type: - namedType: com.github.openshift.api.operator.v1.PolicyAuditConfig - - name: routeAdvertisements + list: + elementType: + namedType: com.github.openshift.api.operator.v1.Theme + elementRelationship: associative + keys: + - mode + - name: type type: scalar: string - - name: v4InternalSubnet + default: "" +- name: com.github.openshift.api.operator.v1.MTUMigration + map: + fields: + - name: machine type: - scalar: string - - name: v6InternalSubnet + namedType: com.github.openshift.api.operator.v1.MTUMigrationValues + - name: network type: - scalar: string -- name: com.github.openshift.api.operator.v1.OpenShiftAPIServer + namedType: com.github.openshift.api.operator.v1.MTUMigrationValues +- name: com.github.openshift.api.operator.v1.MTUMigrationValues + map: + fields: + - name: from + type: + scalar: numeric + - name: to + type: + scalar: numeric +- name: com.github.openshift.api.operator.v1.MachineConfiguration map: fields: - name: apiVersion @@ -3186,71 +2871,139 @@ var schemaYAML = typed.YAMLObject(`types: scalar: string - name: metadata type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta + namedType: ObjectMeta.v1.meta.apis.pkg.apimachinery.k8s.io default: {} - name: spec type: - namedType: com.github.openshift.api.operator.v1.OpenShiftAPIServerSpec + namedType: com.github.openshift.api.operator.v1.MachineConfigurationSpec default: {} - name: status type: - namedType: com.github.openshift.api.operator.v1.OpenShiftAPIServerStatus + namedType: com.github.openshift.api.operator.v1.MachineConfigurationStatus default: {} -- name: com.github.openshift.api.operator.v1.OpenShiftAPIServerSpec +- name: com.github.openshift.api.operator.v1.MachineConfigurationSpec map: fields: + - name: bootImageSkewEnforcement + type: + namedType: com.github.openshift.api.operator.v1.BootImageSkewEnforcementConfig + default: {} + - name: failedRevisionLimit + type: + scalar: numeric + - name: forceRedeploymentReason + type: + scalar: string + default: "" + - name: irreconcilableValidationOverrides + type: + namedType: com.github.openshift.api.operator.v1.IrreconcilableValidationOverrides + default: {} - name: logLevel type: scalar: string + - name: managedBootImages + type: + namedType: com.github.openshift.api.operator.v1.ManagedBootImages + default: {} - name: managementState type: scalar: string default: "" + - name: nodeDisruptionPolicy + type: + namedType: com.github.openshift.api.operator.v1.NodeDisruptionPolicyConfig + default: {} - name: observedConfig type: - namedType: __untyped_atomic_ + namedType: RawExtension.runtime.pkg.apimachinery.k8s.io - name: operatorLogLevel type: scalar: string + - name: succeededRevisionLimit + type: + scalar: numeric - name: unsupportedConfigOverrides type: - namedType: __untyped_atomic_ -- name: com.github.openshift.api.operator.v1.OpenShiftAPIServerStatus + namedType: RawExtension.runtime.pkg.apimachinery.k8s.io +- name: com.github.openshift.api.operator.v1.MachineConfigurationStatus map: fields: + - name: bootImageSkewEnforcementStatus + type: + namedType: com.github.openshift.api.operator.v1.BootImageSkewEnforcementStatus + default: {} - name: conditions type: list: elementType: - namedType: com.github.openshift.api.operator.v1.OperatorCondition + namedType: Condition.v1.meta.apis.pkg.apimachinery.k8s.io elementRelationship: associative keys: - type - - name: generations + - name: managedBootImagesStatus type: - list: - elementType: - namedType: com.github.openshift.api.operator.v1.GenerationStatus - elementRelationship: associative - keys: - - group - - resource - - namespace - - name - - name: latestAvailableRevision + namedType: com.github.openshift.api.operator.v1.ManagedBootImages + default: {} + - name: nodeDisruptionPolicyStatus type: - scalar: numeric + namedType: com.github.openshift.api.operator.v1.NodeDisruptionPolicyStatus + default: {} - name: observedGeneration type: scalar: numeric - - name: readyReplicas +- name: com.github.openshift.api.operator.v1.MachineManager + map: + fields: + - name: apiGroup type: - scalar: numeric - default: 0 - - name: version + scalar: string + default: "" + - name: resource type: scalar: string -- name: com.github.openshift.api.operator.v1.OpenShiftControllerManager + default: "" + - name: selection + type: + namedType: com.github.openshift.api.operator.v1.MachineManagerSelector + default: {} +- name: com.github.openshift.api.operator.v1.MachineManagerSelector + map: + fields: + - name: mode + type: + scalar: string + default: "" + - name: partial + type: + namedType: com.github.openshift.api.operator.v1.PartialSelector + unions: + - discriminator: mode + fields: + - fieldName: partial + discriminatorValue: Partial +- name: com.github.openshift.api.operator.v1.ManagedBootImages + map: + fields: + - name: machineManagers + type: + list: + elementType: + namedType: com.github.openshift.api.operator.v1.MachineManager + elementRelationship: associative + keys: + - resource + - apiGroup +- name: com.github.openshift.api.operator.v1.NetFlowConfig + map: + fields: + - name: collectors + type: + list: + elementType: + scalar: string + elementRelationship: atomic +- name: com.github.openshift.api.operator.v1.Network map: fields: - name: apiVersion @@ -3261,19 +3014,71 @@ var schemaYAML = typed.YAMLObject(`types: scalar: string - name: metadata type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta + namedType: ObjectMeta.v1.meta.apis.pkg.apimachinery.k8s.io default: {} - name: spec type: - namedType: com.github.openshift.api.operator.v1.OpenShiftControllerManagerSpec + namedType: com.github.openshift.api.operator.v1.NetworkSpec default: {} - name: status type: - namedType: com.github.openshift.api.operator.v1.OpenShiftControllerManagerStatus + namedType: com.github.openshift.api.operator.v1.NetworkStatus default: {} -- name: com.github.openshift.api.operator.v1.OpenShiftControllerManagerSpec +- name: com.github.openshift.api.operator.v1.NetworkMigration + map: + fields: + - name: features + type: + namedType: com.github.openshift.api.operator.v1.FeaturesMigration + - name: mode + type: + scalar: string + - name: mtu + type: + namedType: com.github.openshift.api.operator.v1.MTUMigration + - name: networkType + type: + scalar: string +- name: com.github.openshift.api.operator.v1.NetworkSpec map: fields: + - name: additionalNetworks + type: + list: + elementType: + namedType: com.github.openshift.api.operator.v1.AdditionalNetworkDefinition + elementRelationship: associative + keys: + - name + - name: additionalRoutingCapabilities + type: + namedType: com.github.openshift.api.operator.v1.AdditionalRoutingCapabilities + - name: clusterNetwork + type: + list: + elementType: + namedType: com.github.openshift.api.operator.v1.ClusterNetworkEntry + elementRelationship: atomic + - name: defaultNetwork + type: + namedType: com.github.openshift.api.operator.v1.DefaultNetworkDefinition + default: {} + - name: deployKubeProxy + type: + scalar: boolean + - name: disableMultiNetwork + type: + scalar: boolean + - name: disableNetworkDiagnostics + type: + scalar: boolean + default: false + - name: exportNetworkFlows + type: + namedType: com.github.openshift.api.operator.v1.ExportNetworkFlows + - name: kubeProxyConfig + type: + namedType: com.github.openshift.api.operator.v1.ProxyConfig - name: logLevel type: scalar: string @@ -3281,16 +3086,28 @@ var schemaYAML = typed.YAMLObject(`types: type: scalar: string default: "" + - name: migration + type: + namedType: com.github.openshift.api.operator.v1.NetworkMigration - name: observedConfig type: - namedType: __untyped_atomic_ + namedType: RawExtension.runtime.pkg.apimachinery.k8s.io - name: operatorLogLevel type: scalar: string + - name: serviceNetwork + type: + list: + elementType: + scalar: string + elementRelationship: atomic - name: unsupportedConfigOverrides type: - namedType: __untyped_atomic_ -- name: com.github.openshift.api.operator.v1.OpenShiftControllerManagerStatus + namedType: RawExtension.runtime.pkg.apimachinery.k8s.io + - name: useMultiNetworkPolicy + type: + scalar: boolean +- name: com.github.openshift.api.operator.v1.NetworkStatus map: fields: - name: conditions @@ -3325,152 +3142,132 @@ var schemaYAML = typed.YAMLObject(`types: - name: version type: scalar: string -- name: com.github.openshift.api.operator.v1.OpenShiftSDNConfig - map: - fields: - - name: enableUnidling - type: - scalar: boolean - - name: mode - type: - scalar: string - default: "" - - name: mtu - type: - scalar: numeric - - name: useExternalOpenvswitch - type: - scalar: boolean - - name: vxlanPort - type: - scalar: numeric -- name: com.github.openshift.api.operator.v1.OpenStackLoadBalancerParameters - map: - fields: - - name: floatingIP - type: - scalar: string -- name: com.github.openshift.api.operator.v1.OperatorCondition - map: - fields: - - name: lastTransitionTime - type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Time - - name: message - type: - scalar: string - - name: reason - type: - scalar: string - - name: status - type: - scalar: string - default: "" - - name: type - type: - scalar: string - default: "" -- name: com.github.openshift.api.operator.v1.PartialSelector - map: - fields: - - name: machineResourceSelector - type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector -- name: com.github.openshift.api.operator.v1.Perspective +- name: com.github.openshift.api.operator.v1.NoOverlayConfig map: fields: - - name: id + - name: outboundSNAT type: scalar: string - default: "" - - name: pinnedResources + - name: routing + type: + scalar: string +- name: com.github.openshift.api.operator.v1.NodeDisruptionPolicyClusterStatus + map: + fields: + - name: files type: list: elementType: - namedType: com.github.openshift.api.operator.v1.PinnedResourceReference - elementRelationship: atomic - - name: visibility + namedType: com.github.openshift.api.operator.v1.NodeDisruptionPolicyStatusFile + elementRelationship: associative + keys: + - path + - name: sshkey type: - namedType: com.github.openshift.api.operator.v1.PerspectiveVisibility + namedType: com.github.openshift.api.operator.v1.NodeDisruptionPolicyStatusSSHKey default: {} -- name: com.github.openshift.api.operator.v1.PerspectiveVisibility + - name: units + type: + list: + elementType: + namedType: com.github.openshift.api.operator.v1.NodeDisruptionPolicyStatusUnit + elementRelationship: associative + keys: + - name +- name: com.github.openshift.api.operator.v1.NodeDisruptionPolicyConfig map: fields: - - name: accessReview + - name: files type: - namedType: com.github.openshift.api.operator.v1.ResourceAttributesAccessReview - - name: state + list: + elementType: + namedType: com.github.openshift.api.operator.v1.NodeDisruptionPolicySpecFile + elementRelationship: associative + keys: + - path + - name: sshkey type: - scalar: string - default: "" - unions: - - discriminator: state - fields: - - fieldName: accessReview - discriminatorValue: AccessReview -- name: com.github.openshift.api.operator.v1.PinnedResourceReference + namedType: com.github.openshift.api.operator.v1.NodeDisruptionPolicySpecSSHKey + default: {} + - name: units + type: + list: + elementType: + namedType: com.github.openshift.api.operator.v1.NodeDisruptionPolicySpecUnit + elementRelationship: associative + keys: + - name +- name: com.github.openshift.api.operator.v1.NodeDisruptionPolicySpecAction map: fields: - - name: group + - name: reload type: - scalar: string - default: "" - - name: resource + namedType: com.github.openshift.api.operator.v1.ReloadService + - name: restart type: - scalar: string - default: "" - - name: version + namedType: com.github.openshift.api.operator.v1.RestartService + - name: type type: scalar: string default: "" -- name: com.github.openshift.api.operator.v1.PolicyAuditConfig + unions: + - discriminator: type + fields: + - fieldName: reload + discriminatorValue: Reload + - fieldName: restart + discriminatorValue: Restart +- name: com.github.openshift.api.operator.v1.NodeDisruptionPolicySpecFile map: fields: - - name: destination - type: - scalar: string - - name: maxFileSize - type: - scalar: numeric - - name: maxLogFiles - type: - scalar: numeric - - name: rateLimit + - name: actions type: - scalar: numeric - - name: syslogFacility + list: + elementType: + namedType: com.github.openshift.api.operator.v1.NodeDisruptionPolicySpecAction + elementRelationship: atomic + - name: path type: scalar: string -- name: com.github.openshift.api.operator.v1.PrivateStrategy + default: "" +- name: com.github.openshift.api.operator.v1.NodeDisruptionPolicySpecSSHKey map: fields: - - name: protocol + - name: actions type: - scalar: string -- name: com.github.openshift.api.operator.v1.ProjectAccess + list: + elementType: + namedType: com.github.openshift.api.operator.v1.NodeDisruptionPolicySpecAction + elementRelationship: atomic +- name: com.github.openshift.api.operator.v1.NodeDisruptionPolicySpecUnit map: fields: - - name: availableClusterRoles + - name: actions type: list: elementType: - scalar: string + namedType: com.github.openshift.api.operator.v1.NodeDisruptionPolicySpecAction elementRelationship: atomic -- name: com.github.openshift.api.operator.v1.ProviderLoadBalancerParameters + - name: name + type: + scalar: string + default: "" +- name: com.github.openshift.api.operator.v1.NodeDisruptionPolicyStatus map: fields: - - name: aws - type: - namedType: com.github.openshift.api.operator.v1.AWSLoadBalancerParameters - - name: gcp + - name: clusterPolicies type: - namedType: com.github.openshift.api.operator.v1.GCPLoadBalancerParameters - - name: ibm + namedType: com.github.openshift.api.operator.v1.NodeDisruptionPolicyClusterStatus + default: {} +- name: com.github.openshift.api.operator.v1.NodeDisruptionPolicyStatusAction + map: + fields: + - name: reload type: - namedType: com.github.openshift.api.operator.v1.IBMLoadBalancerParameters - - name: openstack + namedType: com.github.openshift.api.operator.v1.ReloadService + - name: restart type: - namedType: com.github.openshift.api.operator.v1.OpenStackLoadBalancerParameters + namedType: com.github.openshift.api.operator.v1.RestartService - name: type type: scalar: string @@ -3478,115 +3275,104 @@ var schemaYAML = typed.YAMLObject(`types: unions: - discriminator: type fields: - - fieldName: aws - discriminatorValue: AWS - - fieldName: gcp - discriminatorValue: GCP - - fieldName: ibm - discriminatorValue: IBM - - fieldName: openstack - discriminatorValue: OpenStack -- name: com.github.openshift.api.operator.v1.ProxyConfig + - fieldName: reload + discriminatorValue: Reload + - fieldName: restart + discriminatorValue: Restart +- name: com.github.openshift.api.operator.v1.NodeDisruptionPolicyStatusFile map: fields: - - name: bindAddress + - name: actions type: - scalar: string - - name: iptablesSyncPeriod + list: + elementType: + namedType: com.github.openshift.api.operator.v1.NodeDisruptionPolicyStatusAction + elementRelationship: atomic + - name: path type: scalar: string - - name: proxyArguments - type: - map: - elementType: - list: - elementType: - scalar: string - elementRelationship: atomic -- name: com.github.openshift.api.operator.v1.QuickStarts + default: "" +- name: com.github.openshift.api.operator.v1.NodeDisruptionPolicyStatusSSHKey map: fields: - - name: disabled + - name: actions type: list: elementType: - scalar: string + namedType: com.github.openshift.api.operator.v1.NodeDisruptionPolicyStatusAction elementRelationship: atomic -- name: com.github.openshift.api.operator.v1.ReloadService +- name: com.github.openshift.api.operator.v1.NodeDisruptionPolicyStatusUnit map: fields: - - name: serviceName + - name: actions + type: + list: + elementType: + namedType: com.github.openshift.api.operator.v1.NodeDisruptionPolicyStatusAction + elementRelationship: atomic + - name: name type: scalar: string default: "" -- name: com.github.openshift.api.operator.v1.ResourceAttributesAccessReview +- name: com.github.openshift.api.operator.v1.NodePlacement map: fields: - - name: missing + - name: nodeSelector type: - list: - elementType: - namedType: io.k8s.api.authorization.v1.ResourceAttributes - elementRelationship: atomic - - name: required + namedType: LabelSelector.v1.meta.apis.pkg.apimachinery.k8s.io + - name: tolerations type: list: elementType: - namedType: io.k8s.api.authorization.v1.ResourceAttributes + namedType: Toleration.v1.core.api.k8s.io elementRelationship: atomic -- name: com.github.openshift.api.operator.v1.RestartService +- name: com.github.openshift.api.operator.v1.NodePortStrategy map: fields: - - name: serviceName + - name: protocol type: scalar: string - default: "" -- name: com.github.openshift.api.operator.v1.RouteAdmissionPolicy +- name: com.github.openshift.api.operator.v1.NodeStatus map: fields: - - name: namespaceOwnership + - name: currentRevision type: - scalar: string - - name: wildcardPolicy + scalar: numeric + - name: lastFailedCount + type: + scalar: numeric + - name: lastFailedReason type: scalar: string -- name: com.github.openshift.api.operator.v1.SFlowConfig - map: - fields: - - name: collectors + - name: lastFailedRevision + type: + scalar: numeric + - name: lastFailedRevisionErrors type: list: elementType: scalar: string elementRelationship: atomic -- name: com.github.openshift.api.operator.v1.Server - map: - fields: - - name: forwardPlugin + - name: lastFailedTime type: - namedType: com.github.openshift.api.operator.v1.ForwardPlugin - default: {} - - name: name + namedType: Time.v1.meta.apis.pkg.apimachinery.k8s.io + - name: lastFallbackCount + type: + scalar: numeric + - name: nodeName type: scalar: string default: "" - - name: zones + - name: targetRevision type: - list: - elementType: - scalar: string - elementRelationship: atomic -- name: com.github.openshift.api.operator.v1.ServiceAccountIssuerStatus + scalar: numeric +- name: com.github.openshift.api.operator.v1.OAuthAPIServerStatus map: fields: - - name: expirationTime - type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Time - - name: name + - name: latestAvailableRevision type: - scalar: string - default: "" -- name: com.github.openshift.api.operator.v1.ServiceCA + scalar: numeric +- name: com.github.openshift.api.operator.v1.OLM map: fields: - name: apiVersion @@ -3597,17 +3383,17 @@ var schemaYAML = typed.YAMLObject(`types: scalar: string - name: metadata type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta + namedType: ObjectMeta.v1.meta.apis.pkg.apimachinery.k8s.io default: {} - name: spec type: - namedType: com.github.openshift.api.operator.v1.ServiceCASpec + namedType: com.github.openshift.api.operator.v1.OLMSpec default: {} - name: status type: - namedType: com.github.openshift.api.operator.v1.ServiceCAStatus + namedType: com.github.openshift.api.operator.v1.OLMStatus default: {} -- name: com.github.openshift.api.operator.v1.ServiceCASpec +- name: com.github.openshift.api.operator.v1.OLMSpec map: fields: - name: logLevel @@ -3619,14 +3405,14 @@ var schemaYAML = typed.YAMLObject(`types: default: "" - name: observedConfig type: - namedType: __untyped_atomic_ + namedType: RawExtension.runtime.pkg.apimachinery.k8s.io - name: operatorLogLevel type: scalar: string - name: unsupportedConfigOverrides type: - namedType: __untyped_atomic_ -- name: com.github.openshift.api.operator.v1.ServiceCAStatus + namedType: RawExtension.runtime.pkg.apimachinery.k8s.io +- name: com.github.openshift.api.operator.v1.OLMStatus map: fields: - name: conditions @@ -3661,7 +3447,60 @@ var schemaYAML = typed.YAMLObject(`types: - name: version type: scalar: string -- name: com.github.openshift.api.operator.v1.ServiceCatalogAPIServer +- name: com.github.openshift.api.operator.v1.OVNKubernetesConfig + map: + fields: + - name: bgpManagedConfig + type: + namedType: com.github.openshift.api.operator.v1.BGPManagedConfig + default: {} + - name: egressIPConfig + type: + namedType: com.github.openshift.api.operator.v1.EgressIPConfig + default: {} + - name: gatewayConfig + type: + namedType: com.github.openshift.api.operator.v1.GatewayConfig + - name: genevePort + type: + scalar: numeric + - name: hybridOverlayConfig + type: + namedType: com.github.openshift.api.operator.v1.HybridOverlayConfig + - name: ipsecConfig + type: + namedType: com.github.openshift.api.operator.v1.IPsecConfig + default: + mode: Disabled + - name: ipv4 + type: + namedType: com.github.openshift.api.operator.v1.IPv4OVNKubernetesConfig + - name: ipv6 + type: + namedType: com.github.openshift.api.operator.v1.IPv6OVNKubernetesConfig + - name: mtu + type: + scalar: numeric + - name: noOverlayConfig + type: + namedType: com.github.openshift.api.operator.v1.NoOverlayConfig + default: {} + - name: policyAuditConfig + type: + namedType: com.github.openshift.api.operator.v1.PolicyAuditConfig + - name: routeAdvertisements + type: + scalar: string + - name: transport + type: + scalar: string + - name: v4InternalSubnet + type: + scalar: string + - name: v6InternalSubnet + type: + scalar: string +- name: com.github.openshift.api.operator.v1.OpenShiftAPIServer map: fields: - name: apiVersion @@ -3672,17 +3511,17 @@ var schemaYAML = typed.YAMLObject(`types: scalar: string - name: metadata type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta + namedType: ObjectMeta.v1.meta.apis.pkg.apimachinery.k8s.io default: {} - name: spec type: - namedType: com.github.openshift.api.operator.v1.ServiceCatalogAPIServerSpec + namedType: com.github.openshift.api.operator.v1.OpenShiftAPIServerSpec default: {} - name: status type: - namedType: com.github.openshift.api.operator.v1.ServiceCatalogAPIServerStatus + namedType: com.github.openshift.api.operator.v1.OpenShiftAPIServerStatus default: {} -- name: com.github.openshift.api.operator.v1.ServiceCatalogAPIServerSpec +- name: com.github.openshift.api.operator.v1.OpenShiftAPIServerSpec map: fields: - name: logLevel @@ -3694,14 +3533,14 @@ var schemaYAML = typed.YAMLObject(`types: default: "" - name: observedConfig type: - namedType: __untyped_atomic_ + namedType: RawExtension.runtime.pkg.apimachinery.k8s.io - name: operatorLogLevel type: scalar: string - name: unsupportedConfigOverrides type: - namedType: __untyped_atomic_ -- name: com.github.openshift.api.operator.v1.ServiceCatalogAPIServerStatus + namedType: RawExtension.runtime.pkg.apimachinery.k8s.io +- name: com.github.openshift.api.operator.v1.OpenShiftAPIServerStatus map: fields: - name: conditions @@ -3736,7 +3575,7 @@ var schemaYAML = typed.YAMLObject(`types: - name: version type: scalar: string -- name: com.github.openshift.api.operator.v1.ServiceCatalogControllerManager +- name: com.github.openshift.api.operator.v1.OpenShiftControllerManager map: fields: - name: apiVersion @@ -3747,17 +3586,17 @@ var schemaYAML = typed.YAMLObject(`types: scalar: string - name: metadata type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta + namedType: ObjectMeta.v1.meta.apis.pkg.apimachinery.k8s.io default: {} - name: spec type: - namedType: com.github.openshift.api.operator.v1.ServiceCatalogControllerManagerSpec + namedType: com.github.openshift.api.operator.v1.OpenShiftControllerManagerSpec default: {} - name: status type: - namedType: com.github.openshift.api.operator.v1.ServiceCatalogControllerManagerStatus + namedType: com.github.openshift.api.operator.v1.OpenShiftControllerManagerStatus default: {} -- name: com.github.openshift.api.operator.v1.ServiceCatalogControllerManagerSpec +- name: com.github.openshift.api.operator.v1.OpenShiftControllerManagerSpec map: fields: - name: logLevel @@ -3769,14 +3608,14 @@ var schemaYAML = typed.YAMLObject(`types: default: "" - name: observedConfig type: - namedType: __untyped_atomic_ + namedType: RawExtension.runtime.pkg.apimachinery.k8s.io - name: operatorLogLevel type: scalar: string - name: unsupportedConfigOverrides type: - namedType: __untyped_atomic_ -- name: com.github.openshift.api.operator.v1.ServiceCatalogControllerManagerStatus + namedType: RawExtension.runtime.pkg.apimachinery.k8s.io +- name: com.github.openshift.api.operator.v1.OpenShiftControllerManagerStatus map: fields: - name: conditions @@ -3811,85 +3650,268 @@ var schemaYAML = typed.YAMLObject(`types: - name: version type: scalar: string -- name: com.github.openshift.api.operator.v1.SimpleMacvlanConfig +- name: com.github.openshift.api.operator.v1.OpenShiftSDNConfig map: fields: - - name: ipamConfig - type: - namedType: com.github.openshift.api.operator.v1.IPAMConfig - - name: master + - name: enableUnidling type: - scalar: string + scalar: boolean - name: mode type: scalar: string + default: "" - name: mtu type: scalar: numeric -- name: com.github.openshift.api.operator.v1.StaticIPAMAddresses + - name: useExternalOpenvswitch + type: + scalar: boolean + - name: vxlanPort + type: + scalar: numeric +- name: com.github.openshift.api.operator.v1.OpenStackLoadBalancerParameters map: fields: - - name: address + - name: floatingIP + type: + scalar: string +- name: com.github.openshift.api.operator.v1.OperatorCondition + map: + fields: + - name: lastTransitionTime + type: + namedType: Time.v1.meta.apis.pkg.apimachinery.k8s.io + - name: message + type: + scalar: string + - name: reason + type: + scalar: string + - name: status + type: + scalar: string + default: "" + - name: type + type: + scalar: string + default: "" +- name: com.github.openshift.api.operator.v1.PartialSelector + map: + fields: + - name: machineResourceSelector + type: + namedType: LabelSelector.v1.meta.apis.pkg.apimachinery.k8s.io +- name: com.github.openshift.api.operator.v1.Perspective + map: + fields: + - name: id + type: + scalar: string + default: "" + - name: pinnedResources + type: + list: + elementType: + namedType: com.github.openshift.api.operator.v1.PinnedResourceReference + elementRelationship: atomic + - name: visibility + type: + namedType: com.github.openshift.api.operator.v1.PerspectiveVisibility + default: {} +- name: com.github.openshift.api.operator.v1.PerspectiveVisibility + map: + fields: + - name: accessReview + type: + namedType: com.github.openshift.api.operator.v1.ResourceAttributesAccessReview + - name: state + type: + scalar: string + default: "" + unions: + - discriminator: state + fields: + - fieldName: accessReview + discriminatorValue: AccessReview +- name: com.github.openshift.api.operator.v1.PinnedResourceReference + map: + fields: + - name: group + type: + scalar: string + default: "" + - name: resource + type: + scalar: string + default: "" + - name: version + type: + scalar: string + default: "" +- name: com.github.openshift.api.operator.v1.PolicyAuditConfig + map: + fields: + - name: destination + type: + scalar: string + - name: maxFileSize + type: + scalar: numeric + - name: maxLogFiles + type: + scalar: numeric + - name: rateLimit + type: + scalar: numeric + - name: syslogFacility + type: + scalar: string +- name: com.github.openshift.api.operator.v1.PrivateStrategy + map: + fields: + - name: protocol + type: + scalar: string +- name: com.github.openshift.api.operator.v1.ProjectAccess + map: + fields: + - name: availableClusterRoles + type: + list: + elementType: + scalar: string + elementRelationship: atomic +- name: com.github.openshift.api.operator.v1.ProviderLoadBalancerParameters + map: + fields: + - name: aws + type: + namedType: com.github.openshift.api.operator.v1.AWSLoadBalancerParameters + - name: gcp + type: + namedType: com.github.openshift.api.operator.v1.GCPLoadBalancerParameters + - name: ibm + type: + namedType: com.github.openshift.api.operator.v1.IBMLoadBalancerParameters + - name: openstack + type: + namedType: com.github.openshift.api.operator.v1.OpenStackLoadBalancerParameters + - name: type + type: + scalar: string + default: "" + unions: + - discriminator: type + fields: + - fieldName: aws + discriminatorValue: AWS + - fieldName: gcp + discriminatorValue: GCP + - fieldName: ibm + discriminatorValue: IBM + - fieldName: openstack + discriminatorValue: OpenStack +- name: com.github.openshift.api.operator.v1.ProxyConfig + map: + fields: + - name: bindAddress + type: + scalar: string + - name: iptablesSyncPeriod + type: + scalar: string + - name: proxyArguments + type: + map: + elementType: + list: + elementType: + scalar: string + elementRelationship: atomic +- name: com.github.openshift.api.operator.v1.QuickStarts + map: + fields: + - name: disabled + type: + list: + elementType: + scalar: string + elementRelationship: atomic +- name: com.github.openshift.api.operator.v1.ReloadService + map: + fields: + - name: serviceName type: scalar: string default: "" - - name: gateway - type: - scalar: string -- name: com.github.openshift.api.operator.v1.StaticIPAMConfig +- name: com.github.openshift.api.operator.v1.ResourceAttributesAccessReview map: fields: - - name: addresses + - name: missing type: list: elementType: - namedType: com.github.openshift.api.operator.v1.StaticIPAMAddresses + namedType: ResourceAttributes.v1.authorization.api.k8s.io elementRelationship: atomic - - name: dns - type: - namedType: com.github.openshift.api.operator.v1.StaticIPAMDNS - - name: routes + - name: required type: list: elementType: - namedType: com.github.openshift.api.operator.v1.StaticIPAMRoutes + namedType: ResourceAttributes.v1.authorization.api.k8s.io elementRelationship: atomic -- name: com.github.openshift.api.operator.v1.StaticIPAMDNS +- name: com.github.openshift.api.operator.v1.RestartService map: fields: - - name: domain + - name: serviceName type: scalar: string - - name: nameservers + default: "" +- name: com.github.openshift.api.operator.v1.RouteAdmissionPolicy + map: + fields: + - name: namespaceOwnership type: - list: - elementType: - scalar: string - elementRelationship: atomic - - name: search + scalar: string + - name: wildcardPolicy + type: + scalar: string +- name: com.github.openshift.api.operator.v1.SFlowConfig + map: + fields: + - name: collectors type: list: elementType: scalar: string elementRelationship: atomic -- name: com.github.openshift.api.operator.v1.StaticIPAMRoutes +- name: com.github.openshift.api.operator.v1.Server map: fields: - - name: destination + - name: forwardPlugin + type: + namedType: com.github.openshift.api.operator.v1.ForwardPlugin + default: {} + - name: name type: scalar: string default: "" - - name: gateway + - name: zones type: - scalar: string -- name: com.github.openshift.api.operator.v1.StatuspageProvider + list: + elementType: + scalar: string + elementRelationship: atomic +- name: com.github.openshift.api.operator.v1.ServiceAccountIssuerStatus map: fields: - - name: pageID + - name: expirationTime + type: + namedType: Time.v1.meta.apis.pkg.apimachinery.k8s.io + - name: name type: scalar: string default: "" -- name: com.github.openshift.api.operator.v1.Storage +- name: com.github.openshift.api.operator.v1.ServiceCA map: fields: - name: apiVersion @@ -3900,17 +3922,17 @@ var schemaYAML = typed.YAMLObject(`types: scalar: string - name: metadata type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta + namedType: ObjectMeta.v1.meta.apis.pkg.apimachinery.k8s.io default: {} - name: spec type: - namedType: com.github.openshift.api.operator.v1.StorageSpec + namedType: com.github.openshift.api.operator.v1.ServiceCASpec default: {} - name: status type: - namedType: com.github.openshift.api.operator.v1.StorageStatus + namedType: com.github.openshift.api.operator.v1.ServiceCAStatus default: {} -- name: com.github.openshift.api.operator.v1.StorageSpec +- name: com.github.openshift.api.operator.v1.ServiceCASpec map: fields: - name: logLevel @@ -3922,18 +3944,14 @@ var schemaYAML = typed.YAMLObject(`types: default: "" - name: observedConfig type: - namedType: __untyped_atomic_ + namedType: RawExtension.runtime.pkg.apimachinery.k8s.io - name: operatorLogLevel type: scalar: string - name: unsupportedConfigOverrides type: - namedType: __untyped_atomic_ - - name: vsphereStorageDriver - type: - scalar: string - default: "" -- name: com.github.openshift.api.operator.v1.StorageStatus + namedType: RawExtension.runtime.pkg.apimachinery.k8s.io +- name: com.github.openshift.api.operator.v1.ServiceCAStatus map: fields: - name: conditions @@ -3968,100 +3986,82 @@ var schemaYAML = typed.YAMLObject(`types: - name: version type: scalar: string -- name: com.github.openshift.api.operator.v1.SyslogLoggingDestinationParameters +- name: com.github.openshift.api.operator.v1.ServiceCatalogAPIServer map: fields: - - name: address + - name: apiVersion type: scalar: string - default: "" - - name: facility + - name: kind type: scalar: string - - name: maxLength - type: - scalar: numeric - - name: port + - name: metadata type: - scalar: numeric - default: 0 -- name: com.github.openshift.api.operator.v1.Theme - map: - fields: - - name: mode + namedType: ObjectMeta.v1.meta.apis.pkg.apimachinery.k8s.io + default: {} + - name: spec type: - scalar: string - default: "" - - name: source + namedType: com.github.openshift.api.operator.v1.ServiceCatalogAPIServerSpec + default: {} + - name: status type: - namedType: com.github.openshift.api.operator.v1.FileReferenceSource + namedType: com.github.openshift.api.operator.v1.ServiceCatalogAPIServerStatus default: {} -- name: com.github.openshift.api.operator.v1.Upstream +- name: com.github.openshift.api.operator.v1.ServiceCatalogAPIServerSpec map: fields: - - name: address + - name: logLevel type: scalar: string - - name: port - type: - scalar: numeric - - name: type + - name: managementState type: scalar: string default: "" -- name: com.github.openshift.api.operator.v1.UpstreamResolvers - map: - fields: - - name: policy + - name: observedConfig type: - scalar: string - - name: protocolStrategy + namedType: RawExtension.runtime.pkg.apimachinery.k8s.io + - name: operatorLogLevel type: scalar: string - default: "" - - name: transportConfig + - name: unsupportedConfigOverrides type: - namedType: com.github.openshift.api.operator.v1.DNSTransportConfig - default: {} - - name: upstreams + namedType: RawExtension.runtime.pkg.apimachinery.k8s.io +- name: com.github.openshift.api.operator.v1.ServiceCatalogAPIServerStatus + map: + fields: + - name: conditions type: list: elementType: - namedType: com.github.openshift.api.operator.v1.Upstream - elementRelationship: atomic -- name: com.github.openshift.api.operator.v1.VSphereCSIDriverConfigSpec - map: - fields: - - name: globalMaxSnapshotsPerBlockVolume + namedType: com.github.openshift.api.operator.v1.OperatorCondition + elementRelationship: associative + keys: + - type + - name: generations type: - scalar: numeric - - name: granularMaxSnapshotsPerBlockVolumeInVSAN + list: + elementType: + namedType: com.github.openshift.api.operator.v1.GenerationStatus + elementRelationship: associative + keys: + - group + - resource + - namespace + - name + - name: latestAvailableRevision type: scalar: numeric - - name: granularMaxSnapshotsPerBlockVolumeInVVOL + - name: observedGeneration type: scalar: numeric - - name: maxAllowedBlockVolumesPerNode + - name: readyReplicas type: scalar: numeric - - name: topologyCategories - type: - list: - elementType: - scalar: string - elementRelationship: atomic -- name: com.github.openshift.api.operator.v1alpha1.BackupJobReference - map: - fields: - - name: name - type: - scalar: string - default: "" - - name: namespace + default: 0 + - name: version type: scalar: string - default: "" -- name: com.github.openshift.api.operator.v1alpha1.ClusterAPI +- name: com.github.openshift.api.operator.v1.ServiceCatalogControllerManager map: fields: - name: apiVersion @@ -4072,190 +4072,149 @@ var schemaYAML = typed.YAMLObject(`types: scalar: string - name: metadata type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta + namedType: ObjectMeta.v1.meta.apis.pkg.apimachinery.k8s.io default: {} - name: spec type: - namedType: com.github.openshift.api.operator.v1alpha1.ClusterAPISpec - - name: status - type: - namedType: com.github.openshift.api.operator.v1alpha1.ClusterAPIStatus + namedType: com.github.openshift.api.operator.v1.ServiceCatalogControllerManagerSpec default: {} -- name: com.github.openshift.api.operator.v1alpha1.ClusterAPIInstallerComponent - map: - fields: - - name: image + - name: status type: - namedType: com.github.openshift.api.operator.v1alpha1.ClusterAPIInstallerComponentImage + namedType: com.github.openshift.api.operator.v1.ServiceCatalogControllerManagerStatus default: {} - - name: type - type: - scalar: string - unions: - - discriminator: type - fields: - - fieldName: image - discriminatorValue: Image -- name: com.github.openshift.api.operator.v1alpha1.ClusterAPIInstallerComponentImage +- name: com.github.openshift.api.operator.v1.ServiceCatalogControllerManagerSpec map: fields: - - name: profile + - name: logLevel type: scalar: string - - name: ref + - name: managementState type: scalar: string -- name: com.github.openshift.api.operator.v1alpha1.ClusterAPIInstallerRevision - map: - fields: - - name: components - type: - list: - elementType: - namedType: com.github.openshift.api.operator.v1alpha1.ClusterAPIInstallerComponent - elementRelationship: atomic - - name: contentID + default: "" + - name: observedConfig type: - scalar: string - - name: name + namedType: RawExtension.runtime.pkg.apimachinery.k8s.io + - name: operatorLogLevel type: scalar: string - - name: revision + - name: unsupportedConfigOverrides type: - scalar: numeric - - name: unmanagedCustomResourceDefinitions + namedType: RawExtension.runtime.pkg.apimachinery.k8s.io +- name: com.github.openshift.api.operator.v1.ServiceCatalogControllerManagerStatus + map: + fields: + - name: conditions type: list: elementType: - scalar: string - elementRelationship: atomic - elementRelationship: atomic -- name: com.github.openshift.api.operator.v1alpha1.ClusterAPISpec - map: - fields: - - name: unmanagedCustomResourceDefinitions + namedType: com.github.openshift.api.operator.v1.OperatorCondition + elementRelationship: associative + keys: + - type + - name: generations type: list: elementType: - scalar: string + namedType: com.github.openshift.api.operator.v1.GenerationStatus elementRelationship: associative -- name: com.github.openshift.api.operator.v1alpha1.ClusterAPIStatus - map: - fields: - - name: currentRevision + keys: + - group + - resource + - namespace + - name + - name: latestAvailableRevision type: - scalar: string - - name: desiredRevision + scalar: numeric + - name: observedGeneration + type: + scalar: numeric + - name: readyReplicas + type: + scalar: numeric + default: 0 + - name: version type: scalar: string - - name: revisions - type: - list: - elementType: - namedType: com.github.openshift.api.operator.v1alpha1.ClusterAPIInstallerRevision - elementRelationship: atomic -- name: com.github.openshift.api.operator.v1alpha1.ClusterVersionOperator +- name: com.github.openshift.api.operator.v1.SimpleMacvlanConfig map: fields: - - name: apiVersion + - name: ipamConfig type: - scalar: string - - name: kind + namedType: com.github.openshift.api.operator.v1.IPAMConfig + - name: master type: scalar: string - - name: metadata - type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta - default: {} - - name: spec - type: - namedType: com.github.openshift.api.operator.v1alpha1.ClusterVersionOperatorSpec - default: {} - - name: status - type: - namedType: com.github.openshift.api.operator.v1alpha1.ClusterVersionOperatorStatus - default: {} -- name: com.github.openshift.api.operator.v1alpha1.ClusterVersionOperatorSpec - map: - fields: - - name: operatorLogLevel + - name: mode type: scalar: string -- name: com.github.openshift.api.operator.v1alpha1.ClusterVersionOperatorStatus - map: - fields: - - name: observedGeneration + - name: mtu type: scalar: numeric -- name: com.github.openshift.api.operator.v1alpha1.EtcdBackup +- name: com.github.openshift.api.operator.v1.StaticIPAMAddresses map: fields: - - name: apiVersion + - name: address type: scalar: string - - name: kind + default: "" + - name: gateway type: scalar: string - - name: metadata +- name: com.github.openshift.api.operator.v1.StaticIPAMConfig + map: + fields: + - name: addresses type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta - default: {} - - name: spec + list: + elementType: + namedType: com.github.openshift.api.operator.v1.StaticIPAMAddresses + elementRelationship: atomic + - name: dns type: - namedType: com.github.openshift.api.operator.v1alpha1.EtcdBackupSpec - default: {} - - name: status + namedType: com.github.openshift.api.operator.v1.StaticIPAMDNS + - name: routes type: - namedType: com.github.openshift.api.operator.v1alpha1.EtcdBackupStatus - default: {} -- name: com.github.openshift.api.operator.v1alpha1.EtcdBackupSpec + list: + elementType: + namedType: com.github.openshift.api.operator.v1.StaticIPAMRoutes + elementRelationship: atomic +- name: com.github.openshift.api.operator.v1.StaticIPAMDNS map: fields: - - name: pvcName + - name: domain type: scalar: string - default: "" -- name: com.github.openshift.api.operator.v1alpha1.EtcdBackupStatus - map: - fields: - - name: backupJob + - name: nameservers type: - namedType: com.github.openshift.api.operator.v1alpha1.BackupJobReference - - name: conditions + list: + elementType: + scalar: string + elementRelationship: atomic + - name: search type: list: elementType: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Condition - elementRelationship: associative - keys: - - type -- name: com.github.openshift.api.operator.v1alpha1.ImageContentSourcePolicy + scalar: string + elementRelationship: atomic +- name: com.github.openshift.api.operator.v1.StaticIPAMRoutes map: fields: - - name: apiVersion + - name: destination type: scalar: string - - name: kind + default: "" + - name: gateway type: scalar: string - - name: metadata - type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta - default: {} - - name: spec - type: - namedType: com.github.openshift.api.operator.v1alpha1.ImageContentSourcePolicySpec - default: {} -- name: com.github.openshift.api.operator.v1alpha1.ImageContentSourcePolicySpec +- name: com.github.openshift.api.operator.v1.StatuspageProvider map: fields: - - name: repositoryDigestMirrors + - name: pageID type: - list: - elementType: - namedType: com.github.openshift.api.operator.v1alpha1.RepositoryDigestMirrors - elementRelationship: atomic -- name: com.github.openshift.api.operator.v1alpha1.OLM + scalar: string + default: "" +- name: com.github.openshift.api.operator.v1.Storage map: fields: - name: apiVersion @@ -4266,17 +4225,17 @@ var schemaYAML = typed.YAMLObject(`types: scalar: string - name: metadata type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta + namedType: ObjectMeta.v1.meta.apis.pkg.apimachinery.k8s.io default: {} - name: spec type: - namedType: com.github.openshift.api.operator.v1alpha1.OLMSpec + namedType: com.github.openshift.api.operator.v1.StorageSpec default: {} - name: status type: - namedType: com.github.openshift.api.operator.v1alpha1.OLMStatus + namedType: com.github.openshift.api.operator.v1.StorageStatus default: {} -- name: com.github.openshift.api.operator.v1alpha1.OLMSpec +- name: com.github.openshift.api.operator.v1.StorageSpec map: fields: - name: logLevel @@ -4288,14 +4247,18 @@ var schemaYAML = typed.YAMLObject(`types: default: "" - name: observedConfig type: - namedType: __untyped_atomic_ + namedType: RawExtension.runtime.pkg.apimachinery.k8s.io - name: operatorLogLevel type: scalar: string - name: unsupportedConfigOverrides type: - namedType: __untyped_atomic_ -- name: com.github.openshift.api.operator.v1alpha1.OLMStatus + namedType: RawExtension.runtime.pkg.apimachinery.k8s.io + - name: vsphereStorageDriver + type: + scalar: string + default: "" +- name: com.github.openshift.api.operator.v1.StorageStatus map: fields: - name: conditions @@ -4330,314 +4293,381 @@ var schemaYAML = typed.YAMLObject(`types: - name: version type: scalar: string -- name: com.github.openshift.api.operator.v1alpha1.RepositoryDigestMirrors +- name: com.github.openshift.api.operator.v1.SyslogLoggingDestinationParameters map: fields: - - name: mirrors - type: - list: - elementType: - scalar: string - elementRelationship: atomic - - name: source + - name: address type: scalar: string default: "" -- name: io.k8s.api.authorization.v1.FieldSelectorAttributes - map: - fields: - - name: rawSelector + - name: facility type: scalar: string - - name: requirements + - name: maxLength type: - list: - elementType: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.FieldSelectorRequirement - elementRelationship: atomic -- name: io.k8s.api.authorization.v1.LabelSelectorAttributes + scalar: numeric + - name: port + type: + scalar: numeric + default: 0 +- name: com.github.openshift.api.operator.v1.Theme map: fields: - - name: rawSelector + - name: mode type: scalar: string - - name: requirements + default: "" + - name: source type: - list: - elementType: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelectorRequirement - elementRelationship: atomic -- name: io.k8s.api.authorization.v1.ResourceAttributes + namedType: com.github.openshift.api.operator.v1.FileReferenceSource + default: {} +- name: com.github.openshift.api.operator.v1.Upstream map: fields: - - name: fieldSelector - type: - namedType: io.k8s.api.authorization.v1.FieldSelectorAttributes - - name: group + - name: address type: scalar: string - - name: labelSelector + - name: port type: - namedType: io.k8s.api.authorization.v1.LabelSelectorAttributes - - name: name + scalar: numeric + - name: type type: scalar: string - - name: namespace + default: "" +- name: com.github.openshift.api.operator.v1.UpstreamResolvers + map: + fields: + - name: policy type: scalar: string - - name: resource + - name: protocolStrategy type: scalar: string - - name: subresource + default: "" + - name: transportConfig type: - scalar: string - - name: verb + namedType: com.github.openshift.api.operator.v1.DNSTransportConfig + default: {} + - name: upstreams type: - scalar: string - - name: version + list: + elementType: + namedType: com.github.openshift.api.operator.v1.Upstream + elementRelationship: atomic +- name: com.github.openshift.api.operator.v1.VSphereCSIDriverConfigSpec + map: + fields: + - name: globalMaxSnapshotsPerBlockVolume type: - scalar: string -- name: io.k8s.api.core.v1.LocalObjectReference + scalar: numeric + - name: granularMaxSnapshotsPerBlockVolumeInVSAN + type: + scalar: numeric + - name: granularMaxSnapshotsPerBlockVolumeInVVOL + type: + scalar: numeric + - name: maxAllowedBlockVolumesPerNode + type: + scalar: numeric + - name: topologyCategories + type: + list: + elementType: + scalar: string + elementRelationship: atomic +- name: com.github.openshift.api.operator.v1alpha1.BackupJobReference map: fields: - name: name type: scalar: string default: "" - elementRelationship: atomic -- name: io.k8s.api.core.v1.Toleration + - name: namespace + type: + scalar: string + default: "" +- name: com.github.openshift.api.operator.v1alpha1.ClusterAPI map: fields: - - name: effect + - name: apiVersion type: scalar: string - - name: key + - name: kind type: scalar: string - - name: operator + - name: metadata type: - scalar: string - - name: tolerationSeconds + namedType: ObjectMeta.v1.meta.apis.pkg.apimachinery.k8s.io + default: {} + - name: spec type: - scalar: numeric - - name: value + namedType: com.github.openshift.api.operator.v1alpha1.ClusterAPISpec + - name: status type: - scalar: string -- name: io.k8s.apimachinery.pkg.apis.meta.v1.Condition + namedType: com.github.openshift.api.operator.v1alpha1.ClusterAPIStatus + default: {} +- name: com.github.openshift.api.operator.v1alpha1.ClusterAPIInstallerComponent map: fields: - - name: lastTransitionTime - type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Time - - name: message - type: - scalar: string - default: "" - - name: observedGeneration + - name: image type: - scalar: numeric - - name: reason + namedType: com.github.openshift.api.operator.v1alpha1.ClusterAPIInstallerComponentImage + default: {} + - name: type type: scalar: string - default: "" - - name: status + unions: + - discriminator: type + fields: + - fieldName: image + discriminatorValue: Image +- name: com.github.openshift.api.operator.v1alpha1.ClusterAPIInstallerComponentImage + map: + fields: + - name: profile type: scalar: string - default: "" - - name: type + - name: ref type: scalar: string - default: "" -- name: io.k8s.apimachinery.pkg.apis.meta.v1.Duration - scalar: string -- name: io.k8s.apimachinery.pkg.apis.meta.v1.FieldSelectorRequirement +- name: com.github.openshift.api.operator.v1alpha1.ClusterAPIInstallerRevision map: fields: - - name: key + - name: components + type: + list: + elementType: + namedType: com.github.openshift.api.operator.v1alpha1.ClusterAPIInstallerComponent + elementRelationship: atomic + - name: contentID type: scalar: string - default: "" - - name: operator + - name: name type: scalar: string - default: "" - - name: values + - name: revision + type: + scalar: numeric + - name: unmanagedCustomResourceDefinitions type: list: elementType: scalar: string elementRelationship: atomic -- name: io.k8s.apimachinery.pkg.apis.meta.v1.FieldsV1 - map: - elementType: - scalar: untyped - list: - elementType: - namedType: __untyped_atomic_ - elementRelationship: atomic - map: - elementType: - namedType: __untyped_deduced_ - elementRelationship: separable -- name: io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector + elementRelationship: atomic +- name: com.github.openshift.api.operator.v1alpha1.ClusterAPISpec map: fields: - - name: matchExpressions + - name: unmanagedCustomResourceDefinitions type: list: - elementType: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelectorRequirement - elementRelationship: atomic - - name: matchLabels - type: - map: elementType: scalar: string - elementRelationship: atomic -- name: io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelectorRequirement + elementRelationship: associative +- name: com.github.openshift.api.operator.v1alpha1.ClusterAPIStatus map: fields: - - name: key + - name: currentRevision type: scalar: string - default: "" - - name: operator + - name: desiredRevision type: scalar: string - default: "" - - name: values + - name: revisions type: list: elementType: - scalar: string + namedType: com.github.openshift.api.operator.v1alpha1.ClusterAPIInstallerRevision elementRelationship: atomic -- name: io.k8s.apimachinery.pkg.apis.meta.v1.ManagedFieldsEntry +- name: com.github.openshift.api.operator.v1alpha1.ClusterVersionOperator map: fields: - name: apiVersion type: scalar: string - - name: fieldsType + - name: kind type: scalar: string - - name: fieldsV1 + - name: metadata type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.FieldsV1 - - name: manager + namedType: ObjectMeta.v1.meta.apis.pkg.apimachinery.k8s.io + default: {} + - name: spec type: - scalar: string - - name: operation + namedType: com.github.openshift.api.operator.v1alpha1.ClusterVersionOperatorSpec + default: {} + - name: status type: - scalar: string - - name: subresource + namedType: com.github.openshift.api.operator.v1alpha1.ClusterVersionOperatorStatus + default: {} +- name: com.github.openshift.api.operator.v1alpha1.ClusterVersionOperatorSpec + map: + fields: + - name: operatorLogLevel type: scalar: string - - name: time +- name: com.github.openshift.api.operator.v1alpha1.ClusterVersionOperatorStatus + map: + fields: + - name: observedGeneration type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Time -- name: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta + scalar: numeric +- name: com.github.openshift.api.operator.v1alpha1.EtcdBackup map: fields: - - name: annotations + - name: apiVersion type: - map: - elementType: - scalar: string - - name: creationTimestamp + scalar: string + - name: kind type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Time - - name: deletionGracePeriodSeconds + scalar: string + - name: metadata type: - scalar: numeric - - name: deletionTimestamp + namedType: ObjectMeta.v1.meta.apis.pkg.apimachinery.k8s.io + default: {} + - name: spec type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Time - - name: finalizers + namedType: com.github.openshift.api.operator.v1alpha1.EtcdBackupSpec + default: {} + - name: status + type: + namedType: com.github.openshift.api.operator.v1alpha1.EtcdBackupStatus + default: {} +- name: com.github.openshift.api.operator.v1alpha1.EtcdBackupSpec + map: + fields: + - name: pvcName + type: + scalar: string + default: "" +- name: com.github.openshift.api.operator.v1alpha1.EtcdBackupStatus + map: + fields: + - name: backupJob + type: + namedType: com.github.openshift.api.operator.v1alpha1.BackupJobReference + - name: conditions type: list: elementType: - scalar: string + namedType: Condition.v1.meta.apis.pkg.apimachinery.k8s.io elementRelationship: associative - - name: generateName + keys: + - type +- name: com.github.openshift.api.operator.v1alpha1.ImageContentSourcePolicy + map: + fields: + - name: apiVersion type: scalar: string - - name: generation + - name: kind type: - scalar: numeric - - name: labels + scalar: string + - name: metadata type: - map: - elementType: - scalar: string - - name: managedFields + namedType: ObjectMeta.v1.meta.apis.pkg.apimachinery.k8s.io + default: {} + - name: spec + type: + namedType: com.github.openshift.api.operator.v1alpha1.ImageContentSourcePolicySpec + default: {} +- name: com.github.openshift.api.operator.v1alpha1.ImageContentSourcePolicySpec + map: + fields: + - name: repositoryDigestMirrors type: list: elementType: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ManagedFieldsEntry + namedType: com.github.openshift.api.operator.v1alpha1.RepositoryDigestMirrors elementRelationship: atomic - - name: name +- name: com.github.openshift.api.operator.v1alpha1.OLM + map: + fields: + - name: apiVersion type: scalar: string - - name: namespace + - name: kind type: scalar: string - - name: ownerReferences + - name: metadata type: - list: - elementType: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference - elementRelationship: associative - keys: - - uid - - name: resourceVersion + namedType: ObjectMeta.v1.meta.apis.pkg.apimachinery.k8s.io + default: {} + - name: spec + type: + namedType: com.github.openshift.api.operator.v1alpha1.OLMSpec + default: {} + - name: status + type: + namedType: com.github.openshift.api.operator.v1alpha1.OLMStatus + default: {} +- name: com.github.openshift.api.operator.v1alpha1.OLMSpec + map: + fields: + - name: logLevel type: scalar: string - - name: selfLink + - name: managementState type: scalar: string - - name: uid + default: "" + - name: observedConfig + type: + namedType: RawExtension.runtime.pkg.apimachinery.k8s.io + - name: operatorLogLevel type: scalar: string -- name: io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference + - name: unsupportedConfigOverrides + type: + namedType: RawExtension.runtime.pkg.apimachinery.k8s.io +- name: com.github.openshift.api.operator.v1alpha1.OLMStatus map: fields: - - name: apiVersion + - name: conditions type: - scalar: string - default: "" - - name: blockOwnerDeletion + list: + elementType: + namedType: com.github.openshift.api.operator.v1.OperatorCondition + elementRelationship: associative + keys: + - type + - name: generations type: - scalar: boolean - - name: controller + list: + elementType: + namedType: com.github.openshift.api.operator.v1.GenerationStatus + elementRelationship: associative + keys: + - group + - resource + - namespace + - name + - name: latestAvailableRevision type: - scalar: boolean - - name: kind + scalar: numeric + - name: observedGeneration type: - scalar: string - default: "" - - name: name + scalar: numeric + - name: readyReplicas + type: + scalar: numeric + default: 0 + - name: version type: scalar: string - default: "" - - name: uid +- name: com.github.openshift.api.operator.v1alpha1.RepositoryDigestMirrors + map: + fields: + - name: mirrors + type: + list: + elementType: + scalar: string + elementRelationship: atomic + - name: source type: scalar: string default: "" - elementRelationship: atomic -- name: io.k8s.apimachinery.pkg.apis.meta.v1.Time - scalar: untyped -- name: io.k8s.apimachinery.pkg.runtime.RawExtension - map: - elementType: - scalar: untyped - list: - elementType: - namedType: __untyped_atomic_ - elementRelationship: atomic - map: - elementType: - namedType: __untyped_deduced_ - elementRelationship: separable - name: __untyped_atomic_ scalar: untyped list: diff --git a/vendor/github.com/openshift/client-go/operator/applyconfigurations/operator/v1/bgpmanagedconfig.go b/vendor/github.com/openshift/client-go/operator/applyconfigurations/operator/v1/bgpmanagedconfig.go new file mode 100644 index 000000000..071ac3fc2 --- /dev/null +++ b/vendor/github.com/openshift/client-go/operator/applyconfigurations/operator/v1/bgpmanagedconfig.go @@ -0,0 +1,46 @@ +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v1 + +import ( + operatorv1 "github.com/openshift/api/operator/v1" +) + +// BGPManagedConfigApplyConfiguration represents a declarative configuration of the BGPManagedConfig type for use +// with apply. +// +// BGPManagedConfig contains configuration options for BGP when routing is "Managed". +type BGPManagedConfigApplyConfiguration struct { + // asNumber is the 2-byte or 4-byte Autonomous System Number (ASN) + // to be used in the generated FRR configuration. + // Valid values are 1 to 4294967295. + // When omitted, this defaults to 64512. + ASNumber *int64 `json:"asNumber,omitempty"` + // bgpTopology defines the BGP topology to be used. + // Allowed values are "FullMesh". + // When set to "FullMesh", every node peers directly with every other node via BGP. + // This field is required when BGPManagedConfig is specified. + BGPTopology *operatorv1.BGPTopology `json:"bgpTopology,omitempty"` +} + +// BGPManagedConfigApplyConfiguration constructs a declarative configuration of the BGPManagedConfig type for use with +// apply. +func BGPManagedConfig() *BGPManagedConfigApplyConfiguration { + return &BGPManagedConfigApplyConfiguration{} +} + +// WithASNumber sets the ASNumber field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ASNumber field is set to the value of the last call. +func (b *BGPManagedConfigApplyConfiguration) WithASNumber(value int64) *BGPManagedConfigApplyConfiguration { + b.ASNumber = &value + return b +} + +// WithBGPTopology sets the BGPTopology field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the BGPTopology field is set to the value of the last call. +func (b *BGPManagedConfigApplyConfiguration) WithBGPTopology(value operatorv1.BGPTopology) *BGPManagedConfigApplyConfiguration { + b.BGPTopology = &value + return b +} diff --git a/vendor/github.com/openshift/client-go/operator/applyconfigurations/operator/v1/nooverlayconfig.go b/vendor/github.com/openshift/client-go/operator/applyconfigurations/operator/v1/nooverlayconfig.go new file mode 100644 index 000000000..0feb3009e --- /dev/null +++ b/vendor/github.com/openshift/client-go/operator/applyconfigurations/operator/v1/nooverlayconfig.go @@ -0,0 +1,50 @@ +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v1 + +import ( + operatorv1 "github.com/openshift/api/operator/v1" +) + +// NoOverlayConfigApplyConfiguration represents a declarative configuration of the NoOverlayConfig type for use +// with apply. +// +// NoOverlayConfig contains configuration options for networks operating in no-overlay mode. +type NoOverlayConfigApplyConfiguration struct { + // outboundSNAT defines the SNAT behavior for outbound traffic from pods. + // Allowed values are "Enabled" and "Disabled". + // When set to "Enabled", SNAT is performed on outbound traffic from pods. + // When set to "Disabled", SNAT is not performed and pod IPs are preserved in outbound traffic. + // This field is required when the network operates in no-overlay mode. + // This field can be set to any value at installation time and can be changed afterwards. + OutboundSNAT *operatorv1.SNATOption `json:"outboundSNAT,omitempty"` + // routing specifies whether the pod network routing is managed by OVN-Kubernetes or users. + // Allowed values are "Managed" and "Unmanaged". + // When set to "Managed", OVN-Kubernetes manages the pod network routing configuration through BGP. + // When set to "Unmanaged", users are responsible for configuring the pod network routing. + // This field is required when the network operates in no-overlay mode. + // This field is immutable once set. + Routing *operatorv1.RoutingOption `json:"routing,omitempty"` +} + +// NoOverlayConfigApplyConfiguration constructs a declarative configuration of the NoOverlayConfig type for use with +// apply. +func NoOverlayConfig() *NoOverlayConfigApplyConfiguration { + return &NoOverlayConfigApplyConfiguration{} +} + +// WithOutboundSNAT sets the OutboundSNAT field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the OutboundSNAT field is set to the value of the last call. +func (b *NoOverlayConfigApplyConfiguration) WithOutboundSNAT(value operatorv1.SNATOption) *NoOverlayConfigApplyConfiguration { + b.OutboundSNAT = &value + return b +} + +// WithRouting sets the Routing field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Routing field is set to the value of the last call. +func (b *NoOverlayConfigApplyConfiguration) WithRouting(value operatorv1.RoutingOption) *NoOverlayConfigApplyConfiguration { + b.Routing = &value + return b +} diff --git a/vendor/github.com/openshift/client-go/operator/applyconfigurations/operator/v1/ovnkubernetesconfig.go b/vendor/github.com/openshift/client-go/operator/applyconfigurations/operator/v1/ovnkubernetesconfig.go index 6a2d86442..ead45f83b 100644 --- a/vendor/github.com/openshift/client-go/operator/applyconfigurations/operator/v1/ovnkubernetesconfig.go +++ b/vendor/github.com/openshift/client-go/operator/applyconfigurations/operator/v1/ovnkubernetesconfig.go @@ -62,6 +62,27 @@ type OVNKubernetesConfigApplyConfiguration struct { // reasonable defaults. These defaults are subject to change over time. The // current default is "Disabled". RouteAdvertisements *operatorv1.RouteAdvertisementsEnablement `json:"routeAdvertisements,omitempty"` + // transport sets the transport mode for pods on the default network. + // Allowed values are "NoOverlay" and "Geneve". + // "NoOverlay" avoids tunnel encapsulation, routing pod traffic directly between nodes. + // "Geneve" encapsulates pod traffic using Geneve tunnels between nodes. + // When omitted, this means the user has no opinion and the platform chooses + // a reasonable default which is subject to change over time. + // The current default is "Geneve". + // "NoOverlay" can only be set at installation time and cannot be changed afterwards. + // "Geneve" may be set explicitly at any time to lock in the current default. + Transport *operatorv1.TransportOption `json:"transport,omitempty"` + // noOverlayConfig contains configuration for no-overlay mode. + // This configuration applies to the default network only. + // It is required when transport is "NoOverlay". + // When omitted, this means the user does not configure no-overlay mode options. + NoOverlayConfig *NoOverlayConfigApplyConfiguration `json:"noOverlayConfig,omitempty"` + // bgpManagedConfig configures the BGP properties for networks (default network or CUDNs) + // in no-overlay mode that specify routing="Managed" in their noOverlayConfig. + // It is required when noOverlayConfig.routing is set to "Managed". + // When omitted, this means the user does not configure BGP for managed routing. + // This field can be set at installation time or on day 2, and can be modified at any time. + BGPManagedConfig *BGPManagedConfigApplyConfiguration `json:"bgpManagedConfig,omitempty"` } // OVNKubernetesConfigApplyConfiguration constructs a declarative configuration of the OVNKubernetesConfig type for use with @@ -165,3 +186,27 @@ func (b *OVNKubernetesConfigApplyConfiguration) WithRouteAdvertisements(value op b.RouteAdvertisements = &value return b } + +// WithTransport sets the Transport field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Transport field is set to the value of the last call. +func (b *OVNKubernetesConfigApplyConfiguration) WithTransport(value operatorv1.TransportOption) *OVNKubernetesConfigApplyConfiguration { + b.Transport = &value + return b +} + +// WithNoOverlayConfig sets the NoOverlayConfig field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the NoOverlayConfig field is set to the value of the last call. +func (b *OVNKubernetesConfigApplyConfiguration) WithNoOverlayConfig(value *NoOverlayConfigApplyConfiguration) *OVNKubernetesConfigApplyConfiguration { + b.NoOverlayConfig = value + return b +} + +// WithBGPManagedConfig sets the BGPManagedConfig field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the BGPManagedConfig field is set to the value of the last call. +func (b *OVNKubernetesConfigApplyConfiguration) WithBGPManagedConfig(value *BGPManagedConfigApplyConfiguration) *OVNKubernetesConfigApplyConfiguration { + b.BGPManagedConfig = value + return b +} diff --git a/vendor/github.com/openshift/client-go/project/applyconfigurations/internal/internal.go b/vendor/github.com/openshift/client-go/project/applyconfigurations/internal/internal.go index 1683cfe63..991f27835 100644 --- a/vendor/github.com/openshift/client-go/project/applyconfigurations/internal/internal.go +++ b/vendor/github.com/openshift/client-go/project/applyconfigurations/internal/internal.go @@ -23,75 +23,48 @@ func Parser() *typed.Parser { var parserOnce sync.Once var parser *typed.Parser var schemaYAML = typed.YAMLObject(`types: -- name: com.github.openshift.api.project.v1.Project +- name: FieldsV1.v1.meta.apis.pkg.apimachinery.k8s.io + map: + elementType: + scalar: untyped + list: + elementType: + namedType: __untyped_atomic_ + elementRelationship: atomic + map: + elementType: + namedType: __untyped_deduced_ + elementRelationship: separable +- name: ManagedFieldsEntry.v1.meta.apis.pkg.apimachinery.k8s.io map: fields: - name: apiVersion type: scalar: string - - name: kind + - name: fieldsType type: scalar: string - - name: metadata - type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta - default: {} - - name: spec - type: - namedType: com.github.openshift.api.project.v1.ProjectSpec - default: {} - - name: status - type: - namedType: com.github.openshift.api.project.v1.ProjectStatus - default: {} -- name: com.github.openshift.api.project.v1.ProjectRequest - map: - fields: - - name: apiVersion + - name: fieldsV1 type: - scalar: string - - name: description + namedType: FieldsV1.v1.meta.apis.pkg.apimachinery.k8s.io + - name: manager type: scalar: string - - name: displayName + - name: operation type: scalar: string - - name: kind + - name: subresource type: scalar: string - - name: metadata - type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta - default: {} -- name: com.github.openshift.api.project.v1.ProjectSpec - map: - fields: - - name: finalizers - type: - list: - elementType: - scalar: string - elementRelationship: atomic -- name: com.github.openshift.api.project.v1.ProjectStatus - map: - fields: - - name: conditions - type: - list: - elementType: - namedType: io.k8s.api.core.v1.NamespaceCondition - elementRelationship: associative - keys: - - type - - name: phase + - name: time type: - scalar: string -- name: io.k8s.api.core.v1.NamespaceCondition + namedType: Time.v1.meta.apis.pkg.apimachinery.k8s.io +- name: NamespaceCondition.v1.core.api.k8s.io map: fields: - name: lastTransitionTime type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Time + namedType: Time.v1.meta.apis.pkg.apimachinery.k8s.io - name: message type: scalar: string @@ -106,43 +79,7 @@ var schemaYAML = typed.YAMLObject(`types: type: scalar: string default: "" -- name: io.k8s.apimachinery.pkg.apis.meta.v1.FieldsV1 - map: - elementType: - scalar: untyped - list: - elementType: - namedType: __untyped_atomic_ - elementRelationship: atomic - map: - elementType: - namedType: __untyped_deduced_ - elementRelationship: separable -- name: io.k8s.apimachinery.pkg.apis.meta.v1.ManagedFieldsEntry - map: - fields: - - name: apiVersion - type: - scalar: string - - name: fieldsType - type: - scalar: string - - name: fieldsV1 - type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.FieldsV1 - - name: manager - type: - scalar: string - - name: operation - type: - scalar: string - - name: subresource - type: - scalar: string - - name: time - type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Time -- name: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta +- name: ObjectMeta.v1.meta.apis.pkg.apimachinery.k8s.io map: fields: - name: annotations @@ -152,13 +89,13 @@ var schemaYAML = typed.YAMLObject(`types: scalar: string - name: creationTimestamp type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Time + namedType: Time.v1.meta.apis.pkg.apimachinery.k8s.io - name: deletionGracePeriodSeconds type: scalar: numeric - name: deletionTimestamp type: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Time + namedType: Time.v1.meta.apis.pkg.apimachinery.k8s.io - name: finalizers type: list: @@ -180,7 +117,7 @@ var schemaYAML = typed.YAMLObject(`types: type: list: elementType: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ManagedFieldsEntry + namedType: ManagedFieldsEntry.v1.meta.apis.pkg.apimachinery.k8s.io elementRelationship: atomic - name: name type: @@ -192,7 +129,7 @@ var schemaYAML = typed.YAMLObject(`types: type: list: elementType: - namedType: io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference + namedType: OwnerReference.v1.meta.apis.pkg.apimachinery.k8s.io elementRelationship: associative keys: - uid @@ -205,7 +142,7 @@ var schemaYAML = typed.YAMLObject(`types: - name: uid type: scalar: string -- name: io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference +- name: OwnerReference.v1.meta.apis.pkg.apimachinery.k8s.io map: fields: - name: apiVersion @@ -231,8 +168,71 @@ var schemaYAML = typed.YAMLObject(`types: scalar: string default: "" elementRelationship: atomic -- name: io.k8s.apimachinery.pkg.apis.meta.v1.Time +- name: Time.v1.meta.apis.pkg.apimachinery.k8s.io scalar: untyped +- name: com.github.openshift.api.project.v1.Project + map: + fields: + - name: apiVersion + type: + scalar: string + - name: kind + type: + scalar: string + - name: metadata + type: + namedType: ObjectMeta.v1.meta.apis.pkg.apimachinery.k8s.io + default: {} + - name: spec + type: + namedType: com.github.openshift.api.project.v1.ProjectSpec + default: {} + - name: status + type: + namedType: com.github.openshift.api.project.v1.ProjectStatus + default: {} +- name: com.github.openshift.api.project.v1.ProjectRequest + map: + fields: + - name: apiVersion + type: + scalar: string + - name: description + type: + scalar: string + - name: displayName + type: + scalar: string + - name: kind + type: + scalar: string + - name: metadata + type: + namedType: ObjectMeta.v1.meta.apis.pkg.apimachinery.k8s.io + default: {} +- name: com.github.openshift.api.project.v1.ProjectSpec + map: + fields: + - name: finalizers + type: + list: + elementType: + scalar: string + elementRelationship: atomic +- name: com.github.openshift.api.project.v1.ProjectStatus + map: + fields: + - name: conditions + type: + list: + elementType: + namedType: NamespaceCondition.v1.core.api.k8s.io + elementRelationship: associative + keys: + - type + - name: phase + type: + scalar: string - name: __untyped_atomic_ scalar: untyped list: diff --git a/vendor/modules.txt b/vendor/modules.txt index e0efb5c46..8c23e0a63 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -329,7 +329,7 @@ github.com/opencontainers/go-digest ## explicit; go 1.18 github.com/opencontainers/image-spec/specs-go github.com/opencontainers/image-spec/specs-go/v1 -# github.com/openshift/api v0.0.0-20260311143357-f6ee4c095675 +# github.com/openshift/api v0.0.0-20260318185450-1f2fa3f09f4e ## explicit; go 1.25.0 github.com/openshift/api/config/v1 github.com/openshift/api/config/v1alpha1 @@ -337,7 +337,7 @@ github.com/openshift/api/config/v1alpha2 github.com/openshift/api/operator/v1 github.com/openshift/api/operator/v1alpha1 github.com/openshift/api/project/v1 -# github.com/openshift/client-go v0.0.0-20260306160707-3935d929fc7d +# github.com/openshift/client-go v0.0.0-20260320040014-4b5fc2cdad98 ## explicit; go 1.25.0 github.com/openshift/client-go/config/applyconfigurations/config/v1 github.com/openshift/client-go/config/applyconfigurations/internal