54 lines
2.1 KiB
Plaintext
54 lines
2.1 KiB
Plaintext
"""
|
|
Provisioning bridge integrations main schema reference.
|
|
|
|
Note: Individual integration modules are in separate files:
|
|
- runtime.k: Container runtime abstraction (Docker, Podman, etc.)
|
|
- ssh_advanced.k: SSH connection pooling and circuit breaker
|
|
- backup.k: Backup system configuration (Restic, BorgBackup, etc.)
|
|
- gitops.k: GitOps rule and event management
|
|
- service.k: Service management for systemd, launchd, runit, OpenRC
|
|
|
|
This file is a reference schema for the unified integrations configuration.
|
|
Each module compiles independently and can be used separately.
|
|
"""
|
|
|
|
# Aggregated type definitions for reference
|
|
schema IntegrationTypes:
|
|
"""Reference schema for all integration types"""
|
|
# Runtime types
|
|
Runtime: "docker" | "podman" | "orbstack" | "colima" | "nerdctl"
|
|
|
|
# SSH types
|
|
AuthMethod: "password" | "private_key" | "agent"
|
|
DeploymentStrategy: "rolling" | "blue-green" | "canary"
|
|
RetryStrategy: "exponential" | "linear" | "fibonacci"
|
|
|
|
# Backup types
|
|
BackendType: "restic" | "borg" | "tar" | "rsync" | "cpio"
|
|
RepositoryType: "local" | "s3" | "sftp" | "rest" | "b2"
|
|
|
|
# GitOps types
|
|
GitProvider: "github" | "gitlab" | "gitea"
|
|
EventType: "push" | "pull-request" | "webhook" | "scheduled" | "health-check" | "manual"
|
|
Environment: "dev" | "staging" | "prod"
|
|
|
|
# Service types
|
|
InitSystem: "systemd" | "launchd" | "runit" | "openrc"
|
|
RestartPolicy: "always" | "on-failure" | "no"
|
|
|
|
# Placeholder schema for documentation
|
|
schema IntegrationConfig:
|
|
"""
|
|
Main integrations configuration aggregator.
|
|
|
|
This schema aggregates all integration configurations.
|
|
Individual modules should be used directly:
|
|
- Import provisioning.integrations.runtime for RuntimeConfig
|
|
- Import provisioning.integrations.ssh_advanced for SshPool, CircuitBreakerConfig
|
|
- Import provisioning.integrations.backup for BackupConfig
|
|
- Import provisioning.integrations.gitops for GitOpsConfig
|
|
- Import provisioning.integrations.service for ServiceConfig
|
|
"""
|
|
# Placeholder - actual configurations are in individual modules
|
|
integration_types: IntegrationTypes = {}
|