openova/platform/litmus/README.md
hatiyildiz f5daac52af refactor(platform): remove k8gb — replaced by PowerDNS lua-records (#171)
PowerDNS lua-records (`ifurlup`, `pickclosest`, `ifportup`) cover everything
k8gb was doing — geo-aware response selection, health-checked failover,
weighted round-robin — at the authoritative DNS layer. Eliminates a
separate K8s controller, CRD set, and CoreDNS plugin from every Sovereign.

Changes:
- platform/k8gb/ deleted (Chart.yaml, values.yaml, blueprint.yaml never
  authored — only README existed)
- products/catalyst/bootstrap/ui/public/component-logos/k8gb.svg deleted
- componentGroups.ts: remove k8gb component (PowerDNS already there)
- componentLogos.tsx: drop logo_k8gb + k8gb map entry
- model.ts DEFAULT_COMPONENT_GROUPS spine: replace k8gb with powerdns
- StepInfrastructure.tsx: copy refers to PowerDNS lua-records, not k8gb
- provision.html: replace k8gb tile and edges with powerdns
- catalog.generated.ts regenerated (now includes bp-powerdns)
- docs sweep — every k8gb reference in PLATFORM-TECH-STACK, NAMING-
  CONVENTION, SOVEREIGN-PROVISIONING, SRE, ARCHITECTURE, GLOSSARY,
  COMPONENT-LOGOS, IMPLEMENTATION-STATUS, BUSINESS-STRATEGY,
  TECHNOLOGY-FORECAST, README, infra/hetzner/README, platform READMEs
  (cilium, external-dns, failover-controller, litmus, flux, opentofu)
  rewritten to point at PowerDNS lua-records / MULTI-REGION-DNS.md.
  Historical entries in VALIDATION-LOG.md preserved as audit trail.
- New docs/MULTI-REGION-DNS.md — canonical reference for the lua-record
  patterns (ifurlup all/pickclosest/pickfirst, ifportup, pickwhashed),
  Application Placement → lua-record selector mapping, when to add a
  second Sovereign region, operational checks.

Closes #171.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-29 08:51:09 +02:00

47 lines
1.5 KiB
Markdown

# Litmus Chaos
Chaos engineering experiments for Kubernetes. **Application Blueprint** (see [`docs/PLATFORM-TECH-STACK.md`](../../docs/PLATFORM-TECH-STACK.md) §4.9 — Chaos engineering). Used to validate Catalyst's resilience guarantees (failover-controller behavior under network partition, OpenBao DR promotion, PowerDNS lua-record `ifurlup` endpoint removal) — see [`docs/SRE.md`](../../docs/SRE.md) for the resilience model. Required by some compliance regimes (DORA, NIS2) as evidence of resilience testing.
**Category:** Chaos Engineering | **Type:** Application Blueprint
---
## Overview
Litmus provides chaos engineering experiments for Kubernetes workloads. Banks and regulated environments need proof of resilience — Litmus enables automated chaos testing as part of CI/CD pipelines and compliance validation.
## Key Features
- Pre-built chaos experiments (pod-kill, network-latency, disk-fill)
- ChaosHub for experiment catalog
- GameDay orchestration
- Resilience scoring
- CI/CD integration via Gitea Actions
## Integration
| Component | Integration |
|-----------|-------------|
| Grafana | Chaos experiment observability |
| Kyverno | Policy-based chaos boundaries |
| Gitea Actions | Automated chaos in CI/CD |
| Failover Controller | Validate failover behavior |
## Deployment
```yaml
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: litmus
namespace: flux-system
spec:
interval: 10m
path: ./platform/litmus
prune: true
```
---
*Part of [OpenOva](https://openova.io)*