2:42 AM
FriedBob has quit
3:04 AM
FriedBob joined the channel
4:26 AM
invidian joined the channel
4:27 AM
invidian1 has quit
6:09 AM
Volcane
dhollinger: if it works, use it :)
6:14 AM
bastelfreak
Volcane: o/
6:28 AM
Volcane: any chance you an do a new release of puppet-choria soonish?
6:29 AM
Volcane
yeah, i have a few things on my todo list and will get a bunch of releases out soon
6:30 AM
6:32 AM
bastelfreak
mhm can a project be secret? I get a 404
6:33 AM
Volcane
really? hmm
6:33 AM
let me see
6:34 AM
wow didnt even know its possible lol
6:34 AM
visible now
6:35 AM
bastelfreak
ahh
6:35 AM
thanks
6:36 AM
Volcane
will get a release out soon, snowed under writing a bloody cron daemon ugh
6:37 AM
bastelfreak
\o/
6:37 AM
why do you write a cron daemon
6:37 AM
Do I actually want to know
6:37 AM
Volcane
it'll run just RPCs
6:37 AM
bastelfreak
ah
6:37 AM
Volcane
today people cron mco rpc
6:37 AM
its a fuckup of note
6:38 AM
bastelfreak
:D
6:38 AM
Volcane
all sorts of issues, loooong running rpcs cron'd every minute etc
6:38 AM
so building a web ui to create jobs and targets DCs
6:39 AM
where i can have things like a worker pool per DC and can be defensive - dont schedule jobs thats still running from previous invocation etc
6:39 AM
and doesnt require people have shell access
6:39 AM
this is distributed over 30 DCs with 3 instances per DC in a HA group
6:39 AM
bastelfreak
I thought about something similar, backed into foreman. Mostly because it's a working UI and nobody like to deal with UI
6:40 AM
Volcane
replies fro the fleet stream back over the choria adapter framework to a central point where it gets reported centrally
6:40 AM
so choria brokers gets replies, rewrites them into NATS Stream or something like Kafka
6:40 AM
from there i use another choria project to replicate all the replies to a central DC so its resilient to DCs becoming unroutable etc
6:41 AM
yeah luckily we already have a big web ui for all sorts of systems needs so it goes in there
6:41 AM
bastelfreak
ah nice
6:42 AM
Volcane
so i get to pull a bunch out of this soon to open source
6:42 AM
the HA framework which sits ontop of the choria brokers
6:43 AM
and each of these crond runs a management backplane so i can pause/resume jobs on it if ever there's trouble - also extract running config etc
6:43 AM
this management backplane connects to the choria network so i can do `mco rpc cron pause -W dc=DC1` or whatever
6:44 AM
bastelfreak
ah sweet
6:44 AM
Volcane
and this will become like a 5 line embed into a go app
6:44 AM
whole thing - backplane, scheduler, HA - all fits in 25MB RAM :)
6:45 AM
bastelfreak
way more efficient than the ruby stuff :D
6:45 AM
Volcane
yeah
6:45 AM
also means I had to write a choria client + RPC client in o
6:45 AM
go
6:46 AM
which is already open just need to announce
6:46 AM
and its AMAZING
6:46 AM
50k nodes full RPC round trip around 1 second
6:46 AM
discovers full node set in < 800ms
6:46 AM
bastelfreak
I saw the demo vids from you on youtube, pretty amazing
6:47 AM
Volcane
had to make NATS a lot faster
6:47 AM
now its kind of too fast - it considers the ruby code a slow consumer
6:47 AM
but i think i can keep it working around 50k nodes which is about my goal for the ruby stuff
6:51 AM
6:53 AM
bastelfreak
I use mcollective with multiple of your agents on ubuntu1.04. I don't know at the moment if I already pull in anything from your packagecloud repos, but if I do, it works
6:54 AM
Volcane
ok, then it should be easy stuff, the ubuntu build for the go daemon already seem to work, so thats easy
6:56 AM
bastelfreak
yep
6:57 AM
Volcane
i put that in a 1804 repo already on packagecloud
10:34 AM
11:40 AM
bastelfreak reads
11:43 AM
bastelfreak
Volcane: so this basically allows my go application to register itself to the broker and then it can be controlled from an mco client?
11:43 AM
so orchestration for services?
11:43 AM
Volcane
yes
11:43 AM
like this cron i mentioned
11:44 AM
we run it in all these DCs and multiple instances per DC etc
11:44 AM
i can never get to say a REST interface to manage it
11:44 AM
but i can make them all talk out to a management collective where i can use discovery to target one DC, all DCs etc and manage them nicely
11:45 AM
bastelfreak
mhm
11:47 AM
11:48 AM
multiple endpoints to reload the service, stop it, get prometheus facts, health data, stuff like that
11:48 AM
We thought about a proper way to orchestrate the services
11:49 AM
Volcane
yes, eventually i imagine i will put a bunch of this stuff in this too
11:49 AM
same idea
11:50 AM
bastelfreak
maybe it is a good idea to deploy the backplane as a sidecar service next to the actual microservice, and it will translate calls from choria to the rest interface and vice versa
11:51 AM
Volcane
yeah you can do that too - fine idea if you already have osmething like this
11:51 AM
bastelfreak
there is always this anoying gap between good ideas and timeslots to implement them :D
11:52 AM
Volcane
yeah :)
11:53 AM
sidecar is basically traditional mco and thats perfectly fine - this embedded thing might be nicer to make a very targetted side car with no execute options etc
11:53 AM
but generally yeah thats the mco model
11:53 AM
i am looking toward systems without mco, or iot etc
11:53 AM
bastelfreak
yep
11:54 AM
for a seperation of concerns, a dedicated side car might be better
11:54 AM
so independet people can work and release it
11:54 AM
Volcane
11:54 AM
bastelfreak
well, in theory
11:54 AM
Volcane
thats what this does
11:55 AM
bastelfreak
nice
11:55 AM
Volcane
so -W name=/DC1/ would hit all these
11:56 AM
for the moment we just need circuit breakers, I'll add more stuff in time :)
11:56 AM
but having built this damn thing 10 times over i got sick of it and extracted it into a standalone reusable package
11:57 AM
bastelfreak
ah yeah
11:58 AM
Volcane
and all slightly different, now i can standardise
12:34 PM
FriedBob joined the channel
14:37 PM
FriedBob joined the channel
16:01 PM
MichaelSmith_ joined the channel
16:28 PM
MichaelSmith_ has quit
16:28 PM
MichaelSmith_ joined the channel