Skip to main content

Infrastructure

The RedactedWorld platform runs on an RKE2 Kubernetes cluster hosted on Hetzner Cloud in the Nuremberg (nbg1) datacenter.

RKE2 Cluster

PropertyValue
DistributionRKE2 (Rancher Kubernetes Engine 2)
Cloud ProviderHetzner Cloud
DatacenterNuremberg (nbg1), Germany
Control Plane Node46.225.229.62
Worker Node46.225.237.45
Floating IP (Ingress)49.13.36.159
Container Runtimecontainerd
CNICilium

Platform Components

All platform services are exposed through subdomains of redactedworld.com. DNS records point to the floating IP, and Traefik handles TLS termination via cert-manager with Let's Encrypt certificates.

ComponentSubdomainDescription
Traefik-- (ingress controller)Reverse proxy and ingress controller. Routes traffic based on Host headers. Handles TLS termination, rate limiting, and middleware chains (CORS, compression, security headers).
Keycloakkeycloak.redactedworld.comOpenID Connect identity provider. Manages user registration, login, MFA, social login (GitHub, Google), and token issuance. Backs the auth-service.
cert-manager-- (cluster internal)Automates TLS certificate provisioning from Let's Encrypt. Watches Ingress resources and creates/renews Certificate objects.
Alloy + Loki-- (cluster internal)Grafana Alloy collects logs from all pods and ships them to Loki for centralized log aggregation and querying via LogQL.
Prometheus-- (cluster internal)Scrapes metrics from all services (NestJS exposes /metrics via prom-client), Kubernetes components, and node exporters. Stores time-series metrics for alerting and dashboards.
Grafanagrafana.redactedworld.comVisualization platform connected to Prometheus (metrics), Loki (logs), and ClickHouse (scan analytics). Provides pre-built dashboards for cluster health, service latency, and scan statistics.
Wazuhwazuh.redactedworld.comSecurity Information and Event Management (SIEM). Monitors host intrusion detection, file integrity, and compliance. Agents run on each node.
GitLabgitlab.redactedworld.comSelf-hosted GitLab CE for source code management, CI/CD pipelines, and container registry. All service images are built and pushed here.
Documentationdoc.redactedworld.comThis documentation site, built with Docusaurus and deployed as a static site.
Frontendapp.redactedworld.comAngular single-page application served via Nginx. Communicates with the API Gateway over HTTPS and WebSocket.
APIapi.redactedworld.comAPI Gateway (NestJS). The only service exposed externally for programmatic access.

Network Topology

CI/CD Pipeline

The deployment pipeline runs on GitLab CI:

  1. Build -- docker build produces a container image for each service.
  2. Test -- Unit and integration tests run inside the CI container.
  3. Push -- Images are pushed to the GitLab Container Registry.
  4. Deploy -- Kubernetes manifests are applied via kubectl apply or Helm upgrade, pulling the new image from the registry.
  5. Verify -- A post-deploy smoke test hits the health endpoints of each service.