Libelektra: buat demo langsung web-ui

Dibuat pada 12 Apr 2018  ·  49Komentar  ·  Sumber: ElektraInitiative/libelektra

Web-ui sekarang dalam keadaan cukup stabil (hanya bug kecil yang terbuka, lihat # 1892) jadi sekarang kita bisa mulai membuat demo langsung.

Skrip penerapan harus sangat mirip dengan yang sudah kita miliki untuk beranda kita, pada dasarnya:

  • kompilasi dengan -DTOOLS = ..; web
  • buat instal
  • kdb run-elektrad &
  • kdb run-web &

Kami jelas membutuhkan wadah yang benar-benar terpisah untuk itu, web-ui pada dasarnya memungkinkan eksekusi perintah kdb jarak jauh dengan pengguna elektrad sedang berjalan.

Demo langsung seperti itu mungkin menjadi salah satu iklan terbaik jika berfungsi dengan baik. Bagaimana menurut anda?

help wanted question

Semua 49 komentar

Satu-satunya rencana realistis untuk rilis ini adalah membuat dan menghosting gambar buruh pelabuhan dengan build manual web-ui.

@omnidan Bisakah Anda melakukan itu?

tempat pemeliharaan lebah dari web elektrad + juga akan menjadi bagian dari ini.

@omnidan apakah Anda punya waktu untuk mengerjakan ini atau videonya?

Saya sudah membuat video: https://drive.google.com/open?id=13dSC0ereCQGusrwlIodaDostW6eEes72

Saya akan mencoba membangun image buruh pelabuhan dengan web-ui terpasang. Apakah sudah ada image buruh pelabuhan yang telah menginstal libelektra? Di mana kami akan menghosting gambar buruh pelabuhan?

Terima kasih, videonya bagus! Jika Anda kadang-kadang membuat video lain, memiliki video tanpa siswa sebagai contoh akan sangat bagus: smile: (mis. Mengedit / etc / hosts)

Apa pilihan terbaik kami untuk menghosting video, sehingga pemutaran video bekerja dengan lancar di semua browser? (Pada tautan di atas dua browser tidak dapat memainkannya secara langsung.)

Saya memiliki instalasi nextcloud, kita bisa mencobanya di sana.

Atau hanya masalah format videonya saja?

Apakah sudah ada image buruh pelabuhan yang telah diinstal libelektra

Lihat skrip / buruh pelabuhan untuk membangun gambar.

Di mana kami akan menghosting gambar buruh pelabuhan?

Kami memiliki registri buruh pelabuhan kami sendiri di https://hub.libelektra.org tetapi sejauh yang saya tahu itu belum tersedia untuk umum. @ingwinlu tahu lebih banyak tentang itu.

@ markus2330 Saya mengunggahnya ke youtube (tidak terdaftar), yang seharusnya berfungsi di semua browser: https://youtu.be/lLg9sk6Hx-E

Mengapa tidak terdaftar?

@ markus2330 Saya dapat mempublikasikannya, saya hanya berpikir Anda hanya ingin menggunakannya untuk disematkan di situs web.

Publik baik-baik saja bagi saya. Kami dapat menyematkannya ke dalam catatan rilis berikutnya atau bahkan mempostingnya sebagai komentar untuk reaksi saat ini dari catatan rilis?

Apa lisensi youtube standar?

Saya tidak tahu, saya mengubahnya menjadi CC BY

Saya pikir gambar buruh pelabuhan dengan Elektra penuh (dan terbaru) yang telah diinstal sebelumnya bisa sangat berguna untuk banyak (demo) kasus penggunaan (tidak hanya UI Web).

Jadi saya sangat ingin memiliki gambar buruh pelabuhan seperti itu: wink:

@omnidan Anda dapat menggunakan gambar dasar peregangan dan menginstal paket dari repo kami. Itu seharusnya cukup cepat dan bersih.

Namun Anda tidak akan memiliki akses ke fitur apa pun yang belum ada di paket debian.

Terima kasih atas masukannya.

Sayangnya, paket Debian belum menyertakan UI Web. Dan itu akan menjadi hal yang agak sulit untuk dilakukan (ada ahli pengemasan nodejs di sekitar sini?).

Dan memiliki bagian-bagian Elektra yang diinstal sebagai paket, dan bagian lain dengan "make install" tidak benar-benar terdengar bersih bagi saya (versinya dapat dengan mudah tidak cocok).

@ingwinlu Bisakah Anda meng-host image Docker di a7 yang dibuat oleh @omnidan? Atau apakah Anda mempertimbangkan untuk menulis Dockerfile untuk Web-UI sendiri?

Memiliki image dockerfile + (mungkin di registry Docker publik jika kita ingin menjaga registry tetap privat?) Dengan Elektra terbaru yang terinstal akan sangat bagus.

Repositori a7 tidak dikonfigurasi untuk akses publik. Dan jika tidak diperlukan oleh sistem build, lebih masuk akal untuk meletakkannya di registri buruh pelabuhan publik.

Jadi rencananya adalah para devs membangun kembali image buruh pelabuhan mereka sendiri? Atau haruskah kita meletakkan semua gambar di repo publik?

Apakah ada potensi bahaya jika kita mengizinkan akses hanya-baca?

Jadi rencananya adalah para devs membangun kembali image buruh pelabuhan mereka sendiri?

Itu adalah opsi, atau untuk mendorong gambar secara manual dari salah satu budak build ke repositori publik. Atau untuk mengkonfigurasi ulang reverse-proxy di depan registri untuk memungkinkan anonim mendapatkan permintaan melalui titik akhir.

Atau haruskah kita meletakkan semua gambar di repo publik?

Itu akan memperlambat sistem build pada banyak pembaruan gambar.

Apakah ada potensi bahaya jika kita mengizinkan akses hanya-baca?

Saat ini tidak karena seharusnya tidak ada kredensial sensitif di gambar. Namun kesalahan konfigurasi dapat berarti kunci / akses yang diperlukan untuk sistem build mungkin bocor ke dalam gambar.

@ingwinlu Ya, pekerjaan yang

@omnidan Bolehkah Anda menulis Dockerfile untuk UI Web?

@ markus2330 Saya membuat Dockerfile dan mendorongnya ke PR # 2032. Saya juga membuat grup elektra di registri buruh pelabuhan (saya dapat menambahkan Anda sebagai pemilik jika Anda memberi saya id buruh pelabuhan), menerbitkan kontainer elektra/web:1.4.0 ke registri buruh pelabuhan dan memperbarui dokumentasi dengan info tentang cara menjalankan web elektra melalui buruh pelabuhan dan cara membuat wadah / rilis baru.

@ingwinlu Bisakah Anda meng-host gambar buruh pelabuhan ini di v7? (Sehingga secara otomatis dimulai saat server dimulai?)

Tentu.

@omnidan bisakah kamu mendorong ke: terbaru juga? Kemudian saya akan mengaturnya untuk memeriksa versi baru yang didorong ke: terbaru secara otomatis dan menerapkan ulang jika ada pembaruan.

@ markus2330 dapatkah Anda mengarahkan entri dns ke a7. sesuatu seperti webui atau webdemo mungkin ?.

@ingwinlu Terima kasih banyak!
webui.libelektra.org webdemo.libelektra.org harus segera menunjuk ke a7.

@omnidan Webui mungkin lebih menarik jika Anda membuat beberapa mountpoint pada gambar. kdb mount-info dan kdb mount --with-recommends /etc/hosts system/hosts hosts akan menjadi awal yang baik!

@ingwinlu Anda sudah dapat menggunakan :latest , sekarang menggunakan :1.4 (akan menerbitkan :1.5 paling lambat saat PR digabungkan)

Saya lebih suka jika kita segera dapat memiliki 1,5, hanya ada sedikit penggunaan pengujian 1,4 sekarang. Saya pikir penggabungan tidak perlu?

@omnidan sepertinya Anda salah paham tentang cara kerja tag latest : https://medium.com/@mccode/the -misunderstood-docker-tag-latest-af3babfd6375

https://hub.docker.com/r/elektra/web/tags/ tidak menampilkan latest . Anda perlu mendorongnya secara eksplisit.

Terima kasih telah menunjukkan hal ini!

Bisakah Anda memulai gambar buruh pelabuhan 1.5.0-beta di a7 sehingga kami memiliki sesuatu untuk dicoba besok dalam rapat?

http://a7.complang.tuwien.ac.at : 33334 /

Saya tidak dapat membalikkan proxy karena porta di-hardcode (dan itu tidak akan berfungsi dengan pengaturan saat ini). Juga perhatikan bahwa elektra sedang berjalan sebagai pengguna root dalam wadah yang membuat saya tidak nyaman sekali.

http://webui.libelektra.org : 33334 / juga berfungsi! Terima kasih: 100: kali.

Juga perhatikan bahwa elektra sedang berjalan sebagai pengguna root dalam wadah yang membuat saya tidak nyaman sekali.

Jangan khawatir, ini bukan root (tapi 999) dan bahkan tidak mungkin untuk menulis ke kunci sistem: could not create configuration directory: Could not create directory "/etc/kdb", because: "Permission denied" uid: 999, euid: 999, gid: 999, egid: 999

Ya tapi tidak di-proxy jadi juga tidak ada https. Itu hanya dicurangi untuk dicalonkan
sekarang tetapi tidak akan mempertahankannya dalam jangka panjang.

markus2330 [email protected] schrieb am Fr., 1. Juni 2018, 10:38:

http://webui.libelektra.org : 33334 / juga berfungsi! Terima kasih 💯 kali.

Perhatikan juga bahwa elektra sedang berjalan sebagai pengguna root dalam wadah yang
membuatku tidak nyaman sekali.

Jangan khawatir, ini bukan root (tapi 999) dan bahkan tidak mungkin
tulis ke kunci sistem: tidak dapat membuat direktori konfigurasi: Tidak dapat
buat direktori "/ etc / kdb", karena: "Izin ditolak" uid: 999, euid:
999, gid: 999, egid: 999

-
Anda menerima ini karena Anda disebutkan.
Balas email ini secara langsung, lihat di GitHub
https://github.com/ElektraInitiative/libelektra/issues/1901#issuecomment-393810941 ,
atau nonaktifkan utasnya
https://github.com/notifications/unsubscribe-auth/AEOv-lxXTk85wCl8ipo7okci3PKztfWhks5t4P1jgaJpZM4TRVIf
.

port tersebut di-hardcode

Masalahnya di sini adalah kita menjalankan elektrad dan webd dalam satu wadah, yang bertentangan dengan prinsip buruh pelabuhan. Jadi saya hanya dapat membuat satu dari dua port dapat disesuaikan (yang seharusnya cukup, selama kita baik-baik saja dengan elektrad aktif: 33333)

Juga perhatikan bahwa elektra sedang berjalan sebagai pengguna root dalam wadah yang membuat saya tidak nyaman sekali.

Saya secara khusus memastikan untuk membuat dan menggunakan pengguna elektra di Dockerfile, kecuali saya melakukan kesalahan?

Ya maaf atas pesan terburu-buru (saya benar-benar penuh dengan janji akhir pekan ini + pr terakhir saya bangkrut master membangun).

Ada dua masalah besar dengan Dockerfile saat ini:

banyak proses :
sementara Anda sudah mengatakan itu bertentangan dengan 'prinsip' untuk melakukannya, hal itu terutama dikatakan sebagai prinsip karena jika Anda melanggar aturan, Anda perlu memahami apa yang terjadi dan mengapa itu menjadi masalah.
Anda membuat skrip shell yang memulai dua proses. Skrip shell ini dijalankan melalui PID 1. Ini adalah jenis khusus untuk Docker karena digunakan sebagai sistem 'init' yang Anda kenal dari OS tradisional. Karenanya ini adalah pid yang perlu mengontrol / memulai ulang / mencatat semua proses lain yang Anda mulai.
Untuk wadah proses tunggal, ini sepele karena proses yang dimulai biasanya melakukannya untuk dirinya sendiri. Untuk beberapa proses Anda membutuhkan pembungkus.
Ada beberapa dokumentasi yang tersedia https://docs.docker.com/config/containers/multi-service_container/
http://supervisord.org/ juga sangat populer untuk mengatasi masalah ini.
Atau Anda lihat bagaimana wadah beranda saat ini bekerja yang saya tulis bulan lalu untuk membaginya menjadi wadah layanan tunggal.

port :
Saya mencoba membuat proxy 33334 dan mengalami masalah saat menyambungkan ke backend bahkan ketika terbuka.
Meskipun saya tidak sepenuhnya memecahkan masalah, saya curiga itu karena lokasi untuk backend di-hardcode ke sesuatu seperti localhost: 33334 yang rusak dalam kasus itu karena wadah tidak benar-benar mengeksposnya di localhost tetapi pada nama host yang dibuat secara acak.
Solusi jangka panjang mungkin akan menyetel backend ke nama host container di skrip awal Anda atau sekali lagi membagi penahanan dan cukup arahkan frontend ke backend.
Sekali lagi Anda mungkin menemukan inspirasi untuk kasus kedua di wadah beranda kami yang ada (yang tidak sempurna tetapi mereka menyelesaikan masalah itu).

Saya memiliki lebih banyak waktu minggu depan dan dapat membantu Anda menulis ulang file jika Anda mengalami kebuntuan.

Untuk wadah proses tunggal, ini sepele karena proses yang dimulai biasanya melakukannya untuk dirinya sendiri.

@ingwinlu sayangnya, tampaknya Node.js tidak melakukan ini: / Saya pikir ini dapat diselesaikan dengan mengirimkan tanda --init saat menjalankan kontainer. (https://www.elastic.io/nodejs-as-pid-1-under-docker-images/)

Saya menduga itu karena lokasi untuk backend di-hardcode ke sesuatu seperti localhost: 33334 yang rusak dalam kasus itu karena wadah tidak benar-benar mengeksposnya di localhost tetapi pada nama host yang dibuat secara acak.

Lokasi sebenarnya tidak hardcode. Klien selalu disajikan pada host / port yang sama dengan backend (webd), dan hanya mengakses /api/ pada host yang sama.

Saya pikir cara terbaik untuk melakukannya adalah dengan memisahkan gambar elektrad dan webd, kemudian pengaturan PORT env var juga akan berfungsi dengan baik.

node.js pada pid 1

Saya tidak akan mempercayai --init . Tapi proses pembungkus seperti yang mereka perkenalkan di artikel kedengarannya bagus.

Lokasi sebenarnya tidak hardcode. Klien selalu disajikan pada host / port yang sama dengan backend (webd), dan hanya mengakses / api / pada host yang sama.

Sekali lagi saya tidak punya waktu untuk men-debugnya. Saya menyiapkan 33334 untuk di-proxy-kan terbalik di salah satu alamat yang kami tunjuk ke a7. Ini mengakibatkan kegagalan untuk memuat situs web karena tidak dapat mengakses alamat yang diperlukan untuk memuat. Ini juga kasus untuk mengekspos 33333: 33333 secara langsung dengan 33334 diproksikan terbalik pada 443 (https).

Oke, jadi paket barunya adalah:

  1. @ingwinlu membuat file buruh pelabuhan Elektra minimal dan pekerjaan pembangunan yang secara otomatis membangun gambar dan menerbitkannya ke docker.com ( @omnidan dapatkah Anda memberi kami akses ke registri docker.com untuk elektra? Apakah Anda memerlukan sesuatu yang lain selain nama akun ?)
  2. Berdasarkan gambar itu, @omnidan (dengan ulasan oleh @ingwinlu) membuat tiga file / gambar Docker lagi yang dibuat oleh pekerjaan build yang sama (atau ekstensinya):

    1. gambar diperpanjang dengan Elektra penuh (untuk membuat UI Web lebih menarik),

    2. gambar diperpanjang dengan elektrad (untuk demo langsung, bagian 1)

    3. gambar diperpanjang dengan klien / web (untuk demo langsung, bagian 2)

Sebagai produk akhir, kami memiliki pekerjaan pembuatan yang membangun empat gambar Elektra untuk setiap komit di master:

  1. minimal satu untuk minimalis (atau dengan sedikit bandwidth)
  2. gambar tes Elektra lengkap (untuk orang yang mencoba Elektra)
  3. gambar yang memulai elektrad (untuk demo langsung kami dan orang-orang yang mencoba UI Web)
  4. gambar yang memulai klien / web (untuk demo langsung kami dan orang-orang yang mencoba UI Web)

Apa itu oke untuk kalian berdua?

Apakah Anda memerlukan hal lain selain nama akun?

Saya butuh nama pengguna Docker Hub Anda, itu saja.

Berdasarkan gambar itu

Apakah sudah siap?

Terima kasih, Nama Pengguna Docker Hub saya (ID Docker) adalah markus2330

https://hub.docker.com/u/elektra/ mengatakan bahwa elektra / web sudah memiliki 10k + tarikan. Apakah ini sangat populer atau apakah penyiapan kami melakukan sesuatu yang salah?

@ingwinlu Bisakah kita melakukan retrigger server build sehingga "webui.libelektra.org" diupdate ke 1.5? Atau bisakah Anda menerapkan pekerjaan seperti itu?

buildserver sama sekali tidak ada hubungannya dengan webui.libelektra.org.

itu diatur untuk selalu menarik tag 1.5.0-beta terbaru. Saya memodifikasinya sehingga menggunakan: terbaru sekarang.

Lihat di atas, saya mengusulkan rencana bahwa gambar buruh pelabuhan dibuat dan diterbitkan, jadi mereka harus terkait.

Apakah maksud Anda server build tidak menerapkan webui? Apakah ada perbedaan dalam menerapkan webui dan beranda? Dan jika ya, mengapa?

itu diatur untuk selalu menarik tag 1.5.0-beta terbaru. Saya memodifikasinya sehingga menggunakan: terbaru sekarang.

Terima kasih! Apakah itu diperbarui secara otomatis? Kapan?

Lihat di atas, saya mengusulkan rencana bahwa gambar buruh pelabuhan dibuat dan diterbitkan, jadi mereka harus terkait.

Apakah maksud Anda server build tidak menerapkan webui? Apakah ada perbedaan dalam menerapkan webui dan beranda?

Karena tidak ada yang melakukannya. Saya hanya dengan cepat mengaturnya seperti yang terlihat pada komentar di atas.

Dan jika ya, mengapa?

Karena tidak ada yang tertarik melakukannya, setidaknya saya tidak menyadarinya. Ada juga beberapa pertanyaan yang harus dijawab terlebih dahulu:

  • Dari mana kita harus mendapatkan tag untuk gambar tersebut?
  • Bagaimana cara mengatur unggahan ke registri publik?
  • Bagaimana cara mengatur hak akses ke registri publik?
  • Kapan build harus dijalankan?
  • ...

Saat ini saya tidak tertarik untuk mengimplementasikannya karena ada hal-hal yang lebih mendesak untuk saya tangani.

Dan jika ya, mengapa?

Pertanyaan tersebut mengacu pada mengapa ada perbedaan antara webui dan penerapan beranda. Kami dapat mendorong gambar UI web ke registri pribadi kami, yang seharusnya menjawab pertanyaan?

Mendorong ke docker.com dapat dilakukan secara manual untuk saat ini (untuk rilis). Tetapi untuk mengotomatiskan ini akan sangat dihargai.

@omnidan Apakah Anda sudah menambahkan kami ke hub.docker.com? Nama pengguna: markus2330

gambar buruh pelabuhan baru yang terpisah (yang hanya menjalankan 1 proses) dapat dibuat, didorong, dan diterapkan secara identik ke beranda. mungkin.

@ markus2330 Saya menambahkan Anda sebagai pemilik, Anda seharusnya dapat menambahkan anggota baru di https://hub.docker.com/u/elektra/dashboard/teams/?team=owners sekarang

Saya akan mengatakan kami menjaga webui.libelektra.org agar memiliki Image Docker publik.

Dan webdemo.libelektra.org akan dibangun kembali pada setiap komit di master.

@ingwinlu Bagaimana menurut Anda?

Saya mengubahnya menjadi webdemo.libelektra.org di PR # 2110

Saya pikir kita bisa menutup ini sekarang?

@omnidan Bisakah Anda juga memperbarui halaman depan? "Mendatang:" sekarang menjadi true: smile: (Screenshot juga dapat ditingkatkan.)

Kerja bagus kalian berdua, terima kasih!

@ markus2330 ya, kita bisa tutup ini. Saya akan mengirimkan PR cepat untuk beranda besok!

Terima kasih juga, terutama @ingwinlu karena telah menjelaskan buruh pelabuhan dan jenkins kepada saya dan mengoreksi file galangan saya (saya belajar banyak tentang buruh pelabuhan dari Anda!)

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

mpranj picture mpranj  ·  3Komentar

markus2330 picture markus2330  ·  3Komentar

mpranj picture mpranj  ·  3Komentar

sanssecours picture sanssecours  ·  3Komentar

markus2330 picture markus2330  ·  4Komentar