# MPC System Configuration Example
# Copy this file to config.yaml and modify as needed

# Server configuration
server:
  grpc_port: 50051
  http_port: 8080
  environment: development  # development, staging, production
  timeout: 30s
  tls_enabled: false
  tls_cert_file: ""
  tls_key_file: ""

# Database configuration (PostgreSQL)
database:
  host: localhost
  port: 5432
  user: mpc_user
  password: mpc_secret_password
  dbname: mpc_system
  sslmode: disable  # disable, require, verify-ca, verify-full
  max_open_conns: 25
  max_idle_conns: 5
  conn_max_life: 5m

# Redis configuration
redis:
  host: localhost
  port: 6379
  password: ""
  db: 0

# RabbitMQ configuration
rabbitmq:
  host: localhost
  port: 5672
  user: mpc_user
  password: mpc_rabbit_password
  vhost: /

# Consul configuration (optional, for service discovery)
consul:
  host: localhost
  port: 8500
  service_id: ""
  tags: []

# JWT configuration
jwt:
  secret_key: "change-this-to-a-secure-random-string-in-production"
  issuer: mpc-system
  token_expiry: 15m
  refresh_expiry: 24h

# MPC configuration
mpc:
  default_threshold_n: 3
  default_threshold_t: 2
  session_timeout: 10m
  message_timeout: 30s
  keygen_timeout: 10m
  signing_timeout: 5m
  max_parties: 10

# Logger configuration
logger:
  level: info  # debug, info, warn, error
  encoding: json  # json, console
  output_path: stdout
