283 lines
5.2 KiB
YAML
283 lines
5.2 KiB
YAML
# Integration Test Configuration
|
|
# Defines test environment settings for OrbStack machine "provisioning"
|
|
|
|
version: "1.0.0"
|
|
|
|
# OrbStack connection details
|
|
orbstack:
|
|
machine_name: "provisioning"
|
|
connection:
|
|
type: "docker" # OrbStack uses Docker API
|
|
socket: "/var/run/docker.sock"
|
|
|
|
resources:
|
|
cpu_cores: 4
|
|
memory_mb: 8192
|
|
disk_gb: 100
|
|
|
|
network:
|
|
subnet: "172.20.0.0/16"
|
|
gateway: "172.20.0.1"
|
|
dns: ["172.20.0.2"] # CoreDNS
|
|
|
|
# Test workspace configuration
|
|
test_workspace:
|
|
name: "test-workspace"
|
|
path: "/tmp/provisioning-test-workspace"
|
|
auto_cleanup: true
|
|
|
|
config:
|
|
provider: "local"
|
|
region: "local"
|
|
environment: "test"
|
|
|
|
# Platform service endpoints (deployed on OrbStack)
|
|
services:
|
|
orchestrator:
|
|
host: "172.20.0.10"
|
|
port: 8080
|
|
health_endpoint: "/health"
|
|
|
|
coredns:
|
|
host: "172.20.0.2"
|
|
port: 53
|
|
protocol: "udp"
|
|
|
|
oci_registry:
|
|
# Zot for solo/multi-user modes
|
|
zot:
|
|
host: "172.20.0.20"
|
|
port: 5000
|
|
ui_port: 5001
|
|
|
|
# Harbor for enterprise mode
|
|
harbor:
|
|
host: "172.20.0.21"
|
|
port: 443
|
|
ui_port: 80
|
|
|
|
gitea:
|
|
host: "172.20.0.30"
|
|
port: 3000
|
|
ssh_port: 2222
|
|
|
|
postgres:
|
|
host: "172.20.0.40"
|
|
port: 5432
|
|
database: "provisioning"
|
|
username: "provisioning"
|
|
|
|
prometheus:
|
|
host: "172.20.0.50"
|
|
port: 9090
|
|
|
|
grafana:
|
|
host: "172.20.0.51"
|
|
port: 3001
|
|
|
|
# Test data definitions
|
|
test_data:
|
|
users:
|
|
- username: "admin"
|
|
email: "admin@test.local"
|
|
role: "admin"
|
|
password_hash: "test123"
|
|
|
|
- username: "developer"
|
|
email: "dev@test.local"
|
|
role: "developer"
|
|
password_hash: "test123"
|
|
|
|
- username: "viewer"
|
|
email: "viewer@test.local"
|
|
role: "viewer"
|
|
password_hash: "test123"
|
|
|
|
- username: "operator"
|
|
email: "ops@test.local"
|
|
role: "operator"
|
|
password_hash: "test123"
|
|
|
|
workspaces:
|
|
- name: "dev-workspace"
|
|
owner: "developer"
|
|
environment: "dev"
|
|
|
|
- name: "prod-workspace"
|
|
owner: "operator"
|
|
environment: "prod"
|
|
|
|
extensions:
|
|
taskservs:
|
|
- name: "kubernetes"
|
|
version: "1.28.0"
|
|
source: "oci"
|
|
|
|
- name: "containerd"
|
|
version: "1.7.0"
|
|
source: "oci"
|
|
|
|
- name: "postgres"
|
|
version: "15.0"
|
|
source: "gitea"
|
|
|
|
providers:
|
|
- name: "aws"
|
|
version: "1.0.0"
|
|
source: "local"
|
|
|
|
- name: "upcloud"
|
|
version: "1.0.0"
|
|
source: "local"
|
|
|
|
clusters:
|
|
- name: "buildkit"
|
|
version: "1.0.0"
|
|
source: "gitea"
|
|
|
|
# Test execution settings
|
|
test_execution:
|
|
parallel:
|
|
enabled: true
|
|
max_workers: 4
|
|
|
|
timeouts:
|
|
test_timeout_seconds: 300
|
|
setup_timeout_seconds: 600
|
|
teardown_timeout_seconds: 300
|
|
|
|
retries:
|
|
max_retries: 3
|
|
retry_delay_seconds: 5
|
|
retry_backoff_multiplier: 2.0
|
|
|
|
cleanup:
|
|
auto_cleanup_on_success: true
|
|
auto_cleanup_on_failure: false # Keep for debugging
|
|
cleanup_timeout_seconds: 120
|
|
|
|
# Test reporting
|
|
reporting:
|
|
output_dir: "/tmp/provisioning-test-reports"
|
|
formats:
|
|
- "junit"
|
|
- "html"
|
|
- "json"
|
|
|
|
junit:
|
|
filename: "junit-results.xml"
|
|
|
|
html:
|
|
filename: "test-report.html"
|
|
template: "default"
|
|
|
|
json:
|
|
filename: "test-results.json"
|
|
pretty: true
|
|
|
|
# Mode-specific configurations
|
|
modes:
|
|
solo:
|
|
services:
|
|
- "orchestrator"
|
|
- "coredns"
|
|
- "oci_registry" # Zot
|
|
|
|
features:
|
|
multi_user: false
|
|
rbac: false
|
|
audit_logging: false
|
|
kms: false
|
|
monitoring: false
|
|
|
|
multiuser:
|
|
services:
|
|
- "orchestrator"
|
|
- "coredns"
|
|
- "oci_registry" # Zot
|
|
- "gitea"
|
|
- "postgres"
|
|
|
|
features:
|
|
multi_user: true
|
|
rbac: true
|
|
audit_logging: false
|
|
kms: false
|
|
monitoring: false
|
|
|
|
cicd:
|
|
services:
|
|
- "orchestrator"
|
|
- "coredns"
|
|
- "oci_registry" # Zot
|
|
- "gitea"
|
|
- "postgres"
|
|
|
|
features:
|
|
multi_user: true
|
|
rbac: true
|
|
audit_logging: true
|
|
kms: false
|
|
monitoring: true
|
|
api_server: true
|
|
|
|
enterprise:
|
|
services:
|
|
- "orchestrator"
|
|
- "coredns"
|
|
- "oci_registry" # Harbor
|
|
- "gitea"
|
|
- "postgres"
|
|
- "prometheus"
|
|
- "grafana"
|
|
- "kms"
|
|
- "elasticsearch"
|
|
|
|
features:
|
|
multi_user: true
|
|
rbac: true
|
|
audit_logging: true
|
|
kms: true
|
|
monitoring: true
|
|
api_server: true
|
|
harbor_registry: true
|
|
|
|
# Performance test settings
|
|
performance:
|
|
concurrency_tests:
|
|
concurrent_server_creations: 10
|
|
concurrent_dns_registrations: 20
|
|
concurrent_workflow_submissions: 5
|
|
|
|
scalability_tests:
|
|
max_servers: 100
|
|
max_dns_records: 100
|
|
max_oci_artifacts: 1000
|
|
|
|
benchmarks:
|
|
server_creation_target_seconds: 30
|
|
taskserv_installation_target_seconds: 60
|
|
dns_registration_target_seconds: 5
|
|
|
|
# Security test settings
|
|
security:
|
|
rbac_tests:
|
|
test_unauthorized_access: true
|
|
test_role_permissions: true
|
|
test_workspace_isolation: true
|
|
|
|
kms_tests:
|
|
test_ssh_key_storage: true
|
|
test_key_rotation: true
|
|
test_audit_logging: true
|
|
|
|
# Logging configuration
|
|
logging:
|
|
level: "info" # debug, info, warn, error
|
|
output: "file" # file, stdout, both
|
|
file_path: "/tmp/provisioning-test.log"
|
|
rotation:
|
|
enabled: true
|
|
max_size_mb: 100
|
|
max_files: 5
|