Quickstart
What you’ll accomplish
Section titled “What you’ll accomplish”By the end of this quickstart you’ll have:
- Written a
uds-bundle.yamlreferencing two Zarf packages - Created a bundle locally
- Deployed it to a Kubernetes cluster
To understand how bundles fit into the UDS ecosystem, see Bundles.
Prerequisites
Section titled “Prerequisites”- UDS CLI installed
- Access to a Kubernetes cluster
-
Create a
uds-bundle.yamlCreate a new directory and add a
uds-bundle.yaml:uds-bundle.yaml kind: UDSBundlemetadata:name: my-first-bundledescription: A minimal UDS bundle exampleversion: 0.0.1packages:- name: initrepository: ghcr.io/zarf-dev/packages/initref: v0.73.1- name: dos-gamesrepository: ghcr.io/zarf-dev/packages/dos-gamesref: 1.3.0This bundle deploys the Zarf init package followed by dos-games.
-
Create the bundle
From the directory containing your
uds-bundle.yaml:Terminal window uds create .UDS CLI pulls the referenced Zarf packages from their OCI registries and assembles them into a local tarball:
uds-bundle-my-first-bundle-amd64-0.0.1.tar.zst -
Deploy the bundle
Terminal window uds deploy uds-bundle-my-first-bundle-amd64-0.0.1.tar.zst --confirmTo deploy from an OCI registry instead:
Terminal window uds deploy ghcr.io/<your-org>/dev/my-first-bundle:0.0.1 --confirm
Verification
Section titled “Verification”After deployment, confirm the pods are running:
uds zarf tools kubectl get pods -ATroubleshooting
Section titled “Troubleshooting”Problem: Bundle architecture mismatch
Section titled “Problem: Bundle architecture mismatch”Symptom: bundle architecture mismatch error during deploy.
Solution: Use -a amd64 or -a arm64 to specify the target architecture explicitly.
Problem: OCI pull errors
Section titled “Problem: OCI pull errors”Symptom: Errors pulling packages from an OCI registry.
Solution: Verify registry credentials with uds zarf tools registry login.
Problem: Package deploy timeout
Section titled “Problem: Package deploy timeout”Symptom: A package deployment times out before completing.
Solution: Set timeout on the package in uds-bundle.yaml (e.g., timeout: 10m). To retrieve logs from the most recent operation, run uds logs.
Related Documentation
Section titled “Related Documentation”- Use Bundle Overrides: Customize package configuration at deploy time without modifying the bundle.
- Use UDS Runner: Automate tasks with UDS Runner’s built-in task execution.
- Monitor a Cluster: Inspect running workloads and Pepr events from the CLI.