gribble

module
v0.0.0-...-90b5d9c Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 13, 2020 License: MIT

README

gribble
=======

Gribble is a GitLab CI API server, providing the bare minimum needed to
run a GitLab runner without GitLab itself. It is designed to receive
webhooks from git hosting platforms and schedule jobs for GitLab CI.

This project is currently heavily work-in-progress and should be
considered a for-fun project to get GitLab CI -- a great tool -- into
the hands of more users, without the need to run GitLab, have a GitLab
membership, mirror your repository to GitLab, and other such things.

If you use GitLab already, this project may have some appeal in
experimental features that GitLab cannot reasonably support (dynamic
pipeline generation is planned).

Planned features:
- Webhooks to schedule jobs.
    This is necessary since the alternatives are polling and making
    direct requests to APIs. The former is rude, the latter is rude and,
    in GitHub's case, will quickly exhaust API quotas.

- Reasonable .gitlab-ci.yml support.
    The full set of .gitlab-ci.yml options may not be supported since
    it's something of a moving target. Features considered experimental
    in normal GitLab CI may not be supported at all.

- Dynamic pipeline generation.
    This is currently expected to work via an initial plan job that runs
    a repository's pipeline script (likely bash or Lua) and returns an
    artifact describing generated jobs.

- Scheduling of arbitrary jobs.
    Because GitLab CI's API doesn't strictly require anything other than
    a repository (this may not even be true), it's possible to schedule
    arbitrary jobs. Providing a control socket or HTTP URI to do such
    a thing from the command line would be useful and desirable.


License
-------

Gribble is licensed under the MIT license, the same as the GitLab runner.
This is because Gribble includes code from the GitLab runner project
(this was a compromise around it being impossible to use the runner's
common library directly).

Directories

Path Synopsis
cmd
internal

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL