Lewati ke konten

Konsol admin platform

Konsol admin berada di /admin dan dipakai administrator platform (bukan admin workspace) untuk mengelola akun pengguna. Akun admin bukan akun pengguna biasa: kredensialnya di .env, sesinya terpisah, dan halamannya di /admin.

  1. Buat hash password (minimal 12 karakter; password tidak tersimpan di mana pun):

    Terminal window
    cd ~/celestian/deploy
    read -rs PW; printf '%s' "$PW" | docker compose run --rm --no-deps -T api hash-password; unset PW
  2. Salin hasilnya ke deploy/.env. Kutip tunggal pada hash wajib (hash memuat $; tanpa kutip, Compose merusaknya):

    Terminal window
    ADMIN_USERNAME=admin-platform
    ADMIN_PASSWORD_HASH='$argon2id$v=19$m=19456,t=2,p=1$…$…'
    ADMIN_SESSION_TTL=8h
  3. docker compose up -d, lalu buka https://<domain>/admin dan masuk. Log api mencatat konsol admin platform aktif bila kredensial terbaca; hash yang rusak membuat api gagal start dengan pesan jelas.

Mengosongkan salah satu variabel mematikan konsol. Mengganti ADMIN_USERNAME mencabut semua sesi admin yang berjalan. Salah password berulang mengunci username itu sementara.

Fungsi Keterangan
Daftar akun Cari, filter lanjutan (nama, username, e-mail, ID, tag, status, kuota penuh), urutkan, dan paginasi.
Buat user Nama, username, e-mail, password, tag, dan metadata. E-mail langsung terverifikasi (bisa dimatikan). Akun mendapat kuota bawaan akun baru dan e-mail sambutan berisi tautan masuk dan tautan mengatur password.
Buat massal Dari CSV (kolom username*, first_name*, email*, last_name, password, tags, metadata_json), maksimal 200 baris, dengan pratinjau dan semua-atau-tidak-sama-sekali. Password kosong = acak yang tidak diketahui siapa pun; akun dibuka lewat tautan di e-mail sambutan.
Detail akun Tab Detail, Metadata, dan Journals.
Nonaktifkan / aktifkan Akun nonaktif: sesi dicabut dan login ditolak seketika; workspace dan datanya tidak berubah.
Reset password Dua mode: kirim tautan reset ke e-mail akun, atau tetapkan password baru sekarang (opsi dibangkitkan acak, ditampilkan sekali). Selalu bisa mencabut semua sesi dan membuka lockout.
Kuota Ubah jumlah workspace, device, dan channel yang boleh dibuat per akun. Angka, 0 (tidak boleh membuat), atau tanpa batas. Menurunkan kuota tidak menghapus yang sudah ada.
Jadikan admin Hanya admin utama (dari .env). Akun itu masuk di /admin/login dengan akunnya sendiri dan bisa mengelola pengguna dan kuota, tetapi tidak mengangkat admin lain.
Pindahkan pemilik Memindahkan paksa pemilik workspace ke anggota lain (kuota penerima tetap dicek).
Hapus akun Menghapus akun dan semua workspace yang dibuatnya, permanen. Pindahkan dulu pemilik workspace yang masih dipakai orang lain. Pesan di TimescaleDB dibersihkan bertahap di latar belakang.
Hapus massal Pilih akun lalu hapus; dampak per akun ditampilkan, dan Anda mengetik jumlah akun untuk konfirmasi.
Ekspor CSV Daftar akun sesuai filter (maksimal 20.000 baris, tanpa hash password).
Workspace dihapus Tab daftar workspace yang menunggu penghapusan permanen: Pulihkan atau Hapus sekarang.
Riwayat /admin/journal: semua aksi admin dengan filter dan unduhan CSV.

Akun baru mendapat DEFAULT_MAX_WORKSPACES, DEFAULT_MAX_DEVICES, dan DEFAULT_MAX_CHANNELS (bawaan 1/1/1; -1 = tanpa batas). Akun yang sudah ada sebelum fitur kuota tetap tanpa batas.

  • Kuota dihitung atas semua workspace yang dibuat user itu. Device dan channel yang dibuat anggota lain di workspace tersebut memakai jatah pemilik workspace.
  • Gateway dihitung sebagai device.
  • Batas tercapai: pembuatan (termasuk impor CSV, yang batal seluruhnya) ditolak dengan pesan kuota.
  • Sesi admin memakai token terpisah (audience berbeda) tanpa refresh; token pengguna tidak lolos endpoint admin dan sebaliknya.
  • Cookie celestian_admin bersifat httpOnly, sameSite=strict, dan terbatas di path /admin.
  • Semua aksi tercatat di Riwayat dengan aktor admin.