Force
is an event processing and infrastructure automation framework.
Makefiles
create an easy way to build targets and projects.
.force
scripts create event-driven workflows with multiple services
combined together: Github to Docker builds, Slack to Kubernetes Deployments.
Current version is not even alpha, use at your own risk (0.0.18
).
Read the docs at https://force.gravitational.co
It should be easy and fun to define declarative event-driven workflows for infrastructure projects.
Go
syntax for everything.It is not a general purpose event workflow tool, it's designed for cloud native infrastructure projects.
Force already includes out of the box plugins for:
Soon force will include out of the box plugins for:
Rationale
There should be a high level abstraction, a glue language to describe modern cloud-native workloads.
Current state of the system using YAML is not good enough, as it produces very complex systems that are very hard to troubleshoot, debug and install.
Originals
Force is an interpreted mix of Go and [Scheme](https://en.wikipedia.org/wiki/Scheme_(programming_language).
Go makes it fun to work with concurrently running processes because it derives it's design from the CSP.
[Scheme](https://en.wikipedia.org/wiki/Scheme_(programming_language) is a higher-level functional language, and Force uses it's functional declarative style that will work well for cloud-native workloads where state is propagated across distributed infrastructure. Scheme's immutable and functional approach should work well
This is work in progress and draft.
Please send your feedback to sasha@gravitational.com
who is working on this project as a research activity.