1

(Pour Redangel)
En gros, Vagrant est un gros script Ruby pour :
- télécharger une machine virtuelle préinstallées (tu peux retrouver à peu près n'importe quel OS, parfois avec d'autres outils qu'une simple installation de base),
- créer une nouvelle VM,
- la personnaliser (pour ajouter un disque, une interface réseau, un script de post install),
- la démarrer avec un partage de fichiers avec la machine hôte fonctionnel,
- exécuter des commandes dedans (un compte ssh qui est sudoer est configuré),
- la détruire.

Le choix de la VM de base et ses modifications (comme le script de post install) sont enregistrées dans un fichier (Vagrantfile).

Avec les commandes suivantes :
- je crée un fichier de description minimal (choix de la VM sur laquelle je me base, puis je lui demande d'exécuter un script local)
- je crée la VM et la démarre, puis exécute le script à la fin du boot avec Vagrant up, mais en stockant le code de retour du script
- je la détruis de façon définitive

cat << EOF > Vagrantfile
Vagrant.configure("2") do |config|
  config.vm.box = "xenial64"
  config.vm.provision "shell", path: "script.sh"
end
EOF
X=`vagrant up`
vagrant destroy --force

Cette VM pourrait également stocker des choses sur ma machine hôte, bien sûr.
Du coup, c'est pratique :
- pour faire des tests dans un environnement vierge et parfaitement maîtrisé,
- compiler des logiciels sur un OS différent de la machine hôte.

En prime, ça peut utiliser n'importe quel type de virtualisation (virtualbox, VMware, etc.). De plus, dans un seul fichier, tu peux définir plusieurs VM qui définissent un réseau interne.

Ça n'a rien de magique (c'est du bon gros script Ruby qui masque toutes les opérations, dès qu'il y a un problème de config, tu te retrouves avec des stacktrace Ruby bien moches).
Mais en pratique, on s'en fout un peu : ça marche et ça rend bien service.
avatar<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

2

3

Surtout que c’est très simple à utiliser.
avatar<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

4

toptop Je vais zieuter.
avatarL'homme qu'a vu l'homme qu'a vu l'ours, qu'a mangé l'facteur..

5

Par contre, ce n’est pas pensé pour du déploiement de VM en prod.
avatar<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

6

flanker (./1) :
- télécharger une machine virtuelle préinstallée
C'est pas exactement très sécurisé, si ?

7

Ben tout dépend de la source. Différentes distros Linux proposent une version "image pour machine virtuelle" de leur OS de manière officielle.
avatarZeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

8

Ah ? OK, je ne connaissais pas ce genre de distrib cheeky

9

Pen^2 (./6) :
C'est pas exactement très sécurisé, si ?
Tu peux aussi être ton propre pourvoyeur de VM (typiquement, dans un environnement où tu as des postes de travail virtualisés, tu peux en déployer à la volée sans prise de tête dès qu'une nouvelle personne arrive).
avatar

10

Cayrtes hehe

11

Pen^2 (./6) :
flanker (./1) :
- télécharger une machine virtuelle préinstallée
C'est pas exactement très sécurisé, si ?
C'est comme toujours, tout dépend de ton contexte de sécurité global.
Il y a des machines virtuelles officielles, ce qui permet de savoir à peu près ce qu'il y a dessus (autrement dit, un Linux avec un compte Vagrant dont le mot de passe est systématiquement « vagrant » et qui est sudo). C'est probablement plus fiable qu'une lib développée par un inconnu.

Ensuite, comme je le disais, ce n'est pas pensé pour héberger une machine de production comme Docker. Ta VM ne sera a priori pas accessible depuis l'extérieur de ta machine, et ne sera créée que le temps du test unitaire ou de la compilation.

Et pour finir, comme disait Nil, tu peux très bien produire ta propre box personnalisée.
avatar<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

12

J'utilise occasionnellement Vagrant depuis des années. Flanker a totalement raison: c'est très pratique pour du test, mais pas du tout fait pour de la prod smile
avatarMembre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.