Passer au contenu principal Passer à la navigation Passer au pied de page

Dépôts

Créez, gérez et opérez des dépôts chiffrés LUKS sur des machines distantes.

Dépôts

Un dépôt est une image disque chiffrée LUKS sur un serveur distant. Une fois monté, il fournit :

  • Un système de fichiers isolé pour les données de votre application
  • Un démon Docker dédié (séparé du Docker de l’hôte)
  • Des adresses IP de bouclage uniques pour chaque service au sein d’un sous-réseau /26

Créer un dépôt

rdc repo create --name my-app -m server-1 --size 10G
OptionRequisDescription
-m, --machine <name>OuiMachine cible où le dépôt sera créé
--size <size>OuiTaille de l’image disque chiffrée (par ex., 5G, 10G, 50G)
--skip-router-restartNoSkip restarting the route server after the operation

La sortie affichera trois valeurs générées automatiquement :

  • GUID du dépôt — Un UUID qui identifie l’image disque chiffrée sur le serveur.
  • Identifiant (Credential) — Une phrase secrète aléatoire utilisée pour chiffrer/déchiffrer le volume LUKS.
  • ID réseau — Un entier (commençant à 2816, incrémenté de 64) qui détermine le sous-réseau IP pour les services de ce dépôt.

Conservez l’identifiant en lieu sûr. C’est la clé de chiffrement de votre dépôt. En cas de perte, les données ne pourront pas être récupérées. L’identifiant est stocké dans votre fichier local config.json mais n’est pas stocké sur le serveur.

Monter et démonter

Le montage déchiffre et rend le système de fichiers du dépôt accessible. Le démontage ferme le volume chiffré.

rdc repo mount --name my-app -m server-1  # Déchiffrer et monter
rdc repo unmount --name my-app -m server-1  # Démonter et re-chiffrer
OptionDescription
--checkpointCréer un checkpoint CRIU avant le montage/démontage (pour les conteneurs avec le label rediacc.checkpoint=true)
--skip-router-restartSkip restarting the route server after the operation

Vérifier le statut

rdc repo status --name my-app -m server-1

Lister les dépôts

rdc repo list -m server-1

Redimensionner

Définissez une taille exacte pour le dépôt ou ajoutez un montant donné :

rdc repo resize --name my-app -m server-1 --size 20G  # Définir une taille exacte
rdc repo expand --name my-app -m server-1 --size 5G  # Ajouter 5 Go à la taille actuelle

Le dépôt doit être démonté avant le redimensionnement.

Dupliquer (fork)

Créez une copie d’un dépôt existant dans son état actuel :

rdc repo fork --parent my-app --tag staging -m server-1

Les forks utilisent le modèle name:tag : le fork résultant est nommé my-app:staging. Ceci crée une nouvelle copie chiffrée avec son propre GUID et ID réseau, tout en partageant le nom du parent. La copie partage le même identifiant LUKS que le parent.

Valider

Vérifiez l’intégrité du système de fichiers d’un dépôt :

rdc repo validate --name my-app -m server-1

Propriété

Définissez la propriété des fichiers au sein d’un dépôt sur l’utilisateur universel (UID 7111). Ceci est généralement nécessaire après le téléversement de fichiers depuis votre poste de travail, qui arrivent avec votre UID local.

rdc repo ownership --name my-app -m server-1

La commande détecte automatiquement les répertoires de données des conteneurs Docker (montages bind en écriture) et les exclut. Cela évite de casser les conteneurs qui gèrent des fichiers avec leurs propres UID (par ex., MariaDB=999, www-data=33).

OptionDescription
--uid <uid>Définir un UID personnalisé au lieu de 7111
--skip-router-restartSkip restarting the route server after the operation

Pour forcer la propriété sur tous les fichiers, y compris les données des conteneurs :

rdc repo ownership --name my-app -m server-1

Consultez le Guide de migration pour un guide complet sur quand et comment utiliser la propriété lors de la migration de projets.

Modèle (template)

Appliquez un modèle pour initialiser un dépôt avec des fichiers :

rdc repo template apply --name my-template -m server-1 -r my-app --file ./my-template.tar.gz

Supprimer

Détruisez définitivement un dépôt et toutes les données qu’il contient :

rdc repo delete --name my-app -m server-1

Ceci détruit définitivement l’image disque chiffrée. Cette action est irréversible.