Simple remote build system
Go to file
~erin b7251620cc
Broken status message to client
2023-04-02 22:06:51 -04:00
forge-client Broken status message to client 2023-04-02 22:06:51 -04:00
forge-server Broken status message to client 2023-04-02 22:06:51 -04:00
.gitignore Initialize workspace 2023-04-02 14:01:11 -04:00
Cargo.lock Authentication via argon2id 2023-04-02 20:46:03 -04:00
Cargo.toml Authentication via argon2id 2023-04-02 20:46:03 -04:00
LICENSE.md Initialize workspace 2023-04-02 14:01:11 -04:00
README.md Add info to README 2023-04-02 21:24:12 -04:00

README.md

forge

A simple remote build system. Consists of a client (forge-client) and server (forge-server).

Server

On first run, forge-server will create a configuration file for you in the default location (e.g. ~/.config/forge/config.toml). Use this to configure options, such as the IP & port to bind on, and whether to use authentication (along with a password).

Authentication will use Argon2id to hash and verify passwords.

Actually building stuff is a WIP.

Client

Fully WIP. Right now it just sends test data.

Eventually, everything will be specified via command arguments, using clap for parsing.

Usage: forge-client [OPTIONS] [COMMAND]

Options:
	-V, --version							Print version info and exit
	-H, --host								Host IP to connect to (default 127.0.0.1)
	-p, --port								Host port to connect to (default 9134)
		--json <FILE>						Recieve information in JSON format (or read build command from JSON file)

		--auth <PASSWD>						Password for authentication
		--profile 							Whether to profile the build
		--prexec <CMD>  					Command(s) to run before building
		--repo <URL>						Remote git repository to clone from
		--base <NAME>						Basename of the git repo (used to cd into)
		--build [cargo|make]				Build system to use
		--subcommand [run|build|install]	Cargo/Make subcommand to use
		--features <FEATURES>				Comma-separated cargo features
		--tag [release|debug]				Optional cargo flag (default debug)

Command:
	send	Send a new build request
	status	Get status of a build request
	fetch	Fetch the binary result of a build request