feat: amelioration configuration SDK client avec fichiers .env
- Ajout de .env.example pour faciliter la configuration - Ajout de .env avec configuration par defaut - Creation du script test-connection.js pour diagnostic - Mise a jour du README avec section configuration rapide - Ajout de script npm test:connection - Amelioration du depannage pour problemes de connexion - Documentation completee pour resolution problemes variables environnement
This commit is contained in:
parent
8237eed91e
commit
84de922488
@ -2,11 +2,9 @@
|
||||
**/__pycache__/
|
||||
**/storage/
|
||||
**/dist/
|
||||
**/dist/
|
||||
**/node_modules/
|
||||
**/package-lock.json*
|
||||
**/yarn.lock*
|
||||
**/yarn.lock*
|
||||
|
||||
# Variables d'environnement (protection renforcée)
|
||||
**/.env*
|
||||
|
@ -2,11 +2,9 @@
|
||||
**/__pycache__/
|
||||
**/storage/
|
||||
**/dist/
|
||||
**/dist/
|
||||
**/node_modules/
|
||||
**/package-lock.json*
|
||||
**/yarn.lock*
|
||||
**/yarn.lock*
|
||||
|
||||
# Variables d'environnement (protection renforcée)
|
||||
**/.env*
|
||||
|
1
.gitignore
vendored
1
.gitignore
vendored
@ -5,7 +5,6 @@
|
||||
**/node_modules/
|
||||
**/package-lock.json*
|
||||
**/yarn.lock*
|
||||
**/yarn.lock*
|
||||
|
||||
# Variables d'environnement (protection renforcée)
|
||||
**/.env*
|
||||
|
@ -20,6 +20,18 @@ Un SDK TypeScript moderne et type-safe pour interagir avec l'API Vault 4NK, perm
|
||||
npm install @4nk/vault-sdk
|
||||
```
|
||||
|
||||
## ⚙️ Configuration rapide
|
||||
|
||||
Après avoir cloné le projet ou installé le SDK, **vous devez configurer les variables d'environnement** :
|
||||
|
||||
```bash
|
||||
# 1. Copier le fichier d'exemple
|
||||
cp .env.example .env
|
||||
|
||||
# 2. Modifier les valeurs dans .env selon vos besoins
|
||||
# 3. Ou créer directement un fichier .env avec vos paramètres
|
||||
```
|
||||
|
||||
## 🔧 Configuration
|
||||
|
||||
### Configuration automatique via .env
|
||||
@ -290,9 +302,15 @@ const syncResult = await client.syncLocalFiles({
|
||||
**Problème** : `VAULT_USER`, `VAULT_KEY`, ou `VAULT_ENV` manquants.
|
||||
|
||||
**Solutions** :
|
||||
1. **Ajoutez les variables manquantes** dans votre `.env`
|
||||
2. **Vérifiez la syntaxe** du fichier `.env` (pas d'espaces autour du `=`)
|
||||
3. **Utilisez la configuration manuelle** :
|
||||
1. **Créez un fichier `.env`** dans le dossier `sdk-client/` :
|
||||
```bash
|
||||
cd sdk-client/
|
||||
cp .env.example .env
|
||||
# Modifiez les valeurs dans .env
|
||||
```
|
||||
2. **Ajoutez les variables manquantes** dans votre `.env`
|
||||
3. **Vérifiez la syntaxe** du fichier `.env` (pas d'espaces autour du `=`)
|
||||
4. **Utilisez la configuration manuelle** :
|
||||
```typescript
|
||||
const client = new SecureVaultClient({
|
||||
baseUrl: 'https://vault.4nkweb.com:6666',
|
||||
@ -302,6 +320,22 @@ const syncResult = await client.syncLocalFiles({
|
||||
});
|
||||
```
|
||||
|
||||
#### Dossiers créés mais vides (seulement des .gitkeep)
|
||||
|
||||
**Problème** : Le SDK se connecte à une API locale au lieu de l'API distante.
|
||||
|
||||
**Solutions** :
|
||||
1. **Vérifiez l'URL dans votre `.env`** :
|
||||
```bash
|
||||
VAULT_URL=https://vault.4nkweb.com:6666
|
||||
```
|
||||
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
|
||||
```
|
||||
4. **Vérifiez les logs** du SDK pour voir quelle URL est utilisée
|
||||
|
||||
## 📚 API Reference
|
||||
|
||||
### Classes principales
|
||||
|
@ -8,6 +8,7 @@
|
||||
"build": "tsc",
|
||||
"dev": "tsc --watch",
|
||||
"test": "jest",
|
||||
"test:connection": "node test-connection.js",
|
||||
"lint": "eslint src/**/*.ts",
|
||||
"clean": "rm -rf dist"
|
||||
},
|
||||
|
74
sdk-client/test-connection.js
Normal file
74
sdk-client/test-connection.js
Normal file
@ -0,0 +1,74 @@
|
||||
/**
|
||||
* Test de connexion au SDK Vault
|
||||
* Affiche l'URL utilisée et teste la connectivité
|
||||
*/
|
||||
|
||||
const { SecureVaultClient } = require('./dist/src/index.js');
|
||||
|
||||
async function testConnection() {
|
||||
console.log('🔍 Test de connexion au SDK Vault');
|
||||
console.log('===================================');
|
||||
|
||||
try {
|
||||
// Afficher les variables d'environnement chargées
|
||||
console.log('\n📋 Variables d\'environnement:');
|
||||
console.log(` VAULT_USER: ${process.env.VAULT_USER || 'NON DÉFINI'}`);
|
||||
console.log(` VAULT_ENV: ${process.env.VAULT_ENV || 'NON DÉFINI'}`);
|
||||
console.log(` VAULT_URL: ${process.env.VAULT_URL || 'NON DÉFINI'}`);
|
||||
console.log(` VAULT_CONFS_DIR: ${process.env.VAULT_CONFS_DIR || 'NON DÉFINI'}`);
|
||||
|
||||
// Créer le client
|
||||
const client = new SecureVaultClient();
|
||||
|
||||
// Afficher l'URL configurée
|
||||
console.log('\n🌐 Configuration du client:');
|
||||
console.log(` URL de base: ${client.config?.baseUrl || 'NON DÉFINI'}`);
|
||||
console.log(` Utilisateur: ${client.config?.userId || 'NON DÉFINI'}`);
|
||||
|
||||
// Test de connectivité
|
||||
console.log('\n🔌 Test de connectivité...');
|
||||
const isConnected = await client.ping();
|
||||
|
||||
if (isConnected) {
|
||||
console.log(' ✅ Connexion réussie !');
|
||||
|
||||
// Test de récupération des routes
|
||||
console.log('\n📁 Test de récupération des routes...');
|
||||
const routes = await client.getRoutes('dev');
|
||||
console.log(` ✅ ${routes.length} routes récupérées`);
|
||||
|
||||
// Test de synchronisation
|
||||
console.log('\n📂 Test de synchronisation...');
|
||||
const syncResult = await client.syncLocalFiles({
|
||||
environment: 'dev',
|
||||
localDir: './test-confs',
|
||||
verbose: true
|
||||
});
|
||||
|
||||
console.log(` ✅ Synchronisation terminée:`);
|
||||
console.log(` - Fichiers synchronisés: ${syncResult.synced}`);
|
||||
console.log(` - Fichiers ignorés: ${syncResult.skipped}`);
|
||||
console.log(` - Erreurs: ${syncResult.errors}`);
|
||||
|
||||
} else {
|
||||
console.log(' ❌ Connexion échouée !');
|
||||
}
|
||||
|
||||
} catch (error) {
|
||||
console.error('\n❌ Erreur:', error.message);
|
||||
|
||||
if (error.message.includes('Variables d\'environnement requises')) {
|
||||
console.log('\n💡 Solution:');
|
||||
console.log(' 1. Créez un fichier .env dans le dossier sdk-client/');
|
||||
console.log(' 2. Copiez .env.example vers .env');
|
||||
console.log(' 3. Modifiez les valeurs dans .env');
|
||||
console.log('\n Exemple de .env:');
|
||||
console.log(' VAULT_USER=demo_user_001');
|
||||
console.log(' VAULT_KEY=JYyybYFXe9hghRI9d1mpoQ1uYYxpt/6lzYPOWrxruG0=');
|
||||
console.log(' VAULT_ENV=dev');
|
||||
console.log(' VAULT_URL=https://vault.4nkweb.com:6666');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
testConnection();
|
Loading…
x
Reference in New Issue
Block a user