API Reference
Packages:
agent-forge.containeroo.ch/v1alpha1
Package v1alpha1 contains API Schema definitions for the agent-forge.containeroo.ch v1alpha1 API group.
Resource Types:AgentBindingSpec
(Appears on: VsphereAgentPoolSpec)
AgentBindingSpec describes how a discovered Assisted Installer Agent should be made consumable by the Hypershift Agent NodePool.
| Field | Description |
|---|---|
rolestring |
Role is the Hypershift NodePool role label value to apply to discovered Agents. For worker pools this is normally “worker”. |
labelsmap[string]string |
Labels are required on a discovered Agent before the Agent CAPI provider can bind it to an AgentMachine. These should match the NodePool spec.platform.agent.agentLabelSelector labels. |
approvebool |
(Optional)
Approve controls whether matching discovered Agents are automatically patched with spec.approved=true. |
CleanupPolicy
(string alias)
(Appears on: VsphereAgentPoolSpec)
CleanupPolicy controls whether the operator deletes external inventory when demand disappears or the VsphereAgentPool is deleted.
ISOCacheHistoryEntry
(Appears on: ISOCacheStatus)
ISOCacheHistoryEntry records one uploaded content-addressed ISO object.
| Field | Description |
|---|---|
pathstring |
Path is the datastore path to the ISO object. |
sha256string |
SHA256 is the ISO content digest. |
sizeBytesint64 |
(Optional)
SizeBytes is the downloaded ISO size. |
uploadedAtKubernetes meta/v1.Time |
(Optional)
UploadedAt is when this ISO object was uploaded. |
ISOCacheSpec
(Appears on: VsphereAgentPoolSpec)
ISOCacheSpec controls how the InfraEnv discovery ISO is cached in vSphere.
| Field | Description |
|---|---|
checkIntervalKubernetes meta/v1.Duration |
(Optional)
CheckInterval controls how often the operator downloads and hashes the InfraEnv ISO to detect content changes when the URL remains stable. |
retainVersionsint32 |
(Optional)
RetainVersions controls how many content-addressed ISO objects are kept in the datastore. The current ISO is always retained. |
pathPrefixstring |
(Optional)
PathPrefix is the datastore directory used for content-addressed ISO
objects. When empty, the operator uses
agent-forge/ |
ISOCacheStatus
(Appears on: VsphereAgentPoolStatus)
ISOCacheStatus records the active cached InfraEnv discovery ISO.
| Field | Description |
|---|---|
urlstring |
(Optional)
URL is the InfraEnv status.isoDownloadURL used for the last check. |
pathstring |
(Optional)
Path is the datastore path inserted into newly created VMs. |
sha256string |
(Optional)
SHA256 is the content digest of the active ISO. |
sizeBytesint64 |
(Optional)
SizeBytes is the downloaded ISO size. |
checkedAtKubernetes meta/v1.Time |
(Optional)
CheckedAt is when the operator last downloaded and hashed the ISO. |
uploadedAtKubernetes meta/v1.Time |
(Optional)
UploadedAt is when the active ISO object was uploaded. |
forceRefreshTokenstring |
(Optional)
ForceRefreshToken stores the last processed force refresh annotation value. |
history[]ISOCacheHistoryEntry |
(Optional)
History records retained content-addressed ISO objects, newest first. |
LocalObjectReference
(Appears on: VsphereAgentPoolSpec, VsphereAgentSpec)
LocalObjectReference identifies another object in the same namespace as the VsphereAgentPool.
| Field | Description |
|---|---|
namestring |
Name is the referenced object’s metadata.name. |
OwnedVMStatus
(Appears on: VsphereAgentPoolStatus, VsphereAgentStatus)
OwnedVMStatus records a VM created or managed by this VsphereAgentPool.
| Field | Description |
|---|---|
namestring |
Name is the vSphere VM name. |
biosUUIDstring |
(Optional)
BIOSUUID is the VM BIOS UUID when known. |
macAddressstring |
(Optional)
MACAddress is the primary NIC MAC address normalized with hyphens. |
agentRefKubernetes core/v1.ObjectReference |
(Optional)
AgentRef points to the discovered Assisted Installer Agent, when matched. |
machineRefKubernetes core/v1.ObjectReference |
(Optional)
MachineRef points to the CAPI Machine, when bound. |
phasestring |
(Optional)
Phase is the current bridge view of the VM lifecycle, such as Provisioning, Available, Bound, Released, or Orphaned. |
reasonstring |
(Optional)
Reason provides a short machine-readable explanation for Phase. |
lastTransitionTimeKubernetes meta/v1.Time |
(Optional)
LastTransitionTime is updated when Phase changes. |
PlannedActionStatus
(Appears on: VsphereAgentPoolStatus)
PlannedActionStatus records the latest create/delete/patch actions the operator planned or executed.
| Field | Description |
|---|---|
typestring |
Type is the action type, such as CreateVM, DeleteVM, DeleteAgent, PatchAgent, or Noop. |
namestring |
(Optional)
Name is the target VM or Agent name when known. |
reasonstring |
Reason explains why the action is needed. |
SecretReference
(Appears on: VspherePlacementSpec)
SecretReference identifies a Secret. When namespace is empty, the VsphereAgentPool namespace is used.
| Field | Description |
|---|---|
namestring |
Name is the Secret metadata.name. |
namespacestring |
(Optional)
Namespace is the Secret metadata.namespace. Leave empty to use the VsphereAgentPool namespace. |
VMTemplateSpec
(Appears on: VsphereAgentPoolSpec)
VMTemplateSpec describes the VM hardware profile.
| Field | Description |
|---|---|
namePrefixstring |
(Optional)
NamePrefix prefixes operator-created VM names. When empty, the operator
uses |
numCPUsint32 |
NumCPUs is the VM vCPU count. |
memoryMiBint32 |
MemoryMiB is the VM memory size in MiB. |
diskGiBint32 |
DiskGiB is the primary disk size in GiB. |
VsphereAgent
VsphereAgent is one vSphere VM requested to satisfy AgentMachine demand.
| Field | Description | ||
|---|---|---|---|
metadataKubernetes meta/v1.ObjectMeta |
Refer to the Kubernetes API documentation for the fields of the
metadata field.
|
||
specVsphereAgentSpec |
|
||
statusVsphereAgentStatus |
VsphereAgentPool
VsphereAgentPool is a namespace-scoped bridge between a Hypershift Agent NodePool and vSphere VM inventory. It watches CAPI AgentMachine demand and ensures matching Assisted Installer Agents exist for the Agent CAPI provider to consume.
| Field | Description | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
metadataKubernetes meta/v1.ObjectMeta |
Refer to the Kubernetes API documentation for the fields of the
metadata field.
|
||||||||||||||||||
specVsphereAgentPoolSpec |
|
||||||||||||||||||
statusVsphereAgentPoolStatus |
VsphereAgentPoolSpec
(Appears on: VsphereAgentPool)
VsphereAgentPoolSpec defines the desired state of VsphereAgentPool.
| Field | Description |
|---|---|
hostedClusterRefLocalObjectReference |
HostedClusterRef references the Hypershift HostedCluster this pool serves. |
nodePoolRefLocalObjectReference |
NodePoolRef references the Hypershift NodePool this bridge follows. |
infraEnvRefLocalObjectReference |
InfraEnvRef references the Assisted Installer InfraEnv that exposes the discovery ISO and labels newly discovered Agents. |
controlPlaneNamespacestring |
ControlPlaneNamespace is the hosted control plane namespace that contains the CAPI AgentMachine and Machine objects rendered by Hypershift, for example demo-demo. |
vsphereVspherePlacementSpec |
VSphere configures placement and VM platform settings. |
templateVMTemplateSpec |
Template configures the worker VM hardware profile. |
agentAgentBindingSpec |
Agent configures Agent labels, hostname assignment, and approval. |
isoISOCacheSpec |
(Optional)
ISO configures content-addressed caching of the InfraEnv discovery ISO. |
cleanupPolicyCleanupPolicy |
(Optional)
CleanupPolicy controls whether stale vSphere VMs and unbound Assisted Installer Agents are deleted by the operator. Use Retain for conservative production rollouts where external inventory cleanup is handled manually. |
VsphereAgentPoolStatus
(Appears on: VsphereAgentPool)
VsphereAgentPoolStatus defines the observed state of VsphereAgentPool.
| Field | Description |
|---|---|
observedGenerationint64 |
(Optional)
ObservedGeneration is the most recent metadata.generation reconciled by the controller. |
desiredReplicasint32 |
(Optional)
DesiredReplicas is the observed AgentMachine count. |
agentMachinesint32 |
(Optional)
AgentMachines is the number of non-deleting AgentMachines observed for spec.nodePoolRef in spec.controlPlaneNamespace. |
waitingAgentMachinesint32 |
(Optional)
WaitingAgentMachines is the number of AgentMachines reporting Ready=False with reason NoSuitableAgents. |
unreadyAgentMachinesint32 |
(Optional)
UnreadyAgentMachines is the number of observed AgentMachines whose Ready condition is not True. This includes AgentMachines waiting for suitable Agents and AgentMachines still installing. |
agentMachinesWithoutAgentint32 |
(Optional)
AgentMachinesWithoutAgent is the number of unready AgentMachines that do not yet have an assigned Agent. Surplus available Agents are retained while this is non-zero. |
matchingAgentsint32 |
(Optional)
MatchingAgents is the number of Agents matching spec.agent.labels. |
boundAgentsint32 |
(Optional)
BoundAgents is the number of matching Agents already bound to CAPI. |
availableAgentsint32 |
(Optional)
AvailableAgents is the number of matching Agents not yet bound to CAPI. |
ownedVMs[]OwnedVMStatus |
(Optional)
OwnedVMs records VMs created or tracked by this bridge. |
plannedActions[]PlannedActionStatus |
(Optional)
PlannedActions records the most recent actions planned or executed. |
isoISOCacheStatus |
(Optional)
ISO records the active cached InfraEnv discovery ISO. |
conditions[]Kubernetes meta/v1.Condition |
(Optional)
Conditions summarizes readiness, discovery, and errors. |
VsphereAgentSpec
(Appears on: VsphereAgent)
VsphereAgentSpec defines the desired state of a single vSphere-backed Assisted Installer Agent candidate.
| Field | Description |
|---|---|
poolRefLocalObjectReference |
PoolRef references the VsphereAgentPool whose configuration is used to create and manage this VM. |
VsphereAgentStatus
(Appears on: VsphereAgent)
VsphereAgentStatus defines the observed state of a VsphereAgent.
| Field | Description |
|---|---|
observedGenerationint64 |
(Optional)
ObservedGeneration is the most recent metadata.generation reconciled by the controller. |
vmOwnedVMStatus |
(Optional)
VM records the vSphere VM created for this VsphereAgent. |
conditions[]Kubernetes meta/v1.Condition |
(Optional)
Conditions summarizes readiness and provider errors. |
VspherePlacementSpec
(Appears on: VsphereAgentPoolSpec)
VspherePlacementSpec describes where worker VMs are created in vSphere.
| Field | Description |
|---|---|
credentialsSecretRefSecretReference |
CredentialsSecretRef references a Secret containing vSphere credentials. The Secret must contain server, username, and password keys. It may also contain an insecure key with “true” when the vCenter certificate should not be verified. |
datacenterstring |
Datacenter is the target vSphere datacenter name. |
datastoreClusterstring |
DatastoreCluster is the datastore cluster used for VM disks. It maps to the static module’s vsphere_datastore_cluster input. |
isoDatastorestring |
ISODatastore is the datastore that contains the uploaded discovery ISO. It maps to the static module’s vsphere_iso_datastore input. |
resourcePoolstring |
ResourcePool is the vSphere resource pool path, for example cluster/Resources. |
folderstring |
(Optional)
Folder is the VM folder path. When empty, the operator uses the hosted cluster name. |
networkstring |
Network is the vSphere network name attached to the VM NIC. |
vmTags[]string |
(Optional)
VMTags contains optional vSphere tag IDs to attach to each VM. |
guestIDstring |
(Optional)
GuestID is the vSphere guest OS identifier used for from-scratch VMs. |
scsiTypestring |
(Optional)
SCSIType is the SCSI controller type used for from-scratch VMs. |
firmwarestring |
(Optional)
Firmware is the VM firmware type. |
networkAdapterTypestring |
(Optional)
NetworkAdapterType is the vSphere NIC adapter type. |
diskEagerlyScrubbool |
(Optional)
DiskEagerlyScrub controls eager scrubbing for the primary disk. |
This page was automatically generated with gen-crd-api-reference-docs