Profile avatar
salisburyheavyindustries.com
vp engineering @giantswarm.io / ten of swords / he/him / linktr.ee/salisbury_joe
65 posts 670 followers 52 following
Regular Contributor
Active Commenter
comment in response to post
may 2025 - took some time off - finished team reviews, hacking on outcomes - finished memory of light, 1 other book - more factorio space age, some oblivion
comment in response to post
thanks pal!
comment in response to post
april 2025 - kubecon london - easter break - factorio space age round 2, a memory of light
comment in response to post
i've held one in reserve for you
comment in response to post
you can get a second onion if you draw a mustache on your face that's okay with me
comment in response to post
i'm sure you understand
comment in response to post
overwhelming demand
comment in response to post
sorry it's one per person
comment in response to post
yes i'm getting an update from the team the t-shirts still have giant written on them
comment in response to post
all i know is i've got a truck of onions backing up into the conference center
comment in response to post
onions
comment in response to post
if you want a red onion come by the booth and let me scan your badge and you'll get your very own red onion
comment in response to post
march 2025 - team reviews - built cluster api migration talk - q1 hackathon (i worked on my talk whoops) - rejekts london - further w/ working students - ocarina of time, final wheel of time book
comment in response to post
also lol i'm done for the week now see ya later folks
comment in response to post
welp i really need to finish the slides now eh
comment in response to post
february 2025 - finished planning engineering roadmap for 2025 - started organising for team reviews - interviewing folks for content for cluster api migration talk - working student interviews - turned 33 (bam), took a long weekend - finished pokemon emerald seaglass, still on wheel of time 13
comment in response to post
the type layout was super weird, but i liked the chaos team
comment in response to post
january 2025 - xmas break, gs uk xmas lunch - getting back in the game, defining personal q1 goals - engineering roadmap for 2025 (lol still in progress) - kubernetes london january - finished factorio space age, started pokemon emerald seaglass, now on wheel of time 13 (almost finished fuck)
comment in response to post
conference conference conference
comment in response to post
lol the threading is fucked here, deal with it, i'm off to play factorio byeeeee
comment in response to post
okay that's it, and this is my last todo before my xmas break, so thanks folks, and shout out to the kcp team for a dope project. bam!
comment in response to post
we also tried to do the api binding thing into the physical cluster, but my brain was liquified by this point, so we didn't get far but, another next step for us is to work out how to present apis into the mounted clusters, ideally without some sort of sync component
comment in response to post
so yeah, kcp is pretty fucking dope. in production, we'd have an actual operator creating capi clusters and sorting that shit out, and run kcp itself in a multi-regional setup, and you kind of quite quickly get to a multi-region, multi-cluster management system??? it's pretty fucking cool
comment in response to post
and we're talking to the kind cluster! note: we haven't fucked with the kubeconfig or anything in between, this is all via the same endpoint
comment in response to post
so now if we switch to the testcluster workspace
comment in response to post
and we now have the cluster mounted in kcp blam!
comment in response to post
our "operator" sees the new workspace, and starts setting up a kind cluster and the necessary resources (see the script for what it's doing) to then mount the kind cluster in kcp
comment in response to post
we switch to the "consumer" workspace, and create a new workspace
comment in response to post
this is what our workspace structure looks like to start with - :root:operators:mounts and :root:providers:mounts are used in the pr, so we didn't fuck with that, and :root:consumer is where we're gonna put our clusters
comment in response to post
but, we got to a point where we had kcp running locally and we could mount a kind cluster as a physical cluster to a workspace - so, we built the world's shittiest operator (it's in bash! see github.com/giantswarm/e...), and used that to automatically spin up clusters to mount workspaces
comment in response to post
this is my runbook for everything else github.com/giantswarm/e... - tl;dr: there's a bunch of fucking setup to get this working after you get the PR built, and definitely other people understand this more than i do :D
comment in response to post
tl;dr - to get kcp with mount support running, take this PR (github.com/kcp-dev/kcp/...), apply this patch github.com/giantswarm/e..., and you can build the kcp server with mount support
comment in response to post
but yeah, still no real nodes / pods here yet, which i found makes the whole kcp thing hard to grasp but, you can (if you do a bunch of wild stuff), mount a physical cluster to a workspace so, a workspace can point to a logical cluster, which i think is a prefix in etcd, or a physical cluster
comment in response to post
kcp has a workspace concept, where you can make arbitrary (nested) workspaces, and put resources in them. workspaces point to a "logical cluster", which is a separate prefix in etcd so like, a workspace is an inode, and a logical cluster is a directory itself (i think? possibly???????)
comment in response to post
but yeah, i wanted to prototype a way where a user could have a single endpoint, and manage a bunch of kubernetes clusters using it, in a kubernetes way
comment in response to post
and that's useful if you wanna like, provide services to people but, not what i was focusing on here, but i wanna do more with that in future