Skip to content

Kubernetes API reference

Generated at build time from the checked-in CRD OpenAPI schemas. Do not edit this page directly. API group: replica.nimeshbuilds.dev/v1alpha1.

Use kubectl explain clusterreplica.spec --recursive, kubectl explain replicagrant.spec --recursive, kubectl explain replicaaccess.spec --recursive, kubectl explain replicamirror.spec --recursive, kubectl explain replicamirrorrun.spec --recursive, or kubectl explain replicaexperiment.spec --recursive against an installed cluster. Required means required within its containing object, not that an optional parent must exist.

The schema is only one validation layer. Read grants, selection, access, mirrors, chaos, PostgreSQL, and compatibility for controller-enforced policy and lifecycle rules.

ClusterReplica

Scope: Namespaced. Plural: clusterreplicas. CRD source.

Version: v1alpha1. Standard Kubernetes apiVersion, kind, and metadata accompany the fields below.

ClusterReplica spec

Field Type Required Default Description and validation
spec object Yes — ClusterReplicaSpec describes one immutable, administrator-granted replica. Create a new request to change its immutable runtime or lifetime. spec is immutable; create a new ClusterReplica (self == oldSelf)
spec.approval string No "Automatic" Approval controls whether a captured plan needs an explicit revision approval. enum: ["Automatic", "Manual"]
spec.cleanupPolicy string Yes — CleanupPolicy selects the legacy Helm-only lifecycle or full owned-resource cleanup. enum: ["HelmReleaseOnly", "DeleteOwned"]
spec.grantRef string No — GrantRef delegates source capabilities to this destination namespace.
spec.profile string Yes — Profile selects an exact, experimental runtime configuration. No profile is certified yet. enum: ["vcluster-0.37.1-lab", "vcluster-0.37.1-persistent"]
spec.replication object No — See the feature guides for semantic behavior.
spec.replication.checks array No — Additional readiness checks for custom resources.
spec.replication.checks[] object No — ReadinessCheck selects the original source identity and evaluates its live guest counterpart.
spec.replication.checks[].apiVersion string Yes — See the feature guides for semantic behavior.
spec.replication.checks[].condition string No — Use either a condition or a dot-separated status field and expected value.
spec.replication.checks[].equals string No — See the feature guides for semantic behavior.
spec.replication.checks[].field string No — See the feature guides for semantic behavior.
spec.replication.checks[].kind string Yes — See the feature guides for semantic behavior.
spec.replication.checks[].name string Yes — See the feature guides for semantic behavior.
spec.replication.checks[].namespace string No — See the feature guides for semantic behavior.
spec.replication.data string No "None" EmptyVolumes creates fresh storage; it does not copy source data. enum: ["None", "EmptyVolumes"]
spec.replication.databases array No — maxItems: 4
spec.replication.databases[] object No — DatabaseCopy requests one fresh logical snapshot of an explicitly granted database.
spec.replication.databases[].grant string Yes — See the feature guides for semantic behavior.
spec.replication.databases[].name string Yes — Name becomes the application Service and credential Secret name.
spec.replication.databases[].namespace string Yes — Namespace is the mapped guest application namespace, not a source namespace.
spec.replication.exclude array No — See the feature guides for semantic behavior.
spec.replication.exclude[] object No — See the feature guides for semantic behavior.
spec.replication.exclude[].groups array No — See the feature guides for semantic behavior.
spec.replication.exclude[].groups[] string No — See the feature guides for semantic behavior.
spec.replication.exclude[].kinds array No — See the feature guides for semantic behavior.
spec.replication.exclude[].kinds[] string No — See the feature guides for semantic behavior.
spec.replication.exclude[].labelSelector object No — A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.
spec.replication.exclude[].labelSelector.matchExpressions array No — matchExpressions is a list of label selector requirements. The requirements are ANDed.
spec.replication.exclude[].labelSelector.matchExpressions[] object No — A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
spec.replication.exclude[].labelSelector.matchExpressions[].key string Yes — key is the label key that the selector applies to.
spec.replication.exclude[].labelSelector.matchExpressions[].operator string Yes — operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
spec.replication.exclude[].labelSelector.matchExpressions[].values array No — values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
spec.replication.exclude[].labelSelector.matchExpressions[].values[] string No — See the feature guides for semantic behavior.
spec.replication.exclude[].labelSelector.matchLabels object No — matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
spec.replication.exclude[].labelSelector.matchLabels.{key} string No — See the feature guides for semantic behavior.
spec.replication.exclude[].names array No — See the feature guides for semantic behavior.
spec.replication.exclude[].names[] string No — See the feature guides for semantic behavior.
spec.replication.exclude[].namespaces array No — See the feature guides for semantic behavior.
spec.replication.exclude[].namespaces[] string No — See the feature guides for semantic behavior.
spec.replication.helmOverrides array No — See the feature guides for semantic behavior.
spec.replication.helmOverrides[] object No — See the feature guides for semantic behavior.
spec.replication.helmOverrides[].name string Yes — See the feature guides for semantic behavior.
spec.replication.helmOverrides[].namespace string Yes — See the feature guides for semantic behavior.
spec.replication.helmOverrides[].values any (arbitrary JSON) Yes — See the feature guides for semantic behavior.
spec.replication.helmReleases array No — See the feature guides for semantic behavior.
spec.replication.helmReleases[] object No — See the feature guides for semantic behavior.
spec.replication.helmReleases[].name string Yes — See the feature guides for semantic behavior.
spec.replication.helmReleases[].namespace string Yes — See the feature guides for semantic behavior.
spec.replication.include array No — See the feature guides for semantic behavior.
spec.replication.include[] object No — See the feature guides for semantic behavior.
spec.replication.include[].groups array No — See the feature guides for semantic behavior.
spec.replication.include[].groups[] string No — See the feature guides for semantic behavior.
spec.replication.include[].kinds array No — See the feature guides for semantic behavior.
spec.replication.include[].kinds[] string No — See the feature guides for semantic behavior.
spec.replication.include[].labelSelector object No — A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.
spec.replication.include[].labelSelector.matchExpressions array No — matchExpressions is a list of label selector requirements. The requirements are ANDed.
spec.replication.include[].labelSelector.matchExpressions[] object No — A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
spec.replication.include[].labelSelector.matchExpressions[].key string Yes — key is the label key that the selector applies to.
spec.replication.include[].labelSelector.matchExpressions[].operator string Yes — operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
spec.replication.include[].labelSelector.matchExpressions[].values array No — values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
spec.replication.include[].labelSelector.matchExpressions[].values[] string No — See the feature guides for semantic behavior.
spec.replication.include[].labelSelector.matchLabels object No — matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
spec.replication.include[].labelSelector.matchLabels.{key} string No — See the feature guides for semantic behavior.
spec.replication.include[].names array No — See the feature guides for semantic behavior.
spec.replication.include[].names[] string No — See the feature guides for semantic behavior.
spec.replication.include[].namespaces array No — See the feature guides for semantic behavior.
spec.replication.include[].namespaces[] string No — See the feature guides for semantic behavior.
spec.replication.namespaceMap object No — See the feature guides for semantic behavior.
spec.replication.namespaceMap.{key} string No — See the feature guides for semantic behavior.
spec.replication.namespaces array No — Empty means all source namespaces explicitly delegated by the grant.
spec.replication.namespaces[] string No — See the feature guides for semantic behavior.
spec.replication.patches array No — See the feature guides for semantic behavior.
spec.replication.patches[] object No — ObjectPatch selects the original source identity and applies a JSON merge patch.
spec.replication.patches[].apiVersion string Yes — See the feature guides for semantic behavior.
spec.replication.patches[].kind string Yes — See the feature guides for semantic behavior.
spec.replication.patches[].name string Yes — See the feature guides for semantic behavior.
spec.replication.patches[].namespace string No — See the feature guides for semantic behavior.
spec.replication.patches[].patch any (arbitrary JSON) Yes — See the feature guides for semantic behavior.
spec.replication.secrets string No "None" enum: ["None", "Snapshot", "Follow"]
spec.replication.storageClassMap object No — See the feature guides for semantic behavior.
spec.replication.storageClassMap.{key} string No — See the feature guides for semantic behavior.
spec.target object No — See the feature guides for semantic behavior.
spec.target.existingRef string No — Name of an administrator-defined existing target in the grant.
spec.target.provider string No "auto" auto honors the grant's configured provider; it never bypasses Platform. enum: ["auto", "helm", "existing", "platform"]
spec.ttl string Yes — TTL starts at the resource's creation time, including provisioning time. pattern: "^([1-9][0-9]{0,3}m|[1-9][0-9]{0,2}h)$"; ttl must be between 5 minutes and 168 hours (duration(self) >= duration('5m') && duration(self) <= duration('168h'))

