Skip to content

Latest commit

 

History

History
68 lines (54 loc) · 2.59 KB

index.md

File metadata and controls

68 lines (54 loc) · 2.59 KB

Universal Blue - Forge Documentation

On-premises Universal Blue provides the service units necessary to set up a self-hosted OS forge for custom images.

Configuration

Since we are using ansible in the background, all user configurations are loaded via extra-vars at runtime. No worries on how things are plugged together, you only have to know where to create your configuration files. That's all.

So, during forge setup a podman volume ublue-os_forge-data is created. All user configuration etc. is stored there. You can inspect the volume with:

❯ podman volume inspect ublue-os_forge-data
[
     {
          "Name": "ublue-os_forge-data",
          "Driver": "local",
          "Mountpoint": "/var/home/stephan/.local/share/containers/storage/volumes/ublue-os_forge-data/_data",
          "CreatedAt": "2024-05-06T21:25:28.818751853+02:00",
          "Labels": {},
          "Scope": "local",
          "Options": {},
          "MountCount": 0,
          "NeedsCopyUp": true,
          "LockNumber": 98
     }
]

Under the "Mountpoint:" you find the actual path on your file system. I would recommend you symlink this folder to a path more rememberable. For example you can do the following:

FORGE_POD_DATA_DIR="$(podman volume inspect ublue-os_forge-data | jq -r '.[0].Mountpoint')"
ln -s $FORGE_POD_DATA_DIR $HOME/ublue-os_forge-data

With this the data folder would be available in your home directory under ~/ublue-os_forge-data

In that folder you will find an examples folder with example configurations similar to this:

## ublue-os forge example configuration
## For more details got to https://github.com/ublue-os/forge/blob/main/docs/variables.md
---
forge_git_repository_url: https://github.com/ublue-os/bluefin.git
forge_git_repository_destination: "/var/home/stephan/.local/share/containers/storage/volumes/ublue-os_forge-data/_data/data/bluefin"
forge_container_extra_args:
  - --build-arg="BASE_IMAGE_NAME=silverblue"
  - --build-arg="IMAGE_FLAVOR=main"
  - --build-arg="AKMODS_FLAVOR=main"
  - --build-arg="FEDORA_MAJOR_VERSION=39"
  - --build-arg="TARGET_BASE=bluefin"

These files are a good starting point for your custom configuration. Simple copy those examples you are interested in modify them to your liking.

Details about the available variables are documented here.

Usage

There are two methods of operating the forge, either via a GUI available at https://forge.ublue.local or via just command runner.