Cup
π₯€
Because Git deserves better contribution automation
Cup is an extensible server for building automation around introspection and contributions to Git and SCMs like GitHub. It exposes a consistent declarative API, with an opinionated convention based on Kubernetes. The API is self-describing, allowing for tooling to be developed with broad applicability to a range of usecases. All changes made to API resources are handled by Controllers. Controllers do the heavy lifting when it comes to changing the contents of a repository based on the desired state of an API resource. Any calculated changes are proposed as pull or merge requests on your prefered SCM (GitHub, Gitea etc.).
βββββββ ββββββββββββββββββββββββββββββββ ββββββββββββββββββββββββββββββββββββ
β β β Controller β β GitHub β
β β β β β β
β β β flipt.io/Flag/v1 β β βββββββββββββββββββββββ β
β ββββββββββββββΆ β β β Git Repository β β
β β β ββββββββββββββββββββββββββββ β β β β β
β β β β Wazero β β ββββββββΌββΆβ β β
β β β β β β β β β β β
β β β β exec get <kind> ... β β β β βββββββββββββββββββββββ β
β β β β exec list <kind> ... β β β β βββββββββββββββββββββββ β
β β β β exec put <kind> ... β β β β β Git Repository β β
β β β β exec delete <kind> ... β β β β β β β
β β β β β β β β β β β
β β β βββββββββ²ββββββββββ¬βββββββββ β β β β β β
β A ββββββββββββββ€ β β β β β β β β
β P β β βββββββββ΄ββββββββββΌβββββββββ β β β βββββββββββββββββββββββ β
β I β β β Source βββΌβββ βββββΆ β
β β β β β β β β β
β S β β ββββββββββββββββββββββββββββ βββββββ ββββββββββββββββββββββββββββββββββββ
β e β ββββββββββββββββββββββββββββββββ ββββββββββββββββββββββββββββββββββββ
β r β β Gitea β
β v β β β
β e β ββββββββββββββββββββββββββββββββ β βββββββββββββββββββββββ β
β r β β Controller β β β Git Repository β β
β ββββββββββββββΆ β β β β β
β β β apps/Deployment/v1 β β β β β
β ββββββββββββββ€ β β β β β
β β β ... β β β β β
β β ββββββββββββββββββββββββββββββββ β βββββββββββββββββββββββ β
β β ββββββββββββββββββββββββββββββββ β βββββββββββββββββββββββ β
β β β Controller β β β Git Repository β β
β ββββββββββββββΆ β β β β β
β β β my.org/Server/v1alpha1 β β β β β
β ββββββββββββββ€ β β β β β
β β β ... β β β β β
β β ββββββββββββββββββββββββββββββββ β βββββββββββββββββββββββ β
β β β β
β β ... β β
βββββββ ββββββββββββββββββββββββββββββββββββ