Docs / nxip-cli

Plan and apply, without Terraform

Built for teams who will never adopt HCL: on-prem network teams, teams standardized on Ansible or plain scripting, anyone who wants the same reconciliation loop, does the registry match what I've declared, right now, without adopting an entirely new toolchain to get it.

Declare subnets in YAML

No new nxip capability here: nxip plan calls the same POST /v1/subnets/preview dry-run endpoint the Terraform PR bot already uses.

export NXIP_API_KEY="<your key>"

$ cat subnets.yaml
subnets:
  - name: payments
    environment: production
    region: us-east-1
    family: IPV4
    prefix_length: 24

$ nxip plan -f subnets.yaml

  # payments will be created
  + environment   = "production"
    region        = "us-east-1"
    family        = "IPV4"
    prefix_length = 24
    cidr          = "10.0.4.0/24" (predicted, not reserved)
    container     = pool "prod-us-east" (18% -> 24%)

Plan: 1 to create, 0 would fail.

nxip apply shows the same plan, asks for confirmation the way Terraform does, then creates whatever the plan predicted would succeed. Pass --auto-approve to skip the prompt in CI.

Scaffold a whole new site

For standing up a new site or landing zone across multiple clouds at once, rather than declaring subnets one at a time. nxip scaffold expands a higher-level site spec into the same plan/apply manifest above:

$ cat site.yaml
site: emea-fra-01
environments: [production, staging]
clouds:
  - provider: aws
    region: eu-central-1
  - provider: azure
    region: germanywestcentral
sizing:
  production: 24
  staging: 26

$ nxip scaffold -f site.yaml -o subnets.yaml
Wrote subnets.yaml. Review it, then run: nxip plan -f subnets.yaml

Expands into one subnet per environment x cloud pair, four for the example above, each guaranteed non-overlapping against every other allocation in the organization, not just within one cloud.

Install

Not yet on the npm registry - install directly from GitHub, npm builds it automatically:

npm install -g github:uk-sw/nxip-cli

Who this is actually for

If you already use Terraform, the Terraform provideris still the better fit, this doesn't replace it. nxip-cli exists for everyone else: a team that will never adopt HCL but still wants a real plan/apply loop instead of clicking through the dashboard one subnet at a time, or scripting raw API calls by hand.

Current scope is deliberately narrow: top-level subnets only (a subnet referencing another subnet declared later in the same manifest isn't resolved), and pools aren't managed here, create those first via the GUI, curl, or Terraform.

Full usage, the YAML field reference, and known limitations are in thenxip-cli repo.