J’ai créé une petite application de gestion à distance simple pour Incus (anciennement LXD) !
(github.com/gg582)Bonjour ! Je suis un étudiant en informatique logicielle qui commence tout juste à apprendre à coder.
Ce projet est un client pour Incus, qui permet de créer facilement des conteneurs système incluant même init. Il a encore peu de fonctionnalités et reste un prototype, mais je vous serais reconnaissant d’y jeter un œil !
Voici une brève présentation.
- Gestion des conteneurs via une application Python simple
- Mise à disposition d’un port SSH pour fournir un environnement de développement en CLI
- Les ports 30001 et 30002 sont fournis comme ports de test
- Consultation et modification de l’état à distance (y compris
freeze), envoi de fichiers - Possibilité d’utiliser les utilisateurs comme des namespaces : lorsqu’un utilisateur est supprimé, tous les conteneurs le sont aussi
- Réutilisation possible des tags en doublon : une chaîne unique distincte est attribuée comme nom réel
Les avantages que j’ai pu en tirer en utilisant cette application étaient les suivants :
- Configurer simplement des conteneurs en déplacement
- Créer en un clic de nombreux conteneurs système virtualisant jusqu’à
init - Remplacer facilement des documents et des images lors du service de HTML simple avec NGINX
- Tester le script de build d’un projet dans un environnement virtuel
Principaux résultats obtenus
- Tester le build d’Incuspeed avec Incuspeed : test de build en utilisant l’outil lui-même
- Modifier à distance l’image d’exemple affichée par Nginx
- Essayer différentes distributions
Distributions prises en charge
- AlmaLinux 9
- RockyLinux 9
- Debian 10,11,12
- Devuan Beowulf, Chimaera, Daedalus (Debian dont
initest remplacé parsysvpar défaut) - Slackware current, 15.0 (
slackpkg+n’est pas inclus par défaut) - Centos 9 Stream
Parmi les images officielles Incus, j’ai finalisé au moins la configuration SSH pour toutes les distributions que j’ai essayées.
Fonctionnalités envisagées pour la suite
- Création/gestion de snapshots à distance
- Enregistrer le conteneur actuel comme image
Je suis encore amateur, mais j’espère vous faire bonne impression !
1 commentaires
À titre indicatif, les ports internes 30001 et 30002 sont mappés vers l’extérieur sur le port SSH +1 et le port SSH +2.