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>
47 lines
1.5 KiB
Markdown
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)*
|