111 lines
2.2 KiB
TOML
111 lines
2.2 KiB
TOML
# CI/CD Pipeline Configuration
|
|
#
|
|
# Automated deployment for continuous integration
|
|
# Suitable for: Jenkins, GitLab CI, GitHub Actions, automated pipelines
|
|
|
|
# Installation metadata
|
|
installation_id = "cicd-pipeline-20250106"
|
|
verbose = true
|
|
fail_fast = true
|
|
cleanup_on_failure = true
|
|
|
|
# Paths
|
|
provisioning_path = "/usr/local/bin/provisioning"
|
|
work_dir = "/var/lib/provisioning"
|
|
|
|
# Deployment configuration
|
|
[deployment]
|
|
platform = "Docker"
|
|
mode = "CICD"
|
|
domain = "ci.example.com"
|
|
auto_generate_secrets = true
|
|
|
|
# Core services
|
|
[[deployment.services]]
|
|
name = "orchestrator"
|
|
description = "Task coordination engine"
|
|
port = 8080
|
|
enabled = true
|
|
required = true
|
|
|
|
[[deployment.services]]
|
|
name = "control-center"
|
|
description = "Web UI dashboard"
|
|
port = 8081
|
|
enabled = true
|
|
required = true
|
|
|
|
[[deployment.services]]
|
|
name = "coredns"
|
|
description = "DNS service"
|
|
port = 5353
|
|
enabled = true
|
|
required = true
|
|
|
|
# CI/CD specific services
|
|
[[deployment.services]]
|
|
name = "gitea"
|
|
description = "Git server"
|
|
port = 3000
|
|
enabled = true
|
|
required = true
|
|
|
|
[[deployment.services]]
|
|
name = "postgres"
|
|
description = "Database for CI metadata"
|
|
port = 5432
|
|
enabled = true
|
|
required = true
|
|
|
|
[[deployment.services]]
|
|
name = "api-server"
|
|
description = "REST API for automation"
|
|
port = 8083
|
|
enabled = true
|
|
required = true
|
|
|
|
[[deployment.services]]
|
|
name = "oci-registry"
|
|
description = "OCI Registry (Zot)"
|
|
port = 5000
|
|
enabled = true
|
|
required = false
|
|
|
|
[[deployment.services]]
|
|
name = "mcp-server"
|
|
description = "Model Context Protocol"
|
|
port = 8084
|
|
enabled = true
|
|
required = false
|
|
|
|
[[deployment.services]]
|
|
name = "api-gateway"
|
|
description = "REST API gateway"
|
|
port = 8085
|
|
enabled = true
|
|
required = false
|
|
|
|
# Webhook notifications (example with CI/CD webhook)
|
|
[notifications]
|
|
webhook_url = "https://ci.example.com/api/v1/webhooks/provisioning"
|
|
notify_progress = true
|
|
notify_completion = true
|
|
notify_failure = true
|
|
retry_attempts = 5
|
|
|
|
[notifications.headers]
|
|
Content-Type = "application/json"
|
|
Authorization = "Bearer ${CI_API_TOKEN}"
|
|
|
|
# Custom environment variables for CI/CD
|
|
[env_vars]
|
|
LOG_LEVEL = "debug"
|
|
ENABLE_DEBUG = "true"
|
|
PROVISIONING_MODE = "cicd"
|
|
CI = "true"
|
|
CI_PIPELINE_ID = "${PIPELINE_ID}"
|
|
CI_COMMIT_SHA = "${COMMIT_SHA}"
|
|
CI_COMMIT_REF = "${COMMIT_REF}"
|
|
POSTGRES_MAX_CONNECTIONS = "300"
|
|
API_RATE_LIMIT = "1000"
|