Top-level schema
Additional constraints:
- YAML payload max size:
64 KB spec.resources: nullis normalized to[]- Resource IDs must be unique (case-insensitive)
Resource union
Each item inspec.resources must be one of:
type: servertype: proxy-velocitytype: proxy-gatetype: swiftbase
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 settingsoftware.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, orboolean. - Unknown keys are rejected.
- For version keys (
MINECRAFT_VERSION,MC_VERSION,VANILLA_VERSION), setsoftware.install.minecraftVersioninstead of overriding inenv.
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
serverIdornamePattern serverIdmust be a UUID when presentnamePatternmax length is 128excludesupports 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/serverTypeare normalized to lowercase. - Known software names are canonicalized (for example,
CurseForge Modpack->curseforge).
Example (valid mixed deployment)
Common validation failures
- Wrong
apiVersionorkind - Duplicate resource IDs
- Too many resources (>32)
- Invalid proxy type (
proxyinstead ofproxy-velocity/proxy-gate) - Invalid Swiftbase location/serverType combination
- Out-of-range memory/storage values
- Invalid restore snapshot UUID