Skip to content

Latest commit

 

History

History
240 lines (127 loc) · 8.21 KB

File metadata and controls

240 lines (127 loc) · 8.21 KB

API Reference

Packages

cloud.datumapis.com/v1alpha1

Package v1alpha1 contains API Schema definitions for the cloud.datumapis.com/v1alpha1 API group.

Resource Types

IPAddress

Underlying type: string

IPAddress is an IPv4 or IPv6 address with CIDR notation.

Validation:

  • MaxLength: 64

Appears in:

Network

Underlying type: string

Network is an IPv4 or IPv6 CIDR block (e.g., "10.0.0.0/24").

Validation:

  • MaxLength: 64

Appears in:

NetworkInterfaceRef

NetworkInterfaceRef references a networking.datumapis.com NetworkInterface in the same namespace.

Appears in:

Field Description Default Validation
name string Name of the NetworkInterface. MinLength: 1

VPC

VPC represents a virtual private cloud — an isolated Layer 2 domain backed by one or more CIDR blocks.

Field Description Default Validation
apiVersion string cloud.datumapis.com/v1alpha1
kind string VPC
kind string 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
apiVersion string 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
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec VPCSpec Desired CIDR address space.
status VPCStatus Controller-observed state.

VPCAttachment

VPCAttachment is the Schema for the vpcattachments API

Field Description Default Validation
apiVersion string cloud.datumapis.com/v1alpha1
kind string VPCAttachment
kind string 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
apiVersion string 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
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec VPCAttachmentSpec spec defines the desired state of VPCAttachment
status VPCAttachmentStatus status defines the observed state of VPCAttachment

VPCAttachmentInterface

VPCAttachmentInterface defines the network interface details.

Appears in:

Field Description Default Validation
name string Name of the interface (e.g., eth0).
mode VPCAttachmentInterfaceMode Mode is how the workload consumes the interface, resolved and written by
the attachment controller rather than by whoever runs the workload.
Netns Enum: [Netns Hypervisor]
addresses IPAddress array A list of IPv4 or IPv6 addresses associated with the interface. Empty when
the guest manages its own addressing.
MaxItems: 16
MaxLength: 64

VPCAttachmentInterfaceMode

Underlying type: string

VPCAttachmentInterfaceMode is how the workload consumes the interface. It describes the guest, not the data plane, so a change of implementation on the data plane side does not move this API.

Validation:

  • Enum: [Netns Hypervisor]

Appears in:

Field Description
Netns VPCAttachmentInterfaceModeNetns moves the interface into the workload's
network namespace, which is what a container consumes.
Hypervisor VPCAttachmentInterfaceModeHypervisor hands the interface to a hypervisor as
a device, which is what a virtual machine guest consumes.

VPCAttachmentSpec

VPCAttachmentSpec defines the desired state of VPCAttachment

Appears in:

Field Description Default Validation
vpc VPCRef VPC this attachment belongs to.
interfaceRef NetworkInterfaceRef NetworkInterface this attachment realizes.
interface VPCAttachmentInterface Interface defines the network interface configuration.

VPCAttachmentStatus

VPCAttachmentStatus defines the observed state of VPCAttachment.

Every field but Conditions is optional: an identifier is recorded before a pod attaches, and a guest managing its own addressing never reports a subnet.

Appears in:

Field Description Default Validation
observedGeneration integer
conditions Condition array
vpc string Base62-encoded VPC identifier. MaxLength: 16
MinLength: 1
vpcAttachment string Base62-encoded VPCAttachment identifier. MaxLength: 16
MinLength: 1
node string Kubernetes node name where the attachment lives. MinLength: 1
containerID string Full container ID (46 hex characters). MaxLength: 46
MinLength: 46
podName string Pod name. MinLength: 1
hostInterface string Host-side veth or tap device name (e.g., "G000000010013H"). MinLength: 1
vrfInterface string VRF device name, which is per-VPC (e.g., "G000000010V"). MinLength: 1
guestInterface string Guest-side veth device name (e.g., "G000000010013G"). MinLength: 1
podSubnet string Allocated subnet in CIDR notation (e.g., "fd00:10:ff01:0:1::/80"). MinLength: 1
networkAttachmentDefinition string NetworkAttachmentDefinition rendered for this attachment. MinLength: 1

VPCRef

VPCRef references a VPC by name within the same namespace.

Appears in:

Field Description Default Validation
name string Name is the name of the VPC. MinLength: 1

VPCSpec

VPCSpec defines the desired state of a VPC. It specifies the CIDR address space.

Appears in:

Field Description Default Validation
networks Network array CIDR blocks that form the VPC address space. MaxItems: 64
MaxLength: 64
MinItems: 1

VPCStatus

VPCStatus defines the observed state of a VPC, populated by the controller.

Appears in:

Field Description Default Validation
observedGeneration integer
conditions Condition array
vpc string Base62-encoded VPC identifier. MaxLength: 16
MinLength: 1