knot.template
The knot.template library provides template management functions. Templates define the configuration for creating spaces.
Functions
| Function | Description |
|---|---|
list() |
List all templates |
get(template_id) |
Get template by ID or name |
create(name, ...) |
Create a new template |
update(template_id, ...) |
Update template properties |
delete(template_id) |
Delete a template |
get_icons() |
Get list of available icons |
Usage
import knot.template as template
# List all templates
templates = template.list()
for t in templates:
print(f"{t['name']}: {t['platform']}")
# Get a template
t = template.get("ubuntu")
print(t['description'])
# Get available icons
icons = template.get_icons()
print(icons)Template Properties
list() returns summary objects containing:
id- Template IDname- Template namedescription- Descriptionplatform- Platform (e.g., “linux/amd64”)active- Whether the template is activeusage- Current usage countdeployed- Number of deployed spaces
get() returns the full template including all of the above plus:
job- Job definitionvolumes- Volume definitionsis_managed- Whether managed by the systemcompute_units- Compute units quotastorage_units- Storage units quotahash- Template hashwith_terminal- Terminal access enabledwith_vscode_tunnel- VS Code tunnel enabledwith_code_server- Code Server enabledwith_ssh- SSH access enabledwith_run_command- Run command enabledallow_node_migration- Whether stopped spaces created from this local-container template can be reassigned to another node. Combined withhealth_check_auto_restart, automatic failed-node recovery is available in Knot Pro Proschedule_enabled- Schedule enabledauto_start- Auto-start enabledmax_uptime- Maximum uptime valuemax_uptime_unit- Maximum uptime uniticon_url- Icon URLgroups- List of group IDszones- List of zone namesschedule- List of schedule day dicts (enabled,from,to)custom_fields- List of custom field dicts (name,description)health_check_type- Health check type (none,agent,tcp,http,program, orcustom)health_check_config- Health check target, command, or custom script depending on typehealth_check_skip_ssl_verify- Skip TLS verification for HTTP health checkshealth_check_timeout- Health check timeout in secondshealth_check_interval- Health check interval in secondshealth_check_max_failures- Number of consecutive failures before the space is considered unhealthyhealth_check_auto_restart- Automatically restart when the health check fails. Foragent, this restarts local-container and Nomad spaces when the agent stops transmitting. Combined withallow_node_migration, automatic failed-node recovery is available in Knot Pro Prodisable_user_activity- Whether filesystem user activity collection is disabled for spaces created from this template Proports- List of port dicts (name,port,protocol) defining the web ports exposed by spaces created from this template. These are injected asKNOT_HTTP_PORT,KNOT_HTTPS_PORT, andKNOT_TCP_PORTenvironment variables.
create() and update() also accept paths, either as a string or list of strings. These are appended to the template volume definition as managed paths entries.
For health_check_type="agent", no health_check_config value is required.