This is the SecDevOps documentation. It is organised into eight sections, grouped by what a document belongs to — an environment we run, the infrastructure underneath it, or the practice of running it.
Documentation Structure
Show the full structure, three levels deep
Environments
City has documentation for the City Taxi System: TMS backends and applications, the TMS databases, and KEPO.
Road has documentation for AO, EazyTMS, PTV xServer, and the Road web applications.
External Development covers work outside the core platform — Tailorframe, Palbassador, and moreutils.
Infrastructure
Infra holds the platforms everything runs on:
Cloud — GCP, Azure, Hetzner, and infrastructure-as-code (Terraform, Ansible, AWX)
On-Prem — the core servers and self-hosted machines
Monitoring & Logs — Grafana, Zabbix, and GCP logging
Platform-specific material now lives under Infra/Cloud/, so GCP or Hetzner instructions no longer need to be flagged by platform name inside each document.
Practice
DevOps has documentation that doesn't belong to an environment or a platform: application and server installation instructions, CI/CD, operating procedures, incidents, internally built and third-party applications, local software installation guides, policies, and reports.
Integrations covers the middleware that moves data between systems — Camel, Biztalk, LogicApps, N8N, Datastream, and AD/Sympa.
IT covers the servicedesk, endpoint support, license reporting, and the office network.
Examples for best practices
Documentation on the Grafana migration used to be spread across more than 16 pages, which made searching for anything related to Grafana difficult. Those pages are now a single master page with collapsible H1 / H2 / H3 headers, so a large topic can be navigated in one place: