Admin: Templates
Full template CRUD with create/edit modal for images, resources, environment variables, config slots, and markdown content
What you see
URL: /dashboard/admin/templates (list), /dashboard/admin/templates/[id] (detail)
Requires admin or superadmin role.
The Admin Templates page provides full create, read, update, and delete operations for the template catalog. The layout mirrors the user-facing Templates page (search bar, category sidebar, template grid with sort and pagination) but adds admin-specific actions: a "Create Template" button, edit/delete controls on each template card, and a comprehensive create/edit form.
List view
- Search bar — Full-text search with 300ms debounce.
- Category sidebar — Filter by category with template counts.
- Sort dropdown — Most Popular, Recently Updated, Name A-Z, Newest.
- Template grid — Cards with edit and delete action buttons (admin variant).
- Pagination — 50 templates per page.
Detail view
URL: /dashboard/admin/templates/[id]
Clicking a template card opens the dedicated admin detail/edit page with all fields editable in sections.
Available actions
| Action | Where | What it does |
|---|---|---|
| Create Template | Page header button | Opens the create form with empty fields |
| Edit | Click a template card | Opens the detail/edit page |
| Delete | Delete button on card | Deletes the template after confirmation |
| Search | Search bar | Filters templates by name and description |
| Filter by category | Category sidebar | Shows only templates in the selected category |
| Sort | Sort dropdown | Changes the sort order |
Create/Edit form fields
Application
Every template (stack) belongs to an Application. When creating a template, you must select or create an application first.
| Field | Description |
|---|---|
| Application | Parent application this stack belongs to (required) |
| Stack Type | single_service (one container) or compose_stack (multi-service docker-compose) |
| Stack Label | Display label for this stack variant (e.g. "With PostgreSQL", "Standalone") |
Basic information
| Field | Description |
|---|---|
| Name | Template display name (required) |
| Category | Dropdown of all categories, or "None" |
| Description | Multi-line text description |
Container image
| Field | Description |
|---|---|
| Image Name | Docker image name (e.g. nvidia/cuda) (required) |
| Image Tag | Image tag (e.g. latest). Optional, defaults to latest. |
Resource requirements
| Field | Description |
|---|---|
| CPU Request | Kubernetes CPU request (e.g. 500m) |
| Memory Request | Kubernetes memory request (e.g. 4Gi) |
| GPU Count | Number of GPUs required (0 for none) |
Access and visibility
| Field | Description |
|---|---|
| Min Tier | Minimum pricing tier required: Free, Pro, or Enterprise |
| Public | Checkbox. If checked, visible in the public catalog. |
| Featured | Checkbox. If checked, appears in featured template lists. |
| PodWarden Approved | Checkbox. Marks the template as reviewed and approved. |
| Security Audited | Checkbox. Marks the template as security audited. |
Networking
| Field | Description |
|---|---|
| Host Network | Checkbox. Enables host networking (one pod per node). Shows a warning when enabled. |
| Required Network Types | Checkboxes for public, mesh, lan. Clusters must support these network types to deploy the template. |
Static environment variables
Key-value pairs baked into the template. Users cannot change these at deploy time.
| Field | Description |
|---|---|
| NAME | Variable name |
| value | Variable value |
Configurable environment variables (schema)
Variables that users can customize when deploying. Each entry has:
| Field | Description |
|---|---|
| VAR_NAME | Variable name |
| Required | Checkbox. If checked, deployment requires a value. |
| Default value | Pre-filled value |
| Description | Help text shown to users |
| Generate | Auto-generation strategy for secrets. Options: password, hex16, hex32, hex64, base64, uuid. When set, the one-click installer auto-generates a random value if the field is empty. |
The generate field is what enables the "Auto-generate secrets" checkbox in the install command modal. If no env vars have a generate hint, the checkbox does not appear.
Config file slots (schema)
Allow users to mount configuration files into the container. Each slot has:
| Field | Description |
|---|---|
| Display name | Human-readable name (e.g. "GitLab Configuration") |
| Unique key | Machine-readable key (e.g. gitlab_rb) |
| Mount path | Container path (e.g. /etc/gitlab/gitlab.rb) |
| File type | Dropdown: yaml, toml, json, ini, conf, rb, xml, env, plaintext |
| Required | Checkbox |
| Description | Help text |
| Default content | Pre-filled file content |
Security context
Container-level security settings:
| Field | Description |
|---|---|
| Privileged | Run the container with elevated privileges |
| Capabilities Add | Linux capabilities to add (e.g. NET_ADMIN) |
| Capabilities Drop | Linux capabilities to remove |
Health probes
Liveness, readiness, and startup probes:
| Field | Description |
|---|---|
| Probe type | httpGet, tcpSocket, or exec |
| Path/Port/Command | Probe target |
| Period/Timeout/Threshold | Timing configuration |
Compose stack fields
For templates with stack type compose_stack:
| Field | Description |
|---|---|
| Compose Source | Raw docker-compose.yml content |
| Compose Services | Extracted service list (name, image, is_primary) |
| Compose Scripts | Pre/post deployment scripts |
Content
| Field | Description |
|---|---|
| Author | Template author or maintainer name |
| Author URL | Link to author's website or project page |
| Documentation URL | Link to external documentation |
| Content Page (Markdown) | GFM markdown content with Write/Preview toggle. Supports tables, task lists, and strikethrough. |
Related docs
- Templates — User-facing template browser
- Catalog — Public catalog
- Admin Categories — Manage categories
- Apps & Stacks — How templates become deployable workloads