infctl-cli/docs/CONFIG_SCHEMA.md
jon brookes 2ab7872af1 Add Google Cloud K3s infrastructure support
- Add Terraform configuration for GCP instance and storage
- Add startup script for K3s installation and configuration
- Add pipeline scripts for deployment and management
- Add Forgejo deployment manifests and configuration
2025-10-02 15:41:50 +01:00

1.2 KiB

Configuration Schema

This document describes the configuration schema for infctl-cli.

Base Configuration (base.json)

Example:

{
  "retry_delay_seconds": 3
}
  • retry_delay_seconds (integer): Delay in seconds before retrying failed steps.

Project Configuration (config.json)

Project configuration fields are defined in the code and may include:

  • Project name
  • Directory paths
  • URLs
  • Port numbers
  • Log format

Refer to the code for exact field names and types.

Pipeline Configuration (pipeline.json)

Pipeline configuration is an array of steps. Each step:

  • name: Step name (string)
  • function: Function to call (string)
  • params: List of parameters (array of strings)
  • retryCount: Number of retries (integer)
  • shouldAbort: Whether to abort on failure (boolean)

Example:

[
  {
    "name": "ensure inf namespace exists",
    "function": "k8sNamespaceExists",
    "params": ["infctl"],
    "retryCount": 0,
    "shouldAbort": true
  }
]

Notes

  • Example configuration files are provided as .example files in the repository.
  • All configuration fields must match those defined in the codebase; do not add undocumented fields.