Skip to content

modulex-plugin-infra: infrastructure health suite (k8s, vault, DNS, tunnels) #29

Description

@hartsock

Feature

Beyond single-host health (#19): is the infrastructure alive — cluster, secrets engine, name resolution, tunnels — answered read-only in the morning report.

Proposed shape

  • k8s-health step: node readiness + non-running pod count per configured context/namespace (kubectl get exec-gated, -o json parsed to typed results); never mutates.
  • vault-health step: seal status + token TTL remaining (vault status/lookup, exec-gated); warn at configured TTL thresholds.
  • dns-check step: resolve configured names against configured resolvers (dig +short, exec-gated); flag mismatches vs expected addresses.
  • tunnel-check step: reachability of configured host:port pairs (TCP connect through the net leash — hosts declared, SSRF-screened); VPN/jumpbox liveness without shelling to ssh.
  • All read-only, all soft-skip when the tool is absent, every program/host declared in the default grant.

Development discipline

Rust-first, jujutsu-style (no panics in lib code, RFC-1574 doc comments, lower-level tests over e2e). Follow Foundation contributor rules + the rust-tdd skill: TDD, regression tests, 80% coverage floor, README per crate, exec/net leashed, generation counters not wall-clock, credentials as references only. Plugin model per #10.

Metadata

Metadata

Assignees

No one assigned

    Labels

    pluginNew plugin / step-type family

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions