Apicurio-studio: Mendukung beberapa layanan hosting kode

Dibuat pada 3 Mei 2017  ·  13Komentar  ·  Sumber: Apicurio/apicurio-studio

Mendukung beberapa repositori publik dan pribadi (Github atau Bitbucket). Alangkah baiknya jika pengguna dapat terhubung dari aplikasi web ke layanan eksternal (Github, Bitbucket ...), dan mengapa tidak mendukung fitur ruang kerja di atas "API". Ini memberikan gambaran yang jelas saat mengerjakan API milik proyek yang berbeda.

Komentar yang paling membantu

Kami sekarang memiliki dukungan untuk GitLab dan Bitbucket. Menutup masalah ini. :)

Semua 13 komentar

Ya! Proyek ini pada akhirnya akan memiliki backend yang tepat yang memungkinkan kami mendukung banyak repositori secara bersamaan. Mungkin tidak jelas dari peta jalan bahwa ini adalah tujuan - saya akan memperbaikinya ketika saya mendapat kesempatan. :)

Juga selamat atas Edisi #100! ;)

Saya tertarik untuk menambahkan dukungan Bitbucket dan Bitbucket Server - tetapi setelah melihat kode dan alur kerja UI, tampaknya tidak memiliki titik masuk yang jelas untuk kredensial pengguna. Sampai sekarang Anda perlu masuk ke Apicurio Studio dengan kredensial Github Anda, yang bisa saya tambahkan opsi Bitbucket OR Github, tetapi untuk memiliki keduanya perlu ada semacam halaman pengaturan pengguna.

Di sisi lain, saya ingin menambahkan dukungan LDAP untuk login dan mungkin memiliki pengaturan global untuk server bitbucket. Apa pun solusinya - saya pikir saya perlu arahan UX terlebih dahulu. Pikiran?

Hai @danmikita - kontribusi untuk bitbucket akan luar biasa. Namun, saya pikir beberapa perubahan inti diperlukan sebelum itu bisa terjadi. Hasilnya adalah kami bergerak ke arah yang sangat kompatibel dengan apa yang ingin Anda lakukan (login dan penyimpanan terpisah) tetapi kami belum cukup sampai di sana. Beberapa latar belakang:

Langkah 1: Kami memulai dengan pendekatan tanpa server, tanpa kode back-end dan hanya UI yang langsung menggunakan API GitHub untuk login dan untuk menyimpan/mengambil konten.
Langkah 2: Tujuannya adalah selalu memiliki server back-end, yang hampir selesai. Namun, back-end masih digabungkan ke GitHub, baik untuk login maupun untuk menyimpan/mengambil konten. Tetapi setidaknya sekarang sebagian besar entitas dan cara mengakses/memanipulasinya tidak lagi khusus GitHub di lapisan UI.
Langkah 3: Putuskan sambungan antara back-end server dan GitHub dan pisahkan otentikasi pengguna dari penyimpanan. Idenya di sini adalah bahwa otentikasi pengguna akan dapat dipasang sehingga kami dapat mendukung beragam opsi (GitHub, Auth0, KeyCloak, dll). Selain itu, kami akan menyediakan cara bagi pengguna untuk menautkan akun Apicurio Studio mereka ke akun GitHub mereka sehingga kami dapat beroperasi atas nama mereka. Dengan cara ini mereka dapat login dengan misalnya LDAP tetapi masih menyimpan data di GH. Pada saat itu, kami juga dapat mendukung BitBucket dan sistem kontrol sumber lainnya.

Jadi saya harus merilis versi yang melakukan Langkah 2 minggu ini. Setelah itu kita bisa mulai mengerjakan membuatnya ke Langkah 3.

Saya akan memprioritaskan dukungan OpenAPI 3 di atas pekerjaan Langkah 3 yang dijelaskan di atas. Tapi sekarang saya tahu kami tidak hanya memiliki permintaan masyarakat tetapi juga tawaran untuk membantu, saya akan membalikkan itu. :)

@EricWittmann Kedengarannya bagus! Saya memiliki seluruh tim di sini yang sangat senang dengan alat ini dan berharap dapat berkontribusi dalam waktu dekat. Bisakah Anda ping saya di sini ketika basis kode sudah siap untuk kita masuki?

Tentu akan! Saya akan memberikan catatan di sini ketika saatnya tiba.

FYI Saya baru saja merilis 0.1.6 sekitar 10 menit yang lalu... beri tahu saya jika Anda menemukan masalah. Ini adalah versi pertama yang menggunakan server back-end alih-alih langsung ke GH. :)

Hai @danmikita - hanya ingin memberikan pembaruan cepat di sini. Saya masih mengerjakan banyak perubahan pada apicurio untuk membuatnya bagus dan mudah untuk berkontribusi pada dukungan bitbucket. Ada beberapa hal yang perlu diperhatikan. :)

Pertama, saya telah memutuskan untuk mulai menggunakan Keycloak untuk otentikasi dan untuk penautan akun (keduanya relevan dengan diskusi ini). Jika Anda tidak terbiasa dengan itu, lihat di sini:

http://www.keycloak.org/

