DAT CMS
DAT CMS membuat sertifikat, menyimpannya dalam basis data, dan mengirim sertifikat yang sesuai kepada layanan penerbit dan pemverifikasi. Perilaku protokol dijelaskan dalam spesifikasi DAT CMS.
Buat konfigurasi runtime
Layanan pengelolaan sertifikat DAT
Server
Perintah menjalankan
Basis data
Sertifikat DAT
Kontrol akses
Jalankan dengan Docker
Jalankan container sebagai pengguna non-root. Saat menggunakan SQLite, mount direktori data yang dapat ditulis. Berikan token dan kata sandi basis data melalui mekanisme injeksi secret, bukan riwayat perintah.
docker run --rm --name dat-cms -p 8088:8088 \
--user 10001:10001 \
-v "$PWD/dat-cms-data:/data" \
-e PORT=8088 \
-e DB_URI='sqlite:/data/data.db' \
-e TOKEN_MASTER='replace-with-a-secret' \
-e TOKEN_CERT_FULL='replace-with-a-secret' \
-e TOKEN_CERT_VERIFY='replace-with-a-secret' \
sarolab/dat-cmsBasis data
Gunakan DB_URI untuk mengatur koneksi SQLite, PostgreSQL, atau MySQL. MariaDB terhubung melalui protokol MySQL. CMS menyimpan hasil kueri sertifikat sebagai snapshot dalam cache dan tetap melayani snapshot berhasil terakhir ketika refresh penyimpanan gagal sementara.
DB_CACHE_SECS mengatur interval refresh snapshot, sedangkan DB_QUERY_TIMEOUT_SECS membatasi kueri refresh. Jika belum ada snapshot berhasil dan penyimpanan tidak dapat dibaca, layanan mengembalikan DAT_STORE_UNAVAILABLE.
Peran akses
| Variabel lingkungan | Izin | Digunakan oleh |
|---|---|---|
TOKEN_MASTER | Mendaftarkan sertifikat dan mengambil versi terlindungi | Operasi |
TOKEN_CERT_FULL | Mengambil sertifikat lengkap | Layanan penerbit DAT |
TOKEN_CERT_VERIFY | Mengambil sertifikat khusus verifikasi | Layanan verifikasi dan dekripsi |
Setiap variabel menerima token alfanumerik yang dipisahkan koma. Jika daftar token suatu peran kosong, endpoint peran tersebut dibuka dan peringatan dicatat.
Pembuatan sertifikat
Peran master mendaftarkan sertifikat dengan menentukan algoritme tanda tangan, algoritme enkripsi, penundaan propagasi, periode penerbitan, dan TTL. Selama penundaan propagasi, layanan menyinkronkan sertifikat baru sebelum sertifikat dapat menerbitkan.
Integrasi klien
- Gunakan token lengkap dan endpoint sertifikat lengkap untuk layanan penerbit.
- Gunakan token verifikasi dan opsi verify-only untuk layanan pemverifikasi.
- Periksa hasil sinkronisasi pertama; jika startup harus gagal, panggil API sinkronisasi langsung.
- Saat sinkronisasi otomatis aktif, tutup manajer ketika aplikasi berhenti.
Lihat panduan pustaka untuk perilaku builder dan penghentian tiap bahasa.
Pemeriksaan operasional
/healthdan/version/apimelaporkan status tanpa autentikasi./versionmemerlukan master token jika peran tersebut dikonfigurasi.- Kumpulkan log dari output standar dan error standar.
- Teruskan sinyal penghentian dan beri waktu bagi basis data serta scheduler untuk berhenti.
Kubernetes
Samakan port container dan probe dengan port layanan, lalu mount direktori data dengan akses tulis untuk pengguna non-root. Injeksi token dan detail koneksi basis data melalui Secrets.
securityContext:
runAsNonRoot: true
runAsUser: 10001
runAsGroup: 10001
containers:
- name: dat-cms
image: sarolab/dat-cms
ports: [{ containerPort: 8088 }]
readinessProbe: { httpGet: { path: /health, port: 8088 } }
livenessProbe: { httpGet: { path: /health, port: 8088 } }