Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Other Components Options

Options for: velero, netbird, zot, custom.

All options are under lab.clusters.<name>.components.

custom.apps

Custom applications to deploy. Each app gets its own bundle within the specified phase. Supports Helm charts, typed resources, raw YAML, and optional Gateway API routing.

Type: attribute set of (submodule)

Default: { }

Declared in: modules/lab/cluster/components/custom.nix


custom.apps.<name>.createNamespace

This option has no description.

Type: boolean

Default: true

Declared in: modules/lab/cluster/components/custom.nix


custom.apps.<name>.enable

This option has no description.

Type: boolean

Default: true

Declared in: modules/lab/cluster/components/custom.nix


custom.apps.<name>.gateway.domain

This option has no description.

Type: string

Default: ""

Declared in: modules/lab/cluster/components/custom.nix


custom.apps.<name>.gateway.enable

This option has no description.

Type: boolean

Default: false

Declared in: modules/lab/cluster/components/custom.nix


custom.apps.<name>.gateway.gatewayNamespace

This option has no description.

Type: null or string

Default: "kube-system"

Declared in: modules/lab/cluster/components/custom.nix


custom.apps.<name>.gateway.gatewayRef

This option has no description.

Type: string

Default: "default-gateway"

Declared in: modules/lab/cluster/components/custom.nix


custom.apps.<name>.gateway.mode

This option has no description.

Type: one of "terminate", "passthrough"

Default: "terminate"

Declared in: modules/lab/cluster/components/custom.nix


custom.apps.<name>.gateway.serviceName

Backend service name for the HTTPRoute/TLSRoute

Type: string

Default: "‹name›"

Declared in: modules/lab/cluster/components/custom.nix


custom.apps.<name>.gateway.servicePort

This option has no description.

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default: 80

Declared in: modules/lab/cluster/components/custom.nix


custom.apps.<name>.helmCharts

Helm charts to deploy (same shape as phase bundle helmCharts)

Type: attribute set of (attribute set)

Default: { }

Declared in: modules/lab/cluster/components/custom.nix


custom.apps.<name>.namespace

Kubernetes namespace (defaults to app name)

Type: string

Default: "‹name›"

Declared in: modules/lab/cluster/components/custom.nix


custom.apps.<name>.phase

Deployment phase (apps, workloads, infrastructure, etc.)

Type: string

Default: "apps"

Declared in: modules/lab/cluster/components/custom.nix


custom.apps.<name>.resources

Typed Kubernetes resources

Type: attribute set of (attribute set)

Default: { }

Declared in: modules/lab/cluster/components/custom.nix


custom.apps.<name>.yamls

Raw YAML manifests

Type: list of (string or absolute path)

Default: [ ]

Declared in: modules/lab/cluster/components/custom.nix


netbird.chart

Custom chart derivation. When null, uses nixhelm default.

Type: package

Default: <derivation helm-chart-https-charts.jaconi.io-netbird-0.15.0>

Declared in: modules/lab/cluster/components/vpn/netbird.nix


netbird.domain

Domain name for the Netbird management server

Type: string

Default: "vpn.example.com"

Declared in: modules/lab/cluster/components/vpn/netbird.nix


netbird.enable

Whether to enable Netbird mesh VPN.

Type: boolean

Default: false

Example: true

Declared in: modules/lab/cluster/components/vpn/netbird.nix


netbird.idp.clientID

OIDC client ID

Type: string

Default: "netbird"

Declared in: modules/lab/cluster/components/vpn/netbird.nix


netbird.idp.clientSecretRef

Reference to the OIDC client secret. Use config.secrets.managed..ref.secretRef for type-safe refs.

Type: null or (attribute set)

Declared in: modules/lab/cluster/components/vpn/netbird.nix


netbird.idp.issuer

OIDC issuer URL. Use config.components.kanidm.ref.oidcIssuer for type-safe Kanidm integration.

Type: string

Default: ""

Declared in: modules/lab/cluster/components/vpn/netbird.nix


netbird.management.replicas

Number of management server replicas

Type: positive integer, meaning >0

Default: 1

Declared in: modules/lab/cluster/components/vpn/netbird.nix


netbird.management.storage.size

PVC size for management server data

Type: string

Default: "5Gi"

Declared in: modules/lab/cluster/components/vpn/netbird.nix