KC memecahkan banyak masalah, dan memiliki segala macam fitur hebat untuk otentikasi (berbagai login sosial, pendaftaran pengguna, integrasi ldap, dll.). Selain itu, ini mendukung penautan akun, yang akan saya gunakan untuk memungkinkan pengguna Apicurio menyimpan API mereka di berbagai tempat (misalnya GitHub, GitLab, dan Bitbucket). Keycloak akan menangani penautan akun dan itu akan membuat token akses OAuth tersedia. Apicurio akan mengimplementasikan kode untuk memanggil API penyedia masing-masing (github, gitlab, dll) untuk menyimpan dan mengambil data.

Keycloak sudah hadir dengan dukungan untuk GitHub, tetapi belum memiliki GitLab atau Bitbucket. Ada konektor OIDC generik yang mungkin berfungsi, tetapi saya belum mencobanya.

Bagaimanapun, setelah ini semua selesai, jika Anda ingin berkontribusi untuk mendukung Bitbucket, itu akan dilakukan di dua tempat:

1) Terapkan Bitbucket "Penyedia Identitas" dan sumbangkan ke Keycloak
2) Terapkan "konektor" Bitbucket (atau apa pun yang akhirnya saya sebut) di Apicurio

Jika Anda begitu ingin, Anda sudah bisa mulai dari (1) sekarang. Saya belum mulai melihat dengan tepat bagaimana Penyedia Identitas baru dapat dikontribusikan di Keycloak, tetapi saya tahu orang-orang yang mengerjakan proyek itu, jadi saya yakin itu tidak terlalu sulit. :)

Semoga delaynya gak terlalu lama (saya libur seminggu). Saya harus menyelesaikan hal-hal yang sedang saya kerjakan di Apicurio dalam satu atau dua hari lagi kecuali ada komplikasi yang tidak terduga. :)

@EricWittmann Terima kasih atas tulisan yang begitu mendetail! Saya akan melihat repo Keycloak dan membiasakan diri dengan basis kode dan mencoba untuk mendapatkan PR di luar sana dalam beberapa hari.

Sebulan sekali kelompok kami memiliki sesuatu yang kami sebut "Hari Inovasi" di mana kami semua mengerjakan proyek "hewan peliharaan". Saya memiliki grup yang terdiri dari sekitar 5 atau lebih pengembang yang ingin berkontribusi pada proyek ini. Sesi berikutnya adalah 28 dan 29 Agustus. Semoga basis kode sudah siap untuk kita saat itu!

Terima kasih banyak untuk pekerjaan ini. Ini akan menjadi luar biasa!

Terima kasih atas tanggapannya, @danmikita . Kabar baik: ternyata Keycloak telah menambahkan dukungan autentikasi dan penautan akun untuk GitLab dan Bitbucket. Jadi sekarang satu-satunya hal yang perlu kita lakukan untuk Apicurio+Bitbucket adalah:

  1. mengimplementasikan "SourceConnector" Apicurio yang menggunakan API Bitbucket (mis. untuk menyimpan konten API)
  2. perubahan UI yang relatif kecil pada halaman Pengaturan> Akun (ini baru) dan halaman Buat API

Harus sepotong kue. :)

@EricWittmann Itu berita bagus! Saya masih perlu memeriksa implementasi Bitbucket mereka untuk memastikannya mendukung Bitbucket versi Enterprise di tempat. (Server Bitbucket). BTW - apakah Anda memiliki tugas pemukul cepat lainnya seperti ini untuk kami? Saya rasa saya tidak dapat membuat 5 pengembang sibuk selama 2 hari dengan fitur yang satu ini. :)

@danmikita Anda membaca pikiran saya - fitur ini kemungkinan tidak akan lama (saya harap!). Saya berencana memilih beberapa tugas yang mungkin dari peta jalan dan menuliskannya lebih lengkap sebagai Masalah github jika kalian ingin mengatasinya. :) Saya akan menyelesaikannya pada akhir minggu.

Rilis baru dari Apicurio Studio dengan fitur Akun Menghubungkan harus dirilis hari ini. Saya mengalami beberapa masalah pertengkaran dengan Keycloak di Openshift minggu lalu, tetapi sekarang semuanya teratasi. Saya akan melakukan rilis hari ini dan memperbarui dokumentasi.

@danmikita Perhatikan bahwa saya merilis versi baru beberapa hari yang lalu. Versi baru memiliki fitur penautan akun. Berikan pusaran dan beri tahu saya jika mudah-mudahan setidaknya selaras dengan apa yang Anda cari.

Saya juga membuat beberapa dokumentasi untuk menyiapkan lingkungan pengembangan (dokumen untuk kontributor): https://apicurio-studio.readme.io/v0.1.9/docs/setting-up-a-development-environment

Saat ini saya sedang mengerjakan membuat/memperbarui beberapa masalah dari peta jalan jangka pendek. Hal-hal yang mungkin bisa kalian kalahkan selama Hari Inovasi kalian. Mudah-mudahan beberapa dari mereka akan terdengar menarik. Saya akan membuat masalah induk terpisah untuk itu sehingga kami berhenti mengirim spam ke

Kami sekarang memiliki dukungan untuk GitLab dan Bitbucket. Menutup masalah ini. :)

Apakah halaman ini membantu?
0 / 5 - 0 peringkat