API Overview
This section documents IML's Kubernetes APIs (Custom Resource Definitions) used to model applications, network functions, service chains, and programmable targets.
API groups
IML resources are organized into three main API groups:
core.loom.io/v1alpha1: service graph and programmable function resources.scheduling.loom.io/v1alpha1: rollout and replica management for network functions.infra.loom.io/v1alpha1: infrastructure target and node abstractions.
Resource map
Core (core.loom.io/v1alpha1)
Application: declares traffic endpoints.NetworkFunction: defines packet-processing functions and target selection.ServiceChain: declares directional traffic paths through one or more NFs.P4Target: represents a schedulable programmable data-plane target.
Scheduling (scheduling.loom.io/v1alpha1)
NetworkFunctionDeployment: declarative rollouts and update strategies.NetworkFunctionReplicaSet: stable set of replicatedNetworkFunctioninstances.
Infrastructure (infra.loom.io/v1alpha1)
BMv2Target: BMv2-based programmable target abstraction.LoomNode: node-level CIDR allocation model used by infrastructure components.NetworkFunctionConfig(WIP): evolving configuration API for NFs.
How resources relate
- Create
Applicationresources for source and destination workloads. - Create
NetworkFunction(orNetworkFunctionDeployment) resources. - Define a
ServiceChainfrom source app to destination app through selected NFs. - Ensure compatible
P4Target/BMv2Targetresources exist for scheduling and execution.
Version and compatibility notes
- Current docs describe the
v1alpha1API surface. - Alpha APIs may evolve; check per-resource pages for field-level details.
- Prefer label-based selection (
targetSelector, service-chain function selectors) to reduce coupling to object names.