|
преди 8 месеца | |
---|---|---|
.github/workflows | преди 10 месеца | |
source | преди 8 месеца | |
systemd | преди 10 месеца | |
.gitignore | преди 10 месеца | |
Makefile | преди 10 месеца | |
README.md | преди 10 месеца | |
dub.json | преди 10 месеца | |
dub.selections.json | преди 10 месеца |
Usage: horrific <command> [options...]
Where <command> is one of:
hello
list-ports
reserve-port
release-port
This ridiculous program is used to manage the projects that run on HorrificDev servers, create CI workflows based on webhooks, and track resource usage.
Each repository should contain a horrific.yml
configuration file that specifies how it should be deployed on the server.
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.
The configuration for this service is defined in systemd/horrific.service; the horrific.conf file defines its D-Bus configuration, and dev.horrific.daemon.service allows it to be recognized and started by the system D-Bus session whenever a message is sent.
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
.
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