SyncTarget
SyncTarget CRD schema reference (group workload.kcp.io)
Version v1alpha1
Properties
.apiVersion
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
.kind
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
.metadata
.metadata.name
.spec
Spec holds the desired state.
.spec.cells
Cells is a set of labels to identify the cells the SyncTarget belongs to. SyncTargets with the same cells run as they are in the same physical cluster. Each key/value pair in the cells should be added and updated by service providers (i.e. a network provider updates one key/value, while the storage provider updates another.)
.spec.evictAfter
EvictAfter controls cluster schedulability of new and existing workloads. After the EvictAfter time, any workload scheduled to the cluster will be unassigned from the cluster. By default, workloads scheduled to the cluster are not evicted.
.spec.supportedAPIExports
SupportedAPIExports defines a set of APIExports supposed to be supported by this SyncTarget. The SyncTarget will be selected to deploy the workload only when the resource schema on the SyncTarget is compatible with the resource schema included in the exports. If it is not set, the kubernetes export in the same workspace will be used by default.
.spec.supportedAPIExports[*]
APIExportReference provides the fields necessary to resolve an APIExport.
.spec.supportedAPIExports[*].export
export is the name of the APIExport.
.spec.supportedAPIExports[*].path
path is the fully-qualified path to the workspace containing the APIExport. If it is empty, the current workspace is assumed.
.spec.unschedulable
Unschedulable controls cluster schedulability of new workloads. By default, cluster is schedulable.
.status
Status communicates the observed state.
.status.allocatable
Allocatable represents the resources that are available for scheduling.
.status.capacity
Capacity represents the total resources of the cluster.
.status.conditions
Current processing state of the SyncTarget.
.status.conditions[*]
Condition defines an observation of a object operational state.
.status.conditions[*].lastTransitionTime
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.
.status.conditions[*].message
A human readable message indicating details about the transition. This field may be empty.
.status.conditions[*].reason
The reason for the condition’s last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty.
.status.conditions[*].severity
Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False.
.status.conditions[*].status
Status of the condition, one of True, False, Unknown.
.status.conditions[*].type
Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important.
.status.lastSyncerHeartbeatTime
A timestamp indicating when the syncer last reported status.
.status.syncedResources
SyncedResources represents the resources that the syncer of the SyncTarget can sync. It MUST be updated by kcp server.
.status.syncedResources[*]
.status.syncedResources[*].group
group is the name of an API group. For core groups this is the empty string ‘“”’.
.status.syncedResources[*].identityHash
identityHash is the identity for a given APIExport that the APIResourceSchema belongs to. The hash can be found on APIExport and APIResourceSchema’s status. It will be empty for core types.
.status.syncedResources[*].resource
resource is the name of the resource. Note: it is worth noting that you can not ask for permissions for resource provided by a CRD not provided by an api export.
.status.syncedResources[*].state
state indicate whether the resources schema is compatible to the SyncTarget. It must be updated by syncer after checking the API compatibility on SyncTarget.
.status.syncedResources[*].versions
versions are the resource versions the syncer can choose to sync depending on availability on the downstream cluster. Conversion to the storage version, if necessary, will be done on the kcp side. The versions are ordered by precedence and the first version compatible is preferred by syncer.
.status.syncedResources[*].versions[*]
.status.virtualWorkspaces
VirtualWorkspaces contains all virtual workspace URLs.
.status.virtualWorkspaces[*]
.status.virtualWorkspaces[*].syncerURL
SyncerURL is the URL of the syncer virtual workspace.
.status.virtualWorkspaces[*].upsyncerURL
UpsyncerURL is the URL of the upsyncer virtual workspace.