- 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
51 lines
1.2 KiB
Markdown
51 lines
1.2 KiB
Markdown
# Configuration Schema
|
|
|
|
This document describes the configuration schema for `infctl-cli`.
|
|
|
|
## Base Configuration (`base.json`)
|
|
|
|
Example:
|
|
```json
|
|
{
|
|
"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:
|
|
```json
|
|
[
|
|
{
|
|
"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.
|