Create an application version
edgegap_create_app_versionCreate a deployable application version from a container image, configure ports and resources, and optionally verify Edgegap can pull it so bad images fail before deployment.
Instructions
Register a container image as a deployable version of an application. The image must already be pushed to a registry that Edgegap can pull from (see edgegap_get_registry_credentials and edgegap_list_registry_tags). Resource units: 1024 cpu units = 1 vCPU; memory_mb must be at least 256 and at most double the cpu units. Set verify_image true on the first version so a bad image fails here rather than at deploy time. Refused, with nothing sent, for the "latest" or an empty docker tag (use a build ID so deployments are reproducible) and for a docker_image that also holds a registry host or tag. Env vars named like secrets (TOKEN, SECRET, PASSWORD, API_KEY…) are hidden in the dashboard. Images on registry.edgegap.com need no registry login: leave registry_username and registry_token out and the version gets the organization's own registry login (registry_profile "Edgegap"). When copying an existing version, copy only non-secret settings: the API returns "This value is set and encrypted" for its registry login and secret env values, and that placeholder is refused here.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"application": "<application>",
"name": "<name>",
"docker_repository": "<docker_repository>",
"docker_image": "<docker_image>",
"docker_tag": "<docker_tag>",
"cpu_units": "<cpu_units>",
"memory_mb": "<memory_mb>",
"ports": "<ports>"
},
"name": "edgegap_create_app_version"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| env | No | Environment variables injected into the container. Values are never echoed back. | |
| name | Yes | Version identifier, typically a build ID or timestamp. | |
| ports | Yes | Ports to expose. At least one is required for players to connect. | |
| dry_run | No | Show the exact request (method, host, path, body) with secrets masked, and send nothing. Local checks still run. Use it to confirm a billable or destructive call before making it. | |
| cpu_units | Yes | vCPU units. 1024 = 1 vCPU. | |
| memory_mb | Yes | Memory in MB. At most 2x cpu_units. | |
| docker_tag | Yes | Image tag: a build ID, commit SHA or timestamp. "latest" and empty tags are refused. | |
| application | Yes | Existing application name. | |
| docker_image | Yes | Namespaced image, e.g. "mystudio/game-server". | |
| verify_image | No | Verify Edgegap can pull the image before accepting the version. | |
| registry_token | No | Registry password or token. | |
| restart_policy | No | What Edgegap does when the server process exits. "never" for match servers that stop themselves (an exit or crash ends the deployment instead of restarting a half-played match); "on_failure" restarts only after a crash (persistent servers); "always" (the API default) restarts after any exit. | |
| endpoint_storage | No | Endpoint Storage name (edgegap_list_endpoint_storage) to export container logs to when deployments end. | |
| docker_repository | Yes | Registry host, e.g. "docker.io" or "registry.edgegap.com". | |
| registry_username | No | Registry username, for private images on other registries (Docker Hub, GHCR, ECR...). Leave it out for registry.edgegap.com: Edgegap then pulls with the organization's own registry login (registry_profile "Edgegap"). | |
| max_duration_minutes | No | Auto-stop after this many minutes. Keeps test deployments from running up cost. |