dustin
/
jenkinsagent
Archived
1
0
Fork 0
Commit Graph

10 Commits (54b21e7019ef52d1057384598435956483438c9d)

Author SHA1 Message Date
Dustin 54b21e7019 rootfs: Fetch SSH keys for Jenkins user
Since the Jenkins web UI requires HTTPS, we need the root CA
certificates installed in order to verify its certificate.
2022-03-15 14:18:29 -05:00
Dustin cabd6f43fe rootfs: Add fetch-sshkeys systemd generator
Using a systemd generator to automatically enable
*fetch-sshkeys@.service* unit instances allows multiple users' keys to
be specified on the kernel command line, without explicitly enabling
the corresponding units.
2022-03-15 14:18:29 -05:00
Dustin 0f9c3281cf rootfs: Create user for Jenkins 2022-03-15 14:18:29 -05:00
Dustin b63412e7f0 rootfs: Remove /var/log/journal
Since `/var` is a tmpfs filesystem, having the Journal stored there is
just a waste of space; `systemd-journald` already writes the journal to
`/run/log/journal`.
2022-03-15 14:18:29 -05:00
Dustin 9c03601dc0 rootfs: Set default hostname to localhost
*dhcpcd* does not set the system host name to the value provided in the
DHCP lease unless the current hostname matches its compiled-in default
value (which is `(none)`) or is *localhost*.  I'm not sure how to change
the former, but we can easily set the default to the latter to enable
dynamic hostname configuration via DHCP.
2022-03-15 14:18:29 -05:00
Dustin b29e32df30 rootfs: Get syslog servers from DHCP options
Instead of parsing the kernel command line to find the destination(s)
where syslog messages should be forwarded, we can use a *dhcpcd* hook to
get them from the DHCP lease.
2022-03-15 14:18:29 -05:00
Dustin c972de572c rootfs: Sync time with NTP using chrony
By default, *dhcpcd* generates a "complete" `chrony.conf` file using the
NTP servers specified in the DHCP lease, and then restarts the Chrony
daemon.  This is unnecessary, as *chrony* can reload its list of
sources without restarting, and also problematic in our case.  For one
thing, *dhcpcd* tries to write to `/etc/chrony.conf` directly, which is
obviously impossible when the root filesystem is immutable.
Fortunately, it is flexible enough to be configured to leave
`/etc/chrony.conf` alone and generate a different file and then tell
*chrony* to reread it.

The *chrony-wait.service* unit introduces a delay into the system
startup that allows follow-up units to wait until the system time is
confirmed correct.  The unit file itself was derived from the one
included in the *chrony* package for Fedora.
2022-03-15 14:18:29 -05:00
Dustin 0528d54559 rootfs: Add custom systemd presets
Instead of manually managing symlinks to enable units, we can define a
system preset that lists which units we want disabled.  Units that have
in `Install` section are automatically enabled.
2022-03-15 10:02:15 -05:00
Dustin 64e47b3b9b initramfs: Mount proc et al. earlier
The `/proc` filesystem has to be mounted before the kernel command line
arguments can be parsed.
2022-03-12 16:04:58 -06:00
Dustin 9d2c710be9 Initial commit 2022-03-09 00:27:30 -06:00