Skip to content

Commit a156e41

Browse files
authored
Merge pull request #1044 from upbound/support-bundles
Add support bundle docs
2 parents 497523d + ac7c74e commit a156e41

File tree

2 files changed

+110
-0
lines changed

2 files changed

+110
-0
lines changed

docs/reference/usage/index.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,14 @@ Information on Upbound's release policies and lifecycle.
1616

1717
- [Ingress IP Addresses][ingress-ips]
1818

19+
## Support
20+
21+
- [Contact Support][support]
22+
- [Support Bundles][support-bundles]
23+
1924
[licenses]: /reference/usage/licenses/
2025
[ingress-ips]: /reference/usage/ipaddresses/
2126
[lifecycle]: /reference/usage/lifecycle/
2227
[telemetry]: /reference/usage/telemetry/
28+
[support-bundles]: /reference/usage/support-bundles/
29+
[support]: /reference/usage/support/
Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
---
2+
title: Support Bundles
3+
description: Collect diagnostic snapshots for troubleshooting
4+
---
5+
6+
The `up` CLI uses [troubleshoot.sh] to collect diagnostic snapshots from UXP, Spaces, and control planes for troubleshooting.
7+
8+
## Commands
9+
10+
| Command | Description |
11+
|---------|-------------|
12+
| `collect` | Gather logs and resources into a tar.gz archive |
13+
| `template` | Output the default YAML config for customization |
14+
| `serve` | View bundle contents via a local API server |
15+
16+
## Collecting a support bundle
17+
18+
```bash
19+
up support-bundle collect
20+
```
21+
22+
This outputs a timestamped `tar.gz` file (e.g., `upbound-support-bundle-20250115-163905.tar.gz`).
23+
24+
By default, the bundle includes logs and cluster resources from:
25+
26+
- `crossplane-system`
27+
- `upbound-system`
28+
- Any Spaces control plane namespaces
29+
30+
### Filtering namespaces
31+
32+
Include or exclude specific namespaces using glob patterns:
33+
34+
```bash
35+
up support-bundle collect --include-namespaces "prefix-*"
36+
up support-bundle collect --exclude-namespaces upbound-system
37+
```
38+
39+
### Crossplane resources only
40+
41+
Skip log collection and gather only Crossplane CRDs and associated custom resources:
42+
43+
```bash
44+
up support-bundle collect --crossplane-resources-only
45+
```
46+
47+
## Viewing a support bundle
48+
49+
The `serve` command starts a local API server and generates a kubeconfig, letting you browse bundle contents with kubectl or k9s:
50+
51+
```bash
52+
up support-bundle serve ./upbound-support-bundle-20250115-163905.tar.gz
53+
```
54+
55+
Then in another terminal:
56+
57+
```bash
58+
kubectl --kubeconfig=./support-bundle-kubeconfig get pods -A
59+
```
60+
61+
This runs only the API server for viewing collected data, no workloads are actually running.
62+
63+
## Automatic redaction
64+
65+
Sensitive information is automatically redacted, including:
66+
67+
- Kubernetes secrets
68+
- Passwords and API keys
69+
- IPv4 addresses in logs
70+
- ConfigMap data fields
71+
- EnvironmentConfig data fields
72+
- Provider Kubernetes objects
73+
74+
## Shared responsibility
75+
76+
Automatic redaction covers common cases but cannot guarantee complete removal of all sensitive data. Before sharing a support bundle with Upbound:
77+
78+
1. Use `up support-bundle serve` to review the contents
79+
2. Remove any sensitive information or PII that wasn't automatically redacted
80+
3. Add custom redactors if you need to exclude specific patterns
81+
82+
## Custom configuration
83+
84+
Generate the default config template:
85+
86+
```bash
87+
up support-bundle template > support-bundle-config.yaml
88+
```
89+
90+
Edit the file to add custom collectors or redactors, then collect with it:
91+
92+
```bash
93+
up support-bundle collect -c support-bundle-config.yaml
94+
```
95+
96+
The config file supports multi-document YAML—include both `SupportBundle` and `Redactor` resources separated by `---`.
97+
98+
When using `-c`, the `--include-namespaces` and `--exclude-namespaces` flags are ignored.
99+
100+
For redactor syntax, see the [troubleshoot.sh redactors documentation][redactors].
101+
102+
[troubleshoot.sh]: https://troubleshoot.sh/docs/support-bundle/introduction
103+
[redactors]: https://troubleshoot.sh/docs/redact/redactors

0 commit comments

Comments
 (0)