118 lines
4.0 KiB
Plaintext
118 lines
4.0 KiB
Plaintext
|
|
# Info: Local provider dependencies for development and testing workflows (Provisioning)
|
||
|
|
# Author: Claude Code Agent 7
|
||
|
|
# Release: 2.0.0
|
||
|
|
# Date: 2025-09-25
|
||
|
|
import provisioning
|
||
|
|
|
||
|
|
schema FilesystemDependencies:
|
||
|
|
"""Directory and filesystem dependencies"""
|
||
|
|
base_directories_first: bool = True
|
||
|
|
required_paths: [str] = ["/tmp", "/var", "/opt"]
|
||
|
|
auto_create_dirs: bool = True
|
||
|
|
default_permissions: str = "755"
|
||
|
|
fs_timeout: int = 30
|
||
|
|
|
||
|
|
schema NetworkDependencies:
|
||
|
|
"""Local network dependencies"""
|
||
|
|
docker_networks: bool = True
|
||
|
|
host_network_limits: bool = True
|
||
|
|
port_conflict_check: bool = True
|
||
|
|
local_ranges: [str] = ["127.0.0.0/8", "10.0.0.0/8", "172.16.0.0/12", "192.168.0.0/16"]
|
||
|
|
network_timeout: int = 60
|
||
|
|
|
||
|
|
schema ContainerDependencies:
|
||
|
|
"""Container dependencies (if using containerization)"""
|
||
|
|
docker_required: bool = False
|
||
|
|
podman_support: bool = True
|
||
|
|
runtime_auto_detect: bool = True
|
||
|
|
base_images_first: bool = True
|
||
|
|
batch_size: int = 5
|
||
|
|
startup_timeout: int = 120
|
||
|
|
|
||
|
|
schema StorageDependencies:
|
||
|
|
"""Local storage dependencies"""
|
||
|
|
local_paths: bool = True
|
||
|
|
prefer_bind_mounts: bool = True
|
||
|
|
capacity_validation: bool = True
|
||
|
|
temp_cleanup: bool = True
|
||
|
|
batch_size: int = 10
|
||
|
|
|
||
|
|
schema ResourceLimits:
|
||
|
|
"""Resource limits (local development constraints)"""
|
||
|
|
max_processes: int = 50
|
||
|
|
max_memory_mb: int = 4096
|
||
|
|
max_disk_gb: int = 20
|
||
|
|
max_connections: int = 100
|
||
|
|
max_cpu_percent: int = 80
|
||
|
|
|
||
|
|
schema DevelopmentFeatures:
|
||
|
|
"""Development workflow support"""
|
||
|
|
hot_reload: bool = True
|
||
|
|
debug_mode: bool = True
|
||
|
|
service_discovery: bool = True
|
||
|
|
config_watching: bool = True
|
||
|
|
log_aggregation: bool = True
|
||
|
|
|
||
|
|
schema SharedResources:
|
||
|
|
"""Shared resources (local development)"""
|
||
|
|
config_files_shared: bool = True
|
||
|
|
cache_shared: bool = True
|
||
|
|
logs_shared: bool = True
|
||
|
|
database_shared: bool = False
|
||
|
|
ssh_keys_inherited: bool = True
|
||
|
|
|
||
|
|
schema Lifecycle:
|
||
|
|
"""Resource lifecycle management"""
|
||
|
|
cleanup_on_exit: bool = True
|
||
|
|
preserve_data: [str] = ["databases", "logs", "config"]
|
||
|
|
temporary: [str] = ["pid_files", "sockets", "temp_dirs"]
|
||
|
|
cleanup_order: [str] = ["services", "containers", "volumes", "networks", "temp_directories"]
|
||
|
|
|
||
|
|
schema CrossProvider:
|
||
|
|
"""Cross-provider compatibility"""
|
||
|
|
cloud_simulation: bool = True
|
||
|
|
cloud_config_compat: bool = True
|
||
|
|
cloud_migration: bool = True
|
||
|
|
service_mocking: bool = True
|
||
|
|
env_parity: bool = True
|
||
|
|
|
||
|
|
schema Validation:
|
||
|
|
"""Local testing and validation"""
|
||
|
|
health_checks: bool = True
|
||
|
|
port_checks: bool = True
|
||
|
|
dependency_checks: bool = True
|
||
|
|
resource_validation: bool = True
|
||
|
|
config_validation: bool = True
|
||
|
|
performance_testing: bool = True
|
||
|
|
|
||
|
|
schema Security:
|
||
|
|
"""Security considerations for local development"""
|
||
|
|
environment_isolation: bool = True
|
||
|
|
secure_local_comms: bool = False
|
||
|
|
access_control_sim: bool = True
|
||
|
|
credential_management: bool = True
|
||
|
|
security_scanning: bool = False
|
||
|
|
|
||
|
|
schema LocalDependencies:
|
||
|
|
"""
|
||
|
|
Local provider dependency management for development workflows
|
||
|
|
"""
|
||
|
|
# Resource creation order (simplified for local development)
|
||
|
|
resource_order: [str] = ["directories", "networks", "containers", "volumes", "services"]
|
||
|
|
|
||
|
|
# Configuration sections
|
||
|
|
filesystem_dependencies: FilesystemDependencies = FilesystemDependencies {}
|
||
|
|
network_dependencies: NetworkDependencies = NetworkDependencies {}
|
||
|
|
container_dependencies: ContainerDependencies = ContainerDependencies {}
|
||
|
|
storage_dependencies: StorageDependencies = StorageDependencies {}
|
||
|
|
resource_limits: ResourceLimits = ResourceLimits {}
|
||
|
|
development_features: DevelopmentFeatures = DevelopmentFeatures {}
|
||
|
|
shared_resources: SharedResources = SharedResources {}
|
||
|
|
lifecycle: Lifecycle = Lifecycle {}
|
||
|
|
cross_provider: CrossProvider = CrossProvider {}
|
||
|
|
validation: Validation = Validation {}
|
||
|
|
security: Security = Security {}
|
||
|
|
|
||
|
|
# Default dependency configuration for Local provider
|
||
|
|
local_dependencies: LocalDependencies = LocalDependencies {}
|