Go to file
2024-03-07 00:11:38 -06:00
src Add compose container image and push to registry 2024-02-28 08:40:58 -06:00
.gitignore Add .gitignore 2024-02-11 08:01:51 -06:00
.gitlab-ci.yml Try shell-exec 2024-03-06 17:21:00 -06:00
LICENSE Initial commit 2024-02-01 19:25:46 -06:00
ostree-engine Use Bash heredoc for charm.repo 2024-02-28 18:47:54 -06:00
README.md Use README.md 2024-03-07 00:11:38 -06:00

vauxite-build

This is my personalized Vauxite configuration. Vauxite is an unofficial Xfce variant of Fedora Atomic. I'm currently working with Fedora developers to make it an official variant. There is already a sort-of-official treefile for Vauxite at https://pagure.io/workstation-ostree-config, as well as an experimental Vauxite container image hosted at https://quay.io/repository/fedora-ostree-desktops/vauxite.

The vauxite.json treefile under the src directory contains my personal customizations and differ from the upstream one, so it may not be suitable for everyone.

How I use this repository

Setup GitLab runner with Podman

  1. Install GitLab Runner.

  2. Create a new runner from the GitLab UI.

  3. Use the authentication token from the GitLab UI to register a new runner on the machine hosting the runner. Select the Docker executor.

sudo systemctl enable --now gitlab-runner.service
sudo gitlab-runner register --url https://git.hyperreal.coffee --token <TOKEN>
  1. Add the following lines to /etc/gitlab-runner/config.toml for Podman:

We need to set privileged = true in order to create new namespaces inside the runner container. See https://github.com/coreos/rpm-ostree/pull/429

[[runners]]
  environment = ["FF_NETWORK_PER_BUILD=1"]
  [runners.docker]
    host = "unix://run/podman/podman.sock"
    tls_verify = false
    image = "git.hyperreal.coffee:5050/fedora-atomic/containers/fedora:latest"
    privileged = true
    volumes = ["/build-repo", "/cache", "/source-repo"]
  1. Restart the gitlab-runner:
sudo gitlab-runner restart

We should now be ready to use the Podman runner.

Notes about .gitlab-ci.yml

  • The package container-selinux is required for the vauxite-compose-job so SELinux works inside the runner container. I have a custom built image based on Fedora that includes recent updates and various dependency packages for this project.
  • BUILD_REPO and SOURCE_REPO are the directories /build-repo and /source-repo. If these values are changed, then we would need to make equivalent changes to the volumes directive in /etc/gitlab-runner/config.toml if we want to keep persistent storage of those repos across pipeline runs.
  • TODO: Add a conditional to .gitlab-ci.yml to clean the above volumes if another variable (say, CLEAN_BUILD) is set to true or something.

Images in container registry

Image Description
vauxite:39 Vanilla Vauxite with only my customizations in the treefile
vauxite-nonfree:39 Vauxite with nonfree components from the rpmfusion repositories. E.g., ffmpeg-libs

Rebase to the container image

rpm-ostree rebase ostree-unverified-registry:git.hyperreal.coffee:5050/fedora-atomic/vauxite-build/vauxite-nonfree:39