Skip to content

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)

Infrastructure (infra.loom.io/v1alpha1)

How resources relate

  1. Create Application resources for source and destination workloads.
  2. Create NetworkFunction (or NetworkFunctionDeployment) resources.
  3. Define a ServiceChain from source app to destination app through selected NFs.
  4. Ensure compatible P4Target/BMv2Target resources exist for scheduling and execution.

Version and compatibility notes

  • Current docs describe the v1alpha1 API 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.