- Fix YAML tags in auth config struct (json -> yaml) - Update CLI configs to use pre-hashed API keys - Remove double hashing in WebSocket client - Fix port mapping (9102 -> 9103) in CLI commands - Update permission keys to use jobs:read, jobs:create, etc. - Clean up all debug logging from CLI and server - All user roles now authenticate correctly: * Admin: Can queue jobs and see all jobs * Researcher: Can queue jobs and see own jobs * Analyst: Can see status (read-only access) Multi-user authentication is now fully functional.
59 lines
1.2 KiB
YAML
59 lines
1.2 KiB
YAML
base_path: "./data/ml-experiments"
|
|
|
|
auth:
|
|
enabled: true
|
|
apikeys:
|
|
homelab_user:
|
|
hash: "5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8" # "password"
|
|
admin: true
|
|
roles: ["admin"]
|
|
permissions:
|
|
read: true
|
|
write: true
|
|
delete: true
|
|
|
|
server:
|
|
address: ":9101"
|
|
tls:
|
|
enabled: false # Disabled for local testing
|
|
cert_file: "./ssl/cert.pem"
|
|
key_file: "./ssl/key.pem"
|
|
min_version: "1.3"
|
|
|
|
security:
|
|
rate_limit:
|
|
enabled: true
|
|
requests_per_minute: 60
|
|
burst_size: 10
|
|
ip_whitelist:
|
|
- "127.0.0.1"
|
|
- "::1"
|
|
- "localhost"
|
|
- "10.0.0.0/8"
|
|
- "192.168.0.0/16"
|
|
- "172.16.0.0/12"
|
|
failed_login_lockout:
|
|
enabled: true
|
|
max_attempts: 5
|
|
lockout_duration: "15m"
|
|
|
|
# SQLite database for production
|
|
database:
|
|
type: "sqlite"
|
|
connection: "data/fetch_ml.db"
|
|
|
|
redis:
|
|
url: "redis://localhost:6379"
|
|
addr: "localhost:6379"
|
|
password: "JZVd2Y6IDaLNaYLBOFgQ7ae4Ox5t37NTIyPMQlLJD4k="
|
|
|
|
logging:
|
|
level: "info"
|
|
file: "logs/fetch_ml.log"
|
|
audit_log: "logs/audit.log"
|
|
|
|
resources:
|
|
max_workers: 2
|
|
desired_rps_per_worker: 5
|
|
podman_cpus: "8"
|
|
podman_memory: "32g"
|