Skip to content

API Reference ​

Packages ​

sonic.networking.metal.ironcore.dev/v1alpha1 ​

Package v1alpha1 contains API Schema definitions for the settings.gardener.cloud API group

Package v1alpha1 contains API Schema definitions for the networking v1alpha1 API group.

Resource Types ​

AdminState ​

Underlying type: string

Appears in:

FieldDescription
Unknown
Up
Down

Container ​

Container declares a Docker container that the provisioning server starts on the switch during generated ZTP provisioning.

Appears in:

FieldDescriptionDefaultValidation
name stringName is both the Docker container name and its stable identity on the switch.MaxLength: 63
Pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
image stringImage is the container image pulled by Docker on the switch.MinLength: 1
command string arrayCommand overrides the image entrypoint.
args string arrayArgs are appended after Command, or after the image entrypoint when Command is empty.
volumeMounts VolumeMount arrayVolumeMounts describes the volumes mounted into the container. Each mount
name must refer to an entry in SwitchSpec.Volumes.
hostPID booleanHostPID controls whether the container shares the SONiC host PID namespace.
securityContext ContainerSecurityContextSecurityContext configures the Unix identity used to run the container.
injectControlKubeconfig booleanInjectControlKubeconfig mounts the operator's configured control kubeconfig
into this container and sets KUBECONFIG to its in-container path. A
securityContext with runAsUser is required so the generated script can
grant access to a private, per-container credential file.

ContainerSecurityContext ​

ContainerSecurityContext is the supported subset of Kubernetes container securityContext for generated Docker containers.

Appears in:

FieldDescriptionDefaultValidation
privileged booleanPrivileged runs the container with full access to the SONiC host.
runAsUser integerRunAsUser is the numeric Unix user ID used by the container.Minimum: 0
runAsGroup integerRunAsGroup is the numeric Unix group ID used by the container. It requires
runAsUser to be set as well.
Minimum: 0

HostPathVolumeSource ​

HostPathVolumeSource represents a host directory or file mounted into a Switch container.

Appears in:

FieldDescriptionDefaultValidation
path stringPath is the absolute path on the SONiC host.
type HostPathTypeType describes the expected host-path type, following the Kubernetes Pod
hostPath API. Generated ZTP does not create missing paths.

Management ​

Appears in:

FieldDescriptionDefaultValidation
host string
port string

Neighbor ​

Neighbor represents a connected neighbor device.

Appears in:

FieldDescriptionDefaultValidation
macAddress stringMacAddress is the MAC address of the neighbor device.
systemName stringSystemName is the name of the neighbor device.
interfaceHandle stringInterfaceHandle is the name of the remote switch interface.

NextBootMode ​

Underlying type: string

NextBootMode describes the desired behavior of the switch's next boot. Providers translate this high-level intent to their platform-specific boot mechanism. For SONiC, InstallOS enters ONIE install discovery.

Appears in:

FieldDescription
NoneNextBootModeNone leaves the normal installed network OS boot path intact.
InstallOSNextBootModeInstallOS enters the platform's OS installation/discovery flow.

OperationState ​

Underlying type: string

Appears in:

FieldDescription
Up
Down
Unknown

PortSpec ​

Appears in:

FieldDescriptionDefaultValidation
name string

PortStatus ​

PortStatus defines the observed state of a port on the Switch.

Appears in:

FieldDescriptionDefaultValidation
name stringName is the name of the port.
interfaceRefs LocalObjectReference arrayInterfaceRefs lists the references to Interfaces connected to this port.

Switch ​

Switch is the Schema for the switch API

FieldDescriptionDefaultValidation
apiVersion stringsonic.networking.metal.ironcore.dev/v1alpha1
kind stringSwitch
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec SwitchSpecspec defines the desired state of Switch
status SwitchStatusstatus defines the observed state of Switch

SwitchInterface ​

SwitchInterface is the Schema for the switchinterfaces API

FieldDescriptionDefaultValidation
apiVersion stringsonic.networking.metal.ironcore.dev/v1alpha1
kind stringSwitchInterface
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec SwitchInterfaceSpecspec defines the desired state of SwitchInterface
status SwitchInterfaceStatusstatus defines the observed state of SwitchInterface

SwitchInterfaceSpec ​

SwitchInterfaceSpec defines the desired state of SwitchInterface

