marmot
marmot copied to clipboard
Examples
Hi, Do you have examples of how this could be used in practice? Tried looking at the COG documentation but couldn't make sense out of it either. In any case, it sounds very interesting and useful. Thanks!
Hey,
So this project is based on an internal Google project that is used to automate mass changes.
However, while it is based on those ideas, it doesn't share any of the code base. The internal one relies on too many internal systems, much like why we wrote Kubernetes instead of releasing Borg.
While Marmot actually runs at this point, it lacks things like security authorization (which I haven't figured out how I want to handle) and a web interface to view executions.
This is why you haven't seen any announcements about this project. I have to write this in my off time and just haven't had the energy lately to do it.
The basic idea is that you write an object that describes how to execute a set of changes while also validating end states and providing health checks that can stop an execution (did all of a sudden did our traffic levels drop). That object gets written by another service/program/script.
The service is meant to allow:
- Writing plugins (called Cogs) that execute an action, but are separate from the service allowing them to be field up-gradable
- Writing automation logic that is separate from execution logic
- Allowing centralization of control of execution
- Scales out
There aren't any good examples of building a Labor (what describes the objectives) or a Cog (plugin), because this isn't release quality. Closest I have is: https://github.com/google/marmot/blob/master/testing/etoe/cont_check.go
This is just me writing tests where I add a few calls to a test Cog.
I'll keep thisemail around, when I get to more of a point of usefulness, I'll give you a buzz.
Thanks for the interest!
John
On Wed, Apr 25, 2018 at 2:26 PM, rc979 [email protected] wrote:
Hi, Do you have examples of how this could be used in practice? Tried looking at the COG documentation but couldn't make sense out of it either. In any case, it sounds very interesting and useful. Thanks!
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/google/marmot/issues/1, or mute the thread https://github.com/notifications/unsubscribe-auth/ABMMrjUMdbTxwSr6Q2YsCeDLaV6qwNyAks5tsOoCgaJpZM4TkLpv .
-- John Doak www.obscuredworld.com
Hi !
Seems interesting ! Is it still a work in progress ?
Thanks Guillaume
Hey Guilaume,
Yes and no. This was a port of an internal service that runs all automation for the Google network. I was doing a completely re-write in my spare time to remove all the Google tech that exist on the outside world and open source it. However, my tenure at Google ended and I've moved on. So that project is dead as a doornail.
However, I've forked it in my own repository and excepted it from my new companies "claims" on my work as part of my employment contract. So I've started to complete it. I hope to have a .1 in Jan, but I had to do some refactoring. The first version will not have the multi-master server (I have to figure out some auth stuff), but will allow you to use it as a package for building concurrent workloads that each support concurrent operations, error conditions, retries, etc.. with compiled in plugins. The .2 should offer this as a multi-master service with plugin support for field upgradable plugins (these plugins cannot crash the service, allowing other developers to release updates without panic'ing the service).
Anyways, if you are interested, send me your email and I'll update you on the first release.
Cheers,
--John [email protected] github.com/johnsiilver
On Tue, Dec 4, 2018 at 6:43 AM Guillaume Dupin [email protected] wrote:
Hi !
Seems interesting ! Is it still a work in progress ?
Thanks Guillaume
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/google/marmot/issues/1#issuecomment-444123769, or mute the thread https://github.com/notifications/unsubscribe-auth/ABMMromDvDNOGAuko0LXUWIvq8XiEaWaks5u1ooagaJpZM4TkLpv .
-- John Doak www.obscuredworld.com
@johnsiilver any updates ?
We are interesting about the new marmot which you forked.
Hi,
I’ve forked the project and have been making some radical changes. The plugin system has gotten robust to allow for both plugins stored as binaries and compiled. I completed this in Jan.
I’ve begun tying in this new structure to something called the Marmot framework. This allows for creating operational abstraction services using the compiled plugins (called Cogs).
I use this when I need a service for controlling various concrete operations via abstraction (changing a bgp route on a router, regardless if it is a Cisco IOS device or Juniper router).
I expect release of this in March.
The service will probably release headless in April, as I still have to create a good UI.
Cheers,
John
On Feb 14, 2019, at 1:17 AM, Jim Ma [email protected] wrote:
@johnsiilver any updates ?
We are interesting about the new marmot which you forked.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.