Machine: Spesifikasi Antarmuka RPC Driver

Dibuat pada 1 Jan 2016  ·  7Komentar  ·  Sumber: docker/machine

Apakah ada dokumen/pr/masalah yang menjelaskan Antarmuka RPC untuk plugin driver? Saya menemukan beberapa masalah terkait #1626 dan #1902 tetapi saya berjuang untuk menemukan sesuatu yang lebih "konkret; tidak ada apa pun dalam dokumen yang dapat saya lihat?

driveall

Komentar yang paling membantu

@prologic Itu dibangun menggunakan https://golang.org/pkg/net/rpc/ dan transport codec adalah gob , yang merupakan format pengkodean go blob asli. _Mungkin_ berkomunikasi menggunakan gob dalam bahasa lain (misalnya, lihat https://groups.google.com/forum/#!topic/golang-nuts/xtXh0yWOens), tetapi mungkin lebih merepotkan daripada nilainya.

Agar benar-benar agnostik bahasa, kita harus menggunakan sesuatu seperti JSON-RPC atau protobufs yang dirancang khusus untuk itu. Ini pasti sesuatu yang saya pertimbangkan untuk masa depan, tetapi akan membutuhkan versi yang lebih baik pada plugin API (itu tidak akan kompatibel ke belakang atau ke depan).

Semua 7 komentar

Hai @prologic. Tidak ada spesifikasi formal sejauh ini (sayangnya :( ) tetapi pada dasarnya idenya adalah Anda perlu mengimplementasikan antarmuka Driver dan kemudian memanggil plugin.RegisterDriver() untuk Driver Anda di main biner plugin Anda Metode

@nathanleclaire Terima kasih telah menanggapi! Saya telah melihat berbagai pihak ke-3 (_tidak dikemas dengan docker-machine _) namun saya mendapat kesan dari berbagai masalah dan permintaan tarik bahwa cara plugin driver mesin buruh pelabuhan bekerja adalah agnostik bahasa? (_atau setidaknya dimaksudkan untuk menjadi?_)

Apakah ini tidak terjadi?

@prologic Tidak, itu cukup erat digabungkan dengan Golang net/rpc .

Tapi itu RPC dan berbicara melalui soket bukan? :) Apa yang saya lewatkan :P

@prologic Itu dibangun menggunakan https://golang.org/pkg/net/rpc/ dan transport codec adalah gob , yang merupakan format pengkodean go blob asli. _Mungkin_ berkomunikasi menggunakan gob dalam bahasa lain (misalnya, lihat https://groups.google.com/forum/#!topic/golang-nuts/xtXh0yWOens), tetapi mungkin lebih merepotkan daripada nilainya.

Agar benar-benar agnostik bahasa, kita harus menggunakan sesuatu seperti JSON-RPC atau protobufs yang dirancang khusus untuk itu. Ini pasti sesuatu yang saya pertimbangkan untuk masa depan, tetapi akan membutuhkan versi yang lebih baik pada plugin API (itu tidak akan kompatibel ke belakang atau ke depan).

FWIW; Saya _ingin_ menulis driver untuk Proxmox VE dan menggunakan kembali perpustakaan yang sudah ada yang sudah tahu cara berbicara dengan Proxmox VE API9s); misalnya: proxmoxer atau pyproxmox

Menabrak!

Apakah halaman ini membantu?
0 / 5 - 0 peringkat