Skip to main content
This page is the full reference for Minenet deployment YAML. If you want a guided explanation first, start with Configurations and YAML.

Top-level schema

Additional constraints:
  • YAML payload max size: 64 KB
  • spec.resources: null is normalized to []
  • Resource IDs must be unique (case-insensitive)

Resource union

Each item in spec.resources must be one of:
  • type: server
  • type: proxy-velocity
  • type: proxy-gate
  • type: swiftbase
All resource types require:

Available regions and location IDs

Use these IDs in deployment YAML.

Compute regions (server.region, proxy-velocity.region, proxy-gate.region)

Swiftbase locations (swiftbase.location)

YAML examples

Server resource

Required shape: Optional restore block:

Server software env reference

Use this section when setting software.install.type and software.install.env.

Supported software types

GET /api/client/v1/servers/software returns the current catalog for server software profiles. General rules for software.install.env:
  • Keys are case-sensitive.
  • Values can be string, number, or boolean.
  • Unknown keys are rejected.
  • For version keys (MINECRAFT_VERSION, MC_VERSION, VANILLA_VERSION), set software.install.minecraftVersion instead of overriding in env.

Paper (type: paper)

Forge (type: forge)

NeoForge (type: neoforge)

Vanilla (type: vanilla)

Fabric (type: fabric)

CurseForge Modpack (type: curseforge)

Proxy Velocity resource

Required shape:

Proxy Gate resource

Required shape: managed.rules requirements:
  • each rule must contain exactly one of serverId or namePattern
  • serverId must be a UUID when present
  • namePattern max length is 128
  • exclude supports up to 32 patterns per rule

Swiftbase resource

Required shape: If serverType is omitted, Minenet applies a location default during normalization.

Normalization rules (important)

Before reconciliation, Minenet normalizes input:
  • Resource IDs are sanitized to lowercase slug-like format.
  • Name fields are sanitized (control characters removed, whitespace normalized).
  • Server/proxy resource values are clamped to allowed bounds.
  • Swiftbase location/serverType are normalized to lowercase.
  • Known software names are canonicalized (for example, CurseForge Modpack -> curseforge).

Example (valid mixed deployment)

Common validation failures

  • Wrong apiVersion or kind
  • Duplicate resource IDs
  • Too many resources (>32)
  • Invalid proxy type (proxy instead of proxy-velocity/proxy-gate)
  • Invalid Swiftbase location/serverType combination
  • Out-of-range memory/storage values
  • Invalid restore snapshot UUID