09a09d4a68
Phase 1 foundations: - Go backend with Chi router framework - SQLite database with WAL mode and foreign keys - Database migrations for users, roles, credentials, AD connections, schedules, rules, and audit - CLI commands: init, run, install, uninstall, start, stop, migrate, backup, restore, doctor - Configuration loading from environment variables - Centralized logging with file rotation (lumberjack) - Crypto package for Argon2id password hashing and AES-GCM encryption - Auth service with session management - Audit service for event logging - Scheduler with 6-field cron support - REST API routes scaffolded for all major resources - CORS support with localhost defaults for development - Docker support with Dockerfile and docker-compose.yml - Multi-platform build script (PowerShell) - Project structure per design specification Version format: yyyy.MM.dd.HHmm All PKs are UUIDv4, all timestamps UTC
35 lines
839 B
YAML
35 lines
839 B
YAML
version: '3.8'
|
|
|
|
services:
|
|
orchestrad:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
args:
|
|
VERSION: ${VERSION:-dev}
|
|
BUILD_TIME: ${BUILD_TIME:-unknown}
|
|
GIT_COMMIT: ${GIT_COMMIT:-unknown}
|
|
image: orchestrad:latest
|
|
container_name: orchestrad
|
|
restart: unless-stopped
|
|
ports:
|
|
- "8080:8080"
|
|
volumes:
|
|
- orchestrad-data:/data
|
|
environment:
|
|
- ORCHESTRAD_DATA_PATH=/data
|
|
- ORCHESTRAD_LOG_LEVEL=info
|
|
- ORCHESTRAD_SECRET_KEY=${ORCHESTRAD_SECRET_KEY:-}
|
|
- ORCHESTRAD_HOST=0.0.0.0
|
|
- ORCHESTRAD_PORT=8080
|
|
healthcheck:
|
|
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:8080/health"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 10s
|
|
|
|
volumes:
|
|
orchestrad-data:
|
|
driver: local
|