Cleanup to repo parsing
Starting work on parsing POST request
Add license
A tool designed for simple CI/CD pipelines. The program listens for POST requests from a Git server (e.g. GitHub, SourceHut) and pulls the repository to a specified location on the machine.
This project is a reimplementation of the Original Git Deployer written in Rust as part of an ongoing effort of mine to learn Rust.
The config file consists of two parts:
Sample:
repos:
user1/repo1:
connection: ssh
directory: /var/www/repo1
user1/repo2:
connection: http
user: user1
token: <OAuth token>
directory: $HOME/src/repo2
The repository list should be the full name of the repository, which includes the username on platforms like GitHub, GitLab, and SourceHut. The repository names in the repos list and the repo configuration block must be identical.
connection
: value should be either ssh
or http
ssh
, it is assumed that you already have an SSH key configureduser
: username to authenticate astoken
: OAuth token for the user (could also be a password but this is highly discouraged)directory
: path on the disk to store the repository