netbird.management.storage.storageClass

StorageClass (null = cluster default)

Type: null or string

Declared in: modules/lab/cluster/components/vpn/netbird.nix


netbird.namespace

Namespace for Netbird

Type: string

Default: "netbird"

Declared in: modules/lab/cluster/components/vpn/netbird.nix


netbird.phase

Deployment phase this component belongs to

Type: string

Default: "infrastructure"

Declared in: modules/lab/cluster/components/vpn/netbird.nix


netbird.ref

Computed references for Netbird

Type: attribute set

Default: { }

Declared in: modules/lab/cluster/components/vpn/netbird.nix


netbird.signal.replicas

Number of signal server replicas

Type: positive integer, meaning >0

Default: 1

Declared in: modules/lab/cluster/components/vpn/netbird.nix


netbird.turn.domain

Domain for the TURN server

Type: string

Default: "turn.example.com"

Declared in: modules/lab/cluster/components/vpn/netbird.nix


netbird.turn.enable

Enable TURN relay for NAT traversal

Type: boolean

Default: true

Declared in: modules/lab/cluster/components/vpn/netbird.nix


netbird.version

Netbird version

Type: string

Default: "0.31.0"

Declared in: modules/lab/cluster/components/vpn/netbird.nix


velero.backupStorageLocation.bucket

Bucket/container name for backups

Type: string

Default: "velero-backups"

Declared in: modules/lab/cluster/components/backups/velero.nix


velero.backupStorageLocation.credentialsSecret

Name of the secret containing storage credentials

Type: string

Default: "velero-credentials"

Declared in: modules/lab/cluster/components/backups/velero.nix


velero.backupStorageLocation.prefix

Prefix within the bucket for backups

Type: string

Default: ""

Declared in: modules/lab/cluster/components/backups/velero.nix


velero.backupStorageLocation.provider

Backup storage provider

Type: one of "aws", "gcp", "azure", "seaweedfs", "filesystem"

Default: "seaweedfs"

Declared in: modules/lab/cluster/components/backups/velero.nix


velero.backupStorageLocation.s3.endpoint

S3 endpoint URL

Type: null or string

Declared in: modules/lab/cluster/components/backups/velero.nix


velero.backupStorageLocation.s3.insecureSkipTLSVerify

Skip TLS verification

Type: boolean

Default: false

Declared in: modules/lab/cluster/components/backups/velero.nix


velero.backupStorageLocation.s3.region

S3 region

Type: string

Default: "seaweedfs"

Declared in: modules/lab/cluster/components/backups/velero.nix


velero.backupStorageLocation.s3.s3ForcePathStyle

Use path-style S3 URLs

Type: boolean

Default: true

Declared in: modules/lab/cluster/components/backups/velero.nix


velero.chart

Velero Helm chart derivation (default: cataCharts.velero)

Type: package

Default: <derivation helm-chart-https-vmware-tanzu.github.io-helm-charts-velero-9.0.1>

Declared in: modules/lab/cluster/components/backups/velero.nix


velero.enable

Whether to enable Velero backup and restore.

Type: boolean

Default: false

Example: true

Declared in: modules/lab/cluster/components/backups/velero.nix


velero.fileSystemBackup.enable

Enable file system backups using restic/kopia

Type: boolean

Default: true

Declared in: modules/lab/cluster/components/backups/velero.nix


velero.fileSystemBackup.uploaderType

Uploader type for file system backups

Type: one of "restic", "kopia"

Default: "kopia"

Declared in: modules/lab/cluster/components/backups/velero.nix


velero.local.enable

Enable local development mode using SeaweedFS

Type: boolean

Default: false

Declared in: modules/lab/cluster/components/backups/velero.nix


velero.namespace

Namespace for Velero

Type: string

Default: "velero"

Declared in: modules/lab/cluster/components/backups/velero.nix


velero.phase

Deployment phase this component belongs to

Type: string

Default: "operators"

Declared in: modules/lab/cluster/components/backups/velero.nix


velero.ref

Computed references for Velero

Type: attribute set

Default: { }

Declared in: modules/lab/cluster/components/backups/velero.nix


velero.resources.limits.cpu

This option has no description.

Type: string

Default: "1000m"

Declared in: modules/lab/cluster/components/backups/velero.nix


velero.resources.limits.memory

