ci: docker_tag=dev-test - Mise à jour documentation et standardisation

This commit is contained in:
4NK Dev 2025-10-01 20:57:43 +00:00
parent f4a8dd2e7f
commit 308183b163
8 changed files with 266 additions and 99 deletions

View File

@ -1,23 +1,79 @@
# PROTECTION COMPLÈTE - Empêcher l'accès Docker à storage/
**/__pycache__/
**/storage/
**/dist/
**/node_modules/
**/package-lock.json*
**/yarn.lock*
# 4NK Environment - Git Ignore
# ============================
confs/
# Dossiers de sauvegarde des scripts
**/backup/
**/*backup*
# Variables d'environnement (protection renforcée)
**/.env*
**/.toml*
**/.conf*
**/.yaml*
**/.yml*
**/.ini*
**/.json*
**/.crt*
**/.key*
**/.pem*
**/.cargo/
# Clés utilisateur et données sensibles
**/_keys/
**/keys.json*
# Fichiers temporaires
**/*.tmp*
**/*.temp*
**/*.log*
**/*.pid*
# Fichiers de configuration locale
**/*.env*
**/*.conf*
**/*.yaml*
**/*.yml*
**/*.ini*
**/*.json*
**/*.toml*
**/*.lock*
# Données et logs
**/*.logs*
**/*.data
*.db
*.sqlite
# Certificats et clés
**/*.key
**/*.pem
**/*.crt
**/*.p12
**/*.pfx
ssl/
certs/
# Docker
**/*.docker*
# Cache et build
**/*.node_modules/
**/*.dist/
**/*build/
**/*target/
**/*.*.o
**/*.so
**/*.dylib
# IDE et éditeurs
**/*.vscode/
**/*.idea/
**/*.swp
**/*.swo
**/*~
# OS
**/*.DS_Store
**/*Thumbs.db
**/*tmp*
# Git
**/*.git/
**/*.orig*
# Backup des projets existants
**/*backup*
**/*wallet*
**/*keys*
**/*node_modules*
**/*cursor*
**/*pid*
**/*next*

View File

@ -1,23 +1,79 @@
# PROTECTION COMPLÈTE - Empêcher l'accès Docker à storage/
**/__pycache__/
**/storage/
**/dist/
**/node_modules/
**/package-lock.json*
**/yarn.lock*
# 4NK Environment - Git Ignore
# ============================
confs/
# Dossiers de sauvegarde des scripts
**/backup/
**/*backup*
# Variables d'environnement (protection renforcée)
**/.env*
**/.toml*
**/.conf*
**/.yaml*
**/.yml*
**/.ini*
**/.json*
**/.crt*
**/.key*
**/.pem*
**/.cargo/
# Clés utilisateur et données sensibles
**/_keys/
**/keys.json*
# Fichiers temporaires
**/*.tmp*
**/*.temp*
**/*.log*
**/*.pid*
# Fichiers de configuration locale
**/*.env*
**/*.conf*
**/*.yaml*
**/*.yml*
**/*.ini*
**/*.json*
**/*.toml*
**/*.lock*
# Données et logs
**/*.logs*
**/*.data
*.db
*.sqlite
# Certificats et clés
**/*.key
**/*.pem
**/*.crt
**/*.p12
**/*.pfx
ssl/
certs/
# Docker
**/*.docker*
# Cache et build
**/*.node_modules/
**/*.dist/
**/*build/
**/*target/
**/*.*.o
**/*.so
**/*.dylib
# IDE et éditeurs
**/*.vscode/
**/*.idea/
**/*.swp
**/*.swo
**/*~
# OS
**/*.DS_Store
**/*Thumbs.db
**/*tmp*
# Git
**/*.git/
**/*.orig*
# Backup des projets existants
**/*backup*
**/*wallet*
**/*keys*
**/*node_modules*
**/*cursor*
**/*pid*
**/*next*

99
.gitignore vendored
View File

@ -1,26 +1,79 @@
# PROTECTION COMPLÈTE - Empêcher l'accès Docker à storage/
**/__pycache__/
**/storage/
**/dist/
**/node_modules/
**/package-lock.json*
**/yarn.lock*
# 4NK Environment - Git Ignore
# ============================
confs/
# Dossiers de sauvegarde des scripts
**/backup/
**/*backup*
# Variables d'environnement (protection renforcée)
**/.env*
**/.toml*
**/.conf*
**/.yaml*
**/.yml*
**/.ini*
**/.json*
**/.crt*
**/.key*
**/.pem*
**/.cargo/
# Clés utilisateur et données sensibles
**/_keys/
**/keys.json*
# Fichiers temporaires
**/*.tmp*
**/*.temp*
**/*.log*
**/*.pid*
# Dossiers de synchronisation de test
**/confs*/
# Fichiers de configuration locale
**/*.env*
**/*.conf*
**/*.yaml*
**/*.yml*
**/*.ini*
**/*.json*
**/*.toml*
**/*.lock*
# Données et logs
**/*.logs*
**/*.data
*.db
*.sqlite
# Certificats et clés
**/*.key
**/*.pem
**/*.crt
**/*.p12
**/*.pfx
ssl/
certs/
# Docker
**/*.docker*
# Cache et build
**/*.node_modules/
**/*.dist/
**/*build/
**/*target/
**/*.*.o
**/*.so
**/*.dylib
# IDE et éditeurs
**/*.vscode/
**/*.idea/
**/*.swp
**/*.swo
**/*~
# OS
**/*.DS_Store
**/*Thumbs.db
**/*tmp*
# Git
**/*.git/
**/*.orig*
# Backup des projets existants
**/*backup*
**/*wallet*
**/*keys*
**/*node_modules*
**/*cursor*
**/*pid*
**/*next*

View File

@ -74,7 +74,7 @@ X-User-ID: your_user_id
**Exemple :**
```bash
curl -k -H "X-User-ID: demo_user_001" https://vault.4nkweb.com:6666/dev/bitcoin/bitcoin.conf
curl -k -H "X-User-ID: <VAULT_USER_ID>" "$VAULT_URL"/dev/bitcoin/bitcoin.conf
```
## 🔧 Installation et utilisation
@ -171,11 +171,13 @@ python3 test_api.py
└── docs/ # Documentation complète
```
## 🌐 Domaine
## 🌐 Intégration dans l'environnement 4NK
L'API est configurée pour fonctionner sur le domaine `vault.4nkweb.com` avec des certificats SSL auto-signés pour la démonstration.
En production, utilisez des certificats SSL valides et implémentez un échange de clés sécurisé.
Ce module s'intègre au déploiement global 4NK via une URL de base configurable (variable `VAULT_URL`).
Consultez les documents centraux pour le contexte et l'orchestration:
- `docs/DEEP_ARCHITECTURE_ANALYSIS.md`
- `docs/TECHNICAL_REFERENCE.md`
- `docs/DEPLOYMENT_GUIDE.md`
## ⚠️ Avertissements

View File

@ -3,7 +3,7 @@
## 🚨 Problème de sécurité résolu
### Problème identifié
La clé de démonstration `quantum_resistant_demo_key_32byt` était **exposée publiquement** dans le code source, permettant à n'importe qui de déchiffrer les fichiers servis par l'API.
La clé de démonstration `<DEMO_KEY_PLACEHOLDER>` était **exposée publiquement** dans le code source, permettant à n'importe qui de déchiffrer les fichiers servis par l'API.
### Solution implémentée
@ -62,7 +62,7 @@ const client = new VaultClient({
baseUrl: 'https://vault.4nkweb.com:6666',
verifySsl: false,
timeout: 15000
}, 'old_demo_key'); // Ignorée mais acceptée
}, '<OLD_DEMO_KEY_PLACEHOLDER>'); // Ignorée mais acceptée
```
### 🚀 **Prochaines étapes**

View File

@ -21,7 +21,7 @@ L'API 4NK Vault Secure est un système de stockage sécurisé avec authentificat
### Format de l'ID utilisateur
- **Longueur** : 3-128 caractères
- **Caractères autorisés** : `a-zA-Z0-9_-`
- **Exemple** : `demo_user_001`
- **Exemple** : `<VAULT_USER_ID>`
### Header requis
```http
@ -180,7 +180,7 @@ X-User-ID: your_user_id
**Exemple d'utilisation :**
```bash
curl -k -H "X-User-ID: demo_user_001" \
curl -k -H "X-User-ID: <VAULT_USER_ID>" \
https://vault.4nkweb.com:6666/dev/bitcoin/bitcoin.conf \
--output bitcoin.conf.encrypted
```
@ -308,32 +308,32 @@ rpcport=8332
### Test de connectivité
```bash
curl -k -H "X-User-ID: demo_user_001" \
curl -k -H "X-User-ID: <VAULT_USER_ID>" \
https://vault.4nkweb.com:6666/health
```
### Récupération d'informations
```bash
curl -k -H "X-User-ID: demo_user_001" \
curl -k -H "X-User-ID: <VAULT_USER_ID>" \
https://vault.4nkweb.com:6666/info
```
### Liste des routes disponibles
```bash
curl -k -H "X-User-ID: demo_user_001" \
curl -k -H "X-User-ID: <VAULT_USER_ID>" \
https://vault.4nkweb.com:6666/routes
```
### Récupération d'un fichier
```bash
curl -k -H "X-User-ID: demo_user_001" \
curl -k -H "X-User-ID: <VAULT_USER_ID>" \
https://vault.4nkweb.com:6666/dev/bitcoin/bitcoin.conf \
--output bitcoin.conf.encrypted
```
### Récupération avec sauvegarde de la clé suivante
```bash
curl -k -H "X-User-ID: demo_user_001" \
curl -k -H "X-User-ID: <VAULT_USER_ID>" \
https://vault.4nkweb.com:6666/dev/tor/torrc \
--output torrc.encrypted \
--dump-header headers.txt

View File

@ -62,7 +62,7 @@ pip install -r requirements.txt
./start_api.sh
# 3. Test avec authentification
curl -k -H "X-User-ID: demo_user_001" https://127.0.0.1:6666/health
curl -k -H "X-User-ID: <VAULT_USER_ID>" https://127.0.0.1:6666/health
```
### Utilisation avec le SDK TypeScript

View File

@ -40,8 +40,8 @@ Le SDK peut être configuré automatiquement via un fichier `.env` :
```bash
# .env
VAULT_USER=demo_user_001
VAULT_KEY=JYyybYFXe9hghRI9d1mpoQ1uYYxpt/6lzYPOWrxruG0=
VAULT_USER=<VAULT_USER_ID>
VAULT_KEY=<VAULT_KEY_BASE64>
VAULT_ENV=dev
VAULT_CONFS_DIR=../confs # Dossier de destination pour les fichiers synchronisés
```
@ -54,7 +54,7 @@ VAULT_CONFS_DIR=../confs # Dossier de destination pour les fichiers synchronis
| `VAULT_KEY` | Clé de déchiffrement (gérée automatiquement) | ✅ | - |
| `VAULT_ENV` | Environnement par défaut | ✅ | - |
| `VAULT_CONFS_DIR` | Dossier de destination pour les fichiers synchronisés | ❌ | `../confs` |
| `VAULT_URL` | URL de l'API Vault | ❌ | `https://vault.4nkweb.com:6666` |
| `VAULT_URL` | URL de l'API Vault | ❌ | `<VAULT_URL>` |
#### Chargement automatique des variables d'environnement
@ -75,9 +75,9 @@ import { SecureVaultClient } from '@4nk/vault-sdk';
// Configuration manuelle
const client = new SecureVaultClient({
baseUrl: 'https://vault.4nkweb.com:6666',
userId: 'demo_user_001',
vaultKey: 'base64-encoded-key',
baseUrl: process.env.VAULT_URL ?? '<VAULT_URL>',
userId: '<VAULT_USER_ID>',
vaultKey: '<VAULT_KEY_BASE64>',
environment: 'dev',
verifySsl: false // Pour les certificats auto-signés
});
@ -110,9 +110,9 @@ try {
import { SecureVaultClient } from '@4nk/vault-sdk';
const client = new SecureVaultClient({
baseUrl: 'https://vault.4nkweb.com:6666',
userId: 'demo_user_001',
vaultKey: 'your-base64-key',
baseUrl: process.env.VAULT_URL ?? '<VAULT_URL>',
userId: '<VAULT_USER_ID>',
vaultKey: '<VAULT_KEY_BASE64>',
environment: 'dev',
verifySsl: false, // Pour les certificats auto-signés
timeout: 10000 // 10 secondes
@ -239,10 +239,10 @@ try {
// ✅ Utiliser HTTPS en production
const client = new SecureVaultClient({
baseUrl: 'https://vault.4nkweb.com:6666',
baseUrl: process.env.VAULT_URL ?? '<VAULT_URL>',
verifySsl: true, // Activer la validation SSL
userId: 'your-user-id',
vaultKey: 'your-base64-key',
userId: '<VAULT_USER_ID>',
vaultKey: '<VAULT_KEY_BASE64>',
environment: 'prod'
});
@ -314,8 +314,8 @@ const syncResult = await client.syncLocalFiles({
```typescript
const client = new SecureVaultClient({
baseUrl: 'https://vault.4nkweb.com:6666',
userId: 'demo_user_001',
vaultKey: 'your-key',
userId: '<VAULT_USER_ID>',
vaultKey: '<VAULT_KEY_BASE64>',
verifySsl: false
});
```
@ -327,12 +327,12 @@ const syncResult = await client.syncLocalFiles({
**Solutions** :
1. **Vérifiez l'URL dans votre `.env`** :
```bash
VAULT_URL=https://vault.4nkweb.com:6666
VAULT_URL=<VAULT_URL>
```
2. **Redémarrez l'API locale** si elle tourne en arrière-plan
3. **Testez la connectivité** :
```bash
curl -k https://vault.4nkweb.com:6666/health
curl -k "$VAULT_URL"/health
```
4. **Vérifiez les logs** du SDK pour voir quelle URL est utilisée
@ -545,5 +545,5 @@ MIT License - Voir le fichier `LICENSE` pour plus de détails.
---
**Version** : 1.0.0
**API Vault** : vault.4nkweb.com:6666
**API Vault** : <VAULT_URL>
**Chiffrement** : ChaCha20-Poly1305 (quantique résistant)