https://github.com/mallozup/cosmic-river
Event middleware GitHub powered by clojure
https://github.com/mallozup/cosmic-river
clojure event-driven github message-broker rabbitmq rabbitmq-server
Last synced: 9 months ago
JSON representation
Event middleware GitHub powered by clojure
- Host: GitHub
- URL: https://github.com/mallozup/cosmic-river
- Owner: MalloZup
- License: epl-2.0
- Created: 2019-06-21T12:14:50.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2019-07-10T21:23:10.000Z (over 6 years ago)
- Last Synced: 2024-10-30T08:36:46.319Z (about 1 year ago)
- Topics: clojure, event-driven, github, message-broker, rabbitmq, rabbitmq-server
- Language: Clojure
- Homepage: https://github.com/MalloZup/cosmic-river
- Size: 348 KB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# cosmic-river
Minimalistic event-driven message oriented middleware GitHub automation for bigger/small organisations or individuals
- [quickstart](doc/quickstart.md)
- [architecture](doc/architecture.md)
- [real-examples](doc/real-examples.md)
- [Rationale](#rationale)
# Rationale:
Cosmic river has been designed with the aim of ensuring that it satisfies the requirements of both application developers as well as toolmakers for Github based events.
Cosmic-river will collect all the GitHub events and dispatch them to specific clients.
The clients can react by the events with specific handlers.
Also tool/application developers will have an universal API on events, where they can bind their application without any development cost.
Note that by by its universality, cosmic-river can be applied in different domains.
It can be applied in all domains where event-driven automation based on GitHub make sense.
As example consider this use-case:
Release automation:
* you can watch a specific issue beeing closed, cosmic-river server will notify the cosmic-river clients, which will perform custom actions.
* consider the https://github.com/kubernetes/kubernetes publish a new release, cosmic-river can trigger automatically the needed automation for making a new package for your distro, testing it with your tool
Testing, CI, Automation:
* automation on Pull-Requests, etc.
Event Notifications:
* get notified with an Issue is closed, or any other particular event occurs.
Team Metrics/Events:
* you could trigger specific actions/workflows, or simply gather data thanks to specifics events
### Layout of repo:
This repository contains basically two clojure projects.
- cosmic-river (server)
- criver-client
Cosmic-river server aims to distribute the GitHub events to the message-brokers.
The criver-clients will consume these events, filtering them and triggering the automation needed.
# Community:
You can join #cosmic-river at https://clojurians.slack.com/
or open a thread at http://clojureverse.org/,
or feel free to open an issue here for technical details.
# Roadmap:
https://github.com/MalloZup/cosmic-river/projects/2
## License
Copyright © 2019 Dario Maiocchi