From ec44ceaeb287e3cb7dfa1bdf88a2c6255346ac22 Mon Sep 17 00:00:00 2001 From: "mintlify[bot]" <109931778+mintlify[bot]@users.noreply.github.com> Date: Tue, 4 Aug 2026 22:09:57 +0000 Subject: [PATCH] docs: document runpodctl template registry-auth-id and port-labels flags --- runpodctl/reference/runpodctl-template.mdx | 33 +++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/runpodctl/reference/runpodctl-template.mdx b/runpodctl/reference/runpodctl-template.mdx index e32c5bbd2..17284a094 100644 --- a/runpodctl/reference/runpodctl-template.mdx +++ b/runpodctl/reference/runpodctl-template.mdx @@ -94,12 +94,14 @@ Number of results to skip for pagination. ### Get template details -Get detailed information about a specific template, including README, environment variables, and exposed ports: +Get detailed information about a specific template, including README, environment variables, exposed ports, and any port labels set via `--port-labels`: ```bash runpodctl template get ``` +The response includes a `portsConfig` field that lists each exposed port with its human-readable label (when one is set). + ### Create a template Create a new template: @@ -110,6 +112,12 @@ runpodctl template create --name "my-template" --image "runpod/pytorch:2.8.0-py3 # Create a Serverless template runpodctl template create --name "my-serverless-template" --image "my-image:latest" --serverless + +# Attach a container registry auth for a private image +runpodctl template create --name "private-gpu" --image "registry.example.com/team/image:tag" --registry-auth-id + +# Expose ports with human-readable labels +runpodctl template create --name "dev" --image "example/image:tag" --ports "22/tcp,8888/http" --port-labels "22=ssh,8888=jupyter lab" ``` @@ -144,6 +152,10 @@ Volume mount path. Comma-separated list of ports to expose (e.g., `8888/http,22/tcp`). + +Human-readable labels for the ports declared with `--ports`, shown in the Runpod console. Accepts either comma-separated `port=name` pairs (e.g., `22=ssh,8888=jupyter lab`) or a JSON object (e.g., `'{"22/tcp":"ssh","8888/http":"jupyter lab"}'`). Each label must reference a port listed in `--ports`, so this flag requires `--ports`. Use the JSON form if a label name contains a comma, since the pair form splits on commas. + + Environment variables as a JSON object (e.g., `'{"KEY":"value"}'`). @@ -164,12 +176,23 @@ Create as a Serverless template. Serverless templates do not support volume disk Template README content. + +ID of a container registry auth to attach to the template, so private images can be pulled when the template is used. List available auth IDs with `runpodctl registry list`. + + ### Update a template Update an existing template: ```bash +# Rename a template runpodctl template update --name "new-name" + +# Attach a container registry auth +runpodctl template update --registry-auth-id + +# Update port labels +runpodctl template update --port-labels "22=ssh,8888=jupyter lab" ``` #### Update flags @@ -186,6 +209,10 @@ New Docker image name. New comma-separated list of ports. + +New human-readable labels for the template's ports. Accepts the same `port=name` pair or JSON forms as on `create`. When `--ports` is also passed, labels are validated against the new port list; otherwise they are validated against the template's existing ports. Pass an empty value (`--port-labels ""`) to clear all labels. + + New environment variables as a JSON object. @@ -198,6 +225,10 @@ New README content. New container disk size in GB. + +New container registry auth ID. Pass an empty value (`--registry-auth-id ""`) to detach the current registry auth from the template. + + ### Delete a template Delete a template: