Initial commit - SOGOMS v1.0.0
- 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>
This commit is contained in:
46
CLAUDE.md
Executable file
46
CLAUDE.md
Executable file
@@ -0,0 +1,46 @@
|
||||
# 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)
|
||||
Reference in New Issue
Block a user