Commit 3b58e43
committed
feat: expand
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_01P4RwkvhxDXpypYHNiXWevpnetengine init into a full interactive wizard1 parent 85506bc commit 3b58e43
3 files changed
Lines changed: 969 additions & 174 deletions
0 commit comments