src | ||
.gitignore | ||
.gitlab-ci.yml | ||
LICENSE | ||
ostree-engine | ||
README.md |
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
-
Install GitLab Runner.
-
Create a new runner from the GitLab UI.
-
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>
- 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"]
- 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 thevolumes
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