Licence

Mengaktifkan lisensi instalasi On Premise dari Console — tempel kode aktivasi, lisensi langsung berlaku tanpa mengedit .env dan tanpa restart.

Menu Licence di Console dipakai untuk mengaktifkan lisensi instalasi On Premise. Administrator cukup menempelkan kode aktivasi yang dikirim tim AlurKerja (bentuknya AK-XXXX-XXXX-XXXX). Kode itu diperiksa, ditukar dengan lisensi, lalu langsung berlaku — tanpa mengedit .env dan tanpa me-restart service.

Lisensi berlaku untuk seluruh instalasi, bukan per workspace.

Sebelum mulai

KebutuhanKeterangan
Versi AlurKerja2026.08.3.1 atau lebih baru. Versi sebelumnya hanya bisa memasang lisensi lewat .env (lihat Alternatif).
Environment tenant-management-serviceLICENSE_ENABLED=true, LICENSE_KEY kosong, LICENSE_SERVER_URL=https://be-admin.alurkerja.com (tanpa / di akhir), dan STATE_FILE_PATH (bawaan /var/lib/alurkerja/state.json) berada di volume persisten.
Akses jaringanServer boleh membuka koneksi HTTPS keluar ke LICENSE_SERVER_URL, karena kode aktivasi ditukar ke sana. Tidak ada port masuk yang perlu dibuka.
AkunAkun Keycloak dengan role platform_owner (role realm maupun role client). Role Owner di sebuah workspace tidak cukup untuk membuka Console.
Kode aktivasiDikirim tim AlurKerja lewat email. Berlaku 14 hari sejak diterbitkan dan hanya bisa dipakai sekali.

Aplikasi terkunci sampai lisensi diaktifkan

Begitu LICENSE_ENABLED=true berlaku, seluruh aplikasi — kecuali Console — menampilkan halaman Not licensed yet sampai lisensi diaktifkan. Siapkan kode aktivasi lebih dulu, lalu aktifkan segera setelah tenant-management-service di-restart dengan environment baru. Mengubah environment ini memerlukan satu kali restart tenant-management-service; aktivasinya sendiri tidak.

Halaman Not licensed yet dengan tombol Activate this installation

Mengaktifkan lisensi

  1. Login dengan akun ber-role platform_owner, lalu buka https://<domain-aplikasi>/admin. Dari halaman Not licensed yet, tombol Activate this installation membawa ke tempat yang sama.

  2. Pilih menu Licence di sidebar Console. Bagian Current state menunjukkan status Not activated yet.

  3. Tempel kode aktivasi pada kolom di kartu Activate, lalu klik Activate. Kolom yang sama juga menerima license key penuh (JWT), jadi tidak perlu tahu jenis mana yang diterima.

    Menu Licence dengan kode aktivasi yang sudah ditempel
  4. Bila berhasil, muncul pesan Licence activated — plan … It is in force now; no restart needed. Current state berubah menjadi Active, lengkap dengan Licence source Activated on this screen, nama paket, dan tanggal kedaluwarsa.

    Pesan Licence activated dan status Active

Pengguna yang masih melihat Not licensed yet cukup memuat ulang halaman.

Kode yang ditolak tidak disimpan. Alasannya tampil di bawah kolom — penyebab dan solusinya ada di Troubleshooting.

Pesan merah activation code has expired

Status lisensi

StatusArtinya
ActiveLisensi berlaku normal.
Active — in grace periodLisensi masih berlaku dalam masa tenggang; aplikasi tetap berjalan dengan banner peringatan. Hubungi tim AlurKerja.
Restricted (read-only)Aplikasi hanya bisa dibaca; data tidak bisa diubah.
Suspended, Revoked, ExpiredAplikasi terblokir kecuali Console. Aktifkan lisensi pengganti dari menu Licence.
Not activated yetBelum ada lisensi; aplikasi terkunci kecuali Console.
Licensing switched offLICENSE_ENABLED tidak true dan LICENSE_KEY kosong — instalasi ini tidak menerapkan lisensi, jadi tidak ada yang perlu diaktifkan.

Licence source menunjukkan asal lisensi: Activated on this screen (dari menu ini), Server configuration (.env) (dari LICENSE_KEY), atau None.