Appears in:

FieldDescriptionDefaultValidation
handle stringHandle uniquely identifies this interface on the switch.
nativeName stringNativeName is the native name of the interface on the switch (e.g., "Ethernet0").
switchRef LocalObjectReferenceSwitchRef is a reference to the Switch this interface is connected to.
adminState AdminStateAdminState represents the desired administrative state of the interface.

SwitchInterfaceState ​

Underlying type: string

Appears in:

FieldDescription
Pending
Initializing
Ready
Failed

SwitchInterfaceStatus ​

SwitchInterfaceStatus defines the observed state of SwitchInterface.

Appears in:

FieldDescriptionDefaultValidation
adminState AdminStateAdminState represents the desired administrative state of the interface.
operationalState OperationStateOperationalState represents the actual operational state of the interface.
state SwitchInterfaceStateState represents the high-level state of the SwitchInterface.
neighbor NeighborNeighbor is a reference to the connected neighbor device, if any.
macAddress stringMacAddress is the MAC address assigned to this interface.
aliasName stringAliasName is the alias name of the interface.
conditions Condition arrayThe status of each condition is one of True, False, or Unknown.

SwitchSpec ​

SwitchSpec defines the desired state of Switch

Appears in:

FieldDescriptionDefaultValidation
hostname stringHostname is configured on the switch by --ztp-mode=generated. If omitted,
the generated script uses the Switch object name.
MaxLength: 253
Pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
management Management
ztp ZTPZTP identifies the switch while it requests its initial provisioning script.
containers Container arrayContainers are started with host networking and Docker's unless-stopped
restart policy by --ztp-mode=generated.
volumes Volume arrayVolumes are named storage sources available to containers. Generated ZTP
currently supports hostPath volumes only.
nextBootMode NextBootModeNextBootMode declares the desired behavior of the next boot. The default
is None. It is configured by --ztp-mode=generated.
Enum: [None InstallOS]
macAddress stringMacAddress is the MAC address assigned to this interface.
ports PortSpec arrayPorts the physical ports available on the Switch.

SwitchState ​

Underlying type: string

SwitchState represents the high-level state of the Switch.

Appears in:

FieldDescription
Pending
Ready
Failed

SwitchStatus ​

SwitchStatus defines the observed state of Switch.

Appears in:

FieldDescriptionDefaultValidation
state SwitchStateState represents the high-level state of the Switch.
ports PortStatus arrayPorts represents the status of each port on the Switch.
macAddress stringMACAddress is the MAC address assigned to this switch.
firmwareVersion stringFirmwareVersion is the firmware version running on this switch.
sku stringSKU is the stock keeping unit of this switch.
conditions Condition arrayThe status of each condition is one of True, False, or Unknown.

Volume ​

Volume represents a named storage volume made available to Switch containers. It follows the Kubernetes Pod volume model. Generated ZTP currently supports hostPath volumes only.

Appears in:

FieldDescriptionDefaultValidation
name stringName is the stable volume identity referenced by Container.VolumeMounts.MaxLength: 63
Pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
hostPath HostPathVolumeSourceHostPath represents a pre-existing file or directory on the SONiC host.

VolumeMount ​

VolumeMount describes a volume mounted into a Switch container. It follows the Kubernetes Pod volumeMount API.

Appears in:

FieldDescriptionDefaultValidation
name string
mountPath string
readOnly boolean

ZTP ​

ZTP defines how a switch is identified while it is requesting its initial ZTP script. SourceAddress is the address observed by the provisioning server, which can differ from the management address used after provisioning.

Appears in:

FieldDescriptionDefaultValidation
sourceAddress string
scriptRef ZTPConfigMapReferenceScriptRef identifies the complete script served when --ztp-mode=configmap.
It is not used by --ztp-mode=generated.

ZTPConfigMapReference ​

ZTPConfigMapReference identifies the ConfigMap entry containing a switch's complete ZTP script. The referenced ConfigMap may be in a provisioning namespace chosen by the cluster administrator.

Appears in:

FieldDescriptionDefaultValidation
namespace string
name string
key string
EU and German government funding logos

Funded by the European Union – NextGenerationEU.

The views and opinions expressed are solely those of the author(s) and do not necessarily reflect the views of the European Union or the European Commission. Neither the European Union nor the European Commission can be held responsible for them.