From d6dab34184e2c79827d29d11f0dfd8a65ffc2159 Mon Sep 17 00:00:00 2001 From: kjuulh Date: Tue, 8 Aug 2023 14:44:00 +0200 Subject: [PATCH] feat: add basic readme Signed-off-by: kjuulh --- README.md | 94 +++++++++++++++++++++++++++++++++++++++++++++ assets/command.png | Bin 0 -> 42688 bytes 2 files changed, 94 insertions(+) create mode 100644 README.md create mode 100644 assets/command.png diff --git a/README.md b/README.md new file mode 100644 index 0000000..414bf4c --- /dev/null +++ b/README.md @@ -0,0 +1,94 @@ +# Contractor - A renovate bot for gitea and github + +Contractor is a chatops like bot, integrating with github/gitea issues, allowing commands to trigger renovate runs. + +```bash +/contractor refresh +``` + +Contractor runs in a regular docker image and uses the official renovate slim image behind the scenes, this can be changed in the configuration. + +![command](./assets/command.png) + +## Getting started + +First you need to pull and run the contractor image, docker is the preferred way of execution, but golang is also available from source. + +Docker compose is given as an example, but you're free to run using `docker run` if you prefer. + +See example for a ready-to-run image + +```yaml +# file: docker-compose.yaml +version: "3" +services: + contractor: + image: docker.io/kjuulh/contractor:latest + restart: unless-stopped + commands: + - contractor server serve + volumes: + - "./templates/contractor:/mnt/config" + - "/var/run/docker.sock:/var/run/docker.sock" + env_file: + - .env +``` + +```bash +# file: .env +GITEA_RENOVATE_TOKEN= # needs repo and pull request permissions +GITHUB_RENOVATE_TOKEN= # needs repo and pull request permissions +GITHUB_COM_TOKEN= # used for communication, doesn't need much +RENOVATE_SECRETS='{"HARBOR_SERVER_PASSWORD": ""}' +CONTRACTOR_API_KEY='' +``` + +```json +// file: templates/contractor/config.json +{ + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "platform": "gitea", + "extends": [ + "config:base" + ] +} +// Remember to fill out the options as you see fit, this is not a complete example +``` + +Use renovate secret for each `{{ secrets.HARBOR_SERVER_PASSWORD }}` in your config, replace `HARBOR_SERVER_PASSWORD` with your own + +And then run the server with: `docker compose up` + +This has started the server, but github doesn't know that it needs to talk to you yet. + +As such host the server somewhere with a public hostname, such that github or gitea webhooks can reach it, i.e. contractor.some-domain.com:9111 + +To install the webhook, either use the docker image, or download the cli from source. + +### CLI + +To install the cli + +```bash +go install git.front.kjuulh.io/kjuulh/contractor@latest +``` + +contractor will automatically read any .env file, so you can leave out the secrets. + +```bash +contractor install --owner kjuulh --repository contractor --url https://git.front.kjuulh.io/api/v1 --backend gitea +``` + +If you leave any of these out, contractor will prompt your for required values. + +### Docker + +You can also use docker for it. + +```bash +docker compose run contractor install --owner kjuulh --repository contractor --url https://git.front.kjuulh.io/api/v1 --backend gitea +``` + +### GitHub App + +TBD, this should automatically install the webhook for allowed repositories, I just haven't gotten around to it yet. It is on the 0.3.0 Roadmap. diff --git a/assets/command.png b/assets/command.png new file mode 100644 index 0000000000000000000000000000000000000000..f6bbcbd4eeafa35eec1b8a2ea850ae6226a8947a GIT binary patch literal 42688 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