ClusterReplica status

Field Type Required Default Description and validation
status object No — See the feature guides for semantic behavior.
status.conditions array No — See the feature guides for semantic behavior.
status.conditions[] object No — Condition contains details for one aspect of the current state of this API Resource.
status.conditions[].lastTransitionTime string Yes — 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"
status.conditions[].message string Yes — message is a human readable message indicating details about the transition. This may be an empty string. maxLength: 32768
status.conditions[].observedGeneration integer No — 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. minimum: 0; format: "int64"
status.conditions[].reason string Yes — 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. minLength: 1; maxLength: 1024; pattern: "^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$"
status.conditions[].status string Yes — status of the condition, one of True, False, Unknown. enum: ["True", "False", "Unknown"]
status.conditions[].type string Yes — 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])$"
status.driftCount integer No — format: "int32"
status.expiresAt string No — format: "date-time"
status.observedGeneration integer No — format: "int64"
status.phase string No — See the feature guides for semantic behavior.
status.plan object No — See the feature guides for semantic behavior.
status.plan.appliedCount integer No — format: "int32"
status.plan.capturedAt string Yes — format: "date-time"
status.plan.message string No — Only object identity and reasons are exposed; capture payloads stay encrypted.
status.plan.objectCount integer Yes — format: "int32"
status.plan.omitted object No — Counts describe objects observed within granted reads, not a full cluster census.
status.plan.omitted.{key} integer No — format: "int32"
status.plan.packageCount integer Yes — format: "int32"
status.plan.resources array No — See the feature guides for semantic behavior.
status.plan.resources[] object No — See the feature guides for semantic behavior.
status.plan.resources[].apiVersion string Yes — See the feature guides for semantic behavior.
status.plan.resources[].dependencies array No — See the feature guides for semantic behavior.
status.plan.resources[].dependencies[] string No — See the feature guides for semantic behavior.
status.plan.resources[].kind string Yes — See the feature guides for semantic behavior.
status.plan.resources[].name string Yes — See the feature guides for semantic behavior.
status.plan.resources[].namespace string No — See the feature guides for semantic behavior.
status.plan.resources[].selectionReason string No — See the feature guides for semantic behavior.
status.plan.resources[].sourceName string No — See the feature guides for semantic behavior.
status.plan.resources[].sourceNamespace string No — See the feature guides for semantic behavior.
status.plan.resources[].sourceUID string No — See the feature guides for semantic behavior.
status.plan.resources[].sourceVersion string No — See the feature guides for semantic behavior.
status.plan.resources[].transformations array No — Transformation categories contain no source or destination field values.
status.plan.resources[].transformations[] string No — See the feature guides for semantic behavior.
status.plan.revision string Yes — See the feature guides for semantic behavior.
status.runtime object No — RuntimeReference is persisted before installation. It contains no credentials.
status.runtime.chartSHA256 string Yes — See the feature guides for semantic behavior.
status.runtime.chartVersion string Yes — See the feature guides for semantic behavior.
status.runtime.guestKubernetesVersion string Yes — See the feature guides for semantic behavior.
status.runtime.profile string Yes — See the feature guides for semantic behavior.
status.runtime.releaseName string Yes — See the feature guides for semantic behavior.
status.sourceVersion string No — See the feature guides for semantic behavior.
status.targetVersion string No — See the feature guides for semantic behavior.

