
- API server with ChaCha20-Poly1305 encryption - TypeScript SDK client with full functionality - Complete documentation in docs/ - Environment variable processing with composite variables - HTTPS-only API on port 6666 - Storage structure for configuration files - Tests and examples included Features: - Quantum-resistant encryption (ChaCha20-Poly1305) - Variable substitution from .env files - Comprehensive TypeScript SDK - Full API documentation and specifications - Deployment guides and security model
136 lines
4.1 KiB
Markdown
136 lines
4.1 KiB
Markdown
# 4NK Vault - Documentation
|
|
|
|
## Vue d'ensemble
|
|
|
|
Le projet 4NK Vault est un système de stockage sécurisé qui fournit une API HTTPS avec chiffrement quantique résistant pour servir des fichiers de configuration avec traitement automatique des variables d'environnement composites.
|
|
|
|
## Architecture
|
|
|
|
```
|
|
┌─────────────────┐ HTTPS ┌─────────────────┐ ┌─────────────────┐
|
|
│ Client SDK │ ──────────► │ API Vault │ ──► │ Storage │
|
|
│ TypeScript │ Port 6666 │ Python Flask │ │ Files │
|
|
└─────────────────┘ └─────────────────┘ └─────────────────┘
|
|
│
|
|
▼
|
|
┌─────────────────┐
|
|
│ Variables │
|
|
│ .env │
|
|
└─────────────────┘
|
|
```
|
|
|
|
## Composants
|
|
|
|
### 1. API Vault Server (`api_server.py`)
|
|
- **Port** : 6666
|
|
- **Protocole** : HTTPS uniquement
|
|
- **Domaine** : vault.4nkweb.com
|
|
- **Chiffrement** : ChaCha20-Poly1305 (quantique résistant)
|
|
|
|
### 2. SDK Client TypeScript (`sdk-client/`)
|
|
- Client type-safe pour interagir avec l'API
|
|
- Déchiffrement côté client
|
|
- Gestion d'erreurs avancée
|
|
|
|
### 3. Stockage (`storage/`)
|
|
- Structure : `storage/<env>/<file>`
|
|
- Variables composites depuis `.env`
|
|
- Sécurité : accès restreint au répertoire storage
|
|
|
|
## Fonctionnalités principales
|
|
|
|
### 🔐 Sécurité
|
|
- **Chiffrement quantique résistant** : ChaCha20-Poly1305
|
|
- **HTTPS obligatoire** : Communication sécurisée
|
|
- **Variables composites** : Résolution récursive des variables d'environnement
|
|
- **Validation des chemins** : Protection contre les accès hors du répertoire
|
|
|
|
### 📁 Service de fichiers
|
|
- **Endpoint** : `GET /<env>/<file>`
|
|
- **Variables** : Traitement automatique depuis `.env`
|
|
- **Types** : Support des fichiers texte et binaires
|
|
- **Encodage** : Base64 pour les fichiers binaires
|
|
|
|
### 🌐 API REST
|
|
- **Santé** : `GET /health`
|
|
- **Informations** : `GET /info`
|
|
- **Monitoring** : Logs détaillés et métriques
|
|
|
|
## Installation et utilisation
|
|
|
|
### Démarrage de l'API
|
|
|
|
```bash
|
|
# Installation des dépendances
|
|
pip install -r requirements.txt
|
|
|
|
# Démarrage
|
|
./start_api.sh
|
|
# ou directement
|
|
python3 api_server.py
|
|
```
|
|
|
|
### Utilisation du SDK
|
|
|
|
```bash
|
|
cd sdk-client
|
|
npm install
|
|
npm run build
|
|
|
|
# Exemples
|
|
node dist/examples/basic-usage.js
|
|
node dist/examples/advanced-usage.js
|
|
```
|
|
|
|
## Configuration
|
|
|
|
### Variables d'environnement
|
|
Les variables sont définies dans `/home/debian/4NK_vault/storage/dev/.env` et peuvent être composites :
|
|
|
|
```bash
|
|
DOMAIN=4nkweb.com
|
|
HOST=dev4.$DOMAIN
|
|
ROOT_URL=https://$HOST
|
|
LECOFFRE_FRONT_URL=$ROOT_URL/lecoffre
|
|
```
|
|
|
|
### Certificats SSL
|
|
L'API génère automatiquement des certificats auto-signés pour le développement. En production, utilisez des certificats valides.
|
|
|
|
## Documentation détaillée
|
|
|
|
- [API Specification](api-specification.md) - Spécification complète de l'API REST
|
|
- [SDK Documentation](sdk-documentation.md) - Documentation du SDK TypeScript
|
|
- [Security Model](security-model.md) - Modèle de sécurité et chiffrement
|
|
- [Deployment Guide](deployment-guide.md) - Guide de déploiement
|
|
- [API Reference](api-reference.md) - Référence complète des endpoints
|
|
|
|
## Tests
|
|
|
|
### Tests de l'API
|
|
```bash
|
|
python3 test_api.py
|
|
```
|
|
|
|
### Tests du SDK
|
|
```bash
|
|
cd sdk-client
|
|
npm test
|
|
```
|
|
|
|
## Support et contribution
|
|
|
|
- **Issues** : [Git Issues](https://git.4nkweb.com/4nk/vault/issues)
|
|
- **Documentation** : [Wiki](https://git.4nkweb.com/4nk/vault/wiki)
|
|
- **Email** : support@4nkweb.com
|
|
|
|
## Licence
|
|
|
|
MIT License - Voir le fichier `LICENSE` pour plus de détails.
|
|
|
|
---
|
|
|
|
**Version** : 1.0.0
|
|
**API** : vault.4nkweb.com:6666
|
|
**Chiffrement** : ChaCha20-Poly1305 (quantique résistant)
|