IAM
Codename: J.A.R.V.I.S. — The Butler. "Welcome home, sir." Handles identity and authentication.
Security and identity management services for the A.R.C. Framework.
Overview
Security services provide authentication, authorization, and identity management capabilities. Note: These are swappable - alternative implementations can be used based on your needs.
Categories
Identity
Authentication and user management
- Active: Kratos
- Alternatives: Keycloak, Auth0, AWS Cognito
- Status: ✅ Active
Identity
Authentication and user identity management.
Overview
Identity services provide user authentication, registration, and profile management.
Active Implementation
Ory Kratos
Status: ✅ Active Type: Cloud-native identity server
- Self-service flows (login, registration, recovery)
- Multi-factor authentication
- Session management
- API-first design
Ory Kratos Configuration
This directory contains the configuration files for Ory Kratos, an open-source identity and user management system.
Files
kratos.yml- Main Kratos configuration fileidentity.schema.json- Identity schema defining user traits (email, name)
Configuration Overview
The current setup includes:
- Email/password authentication
- Self-service flows (login, registration, recovery, verification)
- PostgreSQL database integration (configured via DSN environment variable)
- Debug logging enabled
Important Security Notes
⚠️ WARNING: This configuration is for DEVELOPMENT ONLY!
The following settings MUST be changed for production:
-
Secrets in
kratos.yml:secrets:
cookie:
- PLEASE-CHANGE-ME-I-AM-VERY-INSECURE # Change this!
cipher:
- 32-LONG-SECRET-NOT-SECURE-AT-ALL # Change this! -
Database: Currently uses PostgreSQL via environment variable DSN
-
SMTP/Email: Configure a real SMTP server for production
Database Migrations
Before running Kratos, you need to run database migrations:
# Using docker-compose
docker-compose -f docker-compose.yml -f docker-compose.stack.yml run --rm kratos migrate sql -e --yes
# Or using Make
make migrate-kratos
Testing Kratos
After starting the services:
- Public API: http://localhost:4433
- Admin API: http://localhost:4434
- Health check: http://localhost:4434/health/alive
References
Alternatives
- Keycloak - Full-featured, enterprise
- Auth0 - SaaS, developer-friendly
- AWS Cognito - Cloud-native (AWS)
- Supabase Auth - Open-source, simple
- Custom Auth - Build your own