Serverless: API untuk mengizinkan plugin mengakses plugin lain

Dibuat pada 24 Nov 2016  ·  3Komentar  ·  Sumber: serverless/serverless

Bekerja pada implementasi penyedia OpenWhisk untuk Tanpa Server, saya mendapat tantangan saat mencoba mengakses contoh plugin lain dari dalam plugin saya.

Di plugin deployFunction , kita perlu mengakses plugin paket yang ada untuk mengelola pengemasan artefak fungsi tunggal.

Dalam implementasi penyedia AWS, kelas dapat langsung mereferensikan modul melalui jalur file lokal. https://github.com/serverless/serverless/blob/master/lib/plugins/aws/deployFunction/index.js#L9

Plugin OpenWhisk adalah plugin pihak ketiga dan tidak dapat melakukan ini.

Saat ini saya sedang mengatasinya dengan melakukan iterasi pada instance plugin yang diinstal, dari pengelola plugin, tetapi ini bergantung pada pengujian monyet untuk mengasumsikan bahwa kami memiliki instance yang benar.
https://github.com/serverless/serverless-ibm-openwhisk/blob/master/deployFunction/index.js#L15 -L16

Bisakah kita menambahkan beberapa metode API untuk membantu saya menemukan plugin yang diinstal berdasarkan namanya?


Proposal implementasi

Identifikasi plugin dengan nama unik, yang harus diselesaikan baik dari plugin.name property atau nama konstruktor tidak berkapitalisasi.

Jika dua plugin dengan nama yang sama terdeteksi, tampilkan pesan penghentian yang dengan versi utama berikutnya akan dilemparkan oleh penyiapan tersebut

Plugin harus direferensikan dengan nama di serverless.plugins collection, dan melalui itu dapat diakses oleh plugin lain.

Resolusi nama dan serlveress.plugins penugasan harus dilakukan dalam lingkup logika pluginManager.addPlugin : https://github.com/serverless/serverless/blob/5096534a80e211b947e59d7283cfdfdd1711e7ea/lib/classes/PluginManager.js#L93 -L122

caplugin deprecation enhancement good first issue help wanted

Komentar yang paling membantu

@jthomas terima kasih telah membuka ini! 👍 Waktu yang tepat 🕐

Kami sedang mendiskusikan bagaimana kami dapat meningkatkan arsitektur plugin / UX secara keseluruhan.
Sangat menyenangkan mendapatkan umpan balik tentang poin rasa sakit saat ini (silakan kirim lebih banyak jika Anda memiliki hal lain). 💯

/ cc @ ac360 @nikaf @eahefnawy @mthenw

Semua 3 komentar

@jthomas terima kasih telah membuka ini! 👍 Waktu yang tepat 🕐

Kami sedang mendiskusikan bagaimana kami dapat meningkatkan arsitektur plugin / UX secara keseluruhan.
Sangat menyenangkan mendapatkan umpan balik tentang poin rasa sakit saat ini (silakan kirim lebih banyak jika Anda memiliki hal lain). 💯

/ cc @ ac360 @nikaf @eahefnawy @mthenw

Memang, umpan balik yang sangat bagus! Kami memastikan ini mungkin di masa depan.

Saya telah memperbarui deskripsi utama dengan proposal implementasi. Itu bisa dicapai dengan cukup sederhana (menurut saya), dan nilai tambah itu nyata

Apakah halaman ini membantu?
0 / 5 - 0 peringkat