Code Monkey home page Code Monkey logo

uds-core's Introduction

Unicorn Delivery Service - Core (UDS Core)

UDS Core establishes a secure baseline for cloud-native systems and ships with compliance documentation and first-class support for airgap/egress-limited systems. Based on the work of Platform One, UDS Core expands on the security posture of Big Bang while providing advanced automation with the UDS Operator and UDS Policy Engine. UDS Core is a collection of several individual applications combined into a single Zarf package and we recommend using UDS CLI to deploy it as a UDS Bundle.

tl;dr - try it now

Core Applications

Future Applications

  • Kiali - Service Mesh Observability
  • Tempo - Tracing

Prerequisites


Using UDS Core in Production

While the UDS Bundles published by this repo can be used for dev and test environments and include a K3d cluster, UDS Core also publishes a UDS Package that is intended to be used in your own UDS Bundle. You can use the k3d-core-demo bundle as an example.


Quickstart, Dev & Test Environments

UDS Core publishes bundles you can use for trying out UDS Core or for UDS Package development where you only need part of UDS Core. These bundles leverage UDS K3d to create a local k3d cluster with tools installed to emulate a cloud environment.

Note

These UDS Bundles are intended for dev and test environments and should not be used for production. They also serve as examples to create custom bundles.

Quickstart

If you want to try out UDS Core, you can use the k3d-core-demo bundle to create a local k3d cluster with UDS Core installed by running the following command:

uds deploy k3d-core-demo:0.22.0

UDS Package Development

In addition to the demo bundle, a k3d-slim-dev bundle also exists to work with UDS Core with only Istio, Keycloak & Pepr installed. Run the command below to use it.

Deploy Istio, Keycloak and Pepr:

uds deploy k3d-core-slim-dev:0.22.0

Developing UDS Core

UDS Core development leverages the uds zarf dev deploy command. For convenience, a UDS Task is provided to setup the environment. You'll need to have NodeJS 20 or later installed to continue. Here's an example of a flow developing the metrics-server package:

# Create the dev environment
uds run dev-setup

# If developing the Pepr module:
npx pepr dev

# If not developing the Pepr module (can be run multiple times):
npx pepr deploy

# Deploy the package (can be run multiple times)
uds run dev-deploy --set PKG=metrics-server

Testing UDS Core

You can perform a complete test of UDS Core by running the following command:

uds run test-uds-core

This will create a local k3d cluster, install UDS Core, and run a series of tests against it, the same tests that are run in CI. If you want to run the tests against a specific package, you can use the PKG env variable. The following example runs the tests against the metrics-server package:

UDS_PKG=metrics-server uds run test-single-package

Note you can specify the --set FLAVOR=registry1 flag to test using Iron Bank images instead of the upstream images.

uds-core's People

Contributors

renovate[bot] avatar github-actions[bot] avatar mjnagel avatar zachariahmiller avatar jeff-mccoy avatar tristanholaday avatar unicornchance avatar rjferguson21 avatar mxnxpx avatar mikevanhemert avatar corang avatar racer159 avatar blancharda avatar cloudbeard avatar bburky avatar ericwyles avatar yrrepnoj avatar michael-kruggel avatar justicorn avatar schaeferka avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.