Container App Template
API for container app template operations
Version: 0.1.0
Server
- URL:
https://api.kopernik.us/v0- Kopernik.us API server
Paths
/resource/apptemplate
GET
List container app templates
List available container app templates
Parameters:
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| nextToken | query | string | ❌ | Token for the next page of templates, if there are more items to fetch |
| maxResults | query | integer | ❌ | Maximum number of templates to fetch |
| jq | query | string | ❌ | JQ filter expression to filter the results. Only resources where the expression evaluates to a truthy value are included. The expression is applied to each resource’s JSON representation. Uses jq 1.7 syntax. |
Responses:
-
200: Container app templates list
- Content Type:
application/json- Schema: ContainerAppTemplatePagedResourceResponse
- Content Type:
-
400: Argument validation error
- Content Type:
application/json- Schema: ErrorResponse
- Content Type:
/resource/apptemplate/{resourceUid}
GET
Get container app template
Get container app template details
Parameters:
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| resourceUid | path | string | ✅ | Unique identifier of the template |
Responses:
-
200: Container app template details
- Content Type:
application/json- Schema: ContainerAppTemplateResourceResponse
- Content Type:
-
400: Argument validation error
- Content Type:
application/json- Schema: ErrorResponse
- Content Type:
-
404: Container app template not found
- Content Type:
application/json- Schema: ErrorResponse
- Content Type:
Schemas
ContainerAppTemplateEnvProperty
Defines one environment property that the user must (or may) provide when creating an app from this template.
Type: object
Properties:
| Name | Type | Required | Description |
|---|---|---|---|
| envVar | string | ✅ | Container environment variable name (e.g. MYSQL_ROOT_PASSWORD) |
| label | string | ✅ | Human-readable label for the UI (e.g. Admin password) |
| constant | boolean | If true, the value is not configurable, and “default” value must be provided | |
| secret | boolean | If true, the value should be masked in the UI and not logged | |
| required | boolean | Whether the user must provide a value when creating from this template | |
| default | string | Optional default value when the user does not provide one |
ContainerAppTemplateVersion
Version of an application.
Type: object
Properties:
| Name | Type | Required | Description |
|---|---|---|---|
| version | string | ✅ | Application version. Usually matches Docker image version tag. |
| image | ContainerImage | ✅ | Docker image used when creating an app from this template. |
| productLink | string | Link to product documentation, if differs from parent’s documentation. | |
| license | string | License applied to the version, if differs from parent’s license. | |
| machineRequirements | ContainerAppTemplateMachineRequirements | Machine requirements of the version, replacing the template’s own entirely rather than field by field. |
ContainerAppTemplate
Container app template.
Composition: allOf
Type: object
Properties:
| Name | Type | Required | Description |
|---|---|---|---|
| name | string | ✅ | Display name of the template (e.g. MySQL 8) |
| description | string | Optional short description of the template. | |
| versions | array<ContainerAppTemplateVersion> | ✅ | List of available image versions. The first version is the default. |
| productLink | string | Link to product documentation. | |
| license | string | Software license for the template’s primary application image, for example Apache-2.0, MIT. | |
| env | array<ContainerAppTemplateEnvProperty> | Environment property definitions; the UI renders a form from these, and values are mapped to container env vars | |
| ports | array<BindPort> | Port mappings applied when creating an app from this template | |
| dataPaths | array<ContainerAppTemplateDataPath> | Container filesystem paths the image stores persistent data in. Each recommends one entry of runtimeProps.bindMounts when a container app is created from the template, and one stating minSizeGb also recommends a dedicated volume of at least that size to back it. |
|
| machineRequirements | ContainerAppTemplateMachineRequirements | Version-independent requirements to run this template, applying to every version which states none of its own. | |
| tags | array |
Optional tags for search and filtering (e.g. database, web, etc.) |
ContainerAppTemplateMachineRequirements
What a machine has to provide to run this template well. These guide the choice of a machine type towards one the application is at home on rather than the smallest on offer; they are not a constraint. The API server does not enforce them, and a container app asking for a machine below them is created on it, but may not function properly.
Type: object
Properties:
| Name | Type | Required | Description |
|---|---|---|---|
| minCpus | number | Fewest CPUs the application is expected to run well on. | |
| minMemoryGb | number | Least memory the application is expected to run well on, in gigabytes. |
ContainerAppTemplateDataPath
One container path the application stores persistent data in, and the storage it asks for.
Type: object
Properties:
| Name | Type | Required | Description |
|---|---|---|---|
| containerPath | string | ✅ | Path inside the container, as runtimeProps.bindMounts names it. |
| minSizeGb | number | Least storage the application is expected to run well with, in gigabytes. A path stating it is best backed by a dedicated volume of at least this size, so that the data outlives the machine’s root disk; a path stating none is left on the root disk unless the caller places it elsewhere. |
ContainerAppTemplateResourceResponse
Response with container app template
Composition: allOf
Type: object
Properties:
| Name | Type | Required | Description |
|---|---|---|---|
| resource | ContainerAppTemplate | ✅ |
ContainerAppTemplatePagedResourceResponse
Response with paged container app templates
Composition: allOf
Type: object
Properties:
| Name | Type | Required | Description |
|---|---|---|---|
| resources | array<ContainerAppTemplate> | ✅ |