Addon Store (Peninjauan Pengajuan)
Meninjau pengajuan addon dari Studio, menyetujui atau menolak dengan catatan, serta mengatur plan dan tampilan paket di katalog Store.
Menu Addon Store di License Admin (admin.alurkerja.com) dipakai tim AlurKerja untuk meninjau addon yang diajukan pelanggan dari Studio (tab Explore di halaman Addons) sebelum tampil di katalog Explore. Hanya akun dengan peran license_admin yang bisa membukanya; peran lain ditolak 403.
Peran license_admin
license_admin adalah peran akses License Admin yang memegang pengelolaan Store: menerima pengajuan addon dari Studio, meninjau dan memutuskannya, serta mengatur addon yang sudah terdaftar.
Siapa yang memegangnya. Peran ini untuk tim AlurKerja, bukan untuk pelanggan. Akun pelanggan tidak perlu dan tidak akan mendapatkannya.
Apa yang bisa dilakukan.
- Melihat antrean pengajuan dan membuka isi paket (manifest, daftar file, isi script).
- Menyetujui pengajuan, dan paket ditandatangani otomatis oleh server, atau menolaknya dengan catatan yang terbaca pengaju.
- Mengatur paket yang sudah masuk Store: plan yang boleh melihatnya dan tampil / disembunyikan di katalog.
Cara mendapatkannya. Peran diberikan di Keycloak (realm alurkerja) oleh administrator: tambahkan peran realm license_admin ke akun yang bersangkutan, lalu login ulang ke License Admin agar token baru memuat peran tersebut. Server membaca peran dari token, baik sebagai peran realm maupun peran client license-admin. Akun tanpa peran ini yang membuka menu Addon Store mendapat 403, dan token yang tidak valid mendapat 401.
Kenapa dibatasi. Paket yang disetujui ditandatangani dan dapat dipasang di instance pelanggan; paket berisi script bahkan dijalankan di instance tersebut. Karena itu hanya orang yang bertanggung jawab atas peninjauan yang boleh memutuskan.
Antrean Pengajuan
Buka Katalog → Addon Store. Antrean terbagi tiga tab: Menunggu, Disetujui, dan Ditolak. Kolomnya: Paket, Versi, Instance / Customer, Workspace, Diajukan oleh, Tanggal. Pengajuan yang berisi script diberi tanda Berisi script.
Pengajuan yang baru dikirim dari Studio muncul di tab Menunggu.
Meninjau Pengajuan
Klik pengajuan untuk membuka detailnya:
- Workspace, Customer, ukuran, dan SHA-256 paket. Email pengaju adalah klaim dari instance dan tidak diverifikasi server.
- Manifest (Actions dan Config yang dideklarasikan).
- Daftar file, dengan penanda script dan executable. Lihat isi menampilkan isi file; file biner atau terlalu besar tidak ditampilkan, dan isi yang panjang dipotong.
- Versi sebelumnya yang disetujui, untuk membandingkan.
- Unduh zip untuk memeriksa lengkap.
Paket berisi script menampilkan peringatan Paket ini berisi script: script akan dijalankan di instance yang memasangnya. Tinjau seluruh isi file script sebelum menyetujui.
Checklist review pengajuan addon
Checklist ini untuk reviewer dengan peran license_admin. Semua butir bisa dikerjakan dari layar detail pengajuan dan dari zip yang diunduh lewat Unduh zip; salin sebagai dasar SOP review. Penanda di layar (tanda script, executable, peringatan Paket ini berisi script) hanya membantu menemukan file yang perlu dibaca. Penanda itu bukan hasil pemeriksaan keamanan.
A. Identitas dan asal pengajuan
- Judul halaman (nama + versi) sesuai fungsi addon yang diajukan. Bila nama kosong, judul memakai key addon.
- Buka
index.jsonlewat Lihat isi di daftar file. Periksaaddon_key,name,description, danversion: deskripsi masuk akal dan sesuai isi paket. - Kartu Detail pengajuan: Customer, Instance, dan Workspace dikenal, dan sesuai dengan pelanggan yang memang memakai addon ini. Nama dan email Pengaju adalah klaim dari instance dan tidak diverifikasi server; jangan dijadikan bukti identitas. Bila ragu, konfirmasi ke customer lewat jalur lain.
- Bila ada kartu Perubahan dari versi …, baca perubahannya. Bandingkan juga dengan Versi sebelumnya yang disetujui. Pengajuan pertama untuk sebuah paket tidak punya pembanding, jadi tinjau seluruh isinya.
B. Paket berscript atau tidak
- Periksa ada tidaknya peringatan Paket ini berisi script dan tanda Berisi script di antrean. Paket ditandai berscript bila ada file berekstensi
.py,.sh,.bash,.zsh,.rb,.pl, atau.php, file diawali#!, file dengan bit executable, atauindex.jsonmendeklarasikan script padascripts. Paket berscript direview lebih ketat: script dijalankan di instance yang memasangnya. - Paket tanpa tanda script tetap tidak otomatis aman. File
.jstidak dihitung script, padahal bundel di folder view (misalnyaviews/dist) dijalankan di browser pengguna. Buka isinya bila terbaca. Bundel hasil build sulit dibaca, jadi andalkan perbandingan dengan versi sebelumnya dan sumber addon dari pengaju.
C. Isi script
Buka tiap file bertanda script lewat Lihat isi, dari awal sampai akhir. Cari:
- Akses jaringan keluar: alamat atau host yang dipanggil. Sesuai fungsi addon yang dideklarasikan? Tolak host tak dikenal atau alamat IP mentah.
- Membaca kredensial, variabel lingkungan, atau berkas di luar folder addon (misalnya
os.environ,~/.ssh,/etc, berkas.env). - Menulis atau menghapus berkas di luar folder addon.
- Menjalankan perintah shell atau proses lain (misalnya
os.system,subprocess,eval,exec). - Kode yang disamarkan: string base64 panjang yang didekode lalu dijalankan,
eval/execpada teks dari luar, nama variabel sengaja tidak terbaca. - Secret tertanam: token, password, API key, atau kunci privat di dalam script maupun berkas konfigurasi.
D. Dependensi dan file lain
- Buka
requirements.txt(bila ada). Sumber dan versi paket wajar dan sudah dikenal. Tolak paket yang diambil dari URL atau repositori tak dikenal, atau yang diunduh saat script berjalan. - Perhatikan ukuran dan daftar file. Tolak file yang tidak relevan dengan fungsi addon: dump database, data pelanggan, berkas kunci, atau arsip bersarang.
- File yang isinya tidak tampil. Lihat isi hanya menampilkan file teks berukuran sampai 256 KB. File biner, file lebih besar, dan file tanpa ekstensi teks yang dikenal (misalnya
.sqlatau tanpa ekstensi) menampilkan "Isi file tidak ditampilkan". Untuk file seperti itu, klik Unduh zip, ekstrak di komputer yang terpisah dari pekerjaan harian, lalu periksa manual. Biner tanpa sumber yang bisa dibaca sebaiknya ditolak. - Bila isi file dipotong ("Isi dipotong"), bagian setelah batas tidak terlihat. Periksa dari zip.
E. Keputusan
- Putuskan hanya setelah semua butir di atas selesai. Bila ada yang belum bisa dipastikan, tolak dengan catatan yang meminta pengaju memperjelasnya, daripada menyetujui. Versi yang disetujui tidak dapat diubah.
- Menolak: tulis Catatan penolakan yang bisa ditindaklanjuti. Sebutkan file dan alasannya, serta apa yang harus diubah. Contoh: "scripts/sync/sync.py baris sekitar 40 memanggil http://203.0.113.9/upload. Hapus panggilan itu atau jelaskan tujuannya, lalu ajukan versi baru." Catatan ini terbaca pengaju di Studio sebagai Catatan reviewer.
Kapan wajib menolak
Tolak pengajuan bila ditemukan salah satu: secret atau kunci tertanam; akses jaringan ke host yang tidak sesuai fungsi addon; membaca kredensial atau variabel lingkungan; menulis atau menghapus di luar folder addon; kode tersamar atau dijalankan dari teks luar; dependensi dari sumber tak dikenal; biner tanpa sumber; data pelanggan atau dump database di dalam paket; atau asal pengajuan (customer, instance) tidak dikenal. Bila Anda tidak bisa memeriksa sebuah file, perlakukan sebagai belum lolos.
Batasan review manual
Review manual tidak menjamin paket bebas celah. Pemindaian keamanan otomatis (SAST) direncanakan pada iterasi berikutnya dan belum tersedia saat ini.
Menyetujui atau Menolak
| Tindakan | Aturan |
|---|---|
| Setujui | Catatan opsional. Paket ditandatangani server dan tampil di katalog semua instance sesuai plan. Versi yang disetujui tidak dapat diubah. Studio pengaju menampilkan Disetujui. |
| Tolak | Catatan penolakan wajib — tanpa catatan ditolak (422 notes_required). Catatan terbaca pengaju di Studio sebagai Catatan reviewer; pengaju harus mengajukan versi yang lebih baru. |
Tombol Tolak membuka dialog dengan kolom Catatan penolakan; bila dikosongkan, dialog menampilkan "Catatan wajib diisi saat menolak."
Pengajuan yang sudah diputuskan tidak bisa diputuskan lagi (not_in_review).
Bila kunci tanda tangan Store belum dikonfigurasi (ADDON_STORE_SIGNING_KEY), Setujui gagal dengan pesan "Kunci tanda tangan Store belum dikonfigurasi — pengajuan tetap menunggu" dan statusnya tetap Menunggu. Lihat Env Addon untuk Operator.
Paket Store: Plan dan Tampilan
Tautan Daftar paket membuka Paket Store: paket yang sudah masuk Store beserta Pemilik, Plan, dan status Tampil / Disembunyikan.
Pada Pengaturan katalog sebuah paket Anda dapat mengatur:
| Pengaturan | Efek |
|---|---|
| Plan yang boleh melihat paket ini | Hanya instance dengan plan terpilih yang melihat paket di katalog. Kosong = semua plan. |
| Tampil di katalog Store | Bila dimatikan, paket hilang dari katalog semua instance. |
Klik Simpan untuk menerapkan.

