Files
sogoms/config/apps/prokov/app.yaml
Pierre 65da4efdad SOGOMS v1.0.3 - Admin UI, Cron, Config reload
Phase 13 : sogoms-cron
- Jobs planifiés avec schedule cron standard
- Types: query_email, http, service
- Actions: list, trigger, status

Phase 16 : Réorganisation config/apps/{app}/
- Tous les fichiers d'une app dans un seul dossier
- Migration prokov vers nouvelle structure

Phase 17 : sogoms-admin
- Interface web d'administration (Go templates + htmx)
- Auth sessions cookies signées HMAC-SHA256
- Rôles super_admin / app_admin avec permissions

Phase 19 : Création d'app via Admin UI
- Formulaire création app avec config DB/auth
- Bouton "Scanner la base" : introspection + schema.yaml
- Rechargement automatique sogoway via SIGHUP

Infrastructure :
- sogoctl : socket de contrôle /run/sogoctl.sock
- sogoway : reload config sur SIGHUP sans restart

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-19 20:30:56 +01:00

144 lines
2.5 KiB
YAML

# Routes API Prokov
# Gestion de projets et tâches
app: prokov
version: "1.0"
base_path: /api
# Identification par hostname
hosts:
- prokov.unikoffice.com
- prokov.sogoms.com
# Base de données
database:
host: 13.23.33.4
port: 3306
user: prokov_user
password_file: /secrets/prokov_db_pass
name: prokov
# Authentification
auth:
jwt_secret_file: /secrets/prokov_jwt_secret
jwt_expiry: 24h
# Logs
logs:
retention_days: 30
# SMTP
smtp:
host: barbotte.o2switch.net
port: 465
user: prokov@unikoffice.com
password_file: /secrets/prokov_smtp_pass
from: prokov@unikoffice.com
from_name: Prokov
tls: true # false = STARTTLS (587), true = TLS direct (465)
# Routes
routes:
# === AUTH ===
- path: /auth/register
method: POST
scenario: prokov/auth/register
auth: false
- path: /auth/login
method: POST
scenario: prokov/auth/login
auth: false
- path: /auth/logout
method: POST
scenario: prokov/auth/logout
- path: /auth/me
method: GET
scenario: prokov/auth/me
# === PROJECTS ===
- path: /projects
method: GET
scenario: prokov/projects/list
- path: /projects
method: POST
scenario: prokov/projects/create
- path: /projects/{id}
method: GET
scenario: prokov/projects/show
- path: /projects/{id}
method: PUT
scenario: prokov/projects/update
- path: /projects/{id}
method: DELETE
scenario: prokov/projects/delete
# === TASKS ===
- path: /tasks
method: GET
scenario: prokov/tasks/list
- path: /tasks
method: POST
scenario: prokov/tasks/create
- path: /tasks/{id}
method: GET
scenario: prokov/tasks/show
- path: /tasks/{id}
method: PUT
scenario: prokov/tasks/update
- path: /tasks/{id}
method: DELETE
scenario: prokov/tasks/delete
# === TAGS ===
- path: /tags
method: GET
scenario: prokov/tags/list
- path: /tags
method: POST
scenario: prokov/tags/create
- path: /tags/{id}
method: GET
scenario: prokov/tags/show
- path: /tags/{id}
method: PUT
scenario: prokov/tags/update
- path: /tags/{id}
method: DELETE
scenario: prokov/tags/delete
# === STATUSES ===
- path: /statuses
method: GET
scenario: prokov/statuses/list
- path: /statuses
method: POST
scenario: prokov/statuses/create
- path: /statuses/{id}
method: GET
scenario: prokov/statuses/show
- path: /statuses/{id}
method: PUT
scenario: prokov/statuses/update
- path: /statuses/{id}
method: DELETE
scenario: prokov/statuses/delete