2024-02-07 14:13:26 -05:00
|
|
|
# Copyright (C) 2021-2024 Thien Tran
|
2023-12-07 00:46:17 -05:00
|
|
|
#
|
|
|
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may not
|
|
|
|
# use this file except in compliance with the License. You may obtain a copy of
|
|
|
|
# the License at
|
|
|
|
#
|
|
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
#
|
|
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
|
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
|
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
|
|
# License for the specific language governing permissions and limitations under
|
|
|
|
# the License.
|
|
|
|
|
2021-11-02 22:32:22 -04:00
|
|
|
variant: fcos
|
2023-12-06 16:11:25 -05:00
|
|
|
version: 1.5.0
|
2021-11-02 22:32:22 -04:00
|
|
|
passwd:
|
|
|
|
users:
|
|
|
|
- name: tomster
|
2022-12-01 14:47:50 -05:00
|
|
|
ssh_authorized_keys:
|
2023-11-04 16:54:13 -04:00
|
|
|
- ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINkTKkJS7Id1WCyA5Klu/moLG9mP5hTC+v2qYqypMF1u contact@tommytran.io
|
2021-11-02 22:32:22 -04:00
|
|
|
groups:
|
|
|
|
- wheel
|
|
|
|
- sudo
|
2023-12-02 10:15:27 -05:00
|
|
|
- name: unpriv
|
2021-11-02 22:32:22 -04:00
|
|
|
systemd:
|
|
|
|
units:
|
|
|
|
- name: postinst.service
|
|
|
|
enabled: true
|
|
|
|
contents: |
|
|
|
|
[Unit]
|
|
|
|
Description=Initial System Setup
|
|
|
|
# We run after `systemd-machine-id-commit.service` to ensure that
|
|
|
|
# `ConditionFirstBoot=true` services won't rerun on the next boot.
|
|
|
|
After=systemd-machine-id-commit.service
|
|
|
|
After=network-online.target
|
|
|
|
# We run before `zincati.service` to avoid conflicting rpm-ostree
|
|
|
|
# transactions.
|
|
|
|
Before=zincati.service
|
|
|
|
ConditionPathExists=!/var/lib/%N.stamp
|
|
|
|
|
|
|
|
[Service]
|
|
|
|
Type=oneshot
|
|
|
|
RemainAfterExit=yes
|
2024-02-29 12:48:58 -05:00
|
|
|
ExecStart=/usr/sbin/restorecon -R /var
|
2024-02-29 13:39:21 -05:00
|
|
|
ExecStart=/usr/sbin/setsebool -P container_use_cephfs off
|
|
|
|
ExecStart=/usr/sbin/setsebool -P virt_use_nfs off
|
|
|
|
ExecStart=/usr/sbin/setsebool -P virt_use_samba off
|
2024-05-31 17:24:56 -04:00
|
|
|
ExecStart=/usr/bin/rpm-ostree override remove brcmfmac-firmware intel-gpu-firmware mt7xxx-firmware atheros-firmware amd-ucode-firmware linux-firmware amd-gpu-firmware realtek-firmware btrfs-progs cifs-utils clevis clevis-dracut clevis-luks clevis-pin-tpm2 clevis-systemd containerd containers-common-extra crun crun-wasm cryptsetup dnsmasq e2fsprogs-libs e2fsprogs flatpak-session-helper fuse-overlayfs fuse-sshfs fuse3 fwupd google-compute-engine-guest-configs-udev iptables-legacy iptables-legacy-libs kexec-tools libnvme lvm2 lvm2-libs mdadm moby-engine nvme-cli podman rsync runc samba-client-libs samba-common libwbclient libsmbclient samba-common-libs socat sssd-client sssd-ldap sssd-common sssd-krb5-common sssd-nfs-idmap sssd-ad sssd-krb5 sssd-ipa sssd-common-pac systemd-resolved toolbox tpm2-tools tpm2-tss-fapi vim-data vim-minimal wireguard-tools
|
2024-02-27 01:36:13 -05:00
|
|
|
ExecStart=/usr/bin/rpm-ostree install docker-ce docker-compose-plugin firewalld hardened_malloc qemu-guest-agent tuned unbound
|
2024-02-13 18:56:59 -05:00
|
|
|
ExecStart=/usr/bin/sed -i 's/\s+nullok//g' /etc/pam.d/system-auth
|
2024-03-05 16:06:08 -05:00
|
|
|
ExecStart=/usr/bin/echo 'EDITOR=nano' >> /etc/bashrc
|
|
|
|
ExecStart=/usr/bin/echo 'VISUAL=nano' >> /etc/bashrc
|
2023-08-16 06:37:26 -04:00
|
|
|
ExecStart=/usr/bin/systemctl disable systemd-resolved
|
|
|
|
ExecStart=/usr/bin/touch /var/lib/%N.stamp
|
|
|
|
ExecStart=/usr/bin/systemctl --no-block reboot
|
2021-11-02 22:32:22 -04:00
|
|
|
|
|
|
|
[Install]
|
|
|
|
WantedBy=multi-user.target
|
|
|
|
- name: postinst2.service
|
|
|
|
enabled: true
|
|
|
|
contents: |
|
|
|
|
[Unit]
|
|
|
|
Description=Initial System Setup Part 2
|
|
|
|
# We run this after the packages have been overlayed
|
|
|
|
After=network-online.target
|
|
|
|
ConditionPathExists=!/var/lib/%N.stamp
|
|
|
|
ConditionPathExists=/var/lib/postinst.stamp
|
|
|
|
|
|
|
|
[Service]
|
|
|
|
Type=oneshot
|
|
|
|
RemainAfterExit=yes
|
2024-02-28 12:47:05 -05:00
|
|
|
ExecStart=/usr/bin/echo 'libhardened_malloc.so' > /etc/ld.so.preload
|
2024-02-07 09:27:18 -05:00
|
|
|
ExecStart=/usr/bin/systemctl enable --now firewalld
|
2023-12-12 09:40:17 -05:00
|
|
|
ExecStart=/usr/bin/firewall-cmd --lockdown-on
|
2024-04-05 18:53:36 -04:00
|
|
|
ExecStart=/usr/bin/firewall-cmd --permanent --remove-service=mds
|
|
|
|
ExecStart=/usr/bin/firewall-cmd --permanent --remove-service=dhcpv6-client
|
2024-05-07 02:47:45 -04:00
|
|
|
ExecStart=/usr/bin/rm /etc/unbound/unbound_control.key
|
2024-02-27 20:48:17 -05:00
|
|
|
ExecStart=/usr/bin/touch /var/lib/%N.stamp
|
2024-02-27 01:36:13 -05:00
|
|
|
ExecStart=/usr/bin/systemctl --no-block reboot
|
2021-11-02 22:32:22 -04:00
|
|
|
|
2023-03-16 14:03:16 -04:00
|
|
|
[Install]
|
|
|
|
WantedBy=multi-user.target
|
2024-02-07 14:32:49 -05:00
|
|
|
- name: gvisor-downloader.service
|
2023-03-16 14:03:16 -04:00
|
|
|
enabled: true
|
|
|
|
contents: |
|
|
|
|
[Unit]
|
2024-02-07 21:52:02 -05:00
|
|
|
Description=Download gVisor
|
2024-05-22 15:17:24 -04:00
|
|
|
After=network-online.target
|
2023-03-16 14:03:16 -04:00
|
|
|
Before=docker.service
|
|
|
|
|
|
|
|
[Service]
|
2024-02-07 12:37:36 -05:00
|
|
|
User=unpriv
|
2023-12-02 10:15:27 -05:00
|
|
|
WorkingDirectory=/var/home/unpriv
|
2023-03-16 14:03:16 -04:00
|
|
|
Type=oneshot
|
2024-05-28 16:48:13 -04:00
|
|
|
ExecStart=/usr/bin/sleep 5
|
|
|
|
ExecStart=/usr/bin/curl -sS -O https://storage.googleapis.com/gvisor/releases/release/latest/x86_64/runsc
|
|
|
|
ExecStart=/usr/bin/curl -sS -O https://storage.googleapis.com/gvisor/releases/release/latest/x86_64/runsc.sha512
|
|
|
|
ExecStart=/usr/bin/curl -sS -O https://storage.googleapis.com/gvisor/releases/release/latest/x86_64/containerd-shim-runsc-v1
|
|
|
|
ExecStart=/usr/bin/curl -sS -O https://storage.googleapis.com/gvisor/releases/release/latest/x86_64/containerd-shim-runsc-v1.sha512
|
2024-02-07 12:37:36 -05:00
|
|
|
|
|
|
|
[Install]
|
|
|
|
WantedBy=multi-user.target
|
|
|
|
- name: gvisor-updater.service
|
|
|
|
enabled: true
|
|
|
|
contents: |
|
|
|
|
[Unit]
|
|
|
|
Description=Copy gVisor to the correct location
|
2024-02-07 14:32:49 -05:00
|
|
|
After=gvisor-downloader.service
|
2024-02-07 12:37:36 -05:00
|
|
|
|
|
|
|
[Service]
|
|
|
|
WorkingDirectory=/var/home/unpriv
|
|
|
|
Type=oneshot
|
2023-03-16 14:03:16 -04:00
|
|
|
ExecStart=/usr/bin/sha512sum -c runsc.sha512 -c containerd-shim-runsc-v1.sha512
|
|
|
|
ExecStart=/usr/bin/rm -f runsc.sha512 containerd-shim-runsc-v1.sha512
|
2023-12-02 10:15:27 -05:00
|
|
|
ExecStart=/usr/bin/chown root:root runsc containerd-shim-runsc-v1
|
2023-03-16 14:03:16 -04:00
|
|
|
ExecStart=/usr/bin/chmod a+rx runsc containerd-shim-runsc-v1
|
|
|
|
ExecStart=/usr/bin/mv runsc containerd-shim-runsc-v1 /var/usrlocal/bin
|
2023-04-15 04:22:01 -04:00
|
|
|
ExecStart=/usr/bin/chcon system_u:object_r:container_runtime_exec_t:s0 /var/usrlocal/bin/runsc
|
2023-03-16 14:03:16 -04:00
|
|
|
|
2024-02-07 14:32:49 -05:00
|
|
|
[Install]
|
|
|
|
WantedBy=multi-user.target
|
2024-05-03 17:55:36 -04:00
|
|
|
- name: docker-compose-updater@.service
|
2024-02-07 14:32:49 -05:00
|
|
|
enabled: false
|
|
|
|
contents: |
|
|
|
|
[Unit]
|
2024-05-03 17:55:36 -04:00
|
|
|
Description=Docker Compose Updater for /srv/%I
|
2024-05-22 15:17:24 -04:00
|
|
|
After=network-online.target
|
2024-05-03 17:55:36 -04:00
|
|
|
After=docker.service
|
2024-02-07 14:38:17 -05:00
|
|
|
Requires=docker.service
|
2024-02-07 14:32:49 -05:00
|
|
|
|
|
|
|
[Service]
|
|
|
|
Type=oneshot
|
2024-05-03 17:55:36 -04:00
|
|
|
User=root
|
|
|
|
Group=root
|
|
|
|
WorkingDirectory=/srv/%i
|
|
|
|
ExecStart=/usr/bin/docker image prune -f -a --filter 'until=240h'
|
2024-02-07 14:32:49 -05:00
|
|
|
#ExecStart=/usr/bin/git pull
|
|
|
|
ExecStart=/usr/bin/docker compose pull
|
|
|
|
ExecStart=/usr/bin/docker compose up -d
|
2024-05-03 17:55:36 -04:00
|
|
|
- name: docker-compose-updater@.timer
|
2024-04-05 17:21:39 -04:00
|
|
|
enabled: false
|
|
|
|
contents: |
|
|
|
|
[Unit]
|
2024-05-03 17:55:36 -04:00
|
|
|
Description=Run docker-compose-updater for /srv/%I once a week, 15 mintues after OS updates
|
2024-04-05 17:21:39 -04:00
|
|
|
|
|
|
|
[Timer]
|
|
|
|
OnCalendar=Fri 0:15
|
|
|
|
Persistent=true
|
|
|
|
|
|
|
|
[Install]
|
|
|
|
WantedBy=timers.target
|
2021-11-02 22:32:22 -04:00
|
|
|
- name: docker.service
|
|
|
|
enabled: true
|
|
|
|
- name: fstrim.timer
|
|
|
|
enabled: true
|
|
|
|
- name: systemd-oomd.service
|
|
|
|
enabled: true
|
|
|
|
- name: rpm-ostree-countme.timer
|
|
|
|
enabled: false
|
|
|
|
mask: true
|
2022-12-26 10:17:18 -05:00
|
|
|
- name: sshd.service
|
|
|
|
enabled: false
|
|
|
|
- name: sshd.socket
|
|
|
|
enabled: true
|
2024-02-27 23:56:58 -05:00
|
|
|
- name: kdump.service
|
|
|
|
enabled: false
|
|
|
|
mask: true
|
|
|
|
- name: debug-shell.service
|
|
|
|
enabled: false
|
|
|
|
mask: true
|
2024-03-24 17:00:46 -04:00
|
|
|
- name: coreos-cni-networking-check.service
|
|
|
|
enabled: false
|
|
|
|
mask: true
|
2021-11-02 22:32:22 -04:00
|
|
|
storage:
|
|
|
|
files:
|
|
|
|
- path: /etc/zincati/config.d/51-rollout-wariness.toml
|
|
|
|
contents:
|
2024-02-07 12:02:45 -05:00
|
|
|
source: https://raw.githubusercontent.com/TommyTran732/Fedora-CoreOS-Ignition/main/etc/zincati/config.d/51-rollout-wariness.toml
|
2021-11-02 22:32:22 -04:00
|
|
|
- path: /etc/zincati/config.d/55-updates-strategy.toml
|
|
|
|
contents:
|
2024-02-07 12:02:45 -05:00
|
|
|
source: https://raw.githubusercontent.com/TommyTran732/Fedora-CoreOS-Ignition/main/etc/zincati/config.d/55-updates-strategy.toml
|
2024-06-07 01:54:40 -04:00
|
|
|
- path: /etc/yum.repos.d/_copr:copr.fedorainfracloud.org:secureblue:hardened_malloc.repo
|
|
|
|
contents:
|
|
|
|
source: https://raw.githubusercontent.com/TommyTran732/Fedora-CoreOS-Ignition/main/etc/yum.repos.d/_copr:copr.fedorainfracloud.org:secureblue:hardened_malloc.repo
|
2023-12-12 09:31:17 -05:00
|
|
|
- path: /etc/yum.repos.d/docker-ce.repo
|
|
|
|
contents:
|
2024-02-07 12:02:45 -05:00
|
|
|
source: https://raw.githubusercontent.com/TommyTran732/Fedora-CoreOS-Ignition/main/etc/yum.repos.d/docker-ce.repo
|
|
|
|
- path: /etc/docker/daemon.json
|
|
|
|
contents:
|
|
|
|
source: https://raw.githubusercontent.com/TommyTran732/Fedora-CoreOS-Ignition/main/etc/docker/daemon.json
|
2024-02-07 09:27:18 -05:00
|
|
|
- path: /etc/chrony.conf
|
|
|
|
contents:
|
|
|
|
source: https://raw.githubusercontent.com/GrapheneOS/infrastructure/main/chrony.conf
|
2021-11-02 22:32:22 -04:00
|
|
|
overwrite: true
|
2024-06-07 07:51:45 -04:00
|
|
|
- path: /etc/modprobe.d/vps-blacklist.conf
|
2024-02-07 09:27:18 -05:00
|
|
|
contents:
|
2024-06-04 16:58:01 -04:00
|
|
|
source: https://raw.githubusercontent.com/secureblue/secureblue/live/config/files/usr/etc/modprobe.d/blacklist.conf
|
|
|
|
- path: /etc/sysctl.d/99-server.conf
|
2024-02-07 09:27:18 -05:00
|
|
|
contents:
|
2024-06-04 16:58:01 -04:00
|
|
|
source: https://raw.githubusercontent.com/TommyTran732/Linux-Setup-Scripts/main/etc/sysctl.d/99-server.conf
|
2024-02-07 09:27:18 -05:00
|
|
|
- path: /etc/systemd/system/NetworkManager.service.d/99-brace.conf
|
|
|
|
contents:
|
|
|
|
source: https://gitlab.com/divested/brace/-/raw/master/brace/usr/lib/systemd/system/NetworkManager.service.d/99-brace.conf
|
|
|
|
- path: /etc/systemd/system/irqbalance.service.d/99-brace.conf
|
|
|
|
contents:
|
|
|
|
source: https://gitlab.com/divested/brace/-/raw/master/brace/usr/lib/systemd/system/irqbalance.service.d/99-brace.conf
|
2024-02-07 12:02:45 -05:00
|
|
|
- path: /etc/ssh/sshd_config.d/10-custom.conf
|
|
|
|
contents:
|
|
|
|
source: https://raw.githubusercontent.com/TommyTran732/Linux-Setup-Scripts/main/etc/ssh/sshd_config.d/10-custom.conf
|
|
|
|
- path: /etc/ssh/ssh_config.d/10-custom.conf
|
2024-02-07 09:27:18 -05:00
|
|
|
contents:
|
2024-02-07 12:02:45 -05:00
|
|
|
source: https://raw.githubusercontent.com/TommyTran732/Linux-Setup-Scripts/main/etc/ssh/ssh_config.d/10-custom.conf
|
2024-02-07 13:20:52 -05:00
|
|
|
- path: /etc/systemd/system/sshd.service.d/local.conf
|
|
|
|
contents:
|
|
|
|
source: https://raw.githubusercontent.com/GrapheneOS/infrastructure/main/systemd/system/sshd.service.d/local.conf
|
2024-02-07 09:27:18 -05:00
|
|
|
- path: /etc/tuned/active_profile
|
2021-11-02 22:32:22 -04:00
|
|
|
contents:
|
2024-02-07 13:20:52 -05:00
|
|
|
source: https://raw.githubusercontent.com/TommyTran732/Fedora-CoreOS-Ignition/main/etc/tuned/active_profile
|
2021-11-02 22:32:22 -04:00
|
|
|
- path: /etc/tuned/profile_mode
|
|
|
|
contents:
|
2024-02-07 13:20:52 -05:00
|
|
|
source: https://raw.githubusercontent.com/TommyTran732/Fedora-CoreOS-Ignition/main/etc/tuned/profile_mode
|
2021-11-02 22:32:22 -04:00
|
|
|
- path: /etc/systemd/zram-generator.conf
|
|
|
|
contents:
|
2024-05-17 01:27:06 -04:00
|
|
|
source: https://raw.githubusercontent.com/TommyTran732/Linux-Setup-Scripts/main/etc/systemd/zram-generator.conf
|
2021-11-02 22:32:22 -04:00
|
|
|
- path: /etc/security/limits.d/30-disable-coredump.conf
|
2022-12-01 14:47:50 -05:00
|
|
|
contents:
|
2024-02-13 19:02:21 -05:00
|
|
|
source: https://raw.githubusercontent.com/TommyTran732/Linux-Setup-Scripts/main/etc/security/limits.d/30-disable-coredump.conf
|
2024-06-04 17:09:50 -04:00
|
|
|
- path: /etc/systemd/coredump.conf.d
|
|
|
|
contents:
|
|
|
|
source: https://raw.githubusercontent.com/TommyTran732/Linux-Setup-Scripts/main/etc/systemd/coredump.conf.d/disable.conf
|
2023-08-15 21:23:38 -04:00
|
|
|
- path: /etc/sysconfig/chronyd
|
|
|
|
overwrite: true
|
|
|
|
contents:
|
2024-02-07 12:02:45 -05:00
|
|
|
source: https://raw.githubusercontent.com/TommyTran732/Linux-Setup-Scripts/main/etc/sysconfig/chronyd
|
2023-01-24 01:07:16 -05:00
|
|
|
- path: /etc/unbound/unbound.conf
|
|
|
|
contents:
|
2024-02-07 12:02:45 -05:00
|
|
|
source: https://raw.githubusercontent.com/TommyTran732/Fedora-CoreOS-Ignition/main/etc/unbound/unbound.conf
|
2023-01-24 01:07:16 -05:00
|
|
|
- path: /etc/systemd/system/unbound.service.d/override.conf
|
|
|
|
contents:
|
2024-02-07 12:54:09 -05:00
|
|
|
source: https://raw.githubusercontent.com/TommyTran732/Fedora-CoreOS-Ignition/main/etc/systemd/system/unbound.service.d/override.conf
|
2024-02-13 18:01:42 -05:00
|
|
|
- path: /etc/issue
|
|
|
|
overwrite: true
|
|
|
|
contents:
|
2024-05-17 02:18:07 -04:00
|
|
|
source: https://raw.githubusercontent.com/TommyTran732/Linux-Setup-Scripts/main/etc/issue
|
2024-02-13 18:01:42 -05:00
|
|
|
- path: /etc/issue.net
|
|
|
|
overwrite: true
|
|
|
|
contents:
|
2024-05-17 02:18:07 -04:00
|
|
|
source: https://raw.githubusercontent.com/TommyTran732/Linux-Setup-Scripts/main/etc/issue
|
2021-11-02 22:32:22 -04:00
|
|
|
links:
|
|
|
|
- path: /etc/localtime
|
2024-06-20 08:21:05 -04:00
|
|
|
target: ../usr/share/zoneinfo/Etc/UTC
|
2023-01-24 02:33:44 -05:00
|
|
|
- path: /etc/systemd/system/multi-user.target.wants/unbound.service
|
|
|
|
target: /usr/lib/systemd/system/unbound.service
|
2021-11-02 22:32:22 -04:00
|
|
|
- path: /etc/systemd/system/multi-user.target.wants/tuned.service
|
|
|
|
target: /usr/lib/systemd/system/tuned.service
|
|
|
|
kernel_arguments:
|
|
|
|
should_exist:
|
2024-02-07 09:27:18 -05:00
|
|
|
- mitigations=auto,nosmt
|
2022-09-04 22:51:57 -04:00
|
|
|
- spectre_v2=on
|
2024-05-27 16:23:30 -04:00
|
|
|
- spectre_bhi=on
|
2022-09-04 22:51:57 -04:00
|
|
|
- spec_store_bypass_disable=on
|
2022-12-01 14:47:50 -05:00
|
|
|
- tsx=off
|
2021-11-02 22:32:22 -04:00
|
|
|
- kvm.nx_huge_pages=force
|
2022-09-04 22:51:57 -04:00
|
|
|
- nosmt=force
|
2022-09-12 18:34:28 -04:00
|
|
|
- l1d_flush=on
|
2024-02-07 09:27:18 -05:00
|
|
|
- spec_rstack_overflow=safe-ret
|
2024-05-27 16:23:30 -04:00
|
|
|
- gather_data_sampling=force
|
|
|
|
- reg_file_data_sampling=on
|
2022-09-12 18:34:28 -04:00
|
|
|
- random.trust_bootloader=off
|
|
|
|
- random.trust_cpu=off
|
2022-12-01 14:47:50 -05:00
|
|
|
- intel_iommu=on
|
2023-12-06 15:56:57 -05:00
|
|
|
- amd_iommu=force_isolation
|
2023-12-06 17:09:54 -05:00
|
|
|
- efi=disable_early_pci_dma
|
2023-12-06 15:56:57 -05:00
|
|
|
- iommu=force
|
|
|
|
- iommu.passthrough=0
|
|
|
|
- iommu.strict=1
|
2022-09-12 18:34:28 -04:00
|
|
|
- slab_nomerge
|
|
|
|
- init_on_alloc=1
|
|
|
|
- init_on_free=1
|
|
|
|
- pti=on
|
|
|
|
- vsyscall=none
|
2024-01-15 10:49:56 -05:00
|
|
|
- ia32_emulation=0
|
2022-09-12 18:34:28 -04:00
|
|
|
- page_alloc.shuffle=1
|
|
|
|
- randomize_kstack_offset=on
|
2023-04-12 07:16:14 -04:00
|
|
|
- debugfs=off
|
2024-04-19 17:50:41 -04:00
|
|
|
- lockdown=confidentiality
|
|
|
|
- module.sig_enforce=1
|
2024-06-17 04:19:59 -04:00
|
|
|
- oops=panic
|
2024-02-28 11:40:01 -05:00
|
|
|
- console=tty0
|
|
|
|
- console=ttyS0,115200
|