|
|
@@ -17,3 +17,33 @@ Each repository should contain a `horrific.yml` configuration file that specifie |
|
|
|
The `horrific` CLI actually runs as two processes; a systemd service running with root permissions, and a client process started by the user. These processes communicate through a D-Bus interface configured in [source/daemon.d](./source/daemon.d). |
|
|
|
|
|
|
|
The configuration for this service is defined in [systemd/horrific.service](./systemd/horrific.service); the [horrific.conf](./systemd/horrific.conf) file defines its D-Bus configuration, and [dev.horrific.daemon.service](./systemd/dev.horrific.daemon.service) allows it to be recognized and started by the system D-Bus session whenever a message is sent. |
|
|
|
|
|
|
|
## Config Files |
|
|
|
|
|
|
|
In each repo the program is configured for must be a `horrific.yml` file that details how the program should be invoked. |
|
|
|
|
|
|
|
Here's an overcomplicated example of a potential configuration, hosting a static site (compiled with [arbitrary site generator in the form of a Jenkins pipeline]) at `horrific.dev` and a NodeJS app at `api.horrific.dev`. |
|
|
|
|
|
|
|
```yml |
|
|
|
services: |
|
|
|
- name: Website |
|
|
|
type: static |
|
|
|
run: |
|
|
|
- preset: jekyll |
|
|
|
working_dir: /web |
|
|
|
serve: |
|
|
|
ssl: certbot |
|
|
|
domains: |
|
|
|
- horrific.dev |
|
|
|
- name: Backend / API |
|
|
|
type: docker |
|
|
|
run: |
|
|
|
- preset: nodejs |
|
|
|
working_dir: /api |
|
|
|
ports: |
|
|
|
- 8080 |
|
|
|
serve: |
|
|
|
ssl: certbot |
|
|
|
domains: |
|
|
|
- api.horrific.dev |
|
|
|
``` |