# Mengelola layanan

Sumber: https://kilat.host/id/docs/services

Layanan adalah satu aplikasi yang berjalan di workspace Anda. Setiap halaman layanan memiliki tab Overview, Environment, Domains, Logs, Terminal, dan Settings.

## Status layanan

| Status | Arti |
| --- | --- |
| Queued / provisioning | Kilat sedang membuat layanan di sebuah server. |
| Starting | Aplikasi sedang booting. Start pertama bisa memakan beberapa menit selama image diunduh. |
| Running | Aplikasi menyala dan bisa dijangkau di alamatnya. |
| Stopped | Aplikasi dihentikan. Data di penyimpanannya tetap ada. |
| Failed | Penyediaan tidak selesai. Gunakan **Retry deployment**; Anda tidak ditagih lagi. |

## Tindakan

- **Refresh status** meminta kondisi terkini dari server.
- **Restart** menjalankan ulang aplikasi yang sedang berjalan.
- **Stop** menghentikan aplikasi dan menyimpan datanya.
- **Recreate** membangun ulang aplikasi dengan variabel lingkungan terbaru Anda. Penyimpanan permanen tetap ada.
- **Delete** menghapus layanan beserta penyimpanannya. Tindakan ini tidak bisa dibatalkan, jadi simpan cadangan Anda sendiri.

Tindakan siklus hidup membutuhkan hosting berbayar yang aktif di workspace.

## Domain

Buka tab **Domains** pada layanan untuk mengubah subdomain Kilat-nya atau menambahkan domain sendiri. Agen dan PocketBase memakai pengecekan kepemilikan DNS yang sama.

1. Tambahkan hostname Anda, tanpa skema atau path.
2. Terbitkan record A dan TXT yang ditampilkan. Matikan proxy DNS selama verifikasi.
3. Pilih **Verify ownership**. Alamat baru aktif setelah perutean dan sertifikat HTTPS tepercaya berfungsi. Bila HTTPS masih tertunda, gunakan **Retry routing** setelah DNS menyebar.

Alamat Kilat yang diganti namanya tetap aktif sampai alamat baru lolos pengecekan HTTPS. Perubahan domain di proxy pusat tidak me-restart layanan Anda atau membangunkan agen Flex yang sedang tidur.

Alamat agen diarahkan ke chat pribadi di Kilat, yang memerlukan login dan akses pemilik. Alamat tersebut tidak menerbitkan API, RPC, atau dasbor runtime agen. Alamat PocketBase melayani PocketBase dengan aturan aksesnya yang sudah ada.

## Penyimpanan dan cadangan

Setiap aplikasi katalog memiliki penyimpanan permanen yang tetap ada saat restart dan pembuatan ulang. Penyimpanan permanen bukan cadangan: ekspor data Anda secara rutin.

## Variabel lingkungan

Atur konfigurasi dan rahasia sebuah layanan dari tab **Environment**-nya.

### Menyimpan dan menerapkan

Menyimpan akan mengenkripsi variabel. Variabel berlaku saat Anda memilih **Recreate service**, yang membangun ulang aplikasi tanpa menghapus penyimpanan permanen.

### Aturan dan batasan

| Batas | Nilai |
| --- | --- |
| Variabel per layanan | 50 |
| Panjang kunci | 128 byte |
| Panjang nilai | 8.192 byte |
| Ukuran total | 32.768 byte |

- Kunci harus berupa nama variabel shell yang valid, misalnya `API_BASE_URL`.
- Variabel yang dikelola sendiri oleh aplikasi katalog tidak bisa ditimpa.
- Tanda dolar di dalam nilai disimpan apa adanya.

Untuk kunci penyedia model, buat kunci terpisah untuk setiap layanan dengan batas pengeluaran, dan ganti kunci saat Anda menghapus layanan.

## Log dan terminal

Lihat apa yang sedang dilakukan aplikasi Anda dan jalankan perintah di dalamnya, langsung dari browser.

### Log

- Tampilkan 100, 500, atau 1.000 baris terakhir, diperbarui langsung setiap beberapa detik.
- Jeda aliran log, cari di dalamnya, atau unduh sebagai file teks.
- Log bisa berisi rahasia dari aplikasi Anda. Unduhan tetap berada di perangkat Anda.

### Terminal

Tab **Terminal** membuka shell di dalam container aplikasi Anda yang sedang berjalan, bukan di server itu sendiri. Perintah dijalankan sebagai pengguna non-root milik aplikasi.

- Tersedia selama layanan berjalan dan hosting sudah dibayar.
- Satu sesi terminal per layanan dalam satu waktu; sesi yang menganggur ditutup otomatis.
- Buka link dengan Cmd-klik di macOS atau Alt-klik di sistem lain.