This option has no description.

Type: string

Default: "512Mi"

Declared in: modules/lab/cluster/components/backups/velero.nix


velero.resources.requests.cpu

This option has no description.

Type: string

Default: "100m"

Declared in: modules/lab/cluster/components/backups/velero.nix


velero.resources.requests.memory

This option has no description.

Type: string

Default: "128Mi"

Declared in: modules/lab/cluster/components/backups/velero.nix


velero.schedules

Named backup schedules

Type: attribute set of (submodule)

Default:

{
  daily = {
    schedule = "0 2 * * *";
    ttl = "168h";
  };
  weekly = {
    schedule = "0 3 * * 0";
    ttl = "720h";
  };
}

Declared in: modules/lab/cluster/components/backups/velero.nix


velero.schedules.<name>.defaultVolumesToFsBackup

Use file-system backup for volumes by default (restic/kopia)

Type: boolean

Default: false

Declared in: modules/lab/cluster/components/backups/velero.nix


velero.schedules.<name>.enable

Whether this schedule is enabled

Type: boolean

Default: true

Declared in: modules/lab/cluster/components/backups/velero.nix


velero.schedules.<name>.excludedNamespaces

Namespaces to exclude from backup

Type: list of string

Default:

[
  "kube-system"
  "velero"
]

Declared in: modules/lab/cluster/components/backups/velero.nix


velero.schedules.<name>.excludedResources

Resources to exclude from backup

Type: list of string

Default: [ ]

Declared in: modules/lab/cluster/components/backups/velero.nix


velero.schedules.<name>.includeClusterResources

Whether to include cluster-scoped resources

Type: boolean

Default: true

Declared in: modules/lab/cluster/components/backups/velero.nix


velero.schedules.<name>.includedNamespaces

Namespaces to include (empty = all)

Type: list of string

Default: [ ]

Declared in: modules/lab/cluster/components/backups/velero.nix


velero.schedules.<name>.includedResources

Resources to include (empty = all)

Type: list of string

Default: [ ]

Declared in: modules/lab/cluster/components/backups/velero.nix


velero.schedules.<name>.schedule

Cron schedule for backups

Type: string

Default: "0 2 * * *"

Declared in: modules/lab/cluster/components/backups/velero.nix


velero.schedules.<name>.snapshotVolumes

Whether to snapshot PVs (requires volume snapshotter)

Type: boolean

Default: true

Declared in: modules/lab/cluster/components/backups/velero.nix


velero.schedules.<name>.ttl

Time to live for backups (e.g., 720h = 30 days)

Type: string

Default: "720h"

Declared in: modules/lab/cluster/components/backups/velero.nix


velero.version

Velero Helm chart version

Type: string

Default: "7.2.1"

Declared in: modules/lab/cluster/components/backups/velero.nix


velero.volumeSnapshotLocation.config

Provider-specific configuration

Type: attribute set of string

Default: { }

Declared in: modules/lab/cluster/components/backups/velero.nix


velero.volumeSnapshotLocation.enable

Enable volume snapshot location

Type: boolean

Default: false

Declared in: modules/lab/cluster/components/backups/velero.nix


velero.volumeSnapshotLocation.provider

Volume snapshot provider

Type: one of "aws", "gcp", "azure", "csi"

Default: "csi"

Declared in: modules/lab/cluster/components/backups/velero.nix


zot.auth.enable

This option has no description.

Type: boolean

Default: false

Declared in: modules/lab/cluster/components/registries/zot.nix


zot.auth.htpasswdSecret

This option has no description.

Type: string

Default: "zot-htpasswd"

Declared in: modules/lab/cluster/components/registries/zot.nix


zot.chart

This option has no description.

Type: package

Default: <derivation helm-chart-https-zotregistry.dev-helm-charts-zot-0.1.113>

Declared in: modules/lab/cluster/components/registries/zot.nix


zot.domain

This option has no description.

Type: string

Default: ""

Declared in: modules/lab/cluster/components/registries/zot.nix


zot.enable

Whether to enable Zot OCI-native container registry.

Type: boolean

Default: false

Example: true

Declared in: modules/lab/cluster/components/registries/zot.nix


zot.gateway.enable

This option has no description.

Type: boolean

Default: true

Declared in: modules/lab/cluster/components/registries/zot.nix


