mirror of
https://github.com/deuill/coreos-home-server.git
synced 2024-09-21 21:50:46 +00:00
Alex Palaistras
f877a72e83
This commit contains a fairly large diff for a fairly small change: moving the `config/common` directory to `host/base` to better reflect its intended use, and promoting `config/service` to the root directory. These changes unlock some improvements in `coreos-home-server-update` processes, which will (assuming `/etc/coreos-home-server/base` exists) keep host-wide systemd services in sync in addition to service-specific ones. Changes have been make to the `Makefile` and a few other places where `config/common` was referenced, but most of this work is renames that are not intended to break compatibility with new or running servers.
40 lines
2.2 KiB
Markdown
40 lines
2.2 KiB
Markdown
# CoreOS Service Configuration
|
|
|
|
This directory contains a set of common services available for deployment onto a CoreOS Home Server
|
|
setup, and managed via systemd and Podman. Each service is given its own subdirectory, and each
|
|
follows a set of common conventions in laying out its files.
|
|
|
|
Specifically, for a service `example`, we might find the following files and directories under the
|
|
corresponding directory:
|
|
|
|
- `spec.bu` -- This file is typically included by the host configuration, and is intended with
|
|
installing any additional service files required for enabling the service.
|
|
|
|
- `Containerfile` -- This file is used in building a container image, handled by the
|
|
`container-build@example` service and presumably used in the systemd file for the `example`
|
|
service.
|
|
|
|
- `example.env.template` -- An optional file containing `KEY=value` definitions that can then be
|
|
used in the systemd service. Host-wide environment is also available in this context, and can be
|
|
used in expanding shared configuration, secrets, etc. This file is used by the
|
|
`container-environment@example` service.
|
|
|
|
- `systemd/` -- This directory contains systemd configuration, to be copied into the host-wide
|
|
`/etc/systemd/system` directory. You'll typically find things like `example.service` files
|
|
which run the service under Podman, as well as potential one-off services which copy files
|
|
around in pre-existing Podman containers.
|
|
|
|
- `container/` -- This directory contains any static files included in the Podman image, including
|
|
templated configuration, scripts, etc.
|
|
|
|
- `service/` -- This (largely optional) directory contains files required by the systemd services
|
|
themselves, and which are not included in the Podman images by default; examples include
|
|
database migration files, one-off configuration files, etc.
|
|
|
|
Of all these files, the only ones whose paths are mandated by external services are the
|
|
`Containerfile` and `<name>.env.template` files, neither of which are required by anything other
|
|
than convention (i.e. you can choose not to build a container image via the systemd service).
|
|
|
|
Each service here might have additional details on how it's expected to be deployed and used, check
|
|
the respective `README.md` files for more information.
|