Files
goplt/config/default.yaml
0x1d b1b895e818 feat(epic2): Implement core authentication and authorization services
- Implement Audit Service (2.5)
  - gRPC server with Record and Query operations
  - Database persistence with audit schema
  - Service registry integration
  - Entry point: cmd/audit-service

- Implement Identity Service (2.2)
  - User CRUD operations
  - Password hashing with argon2id
  - Email verification and password reset flows
  - Entry point: cmd/identity-service
  - Fix package naming conflicts in user_service.go

- Implement Auth Service (2.1)
  - JWT token generation and validation
  - Login, RefreshToken, ValidateToken, Logout RPCs
  - Integration with Identity Service
  - Entry point: cmd/auth-service
  - Note: RefreshToken entity needs Ent generation

- Implement Authz Service (2.3, 2.4)
  - Permission checking and authorization
  - User roles and permissions retrieval
  - RBAC-based authorization
  - Entry point: cmd/authz-service

- Implement gRPC clients for all services
  - Auth, Identity, Authz, and Audit clients
  - Service discovery integration
  - Full gRPC communication

- Add service configurations to config/default.yaml
- Create SUMMARY.md with implementation details and testing instructions
- Fix compilation errors in Identity Service (password package conflicts)
- All services build successfully and tests pass
2025-11-06 20:07:20 +01:00

71 lines
1.3 KiB
YAML

environment: development
server:
port: 8080
host: "0.0.0.0"
read_timeout: 30s
write_timeout: 30s
database:
driver: "postgres"
dsn: "postgres://goplt:goplt_password@localhost:5432/goplt?sslmode=disable"
max_connections: 25
max_idle_connections: 5
conn_max_lifetime: 5m
conn_max_idle_time: 10m
logging:
level: "info"
format: "json"
output: "stdout"
tracing:
enabled: true
service_name: "platform"
service_version: "1.0.0"
otlp_endpoint: ""
registry:
type: consul
consul:
address: "localhost:8500"
datacenter: "dc1"
scheme: "http"
health_check:
interval: "10s"
timeout: "3s"
deregister_after: "30s"
http: "/healthz"
services:
audit:
port: 8084
host: "localhost"
auth:
port: 8081
host: "localhost"
identity:
port: 8082
host: "localhost"
authz:
port: 8083
host: "localhost"
auth:
jwt_secret: "change-this-secret-in-production"
gateway:
port: 8080
host: "0.0.0.0"
routes:
- path: "/api/v1/auth/**"
service: "auth-service"
auth_required: false
- path: "/api/v1/users/**"
service: "identity-service"
auth_required: true
cors:
allowed_origins: ["*"]
allowed_methods: ["GET", "POST", "PUT", "DELETE", "PATCH"]
allowed_headers: ["Authorization", "Content-Type"]