Infrastructure¶
Overview¶
Infrastructure menyediakan environment untuk menjalankan Tomcat Monitoring. Tomcat, Prometheus, dan Telegraf dijalankan sebagai container terpisah. JMX Exporter menjadi bagian dari JVM di dalam container Tomcat dan tidak menggunakan remote JMX. Target Diagnostic MVP menambahkan satu Diagnostic Service dan satu local state volume per host Tomcat serta restricted event collector; component tersebut belum diimplementasikan pada runtime.
Provisioning host, network, storage, dan certificate berada di luar lifecycle runtime aplikasi. Deployment harus memverifikasi prerequisites, tetapi tidak boleh mengubah firewall atau menerbitkan certificate secara otomatis tanpa proses infrastructure yang telah ditetapkan.
Infrastructure Components¶
| Component | Purpose | Current State |
|---|---|---|
| Gitea | Menyimpan source dan konfigurasi project | Available |
| Development workstation | Menjadi local development environment | Available |
Rootless Podman 4.9.3 |
Menjalankan Tomcat dan monitoring components | Available |
| Tomcat container | Menjalankan application runtime yang dimonitor | Persistent JMX lab target runs lab-only JSP health application; production application planned |
| JMX Exporter Java Agent | Mengekspos JVM dan Tomcat metrics secara lokal | Persistent lab target deployed and verified together with lab health application |
| Reusable JMX Agent procedure | Menjelaskan pemasangan, TLS configuration, build, dan validation secara reusable | Required in root How-to; not yet published |
| Prometheus container | Mengumpulkan dan menyimpan time-series metrics | Persistent lab runtime and strict JMX TLS scrape verified |
| Telegraf container | Menjalankan local HTTP health check aplikasi | Persistent lab runtime deployed and scraped successfully by Prometheus |
| Persistent metrics storage | Mempertahankan historical metrics | Available; persistent named volume prometheus_data aktif dengan retensi TSDB 15 hari (15d) dan replay WAL otomatis |
| Container network | Menghubungkan Prometheus, Telegraf, dan Tomcat/JMX target | Persistent aliases tomcat-jmx-exporter and telegraf verified on devops-lab |
| TLS certificate and trust | Mengamankan scrape endpoint menggunakan server-side TLS | Persistent lab material installed and strict verification passed; production certificate lifecycle not determined |
| Application health endpoint | Memberikan status aplikasi yang dapat diverifikasi Telegraf | Lab-only JSP /health deployed and verified; production application endpoint planned |
| Alertmanager | Mengelola dan meneruskan alert | Persistent local image 1.0.0 runtime uses named configuration/data volumes; real Prometheus firing/resolved delivery verified |
| Mailpit SMTP capture | Menangkap email Alertmanager pada persistent lab-only topology | Direct-upstream v1.31.0 runs without named volume; loopback API and real firing/resolved capture verified |
| Diagnostic Service | Menerima seluruh alert Tomcat operasional, mendistribusikan evaluasi multi-domain, mengelola state, mengumpulkan evidence terbatas, dan mengirim notifikasi SRE | Available; image 0.1.5 (sha256:608cc73f07a5) aktif di devops-lab |
| Container auto-healing supervisor | Mensupervisi restart otomatis container monitoring dan workload saat crash/exit non-zero | Available; systemd --user podman-restart.service aktif dengan bounded retry --restart=on-failure:5 (TM-ADR-0021) |
| SQLite diagnostic state | Mempertahankan event, incident, deduplication, canonical result, custom rules, dan delivery state | Available; persistent named volume diagnostic_data aktif di /var/lib/tomcat-diagnostic/diagnostic.db |
| Restricted Event Collector | Mengumpulkan event host dan container yang diizinkan tanpa memberi akses kontrol host kepada Diagnostic Service | Available; rootless host collector aktif dengan atomic spooling |
| Normalized collector spool | Menyediakan record event terbatas melalui mount read-only ke Diagnostic Service | Available; bind-mount /tmp/diagnostic-spool:/run/tomcat-diagnostic/spool:ro,z |
| Diagnostic log directory | Menyediakan akses read-only ke log Tomcat untuk ekstraksi bukti dan analisis | Available; persistent named volume tomcat_logs:/run/tomcat-diagnostic/logs:ro,z |
| Dedicated diagnostic network | Menghubungkan Alertmanager dan Diagnostic Service tanpa host-published service port | Available; terhubung pada container network devops-lab |
| Diagnostic TLS dan bearer material | Mengamankan webhook internal dan Rules API | Available; certificate, private key, dan bearer token terpasang read-only |
| Integration Bridge | Meneruskan alert ke TrueSight | Deferred; TrueSight tidak tersedia pada lab |
Available menunjukkan komponen telah tersedia pada kondisi project saat ini.
Planned menunjukkan komponen termasuk dalam desain tetapi belum
diimplementasikan. Not determined menunjukkan keputusan teknis masih harus
dibuat sebelum implementasi.
JMX Exporter Java Agent diperlakukan sebagai kebutuhan infrastructure tambahan karena harus tersedia di dalam Tomcat image sebelum integrasi Prometheus dilakukan. Halaman ini hanya menetapkan kebutuhan dan statusnya. Prosedur teknis reusable harus tersedia pada root How-to, sedangkan nilai khusus project tetap berada pada source repository dan deployment configuration.
Container Host Requirements¶
- Host menggunakan Linux dan menjalankan Podman dalam mode rootless.
- Tomcat, Prometheus, dan Telegraf dijalankan sebagai container terpisah.
- Container Tomcat dapat memuat JMX Exporter sebagai Java Agent ketika JVM dimulai.
- Prometheus dapat mengakses endpoint HTTPS JMX Exporter pada network path yang diizinkan.
- Telegraf dapat mengakses HTTP health endpoint aplikasi melalui container network yang sama dengan Tomcat.
- Telegraf mengakses internal Tomcat HTTP connector pada container port
8080, bukan host-published port. - Prometheus dapat mengambil health metrics yang dihasilkan Telegraf.
- Remote JMX tidak diaktifkan atau dipublikasikan dari container Tomcat.
- Persistent storage tersedia untuk mempertahankan historical metrics sesuai
retention policy 15 hari (
15d) pada named volumeprometheus_data. - Certificate dan trust material dapat dipasang ke container sebagai read-only secret.
- Host menyediakan kapasitas CPU, memory, dan storage yang memadai untuk alokasi TSDB 15 hari.
- Firewall hanya mengizinkan port yang diperlukan oleh alur monitoring.
- Satu Diagnostic Service beroperasi per host Tomcat dan hanya menangani target lokal yang tercantum pada allowlist.
- Diagnostic Service menggunakan satu worker, queue maksimum 50, timeout diagnostic 60 detik, memory limit 256 MiB, dan CPU limit 500 millicores.
- Diagnostic Service tidak memperoleh broad Podman socket, host namespace, arbitrary command, runtime-control, atau arbitrary-path access.
- Restricted Event Collector berjalan sebagai rootless host service terpisah dan hanya menulis record ternormalisasi yang telah diizinkan.
Network Requirements¶
| Flow | Protocol | Security | Status |
|---|---|---|---|
| Prometheus to JMX Exporter | HTTPS ke port 9404, path /metrics |
Server-side TLS dan container-network-only access | Persistent strict TLS scrape and hostname verification passed on 2026-08-25; JMX metrics port is not published on the host |
| Telegraf to application health endpoint | HTTP ke internal Tomcat port 8080, path /health |
Container-network-only access; no host port | Persistent lab integration verified on 2026-08-25 |
| Prometheus to Telegraf | HTTP ke port internal 9273, path /metrics |
Container-network-only access; no host port | Persistent target up=1 and successful health metrics verified on 2026-08-25 |
| Prometheus to Diagnostic Service | HTTPS ke port 8443, path /health |
Server-side TLS (CA verification) dan container-network-only access | Persistent self-monitoring target up=1 verified on 2026-09-08 (TN-001) |
| Dashboard to Prometheus | HTTP ke host port 9090 pada lab |
Trusted VPN lab; TLS dan authentication belum tersedia | Browser tablet verified through http://edkas-pc1:9090 on 2026-08-24 |
| Prometheus to Alertmanager | HTTP ke internal alertmanager:9093 pada devops-lab |
Container-network-only access; no Alertmanager host port | Healthy active target and real application-health firing/resolved delivery verified on 2026-08-28 |
| Alertmanager to Mailpit | Internal mailpit:1025 pada devops-lab; SMTP tidak dipublikasikan |
Mailpit API/UI hanya 127.0.0.1:8025; no external relay, credential, atau personal recipient |
Persistent lab-only firing/resolved capture verified on 2026-08-28 |
| Alertmanager to Mailpit (Emergency Direct Route) | Internal mailpit:1025 pada devops-lab untuk DiagnosticServiceDown |
Bypass Diagnostic Service saat platform service down (Zero Silent Failure) | Persistent direct emergency email verified on 2026-09-08 (TN-001) |
| Alertmanager to Diagnostic Service | HTTPS ke diagnostic-service:8443/api/v1/alerts/alertmanager |
Strict TLS, bearer authentication, dedicated internal network, CA dan token read-only; tanpa host port | Persistent lab webhook delivery verified on 2026-09-03 |
| Diagnostic Service to Prometheus | Query metrics terbatas melalui Prometheus API | Target dan query berasal dari local allowlist internal | Persistent lab query metrics verified on 2026-09-03 |
| Diagnostic Service to Mailpit | SMTP internal untuk diagnostic firing, update, failed/partial, dan resolved | Tidak menggunakan external relay atau personal recipient pada lab | Persistent lab diagnostic SRE report & resolved delivery verified on 2026-09-03 |
| Diagnostic Service to Integration Bridge | Canonical JSON projection | Tidak ada endpoint, credential, connection, retry, queue, atau worker ketika disabled | Disabled; activation memerlukan contract terpisah |
| Integration Bridge to TrueSight | SNMP Trap atau msend |
Not determined | Designed, not verified |
Hostname, container network, firewall rule, dan port komponen monitoring yang
belum disebutkan pada topology masih harus ditetapkan. JMX Exporter port 9404,
metrics path /metrics, internal Tomcat port 8080, dan health path /health
sudah menjadi bagian dari interface design.
Application Health Check Requirements¶
- Telegraf dijalankan sebagai container terpisah dan berada pada container network yang sama dengan Tomcat.
- Plugin
inputs.http_responsedigunakan untuk memeriksa health endpoint aplikasi. - Health check memverifikasi expected HTTP status code dan response body, bukan hanya keberhasilan membuka koneksi TCP.
- Response timeout dan check interval harus ditetapkan berdasarkan kebutuhan operasional.
- Health endpoint harus membuktikan bahwa application context dapat memproses dan memberikan response.
- Hasil pemeriksaan harus tersedia sebagai metrics yang dapat dikumpulkan Prometheus.
- Prometheus harus menghasilkan alert ketika health check gagal dan ketika health metrics tidak lagi diterima.
- HTTP check hanya membuktikan kesehatan aplikasi dari container network lokal. Load balancer, reverse proxy, DNS, firewall eksternal, dan jalur akses pengguna berada di luar scope pemeriksaan ini.
Health path ditetapkan sebagai /health berdasarkan topology. Contract
sementara menggunakan HTTP 200, body yang menyatakan status UP, timeout
5s, interval 30s, dan Telegraf Prometheus client internal
:9273/metrics. Target URL diberikan melalui TOMCAT_HEALTH_URL saat runtime.
Nilai ini memiliki source contract dan static validation. Runtime lab
verification menggunakan application fixture dijelaskan berikutnya.
Persistent lab verification pada 2026-08-25 menggunakan exploded JSP fixture
yang diproses Tomcat. Endpoint menghasilkan HTTP 200 dan JSON
{"status":"UP"}; Telegraf menghasilkan status-code match 1, string match
1, dan result code 0; Prometheus menghasilkan target
telegraf-health up=1. Fixture ini bukan production application health
implementation.
Storage Requirements¶
Prometheus memerlukan persistent storage agar historical metrics tidak hilang ketika container dibuat ulang. Infrastructure harus menentukan:
- Storage type dan mount location;
- Retention period;
- Kapasitas awal dan batas pertumbuhan;
- Ownership dan permission;
- Backup requirement; serta
- Recovery procedure.
Lab runtime menggunakan named volume prometheus_data yang dipasang
read-write ke /prometheus. Permission data untuk runtime non-root telah
terverifikasi melalui startup TSDB. Configuration menggunakan
prometheus_config dan trust material menggunakan prometheus_truststore;
keduanya dipasang read-only tanpa host bind.
Persistent JMX cutover pada 2026-08-25 mempertahankan volume yang sama. New Prometheus menemukan healthy TSDB blocks, menyelesaikan WAL replay, dan mencapai readiness tanpa restart. Hasil ini membuktikan continuity pada exact named- volume boundary, bukan backup atau recovery policy.
Persistent Alertmanager menggunakan alertmanager_config read-only dan
alertmanager_data read-write. Controlled restart mempertahankan exact data
volume, persisted nflog dan silences, serta tidak menghasilkan duplicate
Mailpit message. Persistent Mailpit tidak memakai named volume; captured
message history boleh hilang pada replacement dan Technical Note menjadi
source evidence. Protected prometheus_config_tn035_rollback serta stopped
prometheus-tn035-rollback dipertahankan sampai stability acceptance dan
exact destructive cleanup authorization tersedia.
Default retention 15d terlihat pada runtime log, tetapi belum diterima
sebagai project retention policy. Capacity, growth limit, backup, dan recovery
tetap berstatus Not determined.
Diagnostic Service menggunakan named volume diagnostic_data pada path
/var/lib/tomcat-diagnostic/diagnostic.db. SQLite menggunakan WAL mode dengan
satu logical writer, target ukuran 100 MiB, dan hard acceptance boundary 250
MiB. Initialization, migration, retention 30 hari untuk resolved data,
checkpoint, integrity check, capacity check, dan incremental vacuum berjalan
otomatis menurut accepted contract. Schema, migration, dan disposable database
lifecycle telah diimplementasikan; physical named volume, backup, recovery,
retention, dan capacity behavior belum diverifikasi. Disposable
multi-component verification menggunakan temporary bind directory dan tidak
mengubah persistent named-volume decision. Penghapusan volume atau database
tetap merupakan exact-target destructive action yang memerlukan authorization
terpisah.
Certificate Requirements¶
- JMX Exporter menyajikan certificate untuk endpoint HTTPS.
- Prometheus memiliki CA certificate yang diperlukan untuk memverifikasi certificate JMX Exporter.
- JMX Exporter tidak meminta client certificate dari Prometheus.
- Private key tidak disimpan di dalam container image atau Git repository.
- Certificate dan private key dipasang ke container Tomcat sebagai read-only secret.
- Persistent lab menggunakan self-signed certificate dengan SAN
DNS:tomcat-jmx-exporter, validity 365 hari, dan renewal trigger ketika remaining validity mencapai 30 hari. - Material persistent lab disimpan di luar source repository pada
/home/eddywiyatno/.local/share/tomcat-monitoring/jmx-exporter-tls. Directory menggunakan mode0700; private key, password file, dan PKCS12 menggunakan0600; public certificate menggunakan0444. - Project owner memiliki lab lifecycle dan rootless Podman user memiliki
filesystem material. Previous material dipertahankan sampai new target
terbukti
up=1; removal memerlukan exact-path inspection serta destructive authorization. - Production issuance, distribution, renewal, revocation, dan ownership tetap harus ditetapkan secara terpisah.
- Webhook Diagnostic Service wajib menggunakan strict TLS dan bearer authentication pada dedicated internal network tanpa host-published port.
- Alertmanager memverifikasi CA Diagnostic Service. CA dan bearer token berasal dari non-Git storage serta dipasang read-only; nilai token dan authorization header tidak boleh masuk log, SQLite, image, atau repository.
- Container path, lab ownership, dan permission material TLS serta bearer token Diagnostic Service ditetapkan TN-011. Rotation, reload/replacement, dan production lifecycle tetap prerequisite sebelum webhook deployment.
Ownership Boundary¶
| Concern | Owner |
|---|---|
| Host packages, users, container runtime, dan firewall | Infrastructure owner; not determined |
| Container network dan persistent storage | Infrastructure owner; not determined |
| Persistent lab self-signed certificate lifecycle | Project owner sebagai lab runtime owner; filesystem material dimiliki rootless Podman user |
| Production certificate issuance, distribution, dan renewal | Infrastructure atau PKI process; not determined |
| Generic Tomcat image dan runtime configuration | Repository tomcat |
| JMX Exporter binary dan Java Agent startup contract | Repository tomcat-jmx-exporter |
| Reusable JMX Agent installation and validation procedure | Root How-to; not yet published |
| JMX Exporter configuration | Tomcat Monitoring project |
| Lab-only Tomcat health application fixture | Tomcat Monitoring project |
| Telegraf HTTP health check configuration | Tomcat Monitoring project |
| Prometheus scrape configuration dan alert rules | Tomcat Monitoring project |
| Generic Alertmanager image dan runtime lifecycle | Repository alertmanager |
| Dashboard dan Alertmanager configuration | Tomcat Monitoring project |
| Mailpit persistent lab-only verification utility | Upstream owns image lifecycle; tomcat-monitoring owns immutable reference, persistent integration, verification, and exact cleanup |
| Diagnostic Service source, dependency lock, image lifecycle, migration, dan component test | Repository tomcat-diagnostic-service |
| Diagnostic target allowlist, routing, secret reference, deployment, integration validation, dan lab orchestration | Repository tomcat-monitoring |
| Restricted Event Collector source, packaging, lifecycle, dan component test | Repository tomcat-diagnostic-event-collector; repository belum dibuat |
| SQLite schema, migration, housekeeping, dan application-level data lifecycle | Repository tomcat-diagnostic-service |
| Physical diagnostic volume, network, TLS/token storage, dan host resource allocation | Integration/platform owner; lab paths and modes accepted, persistent resource creation pending |
| Integration Bridge dan TrueSight mapping | Tomcat Monitoring project dan TrueSight owner |
| Runtime service continuity | Project owner/operator; supervisi otomatis container via systemd --user podman-restart.service dengan bounded auto-healing --restart=on-failure:5 (TM-ADR-0021 / TN-002) |
Planned Provisioning Validation¶
Podman telah diverifikasi menggunakan temporary Tomcat container. Pada tahap berikutnya, target runtime akan dibuat melalui CI/CD dan Ansible untuk membuktikan bahwa environment dapat dibuat secara konsisten dan dapat direproduksi.
Validation tersebut direncanakan mencakup:
- Provisioning Rootless Podman prerequisites;
- Pembuatan target Tomcat containers;
- Penerapan network dan published port;
- Pemasangan embedded monitoring instrumentation;
- Pemeriksaan idempotency Ansible;
- Verifikasi metrics dan local HTTP health check; serta
- Verifikasi hasil provisioning melalui pipeline CI/CD.
CI/CD dan Ansible provisioning belum diimplementasikan. Bagian ini mencatat target validation, bukan hasil yang sudah dicapai.
Pending Infrastructure Decisions¶
Keputusan berikut harus diselesaikan sebelum infrastructure dapat diimplementasikan:
- Execution model untuk CI/CD dan Ansible provisioning;
- CI build dan image publication contract
tomcat-jmx-exporter; - Reusable JMX Exporter Java Agent procedure pada root How-to;
- Lokasi deployment selain persistent lab runtime Prometheus;
- Container network dan port allocation;
- Persistent storage dan retention policy;
- CPU, memory, dan storage sizing;
- Production certificate authority dan certificate lifecycle;
- Sumber metrics untuk container status;
- External SMTP relay, provider identity, sender, authentication, TLS, secret lifecycle, dan recipient handling bila inbox delivery kembali diperlukan.
- Ownership Integration Bridge dan koneksi TrueSight ketika future target tersedia.
- Format target allowlist dan stable container generation source.
- Effective Tomcat log, rotation, JVM fatal artifact, dan read-only mount locations.
- Rootless collector permission matrix, spool bounds, dan cleanup behavior.
- Rotation, CA distribution, serta reload/replacement lifecycle TLS dan bearer secret Diagnostic Service; TN-011 telah menetapkan container path dan lab mode.
- Host CPU, memory, filesystem baseline, dan safe failure-injection procedure sebelum resource serta end-to-end acceptance.
Current Status¶
Rootless Podman telah tersedia dan diverifikasi pada development environment.
Derived image localhost/tomcat-jmx-exporter:1.0.0 dengan JMX Exporter 1.6.0
telah dibangun dari current source 231cb91 dan lulus local HTTPS/JVM smoke
test pada 2026-08-25. Container image masih lokal dan belum dipublikasikan ke
registry; image tersebut digunakan oleh persistent generic JMX lab target pada
devops-lab tanpa host-published metrics port.
Persistent lab container prometheus berjalan pada network devops-lab,
memublikasikan host port 9090, dan menggunakan named volumes
prometheus_config, prometheus_truststore, serta prometheus_data tanpa host
bind. Semantic configuration, readiness, mount modes, dan akses dashboard dari
tablet melalui VPN telah diverifikasi. Pada 2026-08-25, truststore diperbarui
dengan public self-signed certificate persistent target dan Prometheus
menghasilkan JMX up=1, jvm_memory_heap_used_bytes, serta tomcat_server
dengan insecure_skip_verify: false.
Persistent lab Tomcat target juga memuat read-only JSP health application pada
root context. Persistent Telegraf memeriksa
http://tomcat-jmx-exporter:8080/health dan menyediakan metrics pada internal
:9273/metrics; Prometheus scrape pool telegraf-health menghasilkan up=1.
Endpoint, metrics semantics, JMX continuity, no-host-port boundary, dan restart
persistence lulus pada 2026-08-25. Stopped original JMX container sempat
dipertahankan sebagai tomcat-jmx-exporter-rollback, lalu dihapus pada
2026-08-26 setelah exact-target inspection dan successful-cutover cleanup
authorization. Active replacement, image, bind files, dan TLS material tetap
tersedia; post-cleanup JMX dan Telegraf tetap up=1 dengan application-health
result 0. Production certificate serta provisioning melalui CI/CD dan
Ansible belum diimplementasikan. Alertmanager sekarang memiliki
accepted runtime ownership, lab integration contract, dan statically verified
generic runtime source. Local image localhost/alertmanager:1.0.0 telah lulus
Alertmanager, amtool, serta non-root component smoke test. Non-secret routing
configuration dan Prometheus delivery reference lulus static serta semantic
validation. Pada 2026-08-28, persistent container memakai
alertmanager_config dan alertmanager_data; controlled restart kembali ready
tanpa duplicate notification. Replacement Prometheus melihat satu healthy
active Alertmanager dan real TelegrafHealthScrapeUnavailable menghasilkan
matching firing/resolved email. Actual Integration Bridge dan external
delivery belum dibuat atau diverifikasi.
Alert-template contract sekarang menetapkan operator severity
normal, warning, dan critical; positive resolved alert names; identical
body keys; serta green/orange/red visual mapping. Telegraf scrape unavailable
menjadi critical dan seluruh application-health rules menyediakan service
serta check. Disposable Alertmanager-Mailpit rendering dan Prometheus
config/rule tests untuk contract telah lulus. Contract telah dipromosikan ke
persistent Alertmanager dan Prometheus; controlled Telegraf cycle menghasilkan
critical TelegrafHealthScrapeUnavailable dan normal
TelegrafHealthScrapeAvailable sebagai message ketujuh dan kedelapan. Enam
earlier messages tetap merupakan rejected historical evidence.
Direct Gmail email sempat dipilih sebagai next lab notification path, kemudian
digantikan oleh Mailpit lokal pada 2026-08-27. Current lab implementation
menggunakan persistent Mailpit tanpa Google credential, personal recipient,
named volume, atau external delivery. Immutable Mailpit v1.31.0 manifest
identity pada linux/amd64 berjalan pada devops-lab; SMTP tetap internal di
mailpit:1025 dan API/UI hanya dipublikasikan pada 127.0.0.1:8025.
Synthetic isolated capture tetap menjadi regression evidence, sedangkan real
Prometheus firing/resolved capture lulus pada 2026-08-28.
Persistent lab self-signed certificate lifecycle telah ditetapkan pada
2026-08-25. Material aktif tersimpan pada accepted non-Git directory, dipasang
read-only ke JMX target, dan certificate berlaku sampai 2027-08-25 dengan
renewal trigger 30 hari sebelum expiry. Production certificate lifecycle tetap
Not determined.
Persistent lab saat ini bersifat operator-managed. Automatic restart dan host-boot orchestration tidak diterapkan atau diverifikasi; operator melakukan start dan recovery manual. Dashboard, container-status metrics, CI/CD/Ansible, external delivery, production deployment, dan end-to-end verification tetap menjadi pekerjaan future pada phase terpisah.
Untuk Diagnostic MVP, repositori tomcat-diagnostic-service (Node.js 24 ESM,
image 0.1.3 digest sha256:e781b9fb1cda) dan tomcat-diagnostic-event-collector
telah selesai dan terverifikasi secara live pada lingkungan persisten devops-lab.
Volume persisten diagnostic_data, bind-mount /tmp/diagnostic-spool dan
Named Volume tomcat_logs (:ro,z), webhooks internal HTTPS Alertmanager ke Diagnostic
Service, Declarative Rulepack Engine (POST /api/v1/rules), alur pengayaan AI,
dan pengiriman laporan diagnosis ke Mailpit telah beroperasi penuh dan terbukti
end-to-end.
Related Pages¶
- TM-ADR-0003 β Use Host-Managed Non-Git TLS Material for the Persistent Lab
- TM-ADR-0005 β Use Mailpit as the Persistent Lab Notification Verification Target
- TM-ADR-0008 β Use a Restricted Host Event Collector with a Normalized Evidence Spool
- TM-ADR-0009 β Use SQLite for Local Diagnostic State
- TM-ADR-0010 β Deploy One Bounded Diagnostic Service per Tomcat Host
- TM-ADR-0012 β Decouple TrueSight Through a Disabled Integration Bridge
- Architecture
- Development
- CI/CD
- Operations
- Engineering Journal
- Diagnostic MVP