ReplicaAccess

Scope: Namespaced. Plural: replicaaccesses. CRD source.

Version: v1alpha1. Standard Kubernetes apiVersion, kind, and metadata accompany the fields below.

ReplicaAccess spec

Field Type Required Default Description and validation
spec object Yes — access spec is immutable (self == oldSelf)
spec.durationSeconds integer No 900 minimum: 600; maximum: 3600; format: "int64"
spec.replicaName string Yes — See the feature guides for semantic behavior.
spec.replicaUID string Yes — See the feature guides for semantic behavior.
spec.role string Yes — enum: ["viewer", "deployer", "admin"]

ReplicaAccess status

Field Type Required Default Description and validation
status object No — See the feature guides for semantic behavior.
status.conditions array No — See the feature guides for semantic behavior.
status.conditions[] object No — Condition contains details for one aspect of the current state of this API Resource.
status.conditions[].lastTransitionTime string Yes — 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"
status.conditions[].message string Yes — message is a human readable message indicating details about the transition. This may be an empty string. maxLength: 32768
status.conditions[].observedGeneration integer No — 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. minimum: 0; format: "int64"
status.conditions[].reason string Yes — 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. minLength: 1; maxLength: 1024; pattern: "^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$"
status.conditions[].status string Yes — status of the condition, one of True, False, Unknown. enum: ["True", "False", "Unknown"]
status.conditions[].type string Yes — 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])$"
status.credentialSecret string No — See the feature guides for semantic behavior.
status.expiresAt string No — format: "date-time"
status.phase string No — See the feature guides for semantic behavior.

ReplicaExperiment

Scope: Namespaced. Plural: replicaexperiments. CRD source.

Version: v1alpha1. Standard Kubernetes apiVersion, kind, and metadata accompany the fields below.

ReplicaExperiment spec

Field Type Required Default Description and validation
spec object Yes — experiment is immutable (self == oldSelf)
spec.durationSeconds integer No 30 minimum: 1; maximum: 900; format: "int64"
spec.faults array Yes — Simultaneous faults. One active experiment per replica avoids competing rollback. minItems: 1; maxItems: 8
spec.faults[] object No — ChaosFault is a single bounded fault. Faults in one experiment run together. Only PodDelete/ScaleZero take a target. NetworkIsolation covers one whole namespace. Job faults accept an image and resource limits, never a raw Pod specification.
spec.faults[].command array No — CustomJob only. No service account, Secret, volume, or host access is exposed. maxItems: 32
spec.faults[].command[] string No — See the feature guides for semantic behavior.
spec.faults[].cpuMilli integer No — minimum: 1; maximum: 2000; format: "int64"
spec.faults[].image string No — See the feature guides for semantic behavior.
spec.faults[].kind string Yes — enum: ["PodDelete", "ScaleZero", "NetworkIsolation", "CPUStress", "MemoryStress", "CustomJob"]
spec.faults[].memoryMiB integer No — minimum: 16; maximum: 1024; format: "int64"
spec.faults[].namespace string Yes — minLength: 1
spec.faults[].target object No — See the feature guides for semantic behavior.
spec.faults[].target.kind string Yes — enum: ["Pod", "Deployment", "StatefulSet"]
spec.faults[].target.name string Yes — minLength: 1
spec.faults[].target.uid string Yes — Exact current guest UID, never a host/source UID. minLength: 1
spec.replicaRef object Yes — See the feature guides for semantic behavior.
spec.replicaRef.name string Yes — minLength: 1; maxLength: 253
spec.replicaRef.uid string Yes — minLength: 1; maxLength: 128

