ec changed the topic of #elliottcable to: a 𝕯𝖊𝖓 𝖔𝖋 𝕯𝖊𝖙𝖊𝖗𝖒𝖎𝖓𝖊𝖉 𝕯𝖆𝖒𝖘𝖊𝖑𝖘 slash s͔̞u͕͙p͙͓e̜̺r̼̦i̼̜o̖̬r̙̙ c̝͉ụ̧͘ḷ̡͙ţ͓̀ || #ELLIOTTCABLE is not about ELLIOTTCABLE
<ec>
CoreOS solves that, in very cool ways, for big stuff; but for small stuff, it's the same as it's always been: type the damn port in an environment variable or something.
<pikajude>
ok
<ec>
(etcd being the ‘correct way’ to do that, though)
<ec>
(and then containerizing your local code *too*, alongside the postgres, so that they both self-configure via etcd)
<ec>
but tooootally not worth the effort.
<pikajude>
containerizing the local code too
<ec>
anyway, what you're saving here by using a container *isn't* the “i have to manually type a port-number”,
<pikajude>
so do i have to compile inside the vm
<ec>
it's “I didn't just install some Postgres system on my machine that I'm going to forget about, that's going to get out-of-date, that might expose security vulnerabilities, that I'll have to configure and shit ...”
<ec>
if it's in a container, you forget about it and throw it away when you're done — and create a new one next time, 8mos down the road, that you pick this local project back up and touch it again.
<pikajude>
well i can just disable postgres by commenting it out in my configuration.nix
<pikajude>
ec: but seriously though, do you have to build inside the container for that
<pikajude>
or does the loop become edit -> build -> create container -> run container
<ec>
oh, you can easily set up a container to be accessible and shit — you *definitely* don't build inside the container, tho
<ec>
a container with a full fucking compilation toolchain isn't really a *container* anymore, tbh
<ec>
one of the hallmarks of a good containerized program is that it's just running like, ≤3 processes
<pikajude>
ya
<pikajude>
a good container would be running <2 processes
<ec>
often, if your process can act as the UNIX reaper-process, exactly one process.
<pikajude>
i see
<ec>
but usually at least init+syslogd+app
<ec>
anything else you're running *inside* the container is a good candidate to run in a *new* container :P
<pikajude>
so the process is build, then create a new container with those contents, then run
<pikajude>
that make cents
<ec>
but — nah, there's no reason you can't just create a Bad Development Container
<pikajude>
would you use a local kubernetes for that?
<ec>
oh god i've never touched kubernetes yet
<ec>
my containerization knowledge is mostly theory rn
<pikajude>
oh ok
<ec>
but: cross-compile on the host, and have a sync'd / shared filesystem with the container
<pikajude>
so the actual mechanism is a mystery still
<ec>
so that the code is just *running* inside the container
<pikajude>
that probably works
<ec>
you writing on a linux?
<pikajude>
although you would want to set up all the orchestration
<pikajude>
using docker-compose or kube
<pikajude>
yes
<ec>
possibly — depends how complex your Thingamabob is
<ec>
since I work on OS X, I do a lot of my containerization-related work in a pair of VMs
<pikajude>
groce
<ec>
hence Vagrant as the high-level orchestration tool
<pikajude>
here on linux, i can just build docker images using nix
<ec>
one VM is an Arch I'm actually SSHing into, building stuff on, sharing code and filesystem with my Mac — basically my VM'd Super Tmux™;
<ec>
with a CoreOS VM hosting services.
<pikajude>
but in ""production"" this whole setup would have an nginx, a postgres, and an app running
<pikajude>
and i don't wanna do all that manually
<ec>
next time I work on containerized shit though, that's likely to change, because I dug up an ancient Mac Pro that I'm going to dedicate as the household container-host
<jfhbrook>
make devops do it
<pikajude>
because they have tools that can create these things for you
<ec>
I saw ‘Kubernetes’ and clicked it, but it was the wrong thing.
<ec>
‘Pods’ that
<pikajude>
pavlov's kubernetes
<ec>
is so cute
<jfhbrook>
coreos uses k8s now?
<ec>
_any_custodian: (f)->
<ec>
_.any @custodians.inherited, f
<ec>
_.any @custodians.direct, f or
<jfhbrook>
they certainly didn't invent it
<pikajude>
I ultra forget how kubernetes manages containers discovering each other though
<pikajude>
nginx needs to know what port app is listening on
<ec>
jfhbrook: it's tightly integrated
<pikajude>
app needs to know what port postgres is running on
<pikajude>
although with kube you don't need nginx since it has loadbalancer already
<jfhbrook>
2 years ago there was no k8s in there at all
<ec>
er
<ec>
you have it backwards, jfhbrook
<ec>
kubernetes has always used CoreOS's etcd
<pikajude>
oo
<ec>
CoreOS is just … etcd plus container-host-management, with a super-pared-down-linux to run on those container-hosts' metal-or-virtualization-platform
<pikajude>
ok so docker-compose manages discovery via DNS
<pikajude>
i think kube has multiple ways to do it
<pikajude>
but i'm too dumb to understand what they are
<pikajude>
anyone else work really well given examples but are just shit at reading docs without it
<pikajude>
i can't brain this
<ec>
other way around for me
<ec>
I get bogged down in tutorials b/cuz they never *precisely* match what I want, and I can't map the changes I need to make onto the tutorial
<pikajude>
dingus
<ec>
so I'm usually just like “point me at the fucking docs.” for anything I wanna do
<pikajude>
the fucking docs?
<pikajude>
you mean the kama sutra?
<ec>
“ Kubernetes uses etcd to store configuration data that can be used by each of the nodes in the cluster. This can be used for service discovery and represents the state of the cluster that each component can reference to configure or reconfigure themselves. By providing a simple HTTP/JSON API, the interface for setting or retrieving values is very straight
<ec>
forward.”
<pikajude>
so etcd is a REST interface for a key/value store?
<ec>
yep
<pikajude>
revolutionary
<ec>
*distributed* key/value store, focused on configuration,
<ec>
and with some self-configuration magic I don't understand
<pikajude>
all this shit is magic
<ec>
I don't ... recall ... specifically, but somehow, etcd can tell containers how to find it when they don't already know where it is???
<ec>
or. something. I don't remember. )=
<pikajude>
rip
<ec>
but I remember being like “whaaaaaat the aaaactual fuck”
cloudhead has quit [Ping timeout: 268 seconds]
<pikajude>
so like
<pikajude>
i have my services set up using nixos declarative config already
<pikajude>
what do i stand to gain from kubernetesizing it all
<pikajude>
would it be easier
<pikajude>
or harder
<ec>
I kinda want a borzoi
<pikajude>
well that's your fault
<ec>
I'm torn between the Borzoi and a Groenendael
<ec>
my sister wants me to take this 6-yo ex-stud toy-aussie
<ec>
hers is quite literally *unbelievably* cute, but like,
<ec>
idk how smart that breed is; I like super-intelligent, self-directed, shepherd-style dogs
<jfhbrook>
shepherds are great
<jfhbrook>
though they take a lot of space and effort
<ec>
I've always had shetlands — very lazy shepherds
<ec>
and not all shepherds are super-active; again, hence Gronendael, they're more family-style / house-calm sub-breed of the Teuveurens
<jfhbrook>
always german shepherds for us growing up
<jfhbrook>
man barzois look funny
<jfhbrook>
borzois
<ec>
hehehe yeah the all-white ones are kinda dorky
<ec>
I like the tricolour ones a lot tho
<ec>
groenendaels look like goddamn spooky German ghosts, I love it
<ec>
seriously doesn't this dog look like it's gonna come fuck ur shit up in the dead of night