Menelan API Vagrant

Post a Comment

Vagrant Cloud menyediakan API bagi user untuk berinteraksi dengan Vagrant Cloud (https://app.vagrantup.com/) untuk eksperimen, otomatisasi, atau membangun fitur dan alat baru di atas aplikasi yang telah ada. sesi kali ini marupakan lanjutan dari API KVM.

Beberapa titik akhir API memerlukan autentikasi untuk membuat sumber daya baru, memperbarui atau menghapus sumber daya yang ada, atau membaca private resouce.
Klien dapat mengautentikasi menggunakan token autentikasi. Token dapat diteruskan ke Vagrant Cloud salah satu dari dua cara:

1. (Recomendasi) Atur header Otorisasi ke "Pengguna" dan nilai token otentikasi.
2. Berikan token autentikasi sebagai parameter URL access_token baru.
Ex : Header X-Atlas-Token juga didukung untuk backwards-compatibility.

Format Permintaan dan Respons
Permintaan ke Vagrant Cloud yang mencakup atribut data (POST atau PUT/PATCH) harus mengatur header Tipe Konten ke "application/json", dan menyertakan isi JSON yang valid dengan permintaan tersebut.

Respons JSON dapat mencakup kunci "error", yang akan berisi array string error, serta kunci success. Misalnya:

{
  "errors": ["Resource not found!"],
  "success": false
}

Response Codes
Vagrant Cloud dapat merespons dengan kode respons berikut, tergantung pada status permintaan dan konteks:
Success
200 OK
201 Created
204 No Content
Client Errors
selengkap nya
 
"Creating a usable box from scratch"
Begitulah kira-kira bahasanya, langsung saja sebelum kita praktek lebih jauh mengenai API vagrant.

kita coba dulu untuk membuat sebuah image dari local yang kita ekstrak dari ubuntu.img
wget https://cloud-images.ubuntu.com/releases/xenial/release/ubuntu-16.04-server-cloudimg-armhf-disk1.img

setelah itu kita buat file wajib yang nanti akan di eksekusi oleh si vagrant itu
kali ini provider nya memakai kvm/libvirt

nano metadata.json
{
  "provider"     : "libvirt", (di sesuaikan)
  "format"       : "qcow2",
  "virtual_size" : 2 (disesuaikan)
}


nano Vagrantfile
Vagrant.configure('2') do |config|
  config.vm.box = "gildub/fedora20" (disesuaikan)

  #config.vm.define :test_vm do |test_vm|
  #  test_vm.vm.network :bridged, :adapter => 1
  #  test_vm.vm.network :bridged, :adapter => 2
  #end
  config.vm.provider :libvirt do |libvirt|
    libvirt.driver = 'kvm'
    # libvirt.host = 'localhost'
    libvirt.connect_via_ssh = false
    libvirt.username = 'root'
    libvirt.storage_pool_name = 'default'
    # libvirt.default_prefix = ''
  end
end


ekstrak file


Mari... wess....
Setelah file di buat, lalu eksekusi menggukan bebapa commandAPI dari vagrant

mlebu disek... :)
login menggunakan username
vagrant login
jika belum punya akun silahkan daftar dulu

jika sudah coba untuk membuat box baru
vagrant cloud box create [username/box-name]
vagrant cloud box create jhoncemplok/ubuntu1604


setelah itu membuat provider baru
vagrant cloud provider create [username/box-name] provider-name version
vagrant cloud provider create jhoncemplok/ubuntu1604 libvirt 16.4

lanjut membuat versi baru
vagrant cloud version create [username/box-name] version
vagrant cloud version create -d ubuntu1604_by_jhon jhoncemplok/ubuntu1604 16.4

upload box image dari provider
vagrant cloud provider upload [username/box-name] provider-name version box-file
vagrant cloud provider upload jhoncemplok/ubuntu1604 libvirt 16.4 ubuntu16.box

release
vagrant cloud version release [username/box-name] version
vagrant cloud version release jhoncemplok/ubuntu1604 16.4


Refrensi
unixstackegilmat,  github vagrant, ..

jika ada masukan silahkan komen di bawah 👇
maturnuwun 🙏😊

Related Posts

Post a Comment