Skip to content

Installing CRDs

5-Spot uses Custom Resource Definitions (CRDs) to extend the Kubernetes API.

ScheduledMachine CRD

The ScheduledMachine CRD is the primary resource type for 5-Spot.

Installation

kubectl apply -f deploy/crds/scheduledmachine.yaml

Or from the repository:

kubectl apply -f https://raw.githubusercontent.com/finos/5-spot/main/deploy/crds/scheduledmachine.yaml

Verify Installation

kubectl get crds scheduledmachines.capi.5spot.io

Expected output:

NAME                                 CREATED AT
scheduledmachines.capi.5spot.io     2025-01-01T00:00:00Z

CRD Schema

The CRD defines the following structure:

  • apiVersion: capi.5spot.io/v1alpha1
  • kind: ScheduledMachine
  • spec: Configuration for scheduling and machine management
  • status: Current state and conditions

See the API Reference for complete field documentation.

Generating CRDs

If building from source, generate CRDs using:

cargo run --bin crdgen > deploy/crds/scheduledmachine.yaml

Upgrading CRDs

When upgrading 5-Spot, update the CRD first:

kubectl apply -f deploy/crds/scheduledmachine.yaml

Caution

CRD changes may affect existing resources. Always review the changelog before upgrading.

Next Steps