Skip to content

Commit 6eebffe

Browse files
authoredOct 19, 2023
feat: primary ucore image now has most features (ublue-os#93)
1 parent 776928c commit 6eebffe

8 files changed

+18
-21
lines changed
 

‎README.md

+10-10
Original file line numberDiff line numberDiff line change
@@ -12,23 +12,28 @@ WARNING: This image has **not** been heavily tested, though the underlying compo
1212

1313
### `ucore`
1414

15-
Suitable for running containerized workloads on either baremetal or virtual machines, this image tries to stay lightweight with not too many additions.
15+
Suitable for running containerized workloads on either baremetal or virtual machines, this image tries to stay lightweight but functional for multiple use cases, including that of a storage server (NAS).
1616

1717
- Starts with a [Fedora CoreOS image](https://quay.io/repository/fedora/fedora-coreos?tab=tags)
1818
- Adds the following:
1919
- [cockpit](https://cockpit-project.org)
2020
- [distrobox](https://github.com/89luca89/distrobox)
21+
- [duperemove](https://github.com/markfasheh/duperemove)
2122
- guest VM agents (`qemu-guest-agent` and `open-vm-tools`)
23+
- intel wifi firmware - CoreOS omits this despite including atheros wifi firmware... hardware enablement FTW
24+
- [mergerfs](https://github.com/trapexit/mergerfs)
2225
- moby-engine(docker), docker-compose and podman-compose
26+
- [snapraid](https://www.snapraid.it/)
2327
- [tailscale](https://tailscale.com) and [wireguard-tools](https://www.wireguard.com)
2428
- [tmux](https://github.com/tmux/tmux/wiki/Getting-Started)
29+
- udev rules enabling full functionality on some [Realtek 2.5Gbit USB Ethernet](https://github.com/wget/realtek-r8152-linux/) devices
2530
- Optional [nvidia versions](#tag-matrix) also add:
26-
- [nvidia driver](https://negativo17.org/nvidia-driver) - latest driver (currently version 535) built from negativo17's akmod package
31+
- [nvidia driver](https://github.com/ublue-os/ucore-kmods) - latest driver (currently version 535) built from negativo17's akmod package
2732
- [nvidia-container-toolkit](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/sample-workload.html) - latest toolkit which supports both root and rootless podman containers and CDI
28-
- [nvidia container selinux policy](https://github.com/NVIDIA/dgx-selinux/tree/master/src/nvidia-container-selinux) - allos using `--security-opt label=type:nvidia_container_t` for some jobs (some will still need `--security-opt label=disable` as suggested by nvidia)
33+
- [nvidia container selinux policy](https://github.com/NVIDIA/dgx-selinux/tree/master/src/nvidia-container-selinux) - allows using `--security-opt label=type:nvidia_container_t` for some jobs (some will still need `--security-opt label=disable` as suggested by nvidia)
2934
- Optional [ZFS versions](#tag-matrix) also add:
3035
- [sanoid/syncoid dependencies](https://github.com/jimsalterjrs/sanoid) - [see below](#zfs) for details
31-
- [ZFS](https://github.com/openzfs/zfs)
36+
- [zfs driver](https://github.com/ublue-os/ucore-kmods) - latest driver (currently pinned to 2.1.x series)
3237
- Enables staging of automatic system updates via rpm-ostreed
3338
- Enables password based SSH auth (required for locally running cockpit web interface)
3439
- Disables Zincati auto upgrade/reboot service
@@ -38,19 +43,14 @@ Note: per [cockpit instructions](https://cockpit-project.org/running.html#coreos
3843

3944
### `ucore-hci`
4045

41-
Hyper-Coverged Infrastructure(HCI) refers to storage and virtualization in one place... So this image is suitable for use as a hypervisor, storage server(NAS), as well as running containerized workloads). Accordingingly, it will be a bit larger due to extra hardware support, storage and virtualization packages.
46+
Hyper-Coverged Infrastructure(HCI) refers to storage and virtualization in one place... So this image primarily adds the virtualization stack.
4247

4348

4449
- Starts with `ucore` to give you everything above, plus:
4550
- Adds the following:
4651
- [cockpit-machines](https://github.com/cockpit-project/cockpit-machines): Cockpit GUI for managing virtual machines
47-
- [duperemove](https://github.com/markfasheh/duperemove)
48-
- intel wifi firmware - CoreOS omits this despite including atheros wifi firmware... hardware enablement FTW
4952
- [libvirt-client](https://libvirt.org/): `virsh` command-line utility for managing virtual machines
5053
- [libvirt-daemon-kvm](https://libvirt.org/): libvirt KVM hypervisor management
51-
- [mergerfs](https://github.com/trapexit/mergerfs)
52-
- [snapraid](https://www.snapraid.it/)
53-
- udev rules enabling full functionality on some [Realtek 2.5Gbit USB Ethernet](https://github.com/wget/realtek-r8152-linux/) devices
5454
- virt-install: command-line utility for installing virtual machines
5555

5656
Note: Fedora now uses `DefaultTimeoutStop=45s` for systemd services which could cause `libvirtd` to quit before shutting down slow VMs. Consider adding `TimeoutStopSec=120s` as an override for `libvirtd.service` if needed.

‎hci/Containerfile

-2
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,6 @@ ARG IMAGE_NAME="${IMAGE_NAME:-ucore}"
1212
COPY *.sh /tmp/
1313
COPY packages.json /tmp/packages.json
1414

15-
COPY usr /usr
16-
1715
RUN mkdir -p /var/lib/alternatives \
1816
&& /tmp/install.sh \
1917
&& mv /var/lib/alternatives /staged-alternatives \

‎hci/install.sh

-3
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,3 @@ curl -L https://copr.fedorainfracloud.org/coprs/ublue-os/ucore/repo/fedora-${REL
1010

1111
# install packages.json stuffs
1212
/tmp/packages.sh
13-
14-
# install packages direct from github
15-
/tmp/github-release-install.sh trapexit/mergerfs fc.x86_64

‎hci/packages.json

-5
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,8 @@
33
"include": {
44
"all": [
55
"cockpit-machines",
6-
"duperemove",
7-
"iwlegacy-firmware",
8-
"iwlwifi-dvm-firmware",
9-
"iwlwifi-mvm-firmware",
106
"libvirt-client",
117
"libvirt-daemon-kvm",
12-
"snapraid",
138
"nfs-utils",
149
"virt-install"
1510
]
File renamed without changes.

‎main/install.sh

+3
Original file line numberDiff line numberDiff line change
@@ -55,3 +55,6 @@ curl -L https://pkgs.tailscale.com/stable/fedora/tailscale.repo -o /etc/yum.repo
5555

5656
# install packages.json stuffs
5757
/tmp/packages.sh
58+
59+
# install packages direct from github
60+
/tmp/github-release-install.sh trapexit/mergerfs fc.x86_64

‎main/packages.json

+5-1
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,18 @@
99
"cockpit-system",
1010
"dbus-tools",
1111
"distrobox",
12+
"duperemove",
1213
"firewalld",
14+
"iwlegacy-firmware",
15+
"iwlwifi-dvm-firmware",
16+
"iwlwifi-mvm-firmware",
1317
"open-vm-tools",
1418
"podman",
1519
"podman-compose",
1620
"qemu-guest-agent",
21+
"snapraid",
1722
"tailscale",
1823
"tmux",
19-
"vim",
2024
"wget",
2125
"wireguard-tools",
2226
"xdg-dbus-proxy",

0 commit comments

Comments
 (0)