Warning
UDS Core is in early alpha and is not ready for general use.
UDS Core groups foundational Unicorn Delivery Service applications that are heavily influenced Big Bang.
The core applications are:
- Authservice - Authorization
- Grafana - Monitoring
- Istio - Service Mesh
- KeyCloak - Identity & Access Management
- Kiali - Service Mesh Observability
- Kyverno - Policy Engine
- Loki - Log Aggregation
- Metrics Server - Metrics
- Neuvector - Container Security
- Prometheus Stack - Monitoring
- Promtail - Log Aggregation
- Tempo - Tracing
- Velero - Backup & Restore
Dependency | Minimum Version |
---|---|
Zarf | 0.31.1 |
UDS CLI | 0.4.1 |
NodeJS | LTS or Current |
A common need is bootstrapping a new UDS Core environment for development or testing. The commands below will deploy the latest version of UDS Core. See the remaining sections for more details on the different bundles and packages available.
# ARM version
uds deploy oci://ghcr.io/defenseunicorns/packages/uds/bundles/k3d-core:arm64
# AMD version
uds deploy oci://ghcr.io/defenseunicorns/packages/uds/bundles/k3d-core:amd64
The bundle includes the uds.dev certs by default. You can use the UDS environment variables to override the default values. E.g.
# Set environment variables with the contents of your certificate and key files
UDS_ADMIN_TLS_CERT=$(cat admin.crt)
UDS_ADMIN_TLS_KEY=$(cat admin.key)
UDS_TENANT_TLS_CERT=$(cat tenant.crt)
UDS_TENANT_TLS_KEY=$(cat tenant.key)
# AMD version
uds deploy ocs://ghcr.io/defenseunicorns/package/uds/bundles/k3d-core:amd64
UDS core publishes two packages:
-
core: The standard UDS Core package that is a collection of individual packages that are deployed as a single unit.
-
core-istio: The UDS Core Istio package that only deploys Istio.
These bundles are intended for bootstrapping common development & testing environments and should not be used for production. They also serve as examples to create custom bundles.
-
k3d-core: A bundle to create a local k3d cluster with UDS Core installed.
-
k3d-core-istio: A bundle to create a local k3d cluster with only Istio from UDS Core installed.
For complete testing, we test against a UDS Bundle that uses a locally-built Zarf package. Manually testing against the packages found under /packages
is also possible using the zarf
command.
uds run test-uds-core
The individual packages that make up UDS Core are broken down in src/
, the commands below can be used to work with them individually in development.
UDS_PKG=neuvector uds run test-single-package
UDS_PKG=neuvector uds run create-single-package
UDS_PKG=neuvector uds run deploy-single-package
uds run -f src/neuvector/tasks/validate.yaml run