Examples
rc979 opened this issue · 5 comments
rc979 commented
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!
johnsiilver commented
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 ***@***.***> 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
<#1>, or mute the thread
<https://github.com/notifications/unsubscribe-auth/ABMMrjUMdbTxwSr6Q2YsCeDLaV6qwNyAks5tsOoCgaJpZM4TkLpv>
.
--
John Doak
www.obscuredworld.com
yogeek commented
Hi !
Seems interesting !
Is it still a work in progress ?
Thanks
Guillaume
johnsiilver commented
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
johnsiilver@gmail.com
github.com/johnsiilver
On Tue, Dec 4, 2018 at 6:43 AM Guillaume Dupin ***@***.***> 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
<#1 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/ABMMromDvDNOGAuko0LXUWIvq8XiEaWaks5u1ooagaJpZM4TkLpv>
.
--
John Doak
www.obscuredworld.com
jim3ma commented
@johnsiilver any updates ?
We are interesting about the new marmot which you forked.
johnsiilver commented
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 ***@***.***> 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.