Files
open-cluster-management/manifests/cluster-manager/hub/crds/0000_00_multicluster.x-k8s.io_clusterprofiles.crd.yaml
Jian Qiu 46de05b285 Upgrade clusterprofile API (#1316)
Signed-off-by: Jian Qiu <jqiu@redhat.com>
2026-01-07 08:56:35 +00:00

350 lines
19 KiB
YAML

---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.17.3
name: clusterprofiles.multicluster.x-k8s.io
spec:
group: multicluster.x-k8s.io
names:
kind: ClusterProfile
listKind: ClusterProfileList
plural: clusterprofiles
singular: clusterprofile
scope: Namespaced
versions:
- name: v1alpha1
schema:
openAPIV3Schema:
description: ClusterProfile represents a single cluster in a multi-cluster
deployment.
properties:
apiVersion:
description: |-
APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
type: string
kind:
description: |-
Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
type: string
metadata:
type: object
spec:
description: ClusterProfileSpec defines the desired state of ClusterProfile.
properties:
clusterManager:
description: ClusterManager defines which cluster manager owns this
ClusterProfile resource
properties:
name:
description: Name defines the name of the cluster manager
type: string
required:
- name
type: object
x-kubernetes-validations:
- message: ClusterManager is immutable
rule: self == oldSelf
displayName:
description: DisplayName defines a human-readable name of the ClusterProfile
type: string
required:
- clusterManager
type: object
status:
description: ClusterProfileStatus defines the observed state of ClusterProfile.
properties:
accessProviders:
description: |-
AccessProviders is a list of cluster access providers that can provide access
information for clusters.
items:
description: |-
AccessProvider defines how to access the cluster.
It contains the name of the provider name and the cluster connection details.
The name is used to identify different access info types, such as "kubeconfig" or "oidc".
The Cluster field contains the actual cluster connection details, such as server address,
certificate authority data, and authentication information.
properties:
cluster:
description: Cluster contains information about how to communicate
with a kubernetes cluster
properties:
certificate-authority:
description: CertificateAuthority is the path to a cert
file for the certificate authority.
type: string
certificate-authority-data:
description: CertificateAuthorityData contains PEM-encoded
certificate authority certificates. Overrides CertificateAuthority
format: byte
type: string
disable-compression:
description: |-
DisableCompression allows client to opt-out of response compression for all requests to the server. This is useful
to speed up requests (specifically lists) when client-server network bandwidth is ample, by saving time on
compression (server-side) and decompression (client-side): https://github.com/kubernetes/kubernetes/issues/112296.
type: boolean
extensions:
description: Extensions holds additional information. This
is useful for extenders so that reads and writes don't
clobber unknown fields
items:
description: NamedExtension relates nicknames to extension
information
properties:
extension:
description: Extension holds the extension information
type: object
x-kubernetes-preserve-unknown-fields: true
name:
description: Name is the nickname for this Extension
type: string
required:
- extension
- name
type: object
type: array
insecure-skip-tls-verify:
description: InsecureSkipTLSVerify skips the validity check
for the server's certificate. This will make your HTTPS
connections insecure.
type: boolean
proxy-url:
description: |-
ProxyURL is the URL to the proxy to be used for all requests made by this
client. URLs with "http", "https", and "socks5" schemes are supported. If
this configuration is not provided or the empty string, the client
attempts to construct a proxy configuration from http_proxy and
https_proxy environment variables. If these environment variables are not
set, the client does not attempt to proxy requests.
socks5 proxying does not currently support spdy streaming endpoints (exec,
attach, port forward).
type: string
server:
description: Server is the address of the kubernetes cluster
(https://hostname:port).
type: string
tls-server-name:
description: TLSServerName is used to check server certificate.
If TLSServerName is empty, the hostname used to contact
the server is used.
type: string
required:
- server
type: object
name:
type: string
required:
- name
type: object
type: array
conditions:
description: Conditions contains the different condition statuses
for this cluster.
items:
description: Condition contains details for one aspect of the current
state of this API Resource.
properties:
lastTransitionTime:
description: |-
lastTransitionTime is the last time the condition transitioned from one status to another.
This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
format: date-time
type: string
message:
description: |-
message is a human readable message indicating details about the transition.
This may be an empty string.
maxLength: 32768
type: string
observedGeneration:
description: |-
observedGeneration represents the .metadata.generation that the condition was set based upon.
For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
with respect to the current state of the instance.
format: int64
minimum: 0
type: integer
reason:
description: |-
reason contains a programmatic identifier indicating the reason for the condition's last transition.
Producers of specific condition types may define expected values and meanings for this field,
and whether the values are considered a guaranteed API.
The value should be a CamelCase string.
This field may not be empty.
maxLength: 1024
minLength: 1
pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
type: string
status:
description: status of the condition, one of True, False, Unknown.
enum:
- "True"
- "False"
- Unknown
type: string
type:
description: type of condition in CamelCase or in foo.example.com/CamelCase.
maxLength: 316
pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
type: string
required:
- lastTransitionTime
- message
- reason
- status
- type
type: object
type: array
credentialProviders:
description: |-
CredentialProviders is a list of cluster access providers that can provide access
information for clusters.
Deprecated: Use AccessProviders instead. If both AccessProviders and CredentialProviders are provided, both are used. In case they specify a provider with the same name, the one in AccessProviders is preferred.
items:
description: |-
AccessProvider defines how to access the cluster.
It contains the name of the provider name and the cluster connection details.
The name is used to identify different access info types, such as "kubeconfig" or "oidc".
The Cluster field contains the actual cluster connection details, such as server address,
certificate authority data, and authentication information.
properties:
cluster:
description: Cluster contains information about how to communicate
with a kubernetes cluster
properties:
certificate-authority:
description: CertificateAuthority is the path to a cert
file for the certificate authority.
type: string
certificate-authority-data:
description: CertificateAuthorityData contains PEM-encoded
certificate authority certificates. Overrides CertificateAuthority
format: byte
type: string
disable-compression:
description: |-
DisableCompression allows client to opt-out of response compression for all requests to the server. This is useful
to speed up requests (specifically lists) when client-server network bandwidth is ample, by saving time on
compression (server-side) and decompression (client-side): https://github.com/kubernetes/kubernetes/issues/112296.
type: boolean
extensions:
description: Extensions holds additional information. This
is useful for extenders so that reads and writes don't
clobber unknown fields
items:
description: NamedExtension relates nicknames to extension
information
properties:
extension:
description: Extension holds the extension information
type: object
x-kubernetes-preserve-unknown-fields: true
name:
description: Name is the nickname for this Extension
type: string
required:
- extension
- name
type: object
type: array
insecure-skip-tls-verify:
description: InsecureSkipTLSVerify skips the validity check
for the server's certificate. This will make your HTTPS
connections insecure.
type: boolean
proxy-url:
description: |-
ProxyURL is the URL to the proxy to be used for all requests made by this
client. URLs with "http", "https", and "socks5" schemes are supported. If
this configuration is not provided or the empty string, the client
attempts to construct a proxy configuration from http_proxy and
https_proxy environment variables. If these environment variables are not
set, the client does not attempt to proxy requests.
socks5 proxying does not currently support spdy streaming endpoints (exec,
attach, port forward).
type: string
server:
description: Server is the address of the kubernetes cluster
(https://hostname:port).
type: string
tls-server-name:
description: TLSServerName is used to check server certificate.
If TLSServerName is empty, the hostname used to contact
the server is used.
type: string
required:
- server
type: object
name:
type: string
required:
- name
type: object
type: array
properties:
description: |-
Properties defines cluster characteristics through a list of Property objects.
Each Property can be one of:
1. A ClusterProperty resource (as defined in KEP-2149)
2. Custom information from cluster manager implementations
Property names support both:
- Standard names from ClusterProperty resources
- Custom names defined by cluster managers
items:
description: |-
Property defines the data structure to represent a property of a cluster.
It contains a name/value pair and the last observed time of the property on the cluster.
This property can store various configurable details and metrics of a cluster,
which may include information such as the entry point of the cluster, types of nodes, location, etc. according to KEP 4322.
properties:
lastObservedTime:
description: |-
LastObservedTime is the last time the property was observed on the corresponding cluster.
The value is the timestamp when the property was observed not the time when the property was updated in the cluster-profile.
format: date-time
type: string
name:
description: |-
Name is the name of a property resource on cluster. It's a well-known
or customized name to identify the property.
maxLength: 253
minLength: 1
type: string
value:
description: Value is a property-dependent string
maxLength: 1024
minLength: 1
type: string
required:
- name
- value
type: object
type: array
version:
description: Version defines the version information of the cluster.
properties:
kubernetes:
description: Kubernetes is the kubernetes version of the cluster.
type: string
type: object
type: object
required:
- spec
type: object
served: true
storage: true
subresources:
status: {}