On-premises Universal Blue https://universal-blue.org
Find a file
Stephan Lüscher a2973d0c8b
chore: Merge pull request #11 from ublue-os/tepene/semaphore
Add ansible semaphore as WebUI
2023-05-01 18:35:21 +02:00
.devcontainer chore(devcontainer) spell-check for ansible files 2023-05-01 16:16:55 +00:00
.github ci: workflows for conventional commit and release-please 2023-04-27 18:37:43 +00:00
.vscode chore(devcontainer) update spell-check dictionary 2023-05-01 16:17:28 +00:00
minica feat: add container registry and mini ca (#3,#4) 2023-04-27 17:20:18 +00:00
registry feat: add container registry and mini ca (#3,#4) 2023-04-27 17:20:18 +00:00
rvproxy feat: add semaphore to the stack (#10) 2023-04-29 19:28:08 +00:00
semaphore feat: add semaphore to the stack (#10) 2023-04-29 19:28:08 +00:00
setup feat: automatically setup forge (#10) 2023-05-01 16:17:56 +00:00
.gitignore chore: ignore locally installed ansible collections 2023-05-01 16:15:40 +00:00
.gitmessage chore(devcontainer): init 2023-04-27 06:10:08 +00:00
.markdownlint.json chore(devcontainer): init 2023-04-27 06:10:08 +00:00
.prettierignore chore(devcontainer): init 2023-04-27 06:10:08 +00:00
.prettierrc chore(devcontainer): init 2023-04-27 06:10:08 +00:00
forge-pod.yml feat: automatically setup forge (#10) 2023-05-01 16:17:56 +00:00
LICENSE Initial commit 2023-04-26 16:58:51 -04:00
README.md docs: updates 2023-05-01 16:30:14 +00:00
setup.sh feat: simple setup script 2023-05-01 16:29:42 +00:00

forge

On-premises Universal Blue

This repo is intended to provide the service units necessary to set up a self-hosted OS forge for custom images.

Warning

This project is "work in progress" and not ready for production

Vision

Imagine something like a home lab or a university lab:

  1. Deploy forge
  2. Go into the WebUI, clone in your favorite uBlue repo and make changes
  3. Forge automatically starts to build the images
  4. PXE boot the clients, select ublue in the menu
  5. Eat tacos
  6. Return to a fully deployed lab with centralized package management

What we have so far

We are still working on making the vision a reality. The following has been implemented so far:

Certificate Authority

We use a Minica as simple CA to generate a key pair and a root certificate for *.ublue.local. The wildcard certificate is then made available to all other components and are valid for 2 years and 30 days.

Reverse Proxy

As an entry point for all components we use Caddy as a reverse proxy. Based on URL routing it will redirect the traffic to the right container instance.

Container Registry

As container registry we make use of the Docker Registry 2.0 implementation for storing and distributing container images

The container registry is available at registry.ublue.local

WebUI

As a WebUI we use Ansible Semaphore.

The WebUI is available at forge.ublue.local

You can use the the user ublue and password ublue to login.

Warning

At the moment there's only a dummy project included. Tasks for real life usage will be included soon.

Firing Up the Forge

To heat up the forge run ./setup.sh.