Das Config-Modul ist die Schaltzentrale der Plattform: 165+ CRUD-Endpoints für Credentials, Feature-Flags, Notification-Channels, Computing-Entities, Module-States. Routing: config-api.ayoune.app.
Warum so viele Endpoints?
Config ist das Catch-All für Cross-Cutting-Settings. Statt jede Funktion in eigenes Modul zu zerlegen, leben hier zentrale Sub-Domänen:
| Sub-Domäne | Endpoints |
|---|---|
| Credentials & Secrets | credentials, apikeys, oauthtokens |
| Feature-Flags | flags, flagrules, flaghistory |
| Notifications | notificationchannels, notificationtemplates, notificationroutes |
| Computing-Entities | computingentities, programs, installations |
| State-Registry | ayounestates, modulestate-cache |
| Translation | translations, locales |
| Marketplace | marketplaceapps, bundles, installations |
| Branding | themes, assets |
Credentials-Vault
Sensible Daten (API-Keys, OAuth-Tokens, SMTP-Passwörter) liegen verschlüsselt (AES-256-CTR) in credentials. Pro Customer separat.
ay credentials list
ay credentials get <id>
ay credentials create "Stripe Prod" --type stripe \
--set credentials.secretKey=sk_live_xxx
ay credentials test <id> # Provider-Roundtrip
ay credentials decrypt <id> # Klartext (audit-protokolliert!)
ay credentials refresh <id> # OAuth-Refresh
ay credentials revoke <id>
Felder:
| Feld | Hinweis |
|---|---|
name |
Display |
type |
Provider-Slug (stripe, paypal, twilio, ...) |
credentials |
Verschlüsselter Sub-Doc |
_status |
active / expired / revoked |
lastTestedAt |
Date |
lastTestStatus |
ok / fail |
Rights: config.credentials.{view|create|edit|delete|decrypt|test}. decrypt und delete sollten nur Admins haben.
Feature-Flags
Bereits ausführlich beschrieben unter Admin-Handbook → Feature Flags. Endpoints:
GET /flags
GET /flags/:slug
POST /flags
PATCH /flags/:slug
POST /flags/:slug/actions/toggle
Notifications
11 Channels, n Templates, m Routes. Endpoints:
GET /notificationchannels
GET /notificationtemplates
GET /notificationroutes
POST /notificationroutes/:id/actions/test
Mehr unter Admin-Handbook → Notifications.
Computing-Entities
Virtuelle Maschinen, Container, Cron-Boxen pro Customer. Wird vom desktop-client und programs-Service genutzt.
| Feld | Hinweis |
|---|---|
name |
Display |
type |
vm-aws / vm-hetzner / container / cron |
awsState |
running / stopped / terminated |
ipAddress |
string |
tags |
Routing/Cost-Center |
State-Registry
ayounestates ist die zentrale Registry für UI-States — von registerModuleStates(moduleName, states[]) aus dem Core gefüllt. Jeder State enthält:
_module(Modul-Name)_appName(Scope, defaultAYOUNE_RELEASE_NAME)name(z.B.crm.consumers)stateType(module-overview,table,right, ...)cols,filters,actions,links
Mehr unter Self-Hosting Setup — Pods schreiben das beim Boot.
Translation
translations enthält alle UI-Strings + Block-Texte:
| Feld | Hinweis |
|---|---|
key |
dot.notation |
locale |
de, en, ... |
value |
string |
module |
Scope |
CLI-Helfer:
ay exec translations:export --locale de --out ./de.json
ay exec translations:import --file ./de.json