Mengganti lisensi

Setelah lisensi aktif, kartu Activate berganti nama menjadi Replace the licence. Kartu ini dipakai untuk perpanjangan atau upgrade paket.

Menu Licence dengan lisensi aktif, kartu Replace the licence dan Deactivate

Tempel kode baru lalu klik Activate. Karena lisensi lama sedang berjalan, lisensi baru hanya disimpan dan layar menampilkan Licence stored, but this installation is already running an earlier licence. It will take effect after the next restart. Lisensi lama tetap berlaku — pengguna tidak terganggu — sampai tenant-management-service di-restart pada waktu yang disepakati.

Deactivate bukan untuk perpanjangan

Deactivate menghapus lisensi tersimpan dan seketika mengembalikan instalasi ke status belum aktif: seluruh pengguna langsung terkunci sampai lisensi ditempel lagi. Kode aktivasi yang sudah pernah dipakai tidak bisa ditukar ulang, jadi siapkan kode baru atau license key penuh sebelum menekannya. Untuk perpanjangan, pakai Replace the licence.

Verifikasi dari server

Dari dalam jaringan instalasi:

curl -s http://tenant-management-service:<API_PORT>/api/v1/tenant/public/license-service/status
curl -s http://tenant-management-service:<API_PORT>/api/v1/tenant/public/license-service/quota

Endpoint ini publik (tanpa JWT dan tanpa header x-active-tenant) dan juga bisa dipanggil lewat prefix nginx /api/v1/tenant/.

  • status menjawab {"status":"ACTIVE","is_read_only":false,"is_blocked":false, …}.
  • quota menjawab kuota workspace sesuai kontrak, bukan null.

ACTIVE saja bukan bukti

Pada instalasi yang tidak menerapkan lisensi sama sekali, endpoint status tetap menjawab ACTIVE. Pastikan juga Licence source di Console bukan None dan quota tidak null.

Alternatif: lisensi lewat .env

Untuk instalasi yang tidak bisa membuka HTTPS keluar ke server lisensi, atau yang masih di bawah versi 2026.08.3.1, minta license key penuh (JWT) kepada tim AlurKerja:

  • Versi 2026.08.3.1 ke atas — tempel license key penuh di menu Licence seperti kode biasa. Aktivasinya tidak memerlukan koneksi keluar.
  • Lewat environment — isi LICENSE_KEY=<license key penuh> pada tenant-management-service, lalu restart service tersebut. Console akan menampilkan Licence source Server configuration (.env) dan tidak menawarkan form aktivasi, karena lisensi dari .env selalu menang atas lisensi yang disimpan di menu ini.

Troubleshooting

Yang terlihatPenyebabSolusi
Console menampilkan halaman forbiddenAkun tidak punya role platform_ownerTambahkan role platform_owner di Keycloak, lalu login ulang.
Licensing is switched off for this installation…LICENSE_ENABLED belum trueSet LICENSE_ENABLED=true, lalu restart tenant-management-service.
This installation takes its licence from its server configuration (.env)…LICENSE_KEY terisi. Periksa juga docker-compose.yml: sebagian compose menanam LICENSE_KEY langsung di bagian environment.Kosongkan LICENSE_KEY lalu restart, atau ganti lisensinya lewat .env.
…activation code not found or already usedKode salah ketik, atau sudah pernah dipakaiPeriksa kembali kodenya; bila sudah terpakai, minta kode baru.
…activation code has expiredKode berumur lebih dari 14 hariMinta kode baru.
…could not reach the licence server…Server tidak bisa membuka HTTPS keluar ke LICENSE_SERVER_URLBuka akses keluar, atau pakai license key penuh.
…no licence server configured to exchange it withLICENSE_SERVER_URL kosongIsi LICENSE_SERVER_URL=https://be-admin.alurkerja.com, lalu restart.
…licence server returned status 405LICENSE_SERVER_URL mengarah ke admin.alurkerja.com (halaman web)Ganti ke https://be-admin.alurkerja.com, lalu restart.
Licence stored, but … after the next restart.Lisensi lain sedang berjalanRestart tenant-management-service agar lisensi baru berlaku.

Tim AlurKerja menerbitkan kode aktivasi dari License Admin → License Keys.