diff --git a/Generic.ign b/Generic.ign index e9b66f6..1ab7ba3 100644 --- a/Generic.ign +++ b/Generic.ign @@ -54,22 +54,25 @@ { "path": "/etc/zincati/config.d/51-rollout-wariness.toml", "contents": { - "compression": "", - "source": "data:,%5Bidentity%5D%0Arollout_wariness%20%3D%200%0A" + "source": "https://raw.githubusercontent.com/TommyTran732/Fedora-CoreOS-Ignition/main/etc/zincati/config.d/51-rollout-wariness.toml" } }, { "path": "/etc/zincati/config.d/55-updates-strategy.toml", "contents": { - "compression": "gzip", - "source": "data:;base64,H4sIAAAAAAAC/2SNMarEMAxEe51C6ADB1S8+5BRbGmNMLLIGRw62TMieflGRats3b2b8PHNSHgGG9qS837gindxLy2UjePLlQQG0HBw/TdjM2rZUjRD4H3e5iuR2hQA53QNX9EivKYT2lrpGK9qK+3eOoLLs+o5Hkals+p+DbwAAAP//4Po2vKAAAAA=" + "source": "https://raw.githubusercontent.com/TommyTran732/Fedora-CoreOS-Ignition/main/etc/zincati/config.d/55-updates-strategy.toml" } }, { "path": "/etc/yum.repos.d/docker-ce.repo", "contents": { - "compression": "gzip", - "source": "data:;base64,H4sIAAAAAAAC/7zSsU+EMBTH8b1/BcOtvepqwuS5upybcSjt7wqh15K2qPffGyjKQCAm8pxoHqQvn/B91V61CFyBxyQrizfm5BXlaRwXj0/FeRwXvDhUMkIGVbPh0Adb1il18UEI7T+c9VIf82VH5a/CNq7/FBdoH6Q4BFjIiHcE8XONyAsZ3PDQ5T0znVE1VJuPLW6/32A6w9gCwzWq3jTu4tdZp+9P9gKOO/kq846AGX0f1MavO4/v499ceQkpJyGmheIFMVHkNyyjY2ykN4HIwyMGrkQ36fZMjg7iGlMne1sgnvOcIrtpJalnI75ZRt7fv0hXKpyZe4a4u+grAAD//29EVAF/BwAA" + "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" } }, { @@ -115,6 +118,12 @@ "source": "https://gitlab.com/divested/brace/-/raw/master/brace/usr/lib/systemd/system/irqbalance.service.d/99-brace.conf" } }, + { + "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/systemd/system/sshd.service.d/local.conf", "contents": { @@ -122,73 +131,52 @@ } }, { - "path": "/etc/ssh/sshd_config/10-custom.conf", + "path": "/etc/ssh/ssh_config.d/10-custom.conf", "contents": { - "source": "https://raw.githubusercontent.com/TommyTran732/Linux-Setup-Scripts/main/etc/ssh/sshd_config/10-custom.conf" + "source": "https://raw.githubusercontent.com/TommyTran732/Linux-Setup-Scripts/main/etc/ssh/ssh_config.d/10-custom.conf" } }, { "path": "/etc/tuned/active_profile", "contents": { - "compression": "", - "source": "data:,virtual-guest%0A" + "source": "https://raw.githubusercontent.com/TommyTran732/Linux-Setup-Scripts/main/etc/tuned/active_profile" } }, { "path": "/etc/tuned/profile_mode", "contents": { - "compression": "", - "source": "data:,manual%0A" + "source": "https://raw.githubusercontent.com/TommyTran732/Linux-Setup-Scripts/main/etc/tuned/profile_mode" } }, { "path": "/etc/systemd/zram-generator.conf", "contents": { - "compression": "", - "source": "data:,%5Bzram0%5D%0Azram-fraction%20%3D%201%0Amax-zram-size%20%3D%208192%0Acompression-algorithm%20%3D%20zstd%0A" + "source": "https://raw.githubusercontent.com/TommyTran732/Fedora-CoreOS-Ignition/main/etc/systemd/zram-generator.conf" } }, { "path": "/etc/security/limits.d/30-disable-coredump.conf", "contents": { - "compression": "", - "source": "data:,*%20hard%20core%200%0A" - } - }, - { - "path": "/etc/ssh/ssh_config.d/10-custom.conf", - "contents": { - "compression": "", - "source": "data:,GSSAPIAuthentication%20no%0AVerifyHostKeyDNS%20yes%0A" + "source": "https://raw.githubusercontent.com/TommyTran732/Fedora-CoreOS-Ignition/main/etc/security/limits.d/30-disable-coredump.conf" } }, { "overwrite": true, "path": "/etc/sysconfig/chronyd", "contents": { - "compression": "", - "source": "data:,%23%20Command-line%20options%20for%20chronyd%0AOPTIONS%3D%22-F%201%22%0A" + "source": "https://raw.githubusercontent.com/TommyTran732/Linux-Setup-Scripts/main/etc/sysconfig/chronyd" } }, { "path": "/etc/unbound/unbound.conf", "contents": { - "compression": "gzip", - "source": "data:;base64,H4sIAAAAAAAC/6xSQWvcPBC9768Q/s5jezfZ5MNQ6CWFQktL00uPE2lsD5ElZzTa1Pn1RbtdlyyFQqkNxp4373ne0ySSA0m3McaOEqN2pqo2G2MwawSVnBQw2DEK9OypM1VzQGk8PzQ5PMQcXFNY9SMt1caYV4TEQ0DPYejMQmljTOmER1ogUVAO5E9A4fkElkThIQdXftOQ2iYl35RqaiweYe7ZolKqreiZxfNIkjpTff7y6d37D3dv7r/df737eDQxsiMYVWfIiQRwoKDnYY4YuzKJLq+KRxMnD6/qB5LEMaxDOwoLYPhFRnEUAP0QwcXnMAg6ugA9ykDwlEmY0gUm1JMIephRxwssjfGYTp/4ZdXkIUQhsA56j2vKE36H7GY4dV61t7tSjC57AhtDz0NnqgN6dqhRDCtJeSnH9xRwIpg48MQJlWOApMJ2DS2HZwxKDoRmv4COQmmM3nVm256u0pQILM4J+ijAbs0rZh0ihwHm4mUmmVgLcXcNN/v91b70zCUEtav983dZm59CfZRnFAcvMVDZ2zJzZ6q6GDhjZTPynFQIp7PUGUPnpDPbuty7t//vr/5LZLOwLrX1MbveoxC4kGobp9/w2rr9C97upr3prm/b9vTottvtPxBp2z+L/AgAAP//qRxiA+IDAAA=" + "source": "https://raw.githubusercontent.com/TommyTran732/Fedora-CoreOS-Ignition/main/etc/unbound/unbound.conf" } }, { "path": "/etc/systemd/system/unbound.service.d/override.conf", "contents": { - "compression": "gzip", - "source": "data:;base64,H4sIAAAAAAAC/2yRQWvcPBCG7/srBN8hp+T43Qxekt12ycYsiUsLpRRZfrMZLGvMzMjEl/72oqUbauhJo2dmmNGj7y+QmQJ+bJ4wsiwPSMtXIcPuHSEbKpOMzUlo9oYHlFJdsXacrnc2BPvMI1bgPnIY1oSTCcdPwnnSVeYRkhCPfP4XfuI+x+v0/1z7Ruo6gR/UZaV0dsphgDmejDipizTA3SjfSpi7/Hpz53bvU6RAFhfXk/ouwr2yuJmUOopky916YptTKVovcxIOFaVLU8TmGWpCwbZ9L1Dd+5EiQavt/ueh2bXuz/l/CZpdezw0jyX80hy+ffQ+w0ejq7eXRQ3jvY9xK+GNysws0Cp5o/nv9J6iQapfdSiKXR2mfIsxR1/e7+oeXT67esAixU49Xvy5kXMyV3OnHGFwtUA5S4B+7NP4ETr58tULdHPkMJwgyskXSRf2OwAA///OGG3DOAIAAA==" - } - }, - { - "path": "/etc/docker/daemon.json", - "contents": { - "compression": "gzip", - "source": "data:;base64,H4sIAAAAAAAC/9RSS2rDMBDd+xRCaw/aB7zoOUoXiq04wfqhGbmUkrsXyU6oiigNNWmzMVjz5ul99N4wxhgf1EFGTRCipZNRfMd4iBZ7wDekID1vF9w6R75jy+blFHuYZlMc55GXdExsImIQ2vVSi/3Jiryxkn6mSeRPYUz8z8UwAwC8lnRwwXTpsraGsIpeXZi6o0PiBeDl+nduv2q/2Lyb/jLXTTxMs2EAaQfigJ3zyv63PqqIUvGtlf2d5Z9XuKXtaTYwqH0cH6LbrBS0GztBxourBfENvD5KWffq5udx76x++Siqea2cm2fWLN9z8xEAAP//Je94AgUGAAA=" + "source": "https://raw.githubusercontent.com/TommyTran732/Fedora-CoreOS-Ignition/main/etc/systemd/system/unbound.servcice.d/override.conf" } } ], diff --git a/Generic.yml b/Generic.yml index e00f1b7..caeddcc 100644 --- a/Generic.yml +++ b/Generic.yml @@ -127,85 +127,16 @@ storage: files: - path: /etc/zincati/config.d/51-rollout-wariness.toml contents: - inline: | - [identity] - rollout_wariness = 0 + source: https://raw.githubusercontent.com/TommyTran732/Fedora-CoreOS-Ignition/main/etc/zincati/config.d/51-rollout-wariness.toml - path: /etc/zincati/config.d/55-updates-strategy.toml contents: - inline: | - [updates] - strategy = "periodic" - [updates.periodic] - time_zone = "localtime" - [[updates.periodic.window]] - days = [ "Sun" ] - start_time = "0:00" - length_minutes = 60 + source: https://raw.githubusercontent.com/TommyTran732/Fedora-CoreOS-Ignition/main/etc/zincati/config.d/55-updates-strategy.toml - path: /etc/yum.repos.d/docker-ce.repo contents: - inline: | - [docker-ce-stable] - name=Docker CE Stable - $basearch - baseurl=https://download.docker.com/linux/fedora/$releasever/$basearch/stable - enabled=1 - gpgcheck=1 - gpgkey=https://download.docker.com/linux/fedora/gpg - - [docker-ce-stable-debuginfo] - name=Docker CE Stable - Debuginfo $basearch - baseurl=https://download.docker.com/linux/fedora/$releasever/debug-$basearch/stable - enabled=0 - gpgcheck=1 - gpgkey=https://download.docker.com/linux/fedora/gpg - - [docker-ce-stable-source] - name=Docker CE Stable - Sources - baseurl=https://download.docker.com/linux/fedora/$releasever/source/stable - enabled=0 - gpgcheck=1 - gpgkey=https://download.docker.com/linux/fedora/gpg - - [docker-ce-test] - name=Docker CE Test - $basearch - baseurl=https://download.docker.com/linux/fedora/$releasever/$basearch/test - enabled=0 - gpgcheck=1 - gpgkey=https://download.docker.com/linux/fedora/gpg - - [docker-ce-test-debuginfo] - name=Docker CE Test - Debuginfo $basearch - baseurl=https://download.docker.com/linux/fedora/$releasever/debug-$basearch/test - enabled=0 - gpgcheck=1 - gpgkey=https://download.docker.com/linux/fedora/gpg - - [docker-ce-test-source] - name=Docker CE Test - Sources - baseurl=https://download.docker.com/linux/fedora/$releasever/source/test - enabled=0 - gpgcheck=1 - gpgkey=https://download.docker.com/linux/fedora/gpg - - [docker-ce-nightly] - name=Docker CE Nightly - $basearch - baseurl=https://download.docker.com/linux/fedora/$releasever/$basearch/nightly - enabled=0 - gpgcheck=1 - gpgkey=https://download.docker.com/linux/fedora/gpg - - [docker-ce-nightly-debuginfo] - name=Docker CE Nightly - Debuginfo $basearch - baseurl=https://download.docker.com/linux/fedora/$releasever/debug-$basearch/nightly - enabled=0 - gpgcheck=1 - gpgkey=https://download.docker.com/linux/fedora/gpg - - [docker-ce-nightly-source] - name=Docker CE Nightly - Sources - baseurl=https://download.docker.com/linux/fedora/$releasever/source/nightly - enabled=0 - gpgcheck=1 - gpgkey=https://download.docker.com/linux/fedora/gpg + 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 - path: /etc/chrony.conf contents: source: https://raw.githubusercontent.com/GrapheneOS/infrastructure/main/chrony.conf @@ -228,163 +159,37 @@ storage: - 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 + - 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/systemd/system/sshd.service.d/local.conf contents: source: https://raw.githubusercontent.com/GrapheneOS/infrastructure/main/systemd/system/sshd.service.d/local.conf - - path: /etc/ssh/sshd_config/10-custom.conf - contents: - source: https://raw.githubusercontent.com/TommyTran732/Linux-Setup-Scripts/main/etc/ssh/sshd_config/10-custom.conf - - path: /etc/tuned/active_profile - contents: - inline: | - virtual-guest - - path: /etc/tuned/profile_mode - contents: - inline: | - manual - - path: /etc/systemd/zram-generator.conf - contents: - inline: | - [zram0] - zram-fraction = 1 - max-zram-size = 8192 - compression-algorithm = zstd - - path: /etc/security/limits.d/30-disable-coredump.conf - contents: - inline: | - * hard core 0 - path: /etc/ssh/ssh_config.d/10-custom.conf contents: - inline: | - GSSAPIAuthentication no - VerifyHostKeyDNS yes + source: https://raw.githubusercontent.com/TommyTran732/Linux-Setup-Scripts/main/etc/ssh/ssh_config.d/10-custom.conf + - path: /etc/tuned/active_profile + contents: + source: https://raw.githubusercontent.com/TommyTran732/Linux-Setup-Scripts/main/etc/tuned/active_profile + - path: /etc/tuned/profile_mode + contents: + source: https://raw.githubusercontent.com/TommyTran732/Linux-Setup-Scripts/main/etc/tuned/profile_mode + - path: /etc/systemd/zram-generator.conf + contents: + source: https://raw.githubusercontent.com/TommyTran732/Fedora-CoreOS-Ignition/main/etc/systemd/zram-generator.conf + - path: /etc/security/limits.d/30-disable-coredump.conf + contents: + source: https://raw.githubusercontent.com/TommyTran732/Fedora-CoreOS-Ignition/main/etc/security/limits.d/30-disable-coredump.conf - path: /etc/sysconfig/chronyd overwrite: true contents: - inline: | - # Command-line options for chronyd - OPTIONS="-F 1" + source: https://raw.githubusercontent.com/TommyTran732/Linux-Setup-Scripts/main/etc/sysconfig/chronyd - path: /etc/unbound/unbound.conf contents: - inline: | - server: - chroot: "" - - auto-trust-anchor-file: "/var/lib/unbound/root.key" - trust-anchor-signaling: yes - root-key-sentinel: yes - - tls-cert-bundle: /etc/ssl/certs/ca-certificates.crt - tls-ciphers: "PROFILE=SYSTEM" - - hide-http-user-agent: yes - hide-identity: yes - hide-trustanchor: yes - hide-version: yes - - deny-any: yes - harden-algo-downgrade: yes - harden-large-queries: yes - harden-referral-path: yes - harden-short-bufsize: yes - ignore-cd-flag: yes - max-udp-size: 3072 - module-config: "validator iterator" - qname-minimisation-strict: yes - unwanted-reply-threshold: 10000000 - use-caps-for-id: yes - - outgoing-port-permit: 1024-65535 - - prefetch: yes - prefetch-key: yes - - forward-zone: - name: "." - forward-tls-upstream: yes - forward-addr: 1.1.1.2@853#security.cloudflare-dns.com - forward-addr: 1.0.0.2@853#security.cloudflare-dns.com - forward-addr: 2606:4700:4700::1112@853#security.cloudflare-dns.com - forward-addr: 2606:4700:4700::1002@853#security.cloudflare-dns.com + source: https://raw.githubusercontent.com/TommyTran732/Fedora-CoreOS-Ignition/main/etc/unbound/unbound.conf - path: /etc/systemd/system/unbound.service.d/override.conf contents: - inline: | - [Service] - MemoryDenyWriteExecute=true - PrivateDevices=true - PrivateTmp=true - ProtectHome=true - ProtectClock=true - ProtectControlGroups=true - ProtectKernelLogs=true - ProtectKernelModules=true - # This breaks using socket options like 'so-rcvbuf'. Explicitly disable for visibility. - ProtectKernelTunables=true - ProtectProc=invisible - RestrictAddressFamilies=AF_INET AF_INET6 AF_NETLINK AF_UNIX - RestrictRealtime=true - SystemCallArchitectures=native - SystemCallFilter=~@clock @cpu-emulation @debug @keyring @module mount @obsolete @resources - RestrictNamespaces=yes - LockPersonality=yes - - path: /etc/docker/daemon.json - contents: - inline: | - { - "default-runtime": "runsc-systrap", - "runtimes": { - "runsc-kvm": { - "path": "/usr/local/bin/runsc", - "runtimeArgs": [ - "--platform=kvm", - "--network=host" - ] - }, - "runsc-systrap": { - "path": "/usr/local/bin/runsc", - "runtimeArgs": [ - "--platform=systrap", - "--network=host" - ] - }, - "runsc-kvm --host-uds=open": { - "path": "/usr/local/bin/runsc", - "runtimeArgs": [ - "--platform=kvm", - "--network=host", - "--host-uds=open" - ] - }, - "runsc-systrap --host-uds=open": { - "path": "/usr/local/bin/runsc", - "runtimeArgs": [ - "--platform=systrap", - "--network=host", - "--host-uds=open" - ] - }, - "runsc-kvm-debug": { - "path": "/usr/local/bin/runsc", - "runtimeArgs": [ - "--platform=kvm", - "--network=host", - "--debug-log=/tmp/runsc-kvm/", - "--debug", - "--strace" - ] - }, - "runsc-systrap-debug": { - "path": "/usr/local/bin/runsc", - "runtimeArgs": [ - "--platform=systrap", - "--network=host", - "--debug-log=/tmp/runsc-systrap/", - "--debug", - "--strace" - ] - } - } - } + source: https://raw.githubusercontent.com/TommyTran732/Fedora-CoreOS-Ignition/main/etc/systemd/system/unbound.servcice.d/override.conf links: - path: /etc/localtime target: ../usr/share/zoneinfo/America/Phoenix diff --git a/UTM-Chrony.ign b/UTM-Chrony.ign index 1050a0a..a355a74 100644 --- a/UTM-Chrony.ign +++ b/UTM-Chrony.ign @@ -43,9 +43,6 @@ "sshAuthorizedKeys": [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINkTKkJS7Id1WCyA5Klu/moLG9mP5hTC+v2qYqypMF1u contact@tommytran.io" ] - }, - { - "name": "unpriv" } ] }, @@ -108,73 +105,65 @@ "source": "https://gitlab.com/divested/brace/-/raw/master/brace/usr/lib/systemd/system/irqbalance.service.d/99-brace.conf" } }, + { + "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", + "contents": { + "source": "https://raw.githubusercontent.com/TommyTran732/Linux-Setup-Scripts/main/etc/ssh/ssh_config.d/10-custom.conf" + } + }, { "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" } }, - { - "path": "/etc/ssh/sshd_config/10-custom.conf", - "contents": { - "source": "https://raw.githubusercontent.com/TommyTran732/Linux-Setup-Scripts/main/etc/ssh/sshd_config/10-custom.conf" - } - }, { "path": "/etc/tuned/active_profile", "contents": { - "compression": "", - "source": "data:,virtual-guest%0A" + "source": "https://raw.githubusercontent.com/TommyTran732/Linux-Setup-Scripts/main/etc/tuned/active_profile" } }, { "path": "/etc/tuned/profile_mode", "contents": { - "compression": "", - "source": "data:,manual%0A" + "source": "https://raw.githubusercontent.com/TommyTran732/Linux-Setup-Scripts/main/etc/tuned/profile_mode" } }, { "path": "/etc/systemd/zram-generator.conf", "contents": { - "compression": "", - "source": "data:,%5Bzram0%5D%0Azram-fraction%20%3D%201%0Amax-zram-size%20%3D%208192%0Acompression-algorithm%20%3D%20zstd%0A" + "source": "https://raw.githubusercontent.com/TommyTran732/Fedora-CoreOS-Ignition/main/etc/systemd/zram-generator.conf" } }, { "path": "/etc/security/limits.d/30-disable-coredump.conf", "contents": { - "compression": "", - "source": "data:,*%20hard%20core%200%0A" - } - }, - { - "path": "/etc/ssh/ssh_config.d/10-custom.conf", - "contents": { - "compression": "", - "source": "data:,GSSAPIAuthentication%20no%0AVerifyHostKeyDNS%20yes%0A" + "source": "https://raw.githubusercontent.com/TommyTran732/Fedora-CoreOS-Ignition/main/etc/security/limits.d/30-disable-coredump.conf" } }, { "overwrite": true, "path": "/etc/sysconfig/chronyd", "contents": { - "compression": "", - "source": "data:,%23%20Command-line%20options%20for%20chronyd%0AOPTIONS%3D%22-F%201%22%0A" + "source": "https://raw.githubusercontent.com/TommyTran732/Linux-Setup-Scripts/main/etc/sysconfig/chronyd" } }, { "path": "/etc/unbound/unbound.conf", "contents": { - "compression": "gzip", - "source": "data:;base64,H4sIAAAAAAAC/6xSQWvcPBC9768Q/s5jezfZ5MNQ6CWFQktL00uPE2lsD5ElZzTa1Pn1RbtdlyyFQqkNxp4373ne0ySSA0m3McaOEqN2pqo2G2MwawSVnBQw2DEK9OypM1VzQGk8PzQ5PMQcXFNY9SMt1caYV4TEQ0DPYejMQmljTOmER1ogUVAO5E9A4fkElkThIQdXftOQ2iYl35RqaiweYe7ZolKqreiZxfNIkjpTff7y6d37D3dv7r/df737eDQxsiMYVWfIiQRwoKDnYY4YuzKJLq+KRxMnD6/qB5LEMaxDOwoLYPhFRnEUAP0QwcXnMAg6ugA9ykDwlEmY0gUm1JMIephRxwssjfGYTp/4ZdXkIUQhsA56j2vKE36H7GY4dV61t7tSjC57AhtDz0NnqgN6dqhRDCtJeSnH9xRwIpg48MQJlWOApMJ2DS2HZwxKDoRmv4COQmmM3nVm256u0pQILM4J+ijAbs0rZh0ihwHm4mUmmVgLcXcNN/v91b70zCUEtav983dZm59CfZRnFAcvMVDZ2zJzZ6q6GDhjZTPynFQIp7PUGUPnpDPbuty7t//vr/5LZLOwLrX1MbveoxC4kGobp9/w2rr9C97upr3prm/b9vTottvtPxBp2z+L/AgAAP//qRxiA+IDAAA=" + "source": "https://raw.githubusercontent.com/TommyTran732/Fedora-CoreOS-Ignition/main/etc/unbound/unbound.conf" } }, { "path": "/etc/systemd/system/unbound.service.d/override.conf", "contents": { - "compression": "gzip", - "source": "data:;base64,H4sIAAAAAAAC/2yRQWvcPBCG7/srBN8hp+T43Qxekt12ycYsiUsLpRRZfrMZLGvMzMjEl/72oqUbauhJo2dmmNGj7y+QmQJ+bJ4wsiwPSMtXIcPuHSEbKpOMzUlo9oYHlFJdsXacrnc2BPvMI1bgPnIY1oSTCcdPwnnSVeYRkhCPfP4XfuI+x+v0/1z7Ruo6gR/UZaV0dsphgDmejDipizTA3SjfSpi7/Hpz53bvU6RAFhfXk/ouwr2yuJmUOopky916YptTKVovcxIOFaVLU8TmGWpCwbZ9L1Dd+5EiQavt/ueh2bXuz/l/CZpdezw0jyX80hy+ffQ+w0ejq7eXRQ3jvY9xK+GNysws0Cp5o/nv9J6iQapfdSiKXR2mfIsxR1/e7+oeXT67esAixU49Xvy5kXMyV3OnHGFwtUA5S4B+7NP4ETr58tULdHPkMJwgyskXSRf2OwAA///OGG3DOAIAAA==" + "source": "https://raw.githubusercontent.com/TommyTran732/Fedora-CoreOS-Ignition/main/etc/systemd/system/unbound.servcice.d/override.conf" } } ], @@ -204,9 +193,9 @@ "systemd": { "units": [ { - "contents": "[Unit]\nDescription=Initial System Setup\n# We run after `systemd-machine-id-commit.service` to ensure that\n# `ConditionFirstBoot=true` services won't rerun on the next boot.\nAfter=systemd-machine-id-commit.service\nAfter=network-online.target\n# We run before `zincati.service` to avoid conflicting rpm-ostree\n# transactions.\nBefore=zincati.service\nConditionPathExists=!/var/lib/%N.stamp\n\n[Service]\nType=oneshot\nRemainAfterExit=yes\nExecStart=/usr/bin/systemctl restart chronyd\nExecStart=/usr/bin/rpm-ostree install firewalld qemu-guest-agent tuned unbound\nExecStart=/usr/bin/rpm-ostree override remove cifs-utils containerd moby-engine runc samba-common-libs samba-client-libs libsmbclient libwbclient samba-common sssd-krb5-common sssd-ipa sssd-nfs-idmap sssd-ldap sssd-client sssd-ad sssd-common sssd-krb5 sssd-common-pac\nExecStart=/usr/bin/sed -i 's/nullok//g' /etc/pam.d/system-auth\nExecStart=/usr/bin/sed -i '$ a\\allow 10.0.2.2/32' /etc/chrony.conf\nExecStart=/usr/bin/sed -i 's/# install bluetooth/install bluetooth/g' /etc/modprobe.d/30_security-misc.conf\nExecStart=/usr/bin/sed -i 's/# install btusb/install btusb/g' /etc/modprobe.d/30_security-misc.conf\nExecStart=/usr/bin/sed -i 's/kernel.yama.ptrace_scope=2/kernel.yama.ptrace_scope=1/g' /etc/sysctl.d/990-security-misc.conf\nExecStart=/usr/bin/sed -i 's/net.ipv4.icmp_echo_ignore_all=1/net.ipv4.icmp_echo_ignore_all=0/g' /etc/sysctl.d/990-security-misc.conf\nExecStart=/usr/bin/sed -i 's/net.ipv6.icmp.echo_ignore_all=1/net.ipv6.icmp.echo_ignore_all=0/g' /etc/sysctl.d/990-security-misc.conf\nExecStart=/usr/bin/systemctl disable systemd-resolved\nExecStart=/usr/bin/touch /var/lib/%N.stamp\nExecStart=/usr/bin/systemctl --no-block reboot\n\n[Install]\nWantedBy=multi-user.target\n", + "contents": "[Unit]\nDescription=Initial System Setup\n# We run after `systemd-machine-id-commit.service` to ensure that\n# `ConditionFirstBoot=true` services won't rerun on the next boot.\nAfter=systemd-machine-id-commit.service\nAfter=network-online.target\n# We run before `zincati.service` to avoid conflicting rpm-ostree\n# transactions.\nBefore=zincati.service\nConditionPathExists=!/var/lib/%N.stamp\n\n[Service]\nType=oneshot\nRemainAfterExit=yes\nExecStart=/usr/bin/rpm-ostree install firewalld qemu-guest-agent tuned unbound\nExecStart=/usr/bin/rpm-ostree override remove cifs-utils containerd moby-engine runc samba-common-libs samba-client-libs libsmbclient libwbclient samba-common sssd-krb5-common sssd-ipa sssd-nfs-idmap sssd-ldap sssd-client sssd-ad sssd-common sssd-krb5 sssd-common-pac\nExecStart=/usr/bin/sed -i 's/nullok//g' /etc/pam.d/system-auth\nExecStart=/usr/bin/sed -i '$ a\\allow 10.0.2.2/32' /etc/chrony.conf\nExecStart=/usr/bin/sed -i 's/# install bluetooth/install bluetooth/g' /etc/modprobe.d/30_security-misc.conf\nExecStart=/usr/bin/sed -i 's/# install btusb/install btusb/g' /etc/modprobe.d/30_security-misc.conf\nExecStart=/usr/bin/sed -i 's/kernel.yama.ptrace_scope=2/kernel.yama.ptrace_scope=1/g' /etc/sysctl.d/990-security-misc.conf\nExecStart=/usr/bin/sed -i 's/net.ipv4.icmp_echo_ignore_all=1/net.ipv4.icmp_echo_ignore_all=0/g' /etc/sysctl.d/990-security-misc.conf\nExecStart=/usr/bin/sed -i 's/net.ipv6.icmp.echo_ignore_all=1/net.ipv6.icmp.echo_ignore_all=0/g' /etc/sysctl.d/990-security-misc.conf\nExecStart=/usr/bin/systemctl disable systemd-resolved\nExecStart=/usr/bin/touch /var/lib/%N.stamp\nExecStart=/usr/bin/systemctl --no-block reboot\n\n[Install]\nWantedBy=multi-user.target\n", "enabled": true, - "name": "postinst1.service" + "name": "postinst.service" }, { "contents": "[Unit]\nDescription=Initial System Setup Part 3\n# We run this after the packages have been overlayed\nAfter=firewalld.service\nConditionPathExists=!/var/lib/%N.stamp\nConditionPathExists=/var/lib/postinst.stamp\n\n[Service]\nType=oneshot\nRemainAfterExit=yes\nExecStart=/usr/bin/systemctl enable --now firewalld\nExecStart=/usr/bin/firewall-cmd --lockdown-on\nExecStart=/usr/bin/firewall-cmd --permanent --add-service=ntp\nExecStart=/usr/bin/firewall-cmd --reload\n\n[Install]\nWantedBy=multi-user.target\n", diff --git a/UTM-Chrony.yml b/UTM-Chrony.yml index e4c1cef..5f227f0 100644 --- a/UTM-Chrony.yml +++ b/UTM-Chrony.yml @@ -22,10 +22,9 @@ passwd: groups: - wheel - sudo - - name: unpriv systemd: units: - - name: postinst1.service + - name: postinst.service enabled: true contents: | [Unit] @@ -135,105 +134,37 @@ storage: - 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 + - 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 + contents: + source: https://raw.githubusercontent.com/TommyTran732/Linux-Setup-Scripts/main/etc/ssh/ssh_config.d/10-custom.conf - 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 - - path: /etc/ssh/sshd_config/10-custom.conf - contents: - source: https://raw.githubusercontent.com/TommyTran732/Linux-Setup-Scripts/main/etc/ssh/sshd_config/10-custom.conf - path: /etc/tuned/active_profile contents: - inline: | - virtual-guest + source: https://raw.githubusercontent.com/TommyTran732/Linux-Setup-Scripts/main/etc/tuned/active_profile - path: /etc/tuned/profile_mode contents: - inline: | - manual + source: https://raw.githubusercontent.com/TommyTran732/Linux-Setup-Scripts/main/etc/tuned/profile_mode - path: /etc/systemd/zram-generator.conf contents: - inline: | - [zram0] - zram-fraction = 1 - max-zram-size = 8192 - compression-algorithm = zstd + source: https://raw.githubusercontent.com/TommyTran732/Fedora-CoreOS-Ignition/main/etc/systemd/zram-generator.conf - path: /etc/security/limits.d/30-disable-coredump.conf contents: - inline: | - * hard core 0 - - path: /etc/ssh/ssh_config.d/10-custom.conf - contents: - inline: | - GSSAPIAuthentication no - VerifyHostKeyDNS yes + source: https://raw.githubusercontent.com/TommyTran732/Fedora-CoreOS-Ignition/main/etc/security/limits.d/30-disable-coredump.conf - path: /etc/sysconfig/chronyd overwrite: true contents: - inline: | - # Command-line options for chronyd - OPTIONS="-F 1" + source: https://raw.githubusercontent.com/TommyTran732/Linux-Setup-Scripts/main/etc/sysconfig/chronyd - path: /etc/unbound/unbound.conf contents: - inline: | - server: - chroot: "" - - auto-trust-anchor-file: "/var/lib/unbound/root.key" - trust-anchor-signaling: yes - root-key-sentinel: yes - - tls-cert-bundle: /etc/ssl/certs/ca-certificates.crt - tls-ciphers: "PROFILE=SYSTEM" - - hide-http-user-agent: yes - hide-identity: yes - hide-trustanchor: yes - hide-version: yes - - deny-any: yes - harden-algo-downgrade: yes - harden-large-queries: yes - harden-referral-path: yes - harden-short-bufsize: yes - ignore-cd-flag: yes - max-udp-size: 3072 - module-config: "validator iterator" - qname-minimisation-strict: yes - unwanted-reply-threshold: 10000000 - use-caps-for-id: yes - - outgoing-port-permit: 1024-65535 - - prefetch: yes - prefetch-key: yes - - forward-zone: - name: "." - forward-tls-upstream: yes - forward-addr: 1.1.1.2@853#security.cloudflare-dns.com - forward-addr: 1.0.0.2@853#security.cloudflare-dns.com - forward-addr: 2606:4700:4700::1112@853#security.cloudflare-dns.com - forward-addr: 2606:4700:4700::1002@853#security.cloudflare-dns.com + source: https://raw.githubusercontent.com/TommyTran732/Fedora-CoreOS-Ignition/main/etc/unbound/unbound.conf - path: /etc/systemd/system/unbound.service.d/override.conf contents: - inline: | - [Service] - MemoryDenyWriteExecute=true - PrivateDevices=true - PrivateTmp=true - ProtectHome=true - ProtectClock=true - ProtectControlGroups=true - ProtectKernelLogs=true - ProtectKernelModules=true - # This breaks using socket options like 'so-rcvbuf'. Explicitly disable for visibility. - ProtectKernelTunables=true - ProtectProc=invisible - RestrictAddressFamilies=AF_INET AF_INET6 AF_NETLINK AF_UNIX - RestrictRealtime=true - SystemCallArchitectures=native - SystemCallFilter=~@clock @cpu-emulation @debug @keyring @module mount @obsolete @resources - RestrictNamespaces=yes - LockPersonality=yes + source: https://raw.githubusercontent.com/TommyTran732/Fedora-CoreOS-Ignition/main/etc/systemd/system/unbound.servcice.d/override.conf links: - path: /etc/localtime target: ../usr/share/zoneinfo/America/Phoenix diff --git a/etc/docker/daemon.json b/etc/docker/daemon.json new file mode 100644 index 0000000..8a2c3a8 --- /dev/null +++ b/etc/docker/daemon.json @@ -0,0 +1,55 @@ +{ + "default-runtime": "runsc-systrap", + "runtimes": { + "runsc-kvm": { + "path": "/usr/local/bin/runsc", + "runtimeArgs": [ + "--platform=kvm", + "--network=host" + ] + }, + "runsc-systrap": { + "path": "/usr/local/bin/runsc", + "runtimeArgs": [ + "--platform=systrap", + "--network=host" + ] + }, + "runsc-kvm --host-uds=open": { + "path": "/usr/local/bin/runsc", + "runtimeArgs": [ + "--platform=kvm", + "--network=host", + "--host-uds=open" + ] + }, + "runsc-systrap --host-uds=open": { + "path": "/usr/local/bin/runsc", + "runtimeArgs": [ + "--platform=systrap", + "--network=host", + "--host-uds=open" + ] + }, + "runsc-kvm-debug": { + "path": "/usr/local/bin/runsc", + "runtimeArgs": [ + "--platform=kvm", + "--network=host", + "--debug-log=/tmp/runsc-kvm/", + "--debug", + "--strace" + ] + }, + "runsc-systrap-debug": { + "path": "/usr/local/bin/runsc", + "runtimeArgs": [ + "--platform=systrap", + "--network=host", + "--debug-log=/tmp/runsc-systrap/", + "--debug", + "--strace" + ] + } + } +} \ No newline at end of file diff --git a/etc/security/limits.d/30-disable-coredump.conf b/etc/security/limits.d/30-disable-coredump.conf new file mode 100644 index 0000000..527b136 --- /dev/null +++ b/etc/security/limits.d/30-disable-coredump.conf @@ -0,0 +1 @@ +* hard core 0 \ No newline at end of file diff --git a/etc/systemd/system/unbound.service.d/override.conf b/etc/systemd/system/unbound.service.d/override.conf new file mode 100644 index 0000000..72111e5 --- /dev/null +++ b/etc/systemd/system/unbound.service.d/override.conf @@ -0,0 +1,19 @@ +[Service] +MemoryDenyWriteExecute=true +PrivateDevices=true +PrivateTmp=true +ProtectHome=true +ProtectClock=true +ProtectControlGroups=true +ProtectKernelLogs=true +ProtectKernelModules=true +# This breaks using socket options like 'so-rcvbuf'. Explicitly disable for visibility. +ProtectKernelTunables=true +ProtectProc=invisible +RestrictAddressFamilies=AF_INET AF_INET6 AF_NETLINK AF_UNIX +RestrictRealtime=true +SystemCallArchitectures=native +SystemCallFilter=~@clock @cpu-emulation @debug @keyring @module mount @obsolete @resources +RestrictNamespaces=yes +LockPersonality=yes +RestrictSUIDSGID=yes \ No newline at end of file diff --git a/etc/systemd/zram-generator.conf b/etc/systemd/zram-generator.conf new file mode 100644 index 0000000..f41f8ca --- /dev/null +++ b/etc/systemd/zram-generator.conf @@ -0,0 +1,4 @@ +[zram0] +zram-fraction = 1 +max-zram-size = 8192 +compression-algorithm = zstd \ No newline at end of file diff --git a/etc/tuned/active_profile b/etc/tuned/active_profile new file mode 100644 index 0000000..fee234f --- /dev/null +++ b/etc/tuned/active_profile @@ -0,0 +1 @@ +virtual-guest \ No newline at end of file diff --git a/etc/tuned/profile_mode b/etc/tuned/profile_mode new file mode 100644 index 0000000..aabfa58 --- /dev/null +++ b/etc/tuned/profile_mode @@ -0,0 +1 @@ +manual \ No newline at end of file diff --git a/etc/unbound/unbound.conf b/etc/unbound/unbound.conf new file mode 100644 index 0000000..9b7ca1c --- /dev/null +++ b/etc/unbound/unbound.conf @@ -0,0 +1,39 @@ +server: + chroot: "" + + auto-trust-anchor-file: "/var/lib/unbound/root.key" + trust-anchor-signaling: yes + root-key-sentinel: yes + + tls-cert-bundle: /etc/ssl/certs/ca-certificates.crt + tls-ciphers: "PROFILE=SYSTEM" + + hide-http-user-agent: yes + hide-identity: yes + hide-trustanchor: yes + hide-version: yes + + deny-any: yes + harden-algo-downgrade: yes + harden-large-queries: yes + harden-referral-path: yes + harden-short-bufsize: yes + ignore-cd-flag: yes + max-udp-size: 3072 + module-config: "validator iterator" + qname-minimisation-strict: yes + unwanted-reply-threshold: 10000000 + use-caps-for-id: yes + + outgoing-port-permit: 1024-65535 + + prefetch: yes + prefetch-key: yes + +forward-zone: + name: "." + forward-tls-upstream: yes + forward-addr: 1.1.1.2@853#security.cloudflare-dns.com + forward-addr: 1.0.0.2@853#security.cloudflare-dns.com + forward-addr: 2606:4700:4700::1112@853#security.cloudflare-dns.com + forward-addr: 2606:4700:4700::1002@853#security.cloudflare-dns.com \ No newline at end of file diff --git a/etc/yum.repos.d/docker-ce.repo b/etc/yum.repos.d/docker-ce.repo new file mode 100644 index 0000000..9f90b82 --- /dev/null +++ b/etc/yum.repos.d/docker-ce.repo @@ -0,0 +1,62 @@ +[docker-ce-stable] +name=Docker CE Stable - $basearch +baseurl=https://download.docker.com/linux/fedora/$releasever/$basearch/stable +enabled=1 +gpgcheck=1 +gpgkey=https://download.docker.com/linux/fedora/gpg + +[docker-ce-stable-debuginfo] +name=Docker CE Stable - Debuginfo $basearch +baseurl=https://download.docker.com/linux/fedora/$releasever/debug-$basearch/stable +enabled=0 +gpgcheck=1 +gpgkey=https://download.docker.com/linux/fedora/gpg + +[docker-ce-stable-source] +name=Docker CE Stable - Sources +baseurl=https://download.docker.com/linux/fedora/$releasever/source/stable +enabled=0 +gpgcheck=1 +gpgkey=https://download.docker.com/linux/fedora/gpg + +[docker-ce-test] +name=Docker CE Test - $basearch +baseurl=https://download.docker.com/linux/fedora/$releasever/$basearch/test +enabled=0 +gpgcheck=1 +gpgkey=https://download.docker.com/linux/fedora/gpg + +[docker-ce-test-debuginfo] +name=Docker CE Test - Debuginfo $basearch +baseurl=https://download.docker.com/linux/fedora/$releasever/debug-$basearch/test +enabled=0 +gpgcheck=1 +gpgkey=https://download.docker.com/linux/fedora/gpg + +[docker-ce-test-source] +name=Docker CE Test - Sources +baseurl=https://download.docker.com/linux/fedora/$releasever/source/test +enabled=0 +gpgcheck=1 +gpgkey=https://download.docker.com/linux/fedora/gpg + +[docker-ce-nightly] +name=Docker CE Nightly - $basearch +baseurl=https://download.docker.com/linux/fedora/$releasever/$basearch/nightly +enabled=0 +gpgcheck=1 +gpgkey=https://download.docker.com/linux/fedora/gpg + +[docker-ce-nightly-debuginfo] +name=Docker CE Nightly - Debuginfo $basearch +baseurl=https://download.docker.com/linux/fedora/$releasever/debug-$basearch/nightly +enabled=0 +gpgcheck=1 +gpgkey=https://download.docker.com/linux/fedora/gpg + +[docker-ce-nightly-source] +name=Docker CE Nightly - Sources +baseurl=https://download.docker.com/linux/fedora/$releasever/source/nightly +enabled=0 +gpgcheck=1 +gpgkey=https://download.docker.com/linux/fedora/gpg \ No newline at end of file diff --git a/etc/zincati/config.d/51-rollout-wariness.toml b/etc/zincati/config.d/51-rollout-wariness.toml new file mode 100644 index 0000000..4b3b8bb --- /dev/null +++ b/etc/zincati/config.d/51-rollout-wariness.toml @@ -0,0 +1,2 @@ +[identity] +rollout_wariness = 0 \ No newline at end of file diff --git a/etc/zincati/config.d/55-updates-strategy.toml b/etc/zincati/config.d/55-updates-strategy.toml new file mode 100644 index 0000000..ea57557 --- /dev/null +++ b/etc/zincati/config.d/55-updates-strategy.toml @@ -0,0 +1,8 @@ +[updates] +strategy = "periodic" +[updates.periodic] +time_zone = "localtime" +[[updates.periodic.window]] +days = [ "Sun" ] +start_time = "0:00" +length_minutes = 60 \ No newline at end of file