diff --git a/runpodctl/reference/runpodctl-template.mdx b/runpodctl/reference/runpodctl-template.mdx index e32c5bbd2..4d3b81b50 100644 --- a/runpodctl/reference/runpodctl-template.mdx +++ b/runpodctl/reference/runpodctl-template.mdx @@ -94,7 +94,7 @@ 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, and exposed ports (with their labels): ```bash runpodctl template get @@ -110,6 +110,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 + +# Create a template that pulls from a private registry +runpodctl template create --name "private-gpu" --image "registry.example.com/team/image:tag" --registry-auth-id + +# Create a template with labeled ports +runpodctl template create --name "dev" --image "my-image:latest" --ports "22/tcp,8888/http" --port-labels "22=ssh,8888=jupyter lab" ``` @@ -144,6 +150,14 @@ Volume mount path. Comma-separated list of ports to expose (e.g., `8888/http,22/tcp`). + +Display names for the ports the template exposes, shown next to each port in the Runpod console. Provide comma-separated `port=name` pairs (e.g., `22=ssh,8888=jupyter lab`) or a JSON object (e.g., `{"22":"ssh","8888":"jupyter lab"}`). This flag requires `--ports`, and every labeled port must also appear in `--ports`. The pair form splits on commas, so use the JSON form for any label name that contains a comma. + + + +ID of the container registry authentication used to pull the image from a private registry. Find the ID with [`runpodctl registry list`](/runpodctl/reference/runpodctl-registry). + + Environment variables as a JSON object (e.g., `'{"KEY":"value"}'`). @@ -169,7 +183,14 @@ Template README content. Update an existing template: ```bash +# Rename a template runpodctl template update --name "new-name" + +# Attach registry credentials +runpodctl template update --registry-auth-id + +# Update port labels (or pass "" to clear them) +runpodctl template update --port-labels "22=ssh,8888=jupyter lab" ``` #### Update flags @@ -186,6 +207,14 @@ New Docker image name. New comma-separated list of ports. + +New display names for the template's exposed ports, as `port=name` pairs or a JSON object. Pass an empty value (`--port-labels ""`) to remove all port labels. + + + +New container registry authentication ID for pulling private images. Pass an empty value (`--registry-auth-id ""`) to detach registry credentials from the template. + + New environment variables as a JSON object.