Commit Graph

15 Commits (52e28b69125cc9392494c742cbbe69f131f3b3d7)

Author SHA1 Message Date
Dustin 52e28b6912 dhcpcd: Fix startup process
The *dhcpcd.service* systemd unit file that ships with Buildroot is
broken.  It orders the unit after *network.target*, which makes no
sense.  It also configures the process to fork, but incorrectly
configures the PID file.  Finally, by relying on the fork to indicate
that the network is "online," it does not distinguish between "an
interface is up" and "the network is reachable."  As most daemons only
need the former, they only rely on *network.target*, and thus can fail
to start correctly.

To correct this brokenness, we provide our own unit file for
*dhcpcd.service*, based on the one included in the Fedora *dhcpcd* RPM
package.  For "online" signalling, we provide a pair of shell scripts:
one reads from a named pipe waiting for a message and the other sends a
message to the pipe when configuration is complete.
2022-06-27 10:25:07 -05:00
Dustin 47d19c033b Add user for nginx
dustin/metricspi/pipeline/head This commit looks good Details
The *nginx* package for Buildroot does not automatically create an
unprivileged user for the process to use.
2022-06-26 16:36:47 -05:00
Dustin a494dc2c9f Add Nginx
dustin/metricspi/pipeline/head This commit looks good Details
2022-06-26 12:39:15 -05:00
Dustin 5a9e9c0597 Add Grafana, AlertManager, vmutils
The *vmutils* package can be built from source easily, as its just a
collection of Go applications.  Grafana and Alertmanager are quite a bit
more complicated because of their respective browser applications.  In
the interest of getting this project actually going, we'll just install
the official binary releases of these (for now?).
2022-06-26 12:35:12 -05:00
Dustin a9d8a71a92 Add fake usermod command
Ansible's `user` module *requires* that the `usermod` command be
present, even if it would not actually create or modify the specified
user.  It does not actually execute it unless it needs to, so we can
stub it out.  Making it a symlink to `false` ensures that it will never
do anything, and will fail if its actually run.
2022-06-23 15:52:12 -05:00
Dustin fa3b59143b users: Add victoriametrics user
dustin/metricspi/pipeline/head This commit looks good Details
Normally, this would be done by Ansible, but Buildroot does not provide
a `useradd` utility.  As such, the user has to be created at build time.
2022-06-23 11:24:55 -05:00
Dustin 2befb681c7 Install Victoria Metrics
dustin/metricspi/pipeline/head This commit looks good Details
Victoria Metrics is not available by default with Buildroot, but adding
a package description for it is very straightforward.  The flags and
tags are specified within Victoria Metrics's own Makefile.
2022-06-23 10:59:07 -05:00
Dustin 4dddea5a99 Add system-update script
dustin/metricspi/pipeline/head This commit looks good Details
The `system-update` script takes an archive package (`metricspi.tar`)
and extracts its contents into the proper locations to update the
system.
2022-06-23 10:45:18 -05:00
Dustin aaf75ca1a0 ci: Install systemd in build container
The *systemd* package provides the `systemd-hwdb` command, which is used
during the build to generate `/usr/lib/udev/hwdb.bin` in the target
filesystem.
2022-06-23 10:33:30 -05:00
Dustin 40867c456d package: Include Pi firmware in archive root
dustin/metricspi/pipeline/head This commit looks good Details
Raspberry Pi firmware files are now included in the root of the
distribution archive, insteaad of in an `rpi-firmware` subdirectory.
This will make it easier to extract them to the FAT32 partition on the
SD card, along with the kernel and initramfs images files.
2022-06-23 10:26:04 -05:00
Dustin 5650285a8a rootfs: Install tar
dustin/metricspi/pipeline/head This commit looks good Details
`tar` will be needed to extract update packages
2022-06-22 21:13:24 -05:00
Dustin a767ed66a5 ci: Build package 2022-06-22 21:13:24 -05:00
Dustin a7a779b2f6 build: add package target
`make package` will produce a tarball containing the kernel image,
initramfs image, Raspberry Pi firmware, and root filesystem image.
2022-06-22 20:52:48 -05:00
Dustin 6176e86eff ci: Add CI pipeline
dustin/metricspi/pipeline/head This commit looks good Details
2022-06-22 17:11:55 -05:00
Dustin 50d2f3459b Initial commit 2022-06-22 17:06:58 -05:00