172 lines
4.3 KiB
Text
172 lines
4.3 KiB
Text
# Services Deployment Configuration Schema
|
|
# Validates which services are enabled and their configurations
|
|
|
|
|
|
let ServerConfig = {
|
|
host | String,
|
|
port | Number,
|
|
workers | Number | optional = 4,
|
|
} in
|
|
|
|
let DatabaseConfig = {
|
|
url | String,
|
|
namespace | String | optional,
|
|
database | String | optional,
|
|
username | String | optional,
|
|
password | String | optional,
|
|
} in
|
|
|
|
let ManagerConfig = {
|
|
hostname | String,
|
|
port | Number,
|
|
health_checks_enabled | Bool | optional = true,
|
|
startup_timeout | Number | optional = 60,
|
|
} in
|
|
|
|
# Service configuration template
|
|
let ServiceConfig = {
|
|
enabled | Bool,
|
|
priority | Number,
|
|
server | ServerConfig,
|
|
database | DatabaseConfig | optional,
|
|
logging | {
|
|
level | String,
|
|
format | String | optional,
|
|
} | optional,
|
|
features | {
|
|
batch_workflows | Bool | optional,
|
|
git_integration | Bool | optional,
|
|
cicd_integration | Bool | optional,
|
|
user_management | Bool | optional,
|
|
monitoring | Bool | optional,
|
|
} | optional,
|
|
} in
|
|
|
|
{
|
|
# Main services deployment configuration
|
|
ServiceDeploymentConfig = {
|
|
# Deployment mode
|
|
mode | String,
|
|
description | String | optional,
|
|
created_at | String | optional,
|
|
application_mode | String | optional,
|
|
|
|
# Manager configuration
|
|
manager | ManagerConfig | optional,
|
|
|
|
# Git configuration (optional)
|
|
git | {
|
|
schemas_repo | {
|
|
url | String | optional,
|
|
branch | String | optional,
|
|
cache_dir | String | optional,
|
|
update_check | Bool | optional,
|
|
} | optional,
|
|
configs_repo | {
|
|
url | String | optional,
|
|
branch | String | optional,
|
|
cache_dir | String | optional,
|
|
update_check | Bool | optional,
|
|
} | optional,
|
|
..
|
|
} | optional,
|
|
|
|
# Services startup (alternative to individual service configs)
|
|
services | {
|
|
orchestrator | {
|
|
enabled | Bool | optional,
|
|
priority | Number | optional,
|
|
dependencies | optional,
|
|
..
|
|
} | optional,
|
|
vault_service | {
|
|
enabled | Bool | optional,
|
|
priority | Number | optional,
|
|
dependencies | optional,
|
|
..
|
|
} | optional,
|
|
..
|
|
} | optional,
|
|
|
|
# Orchestrator service
|
|
orchestrator | ServiceConfig & {
|
|
queue | {
|
|
max_concurrent_tasks | Number | optional,
|
|
retry_attempts | Number | optional,
|
|
retry_delay_ms | Number | optional,
|
|
} | optional,
|
|
} | optional,
|
|
|
|
# Vault Service
|
|
vault_service | ServiceConfig & {
|
|
backend | {
|
|
backend_type | String,
|
|
secretum_vault | {
|
|
binary_path | String | optional,
|
|
workspace | String | optional,
|
|
api_endpoint | String | optional,
|
|
} | optional,
|
|
} | optional,
|
|
encryption | {
|
|
provider | String | optional,
|
|
key_file | String | optional,
|
|
} | optional,
|
|
} | optional,
|
|
|
|
# Control Center
|
|
control_center | ServiceConfig | optional,
|
|
|
|
# AI Service
|
|
ai_service | ServiceConfig & {
|
|
ai | {
|
|
enabled | Bool | optional,
|
|
provider | String | optional,
|
|
model | String | optional,
|
|
timeout | Number | optional,
|
|
} | optional,
|
|
} | optional,
|
|
|
|
# Extension Registry
|
|
extension_registry | ServiceConfig & {
|
|
storage | {
|
|
type | String | optional,
|
|
path | String | optional,
|
|
} | optional,
|
|
} | optional,
|
|
|
|
# Dependencies
|
|
dependencies | {
|
|
surrealdb | {
|
|
url | String,
|
|
required | Bool | optional = true,
|
|
startup_command | String | optional,
|
|
health_check_timeout | Number | optional,
|
|
} | optional,
|
|
secretum_vault | {
|
|
binary_path | String,
|
|
required | Bool | optional = true,
|
|
check_binary | Bool | optional = true,
|
|
} | optional,
|
|
forgejo | {
|
|
url | String,
|
|
required | Bool | optional = false,
|
|
only_if_enabled | String | optional,
|
|
} | optional,
|
|
} | optional,
|
|
|
|
# External services (infrastructure services, databases, registries, CI/CD)
|
|
# Imported from provisioning/platform/config/external-services.ncl
|
|
external_services | Array {} | optional,
|
|
|
|
# Metadata
|
|
metadata | {
|
|
created_at | String | optional,
|
|
last_updated | String | optional,
|
|
version | String | optional,
|
|
maintainer | String | optional,
|
|
} | optional,
|
|
|
|
# Allow extra fields not listed above
|
|
..
|
|
},
|
|
}
|