bytes.cat

La wiki d'FP d'informàtica

Eines de l'usuari

Eines del lloc


vagrant_box

Diferències

Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.

Enllaç a la visualització de la comparació

Següent revisió
Revisió prèvia
vagrant_box [2026/08/23 12:41]
enric_mieza_sanchez creat
vagrant_box [2026/08/23 14:40] (actual)
enric_mieza_sanchez [Càrrega a Vagrant Cloud]
Línia 8: Línia 8:
   "provider": "libvirt",   "provider": "libvirt",
   "format": "qcow2",   "format": "qcow2",
-  "virtual_size": 10+  "virtual_size": 10 // mida del disc en GB
 } }
 </file> </file>
   - ''Vagrantfile'' : un Vagrantfile de mostra per a l'usuari.   - ''Vagrantfile'' : un Vagrantfile de mostra per a l'usuari.
 +
 +Referències:
 +  - Recomanacions oficials per a [[https://developer.hashicorp.com/vagrant/docs/boxes/base|crear una imatge base per a Vagrant]]
 +  - [[https://developer.hashicorp.com/vagrant/vagrant-cloud/boxes/create|Creació de la Vagrant Box]]
  
 \\ \\
Línia 17: Línia 21:
 ===== Creació local del box ===== ===== Creació local del box =====
  
-Crear la VM amb el provider que toqui (libvirt, VirtualBox, etc.)+**Crear la VM** amb el virtualitzador desitjat (libvirt, VirtualBox, etc.)
  
-Localitzar la imatge de disc desitjada. A libvirt sol estar a +Localitzar la imatge de disc desitjada. A ''libvirt'' sol estar a ''/var/lib/libvirt/images/''.
  
-Crear arxiu ''metatada.json''+**Copiar la imatge en una carpeta de treball** amb el nom ''box.img''
-<file json metadata.json>{+ 
 +Consultar les dades de la imatge de disc (en particular ens interessa la mida del disc ''virtual size''): 
 +  $ qemu-img info box.img 
 +  image: box.img 
 +  file format: qcow2 
 +  virtual size: 40 GiB (42949672960 bytes) 
 +  disk size: 1.52 GiB 
 +  cluster_size: 65536 
 +  Format specific information: 
 +      compat: 1.1 
 +      compression type: zlib 
 +      lazy refcounts: true 
 +      refcount bits: 16 
 +      corrupt: false 
 +      extended l2: false 
 +  Child node '/file': 
 +      filename: box.img 
 +      protocol type: file 
 +      file length: 40 GiB (42956488704 bytes) 
 +      disk size: 1.52 GiB 
 + 
 +Crear arxiu ''metatada.json'' i aplicar la ''virtual size'' (la mida total del disc, no la ocupada)
 +<file javascript metadata.json>{
   "provider": "libvirt",   "provider": "libvirt",
   "format": "qcow2",   "format": "qcow2",
-  "virtual_size": 10+  "virtual_size": 40
 } }
 </file> </file>
 +
 +Afegir el ''Vagrantfile'', per ex:
 +<file ruby Vagrantfile>
 +Vagrant.configure("2") do |config|
 +  # appliance pfsense
 +  config.vm.define :pfsense , primary:true do |pfsense|
 +    pfsense.vm.provider "libvirt" do |vm|
 +      vm.memory = "2048"
 +    end
 +    # credencials
 +    pfsense.ssh.insert_key = false
 +    pfsense.ssh.username = "admin"
 +    pfsense.ssh.password = "vagrant"
 +    # deshabilitem carpeta compartida per defecte, no ens cal i no funciona
 +    pfsense.vm.synced_folder ".", "/vagrant", disabled: true
 +  end
 +end
 +</file>
 +
 +Ara ja hauriem de tenir els 3 arxius:
 +  - metadata.json
 +  - Vagrantfile
 +  - box.img
 +
 +Comprimim els 3 arxius en el package box (trigarà una mica):
 +  $ tar cvfz pfsense-2.9.0.box ./metadata.json ./Vagrantfile ./box.img
 +
 +Amb l'arxiu box disponible, ja podem importar la imatge al sistema local:
 +  $ vagrant box add pfsense-2.9.0.box --name pfsense-2.9.0
  
 \\ \\
  
 ===== Càrrega a Vagrant Cloud ===== ===== Càrrega a Vagrant Cloud =====
 +
 +Creeu un compte a Vagrant Cloud. La manera més senzilla sol ser logant-se amb Github.
 +
 +Anar a **Vagrant Registry**
 +
 +Anar a **Crear box registry** i crear-ne un amb el teu nom d'usuari registrat.
 +
 +Entrar dins el teu registry.
 +
 +Anar a **"+ Create box"**
 +  - Afegir nom i descripció (p.ex. pfsense)
 +  - Afegir versió (p.ex. 2.9.0)
 +  - Afegir provider (p.ex. libvirt)
 +  - Afegir arquitectura (p.ex. amd64)
 +  - Carregar l'arxiu .box
 +  - Clicar "RELEASE NOW"
 +
 +\\
 +
 +===== Eliminar una versió de Vagrant Cloud =====
 +Si es vol actualitzar una versió es pot treure un nou release (nou nom de versió).
 +
 +Si es vol canviar una versió concreta primer caldrà eliminar-la i tornar-la a pujar.
 +
 +En aquest darrer cas caldrà eliminar la box local.
 +
 +\\
 +
 +===== Eliminar una box local =====
 +
 +Caldrà eliminar-la de Vagrant i del provider.
 +
 +Per llistar les imatges:
 +  $ vagrant box list
 +
 +I eliminar-la:
 +  $ vagrant box remove emieza/pfsense
 +
 +Però això no eliminarà la imatge a libvirt. Per fer-ho caldrà veure les //pools// i després eliminar-la.
 +  $ virsh pool-list --all
 +  $ virsh vol-list default
 +  $ virsh vol-delete --pool default emieza-VAGRANTSLASH-pfsense_vagrant_box_image_2.9.0_box.img
 +
 +\\
  
  
vagrant_box.1787488877.txt.gz · Darrera modificació: 2026/08/23 12:41 per enric_mieza_sanchez