- sogoctl: supervisor avec health checks et restart auto - sogoway: gateway HTTP, auth JWT, routing par hostname - sogoms-db: microservice MariaDB avec pool par application - Protocol IPC Unix socket JSON length-prefixed - Config YAML multi-application (prokov) - Deploy script pour container Alpine gw3 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1.4 KiB
Executable File
1.4 KiB
Executable File
CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Règles de travail
- Soit concis
- Ne fais rien sans validation utilisateur
Project Overview
SOGOMS (Service Oriented GO MicroServices) - plateforme SaaS modulaire, multi-tenant, configurable.
Principes: modularité (1 feature = 1 binaire Go), configuration YAML, multi-tenant natif, un container avec plusieurs processus supervisés.
Architecture
| Binaire | Rôle | Port/Socket |
|---|---|---|
| sogoctl | Superviseur PID 1, health checks, scaling | TCP :9000 |
| sogoway | Gateway HTTP, auth JWT, routing | TCP :8080 |
| sogorch | Orchestrateur scénarios YAML | Unix socket |
| sogoms-db | Accès MariaDB | Unix socket |
| sogoms-pdf | Génération PDF | Unix socket |
| sogoms-email | Envoi emails | Unix socket |
| sogoms-storage | Gestion fichiers | Unix socket |
Flux: Client → Nginx(:443) → Sogoway(:8080) → Sogorch → Sogoms-*
Structure
cmd/{sogoctl,sogoway,sogorch}/main.go
cmd/sogoms/{db,pdf,email,storage}/main.go
internal/{protocol,pool,config,scenario,auth,registry}/
config/{sogoctl,sogoway}.yaml
config/{tenants,routes,scenarios}/*.yaml
Communication
Unix socket JSON length-prefixed (4 bytes length + JSON payload).
Dépendances
net/http standard (Go 1.22+), go-yaml/v3, go-sql-driver/mysql, chromedp (PDF)