Commit Graph

16 Commits

Author SHA1 Message Date
8a95e57045 Don't clone with 'depth=1' in CoreOS update
Full git history is required for partial updates in the
`coreos-home-server-update` service.
2021-09-22 22:22:23 +01:00
16ddc3ab79 Use 'bullseye-slim' image for volume backup
This is more likely to be available when these services are called, and
does not need to be pulled opportunistically.
2021-09-18 19:48:56 +01:00
67e8a28b8f Correct issues with 'post-merge' hook
The use of 'rsync' is not compatible with the SELinux setup used in
CoreOS, and thus simple use of 'cp' and 'rm' is required.
2021-09-08 18:29:54 +01:00
231a6f529b Add automated update service, 'post-merge' hook
This allows for semi-unattended updates for home-server configuration
for managed systems, and is run once every hour by default.
2021-09-07 21:45:25 +01:00
79231c37f1 Set generic Podman defaults and per-service log IDs
Defaults for Podman that were previous applied as command-line arguments
to all `podman run` or `podman create` invocations are now specified in
a dedicated configuration file.

Services are also better identified against their name rather than the
generic `podman` ID derived from the `ExecStart` invocations.
2021-08-28 22:27:54 +01:00
132c804089 Fix title-casing for service descriptions 2021-08-28 12:51:11 +01:00
41328342b3 Implement basic volume backup and restore mechanism
This commit implements three new services, specifically:

  - The `container-volume` service, which applies to a specific volume
    name and ensures this exists. This is mainly useful as a dependency
    to other services, as Podman will create named volumes itself if
    needed.

  - The `container-volume-backup` service, which creates a `tar.gz`
    snapshot of the given volume's contents in `/var/lib/backups`.

  - The `container-volume-restore` service, which populates an empty
    volume from a pre-existing file in `/var/lib/backups`, presumably
    created by `container-volume-backup`.

These are then be used to automatically create volume snapshots every 12
hours, rolling over every 7 days.
2021-08-14 22:38:17 +01:00
a4580e1cae Improve service initialization, move system files
System files are moved to `/etc/coreos-home-server` to be unambiguous
in relation to other, pre-installed system files. Long-running services
are also now defined as `Type=notify`, which helps improve ordering and
dependencies.
2021-08-14 22:28:28 +01:00
ef7951dd72 container-build: Don't apply '--no-cache' option
This was changed recently to help with re-building container images with
side-effects, but causes other issues and delays.
2021-08-01 23:38:05 +01:00
75765576dc Fix various issues
The fixes here include typos, removals of deprecated paths, fixes for
first-boot-only systemd targets and related MariaDB migrate machinery,
better logging for Postfix, and an increase in the default request body
size for the default NGINX ingress.
2021-08-01 22:31:25 +01:00
7d9560cbdb Move 'host.env' file to '/etc/container-service'
This consolidates configuration specific to the CoreOS home-server
setup, and thus makes this easier to manage.
2021-08-01 22:28:22 +01:00
950dd3a13c container-build: Don't re-use cached layer by default
This allows container builds to use latest remote state, if available,
without having to build versioning into the container files themselves.
2021-07-24 15:57:39 +01:00
3254ead3a7 Simplify systemd services, use volumes
This commit represents a large amount of work toward moving services to
a more standard approach to storing data, and a simplification in how
networks are managed.
2021-06-27 18:36:06 +01:00
b3ab5a6ce3 Fix various issues with Nginx containers 2021-03-27 18:44:19 +00:00
ffb3fe2bcd Move Nginx Ingress services to own network 2021-03-27 11:19:45 +00:00
aafa8d9f12 Move systemd files to separate folders
This will help make subsequent synchronization with hosts easier, as
systemd files and potential dropins are guarnateed to exist under a
certain hierarchy that can be dropped as-is into host configuration
directories.
2021-03-26 20:47:08 +00:00