|
| 1 | +<!-- |
| 2 | +SPDX-License-Identifier: CC-BY-SA-4.0 |
| 3 | +SPDX-FileCopyrightText: 2025-2026 Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk> |
| 4 | +--> |
| 5 | + |
| 6 | +IPv6 policy enforcement and tooling for the hyperpolymath ecosystem. |
| 7 | + |
| 8 | +This monorepo consolidates two adjacent IPv6 utilities into a single |
| 9 | +operational unit (shared CI, shared license, shared dependency state). |
| 10 | + |
| 11 | +# Components |
| 12 | + |
| 13 | +`ipv6-only/` |
| 14 | +IPv6-only network policy. Enforces that an environment (a node, a |
| 15 | +namespace, a deployment) does not fall back to IPv4 — surfacing |
| 16 | +mis-configurations rather than letting them degrade silently. See the |
| 17 | +directory’s own README for invocation. |
| 18 | + |
| 19 | +`ipv6-site-enforcer/` |
| 20 | +Site-level enforcement tool. Validates that a public-facing site serves |
| 21 | +IPv6 correctly (AAAA records, IPv6 socket bind, HTTP-over-IPv6). |
| 22 | +Suitable for periodic CI / monitoring use. |
| 23 | + |
| 24 | +The two pair naturally: `ipv6-only` enforces locally, |
| 25 | +`ipv6-site-enforcer` enforces externally. |
| 26 | + |
| 27 | +# Quickstart |
| 28 | + |
| 29 | +```bash |
| 30 | +git clone git@github.com:hyperpolymath/ipv6-tools.git |
| 31 | +cd ipv6-tools |
| 32 | + |
| 33 | +# ipv6-only: |
| 34 | +cd ipv6-only/ && just build && just test |
| 35 | + |
| 36 | +# ipv6-site-enforcer: |
| 37 | +cd ../ipv6-site-enforcer/ && just build && just run -- example.com |
| 38 | +``` |
| 39 | + |
| 40 | +# Status |
| 41 | + |
| 42 | +- **Licence**: MPL-2.0. (Migrated from PMPL-1.0-or-later 2026-05-26 per |
| 43 | + the estate licence-debt audit, hyperpolymath/standards#196.) |
| 44 | + |
| 45 | +- **Estate role**: infrastructure tooling — consumed by deployment |
| 46 | + workflows where IPv6 readiness is a hard requirement. |
| 47 | + |
| 48 | +- **Audit findings**: see `docs/tech-debt-2026-05-26.md` if present |
| 49 | + (added by the 2026-05-26 estate tech-debt scan). |
| 50 | + |
| 51 | +# Contributing |
| 52 | + |
| 53 | +See <a href="CONTRIBUTING.md" class="md">CONTRIBUTING</a>. GPG-signed |
| 54 | +commits required. |
| 55 | + |
| 56 | +# Companion repositories |
| 57 | + |
| 58 | +- [`hyperpolymath/standards`](https://github.com/hyperpolymath/standards) |
| 59 | + — canonical estate-wide standards. |
| 60 | + |
| 61 | +- [`hyperpolymath/zerotier-k8s-link`](https://github.com/hyperpolymath/zerotier-k8s-link) |
| 62 | + — adjacent network-layer tooling. |
0 commit comments