118 lines
4.0 KiB
Plaintext
Raw Normal View History

2025-10-07 11:20:26 +01:00
# 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 {}