A collection of scripts & documentation for HorrificDev hosting.
25개 이상의 토픽을 선택하실 수 없습니다. Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
James Fenn 5c619e2a11 add properties to instance model 1 개월 전
.github/workflows update workflow again 3 달 전
source add properties to instance model 1 개월 전
systemd modify dbus rules 3 달 전
.gitignore switch json library, fix compilation errors 3 달 전
Makefile update workflow 3 달 전
README.md add example yml to readme 3 달 전
dub.json add crypto library, begin writing createUser function 3 달 전
dub.selections.json add crypto library, begin writing createUser function 3 달 전

README.md

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.

Components

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.

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.

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