ReplicaExperiment status

Field Type Required Default Description and validation
status object No — See the feature guides for semantic behavior.
status.expiresAt string No — format: "date-time"
status.message string No — See the feature guides for semantic behavior.
status.phase string No — See the feature guides for semantic behavior.
status.startedAt string No — format: "date-time"

ReplicaGrant

Scope: Cluster. Plural: replicagrants. CRD source.

Version: v1alpha1. Standard Kubernetes apiVersion, kind, and metadata accompany the fields below.

ReplicaGrant spec

Field Type Required Default Description and validation
spec object Yes — See the feature guides for semantic behavior.
spec.accessRoles array No — See the feature guides for semantic behavior.
spec.accessRoles[] string No — See the feature guides for semantic behavior.
spec.accessSubjects array No — Optional exact-Secret RBAC recipients for every access session under this grant. maxItems: 32
spec.accessSubjects[] object No — AccessSubject is an administrator-approved reader of session credentials. It does not infer who originally created a request in the shared namespace.
spec.accessSubjects[].kind string Yes — enum: ["User", "Group", "ServiceAccount"]
spec.accessSubjects[].name string Yes — minLength: 1
spec.accessSubjects[].namespace string No — See the feature guides for semantic behavior.
spec.allowEmptyVolumes boolean No — See the feature guides for semantic behavior.
spec.chaos object No — ChaosGrant is an explicit administrator delegation for guest-only faults. It grants no host, node, privileged-container, or cloud API access.
spec.chaos.images array No — Exact immutable image references (name@sha256:digest), including stress images. maxItems: 16
spec.chaos.images[] string No — See the feature guides for semantic behavior.
spec.chaos.kinds array Yes — minItems: 1; maxItems: 6
spec.chaos.kinds[] string No — See the feature guides for semantic behavior.
spec.chaos.maxCPUMilli integer No 500 Total across all stress and custom Jobs in an experiment. minimum: 1; maximum: 2000; format: "int64"
spec.chaos.maxDurationSeconds integer No 60 minimum: 1; maximum: 900; format: "int64"
spec.chaos.maxMemoryMiB integer No 128 minimum: 16; maximum: 1024; format: "int64"
spec.chaos.namespaces array Yes — Exact guest namespace names; each must also be exclusively replica-owned. minItems: 1; maxItems: 32
spec.chaos.namespaces[] string No — See the feature guides for semantic behavior.
spec.clusterResources array No — See the feature guides for semantic behavior.
spec.clusterResources[] object No — See the feature guides for semantic behavior.
spec.clusterResources[].group string Yes — Empty group means the core API. Wildcards must be explicitly granted.
spec.clusterResources[].kind string Yes — See the feature guides for semantic behavior.
spec.databases array No — maxItems: 32
spec.databases[] object No — DatabaseGrant is an administrator-only explicit database read delegation. PVC, Secret-copy and namespace grants do not imply database permission.
spec.databases[].credentialsSecret object Yes — Secret keys are username/password. It must be in the protected operator namespace.
spec.databases[].credentialsSecret.name string Yes — See the feature guides for semantic behavior.
spec.databases[].credentialsSecret.namespace string Yes — See the feature guides for semantic behavior.
spec.databases[].database string Yes — See the feature guides for semantic behavior.
spec.databases[].host string Yes — See the feature guides for semantic behavior.
spec.databases[].image string Yes — Administrator-qualified docker-library PostgreSQL 17 image, pinned by sha256 digest.
spec.databases[].masking array Yes — Masking is admin controlled and required; every copy uses these rules. minItems: 1; maxItems: 128
spec.databases[].masking[] object No — See the feature guides for semantic behavior.
spec.databases[].masking[].column string Yes — See the feature guides for semantic behavior.
spec.databases[].masking[].domain string No — See the feature guides for semantic behavior.
spec.databases[].masking[].schema string Yes — See the feature guides for semantic behavior.
spec.databases[].masking[].strategy string Yes — Token is salted SHA-256 text pseudonymization, not general anonymization. enum: ["Token", "Null", "Constant"]
spec.databases[].masking[].table string Yes — See the feature guides for semantic behavior.
spec.databases[].masking[].value string No — See the feature guides for semantic behavior.
spec.databases[].maxBytes integer Yes — Bounds archive stream bytes, staging memory volume and final requested storage. minimum: 16777216; maximum: 4294967296; format: "int64"
spec.databases[].name string Yes — See the feature guides for semantic behavior.
spec.databases[].networkPolicyEnforced boolean Yes — Explicit assertion that the host CNI enforces host NetworkPolicy.
spec.databases[].port integer No 5432 minimum: 1; maximum: 65535; format: "int32"
spec.databases[].relationships array No — maxItems: 64
spec.databases[].relationships[] object No — DatabaseRelationship declares an equality relationship that must survive masking.
spec.databases[].relationships[].from object Yes — DatabaseColumn identifies one column; SQL expressions are never accepted.
spec.databases[].relationships[].from.column string Yes — See the feature guides for semantic behavior.
spec.databases[].relationships[].from.schema string Yes — See the feature guides for semantic behavior.
spec.databases[].relationships[].from.table string Yes — See the feature guides for semantic behavior.
spec.databases[].relationships[].to object Yes — DatabaseColumn identifies one column; SQL expressions are never accepted.
spec.databases[].relationships[].to.column string Yes — See the feature guides for semantic behavior.
spec.databases[].relationships[].to.schema string Yes — See the feature guides for semantic behavior.
spec.databases[].relationships[].to.table string Yes — See the feature guides for semantic behavior.
spec.databases[].sourceNamespace string Yes — See the feature guides for semantic behavior.
spec.databases[].sslMode string No "verify-full" enum: ["require", "verify-full"]
spec.databases[].storageClass string Yes — See the feature guides for semantic behavior.
spec.databases[].subsets array No — Filters run in the isolated copy before masking. Undeclared tables remain intact. maxItems: 64
spec.databases[].subsets[] object No — DatabaseSubset retains rows whose selected column's text equals this value. It applies only to this declared table, never implicitly to related tables.
spec.databases[].subsets[].column string Yes — See the feature guides for semantic behavior.
spec.databases[].subsets[].equals string Yes — maxLength: 256
spec.databases[].subsets[].schema string Yes — See the feature guides for semantic behavior.
spec.databases[].subsets[].table string Yes — See the feature guides for semantic behavior.
spec.databases[].timeoutSeconds integer No 300 minimum: 30; maximum: 1800; format: "int32"
spec.defaultProvider string No "helm" enum: ["helm", "platform"]
spec.existingTargets array No — See the feature guides for semantic behavior.
spec.existingTargets[] object No — See the feature guides for semantic behavior.
spec.existingTargets[].clusterUID string Yes — The administrator pins the expected kube-system namespace UID.
spec.existingTargets[].kubeconfigSecret object Yes — See the feature guides for semantic behavior.
spec.existingTargets[].kubeconfigSecret.name string Yes — See the feature guides for semantic behavior.
spec.existingTargets[].kubeconfigSecret.namespace string Yes — See the feature guides for semantic behavior.
spec.existingTargets[].mirrorReleaseName string No — Optional administrator-qualified vCluster 0.37.1 single-namespace runtime in the destination namespace. Required for CSI mirrors into an existing target.
spec.existingTargets[].name string Yes — See the feature guides for semantic behavior.
spec.helmReleases array No — Helm release storage contains sensitive values and embedded templates.
spec.helmReleases[] object No — See the feature guides for semantic behavior.
spec.helmReleases[].name string Yes — See the feature guides for semantic behavior.
spec.helmReleases[].namespace string Yes — See the feature guides for semantic behavior.
spec.maxAccessSeconds integer No 900 minimum: 600; maximum: 3600; format: "int64"
spec.maxCaptureBytes integer No 524288 minimum: 1024; maximum: 716800; format: "int32"
spec.maxConcurrentReplicas integer No — Maximum admitted replicas using this grant. Zero leaves only runtime capacity limits. Queued requests retain their original TTL. Host resource limits are enforced by ResourceQuota. minimum: 0; maximum: 100; format: "int32"
spec.maxObjects integer No 500 minimum: 1; maximum: 2000; format: "int32"
spec.maxTTL string No "24h" See the feature guides for semantic behavior.
spec.mirror object No — Explicit permission to read volume data. Empty-volume permission alone is insufficient.
spec.mirror.allowForcedReset boolean No — See the feature guides for semantic behavior.
spec.mirror.maxRevisions integer No 2 minimum: 1; maximum: 10; format: "int32"
spec.mirror.minInterval string No "1h" See the feature guides for semantic behavior.
spec.mirror.volumes array Yes — minItems: 1; maxItems: 16
spec.mirror.volumes[] object No — MirrorVolumeGrant delegates capture of one PVC and the exact storage classes. It never delegates arbitrary backend handles or direct source volume mounts.
spec.mirror.volumes[].name string Yes — See the feature guides for semantic behavior.
spec.mirror.volumes[].namespace string Yes — See the feature guides for semantic behavior.
spec.mirror.volumes[].snapshotClass string Yes — See the feature guides for semantic behavior.
spec.mirror.volumes[].storageClass string Yes — See the feature guides for semantic behavior.
spec.platform object No — See the feature guides for semantic behavior.
spec.platform.namespace string Yes — See the feature guides for semantic behavior.
spec.platform.project string Yes — See the feature guides for semantic behavior.
spec.platform.template string Yes — See the feature guides for semantic behavior.
spec.platform.templateVersion string Yes — See the feature guides for semantic behavior.
spec.resources array Yes — Rules allow namespaced desired-state reads; credentials have separate grants.
spec.resources[] object No — See the feature guides for semantic behavior.
spec.resources[].group string Yes — Empty group means the core API. Wildcards must be explicitly granted.
spec.resources[].kind string Yes — See the feature guides for semantic behavior.
spec.secrets array No — Explicitly selected credential names. '*' is an administrator opt-in.
spec.secrets[] object No — See the feature guides for semantic behavior.
spec.secrets[].name string Yes — See the feature guides for semantic behavior.
spec.secrets[].namespace string Yes — See the feature guides for semantic behavior.
spec.sourceNamespaces array Yes — minItems: 1; maxItems: 32
spec.sourceNamespaces[] string No — See the feature guides for semantic behavior.
spec.targetNamespace string Yes — See the feature guides for semantic behavior.

