For the complete documentation index, see llms.txt. This page is also available as Markdown.

Options.json Reference

options.json holds deployment-specific settings for a Self-hosted Private Cloud Director installation. Airctl reads it during install, upgrade, and restore, and applies the settings to the management plane deployment.

The file lives at:

/opt/pf9/airctl/conf/options.json

It is a flat JSON object of string keys and string values. Note that values are strings even when they represent a boolean or a number:

{
  "chart_url": "<chart_url>",
  "community_edition": "false",
  "mysql_disk_size": "10Gi"
}

How airctl uses the file

Airctl reads the entire file and forwards it to the management plane deployment. It interprets a small number of keys itself and passes the rest through unchanged.

This has two consequences worth understanding before you edit the file:

  • Unrecognized keys are not rejected. Airctl does not validate the file against a fixed schema, so a misspelled key is silently ignored rather than reported as an error. Check spelling carefully against this page.

  • The keys listed here are not an exhaustive set. This page documents the keys that airctl interprets, plus those referenced elsewhere in this documentation. A deployment may accept additional keys that are not listed here.

Edit options.json before you run the command that consumes it. Airctl reads the file at the start of an install, upgrade, or restore, so changes made while one of those operations is running have no effect on it.

Keys set automatically by airctl

Airctl writes these keys itself, based on values in airctl-config.yaml. Set them in airctl-config.yaml rather than editing them here, because airctl overwrites them on the next run.

Key
Written from
Description

enable_kaapi

enableK8s

Whether the Kubernetes management plane is deployed.

enable_private_registry

customRegistryEnabled

Whether the deployment pulls images from a custom registry.

Keys airctl interprets

Key
Values
Description

chart_url

URL

Location of the chart bundle to deploy. Required: airctl fails with an error if it is missing or empty.

community_edition

"true", "false"

Whether airctl runs in Community Edition mode. Defaults to false when absent.

kaapi_dev_mode

"true", "false"

Deploys the Kubernetes management plane with reduced resource requests, for test environments. Defaults to false when absent.

Keys passed through to the deployment

Airctl forwards these without interpreting them. They control how the management plane itself is deployed.

Key
Values
Description

multi_region

"true", "false"

Whether the deployment hosts more than one region.

parallel

"true", "false"

Whether region components are deployed in parallel.

skip_components

Comma-separated names

Components to leave out of the deployment.

rabbitmq_clustering_enabled

"true", "false"

Whether message-queue clustering is enabled. Enabled by default during a restore.

Storage class and disk size keys

Storage classes (<component>_sc) and volume sizes (<component>_disk_size) are set here too, along with the audit keys audit_pvc_sc, audit_pvc_size, and audit_retention_days.

These are documented with a full example, and with the rules on when each can be changed, in self-hosted-pre-requisites.md: see the storage configuration section.

Editing the file

  1. Back up the current file so you can compare or revert:

  2. Edit the file and confirm it is still valid JSON:

  3. Run the install, upgrade, or restore command that should pick up the change.

Last updated

Was this helpful?