zot.gateway.gatewayNamespace

This option has no description.

Type: null or string

Default: "kube-system"

Declared in: modules/lab/cluster/components/registries/zot.nix


zot.gateway.gatewayRef

This option has no description.

Type: string

Default: "default-gateway"

Declared in: modules/lab/cluster/components/registries/zot.nix


zot.http.port

This option has no description.

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default: 5000

Declared in: modules/lab/cluster/components/registries/zot.nix


zot.namespace

This option has no description.

Type: string

Default: "zot"

Declared in: modules/lab/cluster/components/registries/zot.nix


zot.oidc.adminGroups

This option has no description.

Type: list of string

Default: [ ]

Declared in: modules/lab/cluster/components/registries/zot.nix


zot.oidc.clientId

This option has no description.

Type: string

Default: "zot"

Declared in: modules/lab/cluster/components/registries/zot.nix


zot.oidc.clientSecretRef

This option has no description.

Type: null or (submodule)

Declared in: modules/lab/cluster/components/registries/zot.nix


zot.oidc.clientSecretRef.key

This option has no description.

Type: string

Default: "client-secret"

Declared in: modules/lab/cluster/components/registries/zot.nix


zot.oidc.clientSecretRef.name

This option has no description.

Type: string

Declared in: modules/lab/cluster/components/registries/zot.nix


zot.oidc.enable

Whether to enable OIDC authentication via Kanidm.

Type: boolean

Default: false

Example: true

Declared in: modules/lab/cluster/components/registries/zot.nix


zot.oidc.groupsClaim

This option has no description.

Type: string

Default: "groups"

Declared in: modules/lab/cluster/components/registries/zot.nix


zot.oidc.issuerUrl

This option has no description.

Type: string

Default: ""

Declared in: modules/lab/cluster/components/registries/zot.nix


zot.oidc.readOnlyGroups

This option has no description.

Type: list of string

Default: [ ]

Declared in: modules/lab/cluster/components/registries/zot.nix


zot.oidc.scopes

This option has no description.

Type: list of string

Default:

[
  "openid"
  "email"
  "groups"
]

Declared in: modules/lab/cluster/components/registries/zot.nix


zot.oidc.usernameClaim

This option has no description.

Type: string

Default: "preferred_username"

Declared in: modules/lab/cluster/components/registries/zot.nix


zot.phase

This option has no description.

Type: string

Default: "apps"

Declared in: modules/lab/cluster/components/registries/zot.nix


zot.ref

This option has no description.

Type: attribute set

Default: { }

Declared in: modules/lab/cluster/components/registries/zot.nix


zot.replicas

This option has no description.

Type: positive integer, meaning >0

Default: 1

Declared in: modules/lab/cluster/components/registries/zot.nix


zot.search.enable

This option has no description.

Type: boolean

Default: true

Declared in: modules/lab/cluster/components/registries/zot.nix


zot.storage.dedupe

This option has no description.

Type: boolean

Default: true

Declared in: modules/lab/cluster/components/registries/zot.nix


zot.storage.rootDirectory

This option has no description.

Type: string

Default: "/var/lib/zot"

Declared in: modules/lab/cluster/components/registries/zot.nix


zot.storage.size

This option has no description.

Type: string

Default: "50Gi"

Declared in: modules/lab/cluster/components/registries/zot.nix


zot.storage.storageClass

This option has no description.

Type: null or string

Declared in: modules/lab/cluster/components/registries/zot.nix


zot.tls.issuerRef

This option has no description.

Type: null or (submodule)

Declared in: modules/lab/cluster/components/registries/zot.nix


zot.tls.issuerRef.kind

This option has no description.

Type: string

Default: "ClusterIssuer"

Declared in: modules/lab/cluster/components/registries/zot.nix


zot.tls.issuerRef.name

This option has no description.

Type: string

Declared in: modules/lab/cluster/components/registries/zot.nix


zot.tls.secretName

This option has no description.

Type: string

Default: "zot-tls"

Declared in: modules/lab/cluster/components/registries/zot.nix


zot.ui.enable

This option has no description.

Type: boolean

Default: true

Declared in: modules/lab/cluster/components/registries/zot.nix


zot.version

This option has no description.

Type: string

Default: "0.1.62"

Declared in: modules/lab/cluster/components/registries/zot.nix