Skip to content

Commit 3b58e43

Browse files
committed
feat: expand netengine init into a full interactive wizard
Replaces the minimal string-template approach with a multi-section wizard that covers every major configuration dimension: - World identity: name, lifecycle, owner org, environment label - Setup modes: minimal / single-org / dev-sandbox presets, or full custom - Network: platform + core subnet CIDRs, real-internet isolation mode - PKI: CA CN/org/country, cert lifetime, CRL, OCSP, intermediate CA toggle - Platform admin: username and email - Organisations: AND profile, capabilities, users (interactively add N orgs) - Extra TLDs per world - Services: Postfix mail (DMARC policy, mailbox quota) + MinIO storage (buckets) - Org apps: Gitea, Mailpit from catalog All IPs are auto-derived from the configured subnets. The spec is validated against the Pydantic models before writing. The summary screen shows exactly what was configured and the relevant next-step commands for the generated world. Wizard logic lives in netengine/cli/init_wizard.py (WorldConfig dataclass + build_spec_dict/build_spec_yaml) to keep main.py clean. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01P4RwkvhxDXpypYHNiXWevp
1 parent 85506bc commit 3b58e43

3 files changed

Lines changed: 969 additions & 174 deletions

File tree

0 commit comments

Comments
 (0)