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
unixstacke, gilmat, github vagrant, ..
jika ada masukan silahkan komen di bawah 👇
maturnuwun 🙏😊
Post a Comment
Post a Comment