ReplicaMirrorRun

Scope: Namespaced. Plural: replicamirrorruns. CRD source.

Version: v1alpha1. Standard Kubernetes apiVersion, kind, and metadata accompany the fields below.

ReplicaMirrorRun spec

Field Type Required Default Description and validation
spec object Yes — mirror run is immutable (self == oldSelf); only Reset requires a revisionRef ((self.action == 'Reset') == has(self.revisionRef))
spec.action string Yes — Sync captures current host state. Reset reuses a retained Sync run's revision. enum: ["Sync", "Reset"]
spec.force boolean No — Force bypasses the test lease only when the administrator grant permits it.
spec.mirrorRef object Yes — See the feature guides for semantic behavior.
spec.mirrorRef.name string Yes — minLength: 1; maxLength: 253
spec.mirrorRef.uid string Yes — minLength: 1; maxLength: 128
spec.revisionRef object No — See the feature guides for semantic behavior.
spec.revisionRef.name string Yes — minLength: 1; maxLength: 253
spec.revisionRef.uid string Yes — minLength: 1; maxLength: 128

ReplicaMirrorRun status

Field Type Required Default Description and validation
status object No — See the feature guides for semantic behavior.
status.activatedAt string No — format: "date-time"
status.capturedAt string No — format: "date-time"
status.message string No — See the feature guides for semantic behavior.
status.phase string No — See the feature guides for semantic behavior.
status.replicaRef object No — See the feature guides for semantic behavior.
status.replicaRef.name string Yes — minLength: 1; maxLength: 253
status.replicaRef.uid string Yes — minLength: 1; maxLength: 128
status.revisionRef object No — See the feature guides for semantic behavior.
status.revisionRef.name string Yes — minLength: 1; maxLength: 253
status.revisionRef.uid string Yes — minLength: 1; maxLength: 128

ReplicaMirror

Scope: Namespaced. Plural: replicamirrors. CRD source.

Version: v1alpha1. Standard Kubernetes apiVersion, kind, and metadata accompany the fields below.

ReplicaMirror spec

Field Type Required Default Description and validation
spec object Yes — See the feature guides for semantic behavior.
spec.consistency string No "CrashConsistent" Only CrashConsistent is implemented; no implicit database consistency claim. enum: ["CrashConsistent"]
spec.holdUntil string No — A bounded shared-namespace test lease. New requests may extend it by at most 30 minutes. format: "date-time"
spec.interval string No — Empty disables scheduling. Manual sync and reset remain available. pattern: "^$|^([1-9][0-9]{0,3}m|[1-9][0-9]{0,2}h)$"
spec.retainRevisions integer No 2 Retained capture revisions, including the active revision. Runtime copies are not retained. minimum: 1; maximum: 10; format: "int32"
spec.suspend boolean No — See the feature guides for semantic behavior.
spec.template object Yes — Template is immutable. TTL is the lifetime of the entire mirror, not each run. spec is immutable; create a new ClusterReplica (self == oldSelf)
spec.template.approval string No "Automatic" Approval controls whether a captured plan needs an explicit revision approval. enum: ["Automatic", "Manual"]
spec.template.cleanupPolicy string Yes — CleanupPolicy selects the legacy Helm-only lifecycle or full owned-resource cleanup. enum: ["HelmReleaseOnly", "DeleteOwned"]
spec.template.grantRef string No — GrantRef delegates source capabilities to this destination namespace.
spec.template.profile string Yes — Profile selects an exact, experimental runtime configuration. No profile is certified yet. enum: ["vcluster-0.37.1-lab", "vcluster-0.37.1-persistent"]
spec.template.replication object No — See the feature guides for semantic behavior.
spec.template.replication.checks array No — Additional readiness checks for custom resources.
spec.template.replication.checks[] object No — ReadinessCheck selects the original source identity and evaluates its live guest counterpart.
spec.template.replication.checks[].apiVersion string Yes — See the feature guides for semantic behavior.
spec.template.replication.checks[].condition string No — Use either a condition or a dot-separated status field and expected value.
spec.template.replication.checks[].equals string No — See the feature guides for semantic behavior.
spec.template.replication.checks[].field string No — See the feature guides for semantic behavior.
spec.template.replication.checks[].kind string Yes — See the feature guides for semantic behavior.
spec.template.replication.checks[].name string Yes — See the feature guides for semantic behavior.
spec.template.replication.checks[].namespace string No — See the feature guides for semantic behavior.
spec.template.replication.data string No "None" EmptyVolumes creates fresh storage; it does not copy source data. enum: ["None", "EmptyVolumes"]
spec.template.replication.databases array No — maxItems: 4
spec.template.replication.databases[] object No — DatabaseCopy requests one fresh logical snapshot of an explicitly granted database.
spec.template.replication.databases[].grant string Yes — See the feature guides for semantic behavior.
spec.template.replication.databases[].name string Yes — Name becomes the application Service and credential Secret name.
spec.template.replication.databases[].namespace string Yes — Namespace is the mapped guest application namespace, not a source namespace.
spec.template.replication.exclude array No — See the feature guides for semantic behavior.
spec.template.replication.exclude[] object No — See the feature guides for semantic behavior.
spec.template.replication.exclude[].groups array No — See the feature guides for semantic behavior.
spec.template.replication.exclude[].groups[] string No — See the feature guides for semantic behavior.
spec.template.replication.exclude[].kinds array No — See the feature guides for semantic behavior.
spec.template.replication.exclude[].kinds[] string No — See the feature guides for semantic behavior.
spec.template.replication.exclude[].labelSelector object No — A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.
spec.template.replication.exclude[].labelSelector.matchExpressions array No — matchExpressions is a list of label selector requirements. The requirements are ANDed.
spec.template.replication.exclude[].labelSelector.matchExpressions[] object No — A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
spec.template.replication.exclude[].labelSelector.matchExpressions[].key string Yes — key is the label key that the selector applies to.
spec.template.replication.exclude[].labelSelector.matchExpressions[].operator string Yes — operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
spec.template.replication.exclude[].labelSelector.matchExpressions[].values array No — values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
spec.template.replication.exclude[].labelSelector.matchExpressions[].values[] string No — See the feature guides for semantic behavior.
spec.template.replication.exclude[].labelSelector.matchLabels object No — matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
spec.template.replication.exclude[].labelSelector.matchLabels.{key} string No — See the feature guides for semantic behavior.
spec.template.replication.exclude[].names array No — See the feature guides for semantic behavior.
spec.template.replication.exclude[].names[] string No — See the feature guides for semantic behavior.
spec.template.replication.exclude[].namespaces array No — See the feature guides for semantic behavior.
spec.template.replication.exclude[].namespaces[] string No — See the feature guides for semantic behavior.
spec.template.replication.helmOverrides array No — See the feature guides for semantic behavior.
spec.template.replication.helmOverrides[] object No — See the feature guides for semantic behavior.
spec.template.replication.helmOverrides[].name string Yes — See the feature guides for semantic behavior.
spec.template.replication.helmOverrides[].namespace string Yes — See the feature guides for semantic behavior.
spec.template.replication.helmOverrides[].values any (arbitrary JSON) Yes — See the feature guides for semantic behavior.
spec.template.replication.helmReleases array No — See the feature guides for semantic behavior.
spec.template.replication.helmReleases[] object No — See the feature guides for semantic behavior.
spec.template.replication.helmReleases[].name string Yes — See the feature guides for semantic behavior.
spec.template.replication.helmReleases[].namespace string Yes — See the feature guides for semantic behavior.
spec.template.replication.include array No — See the feature guides for semantic behavior.
spec.template.replication.include[] object No — See the feature guides for semantic behavior.
spec.template.replication.include[].groups array No — See the feature guides for semantic behavior.
spec.template.replication.include[].groups[] string No — See the feature guides for semantic behavior.
spec.template.replication.include[].kinds array No — See the feature guides for semantic behavior.
spec.template.replication.include[].kinds[] string No — See the feature guides for semantic behavior.
spec.template.replication.include[].labelSelector object No — A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.
spec.template.replication.include[].labelSelector.matchExpressions array No — matchExpressions is a list of label selector requirements. The requirements are ANDed.
spec.template.replication.include[].labelSelector.matchExpressions[] object No — A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
spec.template.replication.include[].labelSelector.matchExpressions[].key string Yes — key is the label key that the selector applies to.
spec.template.replication.include[].labelSelector.matchExpressions[].operator string Yes — operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
spec.template.replication.include[].labelSelector.matchExpressions[].values array No — values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
spec.template.replication.include[].labelSelector.matchExpressions[].values[] string No — See the feature guides for semantic behavior.
spec.template.replication.include[].labelSelector.matchLabels object No — matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
spec.template.replication.include[].labelSelector.matchLabels.{key} string No — See the feature guides for semantic behavior.
spec.template.replication.include[].names array No — See the feature guides for semantic behavior.
spec.template.replication.include[].names[] string No — See the feature guides for semantic behavior.
spec.template.replication.include[].namespaces array No — See the feature guides for semantic behavior.
spec.template.replication.include[].namespaces[] string No — See the feature guides for semantic behavior.
spec.template.replication.namespaceMap object No — See the feature guides for semantic behavior.
spec.template.replication.namespaceMap.{key} string No — See the feature guides for semantic behavior.
spec.template.replication.namespaces array No — Empty means all source namespaces explicitly delegated by the grant.
spec.template.replication.namespaces[] string No — See the feature guides for semantic behavior.
spec.template.replication.patches array No — See the feature guides for semantic behavior.
spec.template.replication.patches[] object No — ObjectPatch selects the original source identity and applies a JSON merge patch.
spec.template.replication.patches[].apiVersion string Yes — See the feature guides for semantic behavior.
spec.template.replication.patches[].kind string Yes — See the feature guides for semantic behavior.
spec.template.replication.patches[].name string Yes — See the feature guides for semantic behavior.
spec.template.replication.patches[].namespace string No — See the feature guides for semantic behavior.
spec.template.replication.patches[].patch any (arbitrary JSON) Yes — See the feature guides for semantic behavior.
spec.template.replication.secrets string No "None" enum: ["None", "Snapshot", "Follow"]
spec.template.replication.storageClassMap object No — See the feature guides for semantic behavior.
spec.template.replication.storageClassMap.{key} string No — See the feature guides for semantic behavior.
spec.template.target object No — See the feature guides for semantic behavior.
spec.template.target.existingRef string No — Name of an administrator-defined existing target in the grant.
spec.template.target.provider string No "auto" auto honors the grant's configured provider; it never bypasses Platform. enum: ["auto", "helm", "existing", "platform"]
spec.template.ttl string Yes — TTL starts at the resource's creation time, including provisioning time. pattern: "^([1-9][0-9]{0,3}m|[1-9][0-9]{0,2}h)$"; ttl must be between 5 minutes and 168 hours (duration(self) >= duration('5m') && duration(self) <= duration('168h'))
spec.volumes array Yes — Each PVC must also appear in the captured resource plan and source grant. minItems: 1; maxItems: 16; mirror volumes are immutable (self == oldSelf)
spec.volumes[] object No — See the feature guides for semantic behavior.
spec.volumes[].name string Yes — See the feature guides for semantic behavior.
spec.volumes[].namespace string Yes — See the feature guides for semantic behavior.

ReplicaMirror status

Field Type Required Default Description and validation
status object No — See the feature guides for semantic behavior.
status.activatedAt string No — format: "date-time"
status.activeReplica object No — See the feature guides for semantic behavior.
status.activeReplica.name string Yes — minLength: 1; maxLength: 253
status.activeReplica.uid string Yes — minLength: 1; maxLength: 128
status.activeRun object No — See the feature guides for semantic behavior.
status.activeRun.name string Yes — minLength: 1; maxLength: 253
status.activeRun.uid string Yes — minLength: 1; maxLength: 128
status.capturedAt string No — format: "date-time"
status.conditions array No — See the feature guides for semantic behavior.
status.conditions[] object No — Condition contains details for one aspect of the current state of this API Resource.
status.conditions[].lastTransitionTime string Yes — 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"
status.conditions[].message string Yes — message is a human readable message indicating details about the transition. This may be an empty string. maxLength: 32768
status.conditions[].observedGeneration integer No — 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. minimum: 0; format: "int64"
status.conditions[].reason string Yes — 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. minLength: 1; maxLength: 1024; pattern: "^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$"
status.conditions[].status string Yes — status of the condition, one of True, False, Unknown. enum: ["True", "False", "Unknown"]
status.conditions[].type string Yes — 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])$"
status.expiresAt string No — format: "date-time"
status.nextSyncAt string No — format: "date-time"
status.observedGeneration integer No — format: "int64"
status.pendingRun object No — See the feature guides for semantic behavior.
status.pendingRun.name string Yes — minLength: 1; maxLength: 253
status.pendingRun.uid string Yes — minLength: 1; maxLength: 128
status.phase string No — See the feature guides for semantic behavior.

Operation annotations

Annotation on ClusterReplica Value Effect
replicove.nimeshbuilds.dev/approved-plan Exact current status.plan.revision Approve a manually gated plan
replicove.nimeshbuilds.dev/refresh New unique token Recapture source state using the immutable request spec

See plans and refresh. These annotations do not extend TTL or expand administrator grants.