From Zero to Hero: Kickstart Your Journey with UDS Core

Kinsey Matthews
Defense Unicorns
Published in
6 min readMar 15, 2024

Kicking off with Unicorn Delivery Service (UDS)

Imagine UDS as your tech Uber Eats, but instead of delivering your late-night snacks, it delivers software fast, safe, and straight to where it’s most needed — from remote military areas to secure government buildings.

Spotlight on UDS Core

UDS is changing the game in software delivery, and UDS Core is the MVP for the defense sector. It’s not just about moving software from point A to point B — it’s about making sure that software is deployed fast, secure and rule-compliant.

Why UDS Core Stands Out:

  • Speedy Deployment: Get things done in 10–15 minutes, not hours or days.
  • Boosts Security: With top-notch security standards and tools like FIPS and Istio, it’s like digital armor for your data.
  • Data Insights: Quick data insights mean enhancing operational efficiency.
  • Simplified Compliance: UDS Core makes meeting security controls straightforward and enables compliance without the hassle.
  • Ahead on CVEs: UDS Core is always on guard, catching vulnerabilities before they become a problem.
  • Open Source: No more tangled licensing fees. It’s free and fabulous!

A Peek Inside UDS Core’s Toolbox

UDS Core is your “multi-tool” loaded with open-source tools. From Grafana to IDAM for access control, UDS Core has everything to keep your defense operations secure.

Here’s a quick rundown of what’s inside UDS Core:

  • Grafana: Visuals and dashboards for in-depth data analysis.
  • Istio: The traffic cop for data, making sure only the right information flows between services, keeping things smooth and secure.
  • IDAM (Identity and Access Management): Is the security guard for your operations, verifying user identities and managing access rights to keep sensitive data secure.
  • Loki: Scalable log aggregation with high availability.
  • Metrics Server: Keeps an eye on resources, scaling as needed.
  • Neuvector: Container security from start to finish.
  • Pepr: Oversees security policies and operational management.
  • Prometheus Stack: Scalable set of tools for monitoring and alerting.
  • Promtail: Simplifies log collection and data gathering.

Ready to Kickstart Your UDS Core Adventure?

Here’s a step-by-step guide to get UDS Core up and running on your system:

Step 1: Install UDS CLI

First, you’ll install the Unicorn Delivery Service (UDS) Command Line Interface (CLI) tool. This tool is used to manage UDS bundles. You can install it using Homebrew, a package manager for macOS (and Linux).

If you’re using a Mac with Homebrew installed, run:

brew install defenseunicorns/tap/uds

For Linux users, check out: UDS CLI installation guide.

Step 2: Docker Desktop — or — Colima

You decide! Docker Desktop has a user-friendly interface, while Colima keeps it lean. Install what feels right for your mission.

Install Docker Desktop:

Docker Desktop provides a user-friendly interface- it’s good for both beginners and experienced users. To install Docker Desktop:

Install Colima:

Colima is an open source alternative to Docker Desktop. It’s lightweight and easy to use, especially if you’re working with containers or want to run a local Kubernetes cluster. To install Colima:

brew install colima

Step 3: Install K3d

Deploying the K3d Core Bundle with UDS Core is a way to test out how software works in a sandbox that feels like the real deal but is actually running inside your computer.

brew install k3d

Here’s what you get when you deploy K3d Core Bundle:

  • K3d: This puts a Kubernetes cluster into containers on your computer. It lets you run and test out apps in a cloud-like environment but running it locally. No extra hardware is needed.
  • Minio: Storage that is a lot like Amazon’s S3 storage bucket. You can use it to keep items that your apps might need.
  • Local Path Provisioner: This gives your apps a place to store their data and uses the storage available on your computer.
  • MetalLB: Normally, reaching services in a cluster from the outside world needs the internet. With MetalLB you get a local service address so you can access them like you have an internet connection.
  • HAProxy: Guides data to the right place without getting lost.

Step 4: Start Colima (*If that was your choice in Step 2)

Before deploying the UDS Core bundle, make sure that your container environment is running. Let’s start Colima with specified resources to ensure that you have enough power for your Kubernetes cluster.

colima start --cpu 10 --memory 24 --disk 50

This command is used to start a Colima instance with specific hardware resources allocated to it. Here’s a breakdown of what each part of the command does:

  • colima start: This part of the command initiates a new Colima instance.
  • cpu 10: This tells Colima virtual machine (VM) to allocate 10 CPU cores. CPU cores improve the performance of the containers and applications running inside the VM, especially if they are resource-heavy or if you plan to run multiple containers simultaneously.
  • memory 24: This option allocates 24 gigabytes (GB) of RAM to the Colima VM.
  • disk 50: This sets the size of the virtual hard disk for the Colima VM to 50 gigabytes. Note: having enough disk space is crucial to avoid running out of storage, which can lead to errors and performance issues.

Step 5: Deploy UDS Core Using K3d

Now that your environment is set up, you can deploy UDS Core. This next command deploys the “k3d-core-demo” version 0.22.2

https://github.com/defenseunicorns/uds-core/releases

uds deploy k3d-core-demo:0.22.2

This command deploys the “k3d-core-demo” OCI artifact, giving you a fully functional, demo-ready Kubernetes environment with UDS Core installed and ready.

This next part is a bit of a wait — 10 to 12 minutes. Grab a snack and when you get back, you should see everything up and running.

Step 6: Inspect K9s

This shows everything running in your setup. This step is helpful to see how your Kubernetes (K8s) cluster is doing.

  • Run the following:
uds z t m #uds zarf tools monitor
  • If you land on a page showing the “default namespace” (think of namespaces like different rooms in your “cluster house”, and default is the lobby), press :0. This shows you to the “all namespace” view, where you can see everything going on across all the “rooms.”
  • To dig into the details of a specific log, use the down arrow key to highlight the log you’re interested in. Then, type : l w (that’s L for logs and w for wrapping). This command wraps the log text, making it easier to read the entire story without scrolling sideways.

Step 7: Hook Up with Keycloak

Wanna take a sneak peek at the admin side of things? Here’s how:

uds zarf connect keycloak
  • Set up your admin username and password, and you’re in!

Welcome to the Administration Console:

Step 8: Dive into the User Interfaces

Now, let’s check out the dashboards that give you the information on what’s happening:

  • NeuVector: This is where you see all about your container’s security.
  • Grafana: Gives you graphs and charts on your data.
  • Keycloak: Keeps your sign-ins safe, making sure only people with correct access can get to your apps.

What’s Next?

This is just the beginning. Keep an eye out for deeper dives into UDS Core’s potential.

Need Help?

Got questions? Need more info? We’re ready to help.

Message us up for a deeper dive into UDS Core or to chat about how it can amplify your mission.

https://www.defenseunicorns.com/contactus

--

--

Kinsey Matthews
Defense Unicorns

𝐂𝐥𝐨𝐮𝐝 𝐄𝐧𝐠𝐢𝐧𝐞𝐞𝐫 ☁️ 𝐇𝐚𝐬𝐡𝐢𝐜𝐨𝐫𝐩 𝐓𝐞𝐫𝐫𝐚𝐟𝐨𝐫𝐦 𝐀𝐬𝐬𝐨𝐜𝐢𝐚𝐭𝐞 🔒 𝐀𝐖𝐒 𝐂𝐞𝐫𝐭𝐢𝐟𝐢𝐞𝐝 𝐃𝐞𝐯𝐎𝐩𝐬 🌐 𝐋𝐢𝐧𝐮𝐱 𝐂𝐞𝐫𝐭𝐢𝐟