Gru - Orchestration made easy with Go and Lua
Gru is a fast and concurrent orchestration framework powered by Go and Lua, which allows you to manage your UNIX/Linux systems with ease.
Documentation
You can find the latest documentation here.
The API documentation is available here.
Features
- Written in fast, compiled language - Go
- Uses a fast, lightweight, embeddable, scripting language as the DSL - Lua
- Concurrent execution of idempotent operations
- Distributed - using etcd for node discovery and communication and Git for version control and data sync
- Easy to deploy - comes with a single, statically linked binary
- Suitable for orchestration and configuration management
Status
Gru is in constant development. Consider the API unstable as things may change without a notice.
Contributions
Gru is hosted on Github. Please contribute by reporting issues, suggesting features or by sending patches using pull requests.
License
Gru is Open Source and licensed under the BSD License.
References
References to articles related to this project in one way or another.
- Managing VMware vSphere environment with Go and Lua by using Gru orchestration framework
- Introducing triggers in Gru orchestration framework
- Puppet vs Gru - Benchmarking Speed & Concurrency
- Extending Lua with Go types
- Choosing Lua as the data description and configuration language
- Creating an orchestration framework in Go
- Dependency graph resolution algorithm in Go
- Orchestration made easy with Gru v0.2.0
- Membership test in Go
- Testing HTTP interactions in Go
- Concurrent map and slice types in Go
- Lua as a Configuration And Data Exchange Language