This Commit adds:
- stream package (provides different implementation of stream producers and consumers)
+ Redis -> will be used for any non-local deployments
+ InMemory -> a VERY BASIC implementation that is used for local execution
- events package
+ GenericReporter -> responsible for reporting events, can be used to send any type of event and payload
+ GenericReader -> responsible for reading events from a stream, can be used to register handlers for any type of event and payload
+ ReaderFactory -> responsible for launching readers for any type of consumer group&name.
- webhook package
+ The wire frame of the webhook package.
- gitrpc/events package
+ defines event Reader/Reporter for events of category git
* initial work on commit files
* minor improvements, grpc server interceptors and more
* compare file old sha and current sha
* added some validation steps
* config immutable, introduce temp repos dir
* handler added to standalone
* fix CI linter, fix minor bug on update
* wire generator files
Adds the following:
- Add GetContent API (with gitrpc, proto, gitadapter changes)
- Add ListCommits API (with gitrpc, proto, gitadapter changes)
- DefaultBranch (to repo table in DB, update branch in git-repo, have default value in config)
This change adds the initial stepping stones for harness integration:
- Authentication: JWT/PAT/SAT support
- Authorization: ACL integration (acl currently denies requests as gitness hasn't been integrated yet)
- Remote Clients for Token, User, ServiceAccount, ACL
- User Integration: Syncs harness users during authentication if unknown
- SA integration: syncs harness service accounts during authentication if unknown
- Initial harness API: THIS WILL BE CHANGED IN THE FUTURE!
- single harness subpackage (all marked with harness build flag)
- harness & standalone wire + make build commands