Skip to content

OurITRes/sagapi

SAGAPI — Service Account Governance & Automation Programmable Interface

CI License: AGPL-3.0

SAGAPI est un monorepo conçu pour fournir une API de gouvernance et des connecteurs permettant d’automatiser des opérations de sécurité (ex: gouvernance de comptes de service, rotation, approbations), dans une posture Zero Trust.

Documentation

Structure du repo (actuelle)

/ (Root)
├── /apps
│   ├── /frontend             # Applications Web (React)
│   │   ├── /shell            # Application hôte (Auth & Routing)
│   │   ├── /ops              # Micro-frontend "Opérations" (Espace User)
│   │   └── /admin            # Micro-frontend "Administration" (Espace Admin)
│   │
│   ├── /backend              # Services Serverless (.NET 8)
│   │   ├── /governance       # API Cerveau décisionnel (Logique Métier)
│   │   └── /connector        # API Connecteur AD isolé (Zero Trust)
│   │
│   └── /data                 # Outils de données
│       └── /db-migrations    # Scripts de gestion schéma DynamoDB
│
├── /libs                     # Bibliothèques Partagées (Non déployables seules)
│   ├── /shared               # Code agnostique (C# & TS)
│   │   └── /contracts        # DTOs, Enums et Interfaces partagés (Source de vérité)
│   └── /ui                   # Composants React
│       └── /components       # Design System (Boutons, Tableaux, Layouts)
│
├── /docs                     # Documentation
│   ├── /architecture         # Diagrammes et SAD
│   ├── /governance
│   ├── /runbooks
│   ├── /wiki
│   └── /adrs                 # Architecture Decision Records
│
├── /scripts                  
│   └── /security
│
└── /infra                    # Infrastructure as Code (Terraform/CDK)

Pré-requis (développement local)

Selon le SAD, la cible est typiquement :

  • Node.js LTS + npm (monorepo tooling / Nx / front)
  • .NET 8 SDK (APIs serverless / backend)
  • Docker (services locaux : mocks, DB, etc.)

✅ Le dépôt est actuellement un squelette (placeholder .gitkeep).
Les commandes ci-dessous sont fournies comme conventions et seront finalisées lorsque le tooling sera présent (ex: package.json, nx.json, solutions .NET, etc.).

Installation (WIP)

git clone https://github.com/OurITRes/sagapi.git
cd sagapi

Dépendances Node (si Nx/Node est en place)

npm ci

Dépendances .NET (si solutions .NET présentes)

dotnet restore

Builds & Tests (WIP)

Tests

  • Monorepo Nx (prévu)

    npx nx test
  • .NET (prévu)

    dotnet test

Build

  • Nx (prévu)

    npx nx build <app>
  • .NET (prévu)

    dotnet build -c Release

Sécurité — checklist

  • Scan de secrets (historique git complet) : TruffleHog et/ou git-secrets
  • Licence : respecter la LICENSE (AGPLv3)
  • Security policy : SECURITY.md (reporting privé, pas d’issue publique)
  • Rulesets activés sur master (PR obligatoire, checks, linear history, no bypass)
  • Documentation à jour (README + Wiki + runbooks)

Scripts de scan (optionnels) : /scripts/security/

Contribution

  • Voir : CONTRIBUTING.md
  • PR obligatoire vers master (pas de push direct), CI verte, revue requise.

Gouvernance

Licence

Ce projet est sous licence AGPL-3.0.
Voir LICENSE.

About

SAGAPI - Service Account Governance & Automation, Programmable Interface

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages