A collection of scripts & documentation for HorrificDev hosting.
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.
 
 
James Fenn 5c619e2a11 add properties to instance model pirms 8 mēnešiem
.github/workflows update workflow again pirms 10 mēnešiem
source add properties to instance model pirms 8 mēnešiem
systemd modify dbus rules pirms 10 mēnešiem
.gitignore switch json library, fix compilation errors pirms 10 mēnešiem
Makefile update workflow pirms 10 mēnešiem
README.md add example yml to readme pirms 10 mēnešiem
dub.json add crypto library, begin writing createUser function pirms 10 mēnešiem
dub.selections.json add crypto library, begin writing createUser function pirms 10 mēnešiem

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