Download Content from Pods
The permission required depends on how you access the Pod Terminal:
| Access Path | Required Permission |
|---|---|
| App Details → Pod → Terminal | Admin access on the specific application |
| Resource Browser → Pods → Terminal | Admin access on the Kubernetes resource |
| Resource Browser → Cluster Terminal | Admin access of all the K8s resources of that cluster |
Introduction​
While debugging Kubernetes clusters or pods, the workflow often requires exec-ing into a container and running commands to identify issues. Once the root cause is found, there is frequently a need to retrieve files from within the container — such as log files, configuration files, or diagnostic outputs — to share with teammates or archive for further analysis.
Devtron provides built-in support across three access points to download files directly to your local system, without needing kubectl cp or any external CLI tooling:
- App Details → Pod → Terminal — for downloading files from pods belonging to a specific application
- Resource Browser → Pods → Terminal — for downloading files from any pod across any cluster
- Resource Browser → Cluster Terminal — for downloading files at the node level
Common use cases include:
- Downloading application log files generated inside a container
- Retrieving runtime configuration files for auditing
- Exporting diagnostic outputs after a debugging session
- Sharing troubleshooting artifacts with your team
Prerequisites​
Before you can download content from a pod, ensure the following:
- To download via App Details, you have Admin access on the specific application.
- To download via Resource Browser or Cluster Terminal, you have Admin access on the Kubernetes resource.
- The pod you want to access is in a Running state.
- The file you want to download exists at a known path inside the container.
Steps to Download Content from a Pod​
You can access the Pod Terminal and download content from two different places in Devtron — choose the one that fits your workflow:
- Via App Details
- Via Resource Browser
Use this path when you are debugging a specific application and want to download files from one of its running pods.
Step 1 — Navigate to App Details​
Go to Applications and click the application whose pod you want to access.
In the application overview, click App Details.
Figure 1: Downloading content from a pod via App Details
Step 2 — Locate the Pod​
- Scroll down to the K8s Resources section on the App Details page.
- Click on Pods to expand the pod list for the application.
- Identify the pod you want to access and click on it to open its details.
Step 3 — Open the Pod Terminal​
- In the pod details panel, click the Terminal tab.
- Select the Container from the dropdown (for pods with multiple containers).
- Select the Shell type —
shorbash— depending on what is available in the container image.
If you are unable to connect, try switching the shell type. Not all container images include both sh and bash.
The terminal session will open inside the running container.
Step 4 — Download the File​
Once you are inside the pod terminal:
-
Confirm the path of the file you want to download. For example:
ls /var/log/app/ -
Click the Download icon (↓) in the terminal toolbar.
-
In the dialog that appears, enter the absolute path of the file inside the container. For example:
/var/log/app/application.log -
Click Download. The file will be transferred to your local system automatically.
Use this path when you want to access any pod across any cluster, regardless of which application it belongs to.
Step 1 — Navigate to the Resource Browser​
Go to Infrastructure Management → Resource Browser and select the cluster containing the pod you want to access.
Figure 2: Downloading content from a specific pod via Resource Browser
Step 2 — Locate the Pod​
- In the left sidebar under K8s Resources, expand Workloads.
- Click Pod.
- Use the search bar to find the pod you wish to access.
- Click the pod name to open its details panel.
Step 3 — Open the Pod Terminal​
- In the pod details panel, click the Terminal tab.
- Select the Container from the dropdown (for pods with multiple containers).
- Select the Shell type —
shorbash— depending on what is available in the container image.
If you are unable to connect, try switching the shell type. Not all container images include both sh and bash.
The terminal session will open inside the running container.
Step 4 — Download the File​
Once you are inside the pod terminal:
-
Confirm the path of the file you want to download. For example:
ls /var/log/app/ -
Click the Download icon (↓) in the terminal toolbar.
-
In the dialog that appears, enter the absolute path of the file inside the container. For example:
/var/log/app/application.log -
Click Download. The file will be transferred to your local system automatically.
Downloading from the Cluster Terminal​
The download feature is also available at the Cluster Terminal level (node-level access), in addition to the Pod Terminal.
To access the Cluster Terminal:
- In the Resource Browser, click the Terminal icon (⌨) on the right side of the cluster row.
- Select a Node, Namespace, Image, and Shell from the dropdowns.
- Use the Download icon in the toolbar to download files from the node.
Figure 3: Downloading content via the Cluster Terminal
Refer to Cluster Terminal for more details on node-level access.
What You Can Download​
| File Type | Example Path |
|---|---|
| Application log files | /var/log/app/application.log |
| Configuration files | /etc/myapp/config.yaml |
| Diagnostic outputs | /tmp/debug-output.txt |
| Any accessible file | Any path readable by the container process |
You can only download files that are accessible within the container's filesystem. Files on volumes not mounted to that container, or files requiring elevated permissions beyond the container's process user, may not be downloadable.
Troubleshooting​
| Issue | Possible Cause | Resolution |
|---|---|---|
| Terminal does not connect | Shell (bash/sh) not present in image | Switch to a different shell from the dropdown |
| Download dialog does not appear | File path is incorrect or file does not exist | Verify the path inside the terminal first with ls |
| File downloads as empty | File is being actively written to | Wait for the write operation to complete, then retry |
| Permission denied on file | Container process lacks read access | Use an ephemeral container with appropriate permissions |