Stockage Externe (BYOS)
Hébergez vos secrets chiffrés sur votre propre infrastructure.
Qu'est-ce que le BYOS ?
BYOS (Bring Your Own Storage) vous permet de garder le contrôle total de vos données en les stockant sur votre propre serveur, tout en utilisant l'interface et les outils EnvSafe.
Avantages
Souveraineté des données
Vos secrets restent physiquement sur vos serveurs
Conformité réglementaire
Respectez les exigences de localisation des données (RGPD, HDS...)
Contrôle total
Vous gérez vos backups, votre base de données, votre infrastructure
Configuration
Déployer l'agent EnvSafe
Lancez le conteneur Docker sur votre infrastructure
git clone https://github.com/Ifiboys/storage-agent
cd storage-agent
# Générer un secret sécurisé
openssl rand -hex 32
# Configurer les variables
cp .env.example .env
nano .envLancer l'agent avec Docker
Docker Compose lancera automatiquement PostgreSQL et l'agent
docker-compose up -d
# Vérifier les logs
docker-compose logs -f agentConfigurer le projet
Dans les paramètres du projet, activez le mode 'Stockage Externe'
Saisir les identifiants
Renseignez l'URL de votre agent et le secret partagé
Exemple de configuration :
URL : https://envsafe-storage.votre-domaine.com
Secret : <le secret généré à l'étape 1>Vérifier la connexion
EnvSafe teste la connexion et confirme la configuration
Options de Déploiement
Déployez l'agent sur votre infrastructure préférée
VPS (DigitalOcean, Hetzner, OVH...)
Parfait pour un contrôle total et un coût prévisible
# 1. Installer Docker sur votre serveur
ssh root@votre-serveur.com
curl -fsSL https://get.docker.com | sh
# 2. Cloner et configurer
git clone https://github.com/Ifiboys/storage-agent
cd storage-agent
cp .env.example .env
nano .env # Configurez AUTH_SECRET et DATABASE_URL
# 3. Lancer
docker-compose up -d
# 4. Configurer Nginx + SSL (HTTPS obligatoire)
sudo apt install nginx certbot python3-certbot-nginx
sudo certbot --nginx -d envsafe-storage.votre-domaine.comAWS (ECS Fargate)
Serverless, scalable automatiquement
# 1. Créer un ECR repository
aws ecr create-repository --repository-name envsafe-agent
# 2. Build et push l'image
docker build -t envsafe-agent .
docker tag envsafe-agent:latest <account>.dkr.ecr.region.amazonaws.com/envsafe-agent
docker push <account>.dkr.ecr.region.amazonaws.com/envsafe-agent
# 3. Créer une Task Definition avec vos variables d'environnement
# 4. Lancer un service Fargate avec un Load Balancer HTTPSGoogle Cloud Run
Déploiement en une commande, HTTPS automatique
# Build
gcloud builds submit --tag gcr.io/PROJECT-ID/envsafe-agent
# Deploy
gcloud run deploy envsafe-agent \
--image gcr.io/PROJECT-ID/envsafe-agent \
--platform managed \
--region us-central1 \
--set-env-vars AUTH_SECRET=<secret>,DATABASE_URL=<db>Kubernetes
Pour les infrastructures enterprise
# 1. Créer les secrets
kubectl create secret generic envsafe-secrets \
--from-literal=auth-secret=<your-secret> \
--from-literal=database-url=<your-db-url>
# 2. Appliquer les manifests (voir repo GitHub)
kubectl apply -f k8s-deployment.yamlSécurité
Le stockage externe utilise une authentification HMAC-SHA256. Seul votre serveur EnvSafe (SaaS) peut communiquer avec votre agent.
Les données restent chiffrées
Même sur votre serveur, les secrets sont stockés sous forme chiffrée (AES-256-GCM). L'agent ne peut pas les lire.
Exemple de requête authentifiée :
GET /get-secret?key=API_KEY&environmentId=env123
Headers:
Authorization: Bearer sk_live_abc...xyz
X-EnvSafe-Timestamp: 1706990000000
X-EnvSafe-Signature: a1b2c3d4e5f6...Agent de stockage (Exemple)
Vous pouvez utiliser notre agent open-source ou créer le vôtre
// L'agent stocke UNIQUEMENT des données chiffrées
// Il ne peut PAS les lire
await prisma.encryptedVariable.create({
data: {
key: "DATABASE_URL",
encryptedValue: "U2FsdGVkX1...", // ❌ Illisible
environmentId: "prod"
}
});
// Seul le client (CLI/Dashboard) avec la clé privée
// peut déchiffrer cette valeur