HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
squat
kilo
Go2020–2020
squat / kilo

kilo

Kilo is a multi-cloud network overlay built on WireGuard and designed for Kubernetes (k8s + wg = kg)

3Distinct people
5Mentions
0Explicit recommenders
2.3KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Kilo is a multi-cloud network overlay built on WireGuard and designed for Kubernetes (k8s + wg = kg)

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 1:49:46 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by week5 dated mentions

Observed mentions: 2020-04-28 04:42:51 UTC to 2020-11-06 18:55:27 UTC. Weeks start Monday, UTC.

01232020-04-27 00:00:00 UTC to 2020-05-04 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 commentsApr 272020-05-04 00:00:00 UTC to 2020-05-11 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-05-11 00:00:00 UTC to 2020-05-18 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-05-18 00:00:00 UTC to 2020-05-25 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-05-25 00:00:00 UTC to 2020-06-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-06-01 00:00:00 UTC to 2020-06-08 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-06-08 00:00:00 UTC to 2020-06-15 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-06-15 00:00:00 UTC to 2020-06-22 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-06-22 00:00:00 UTC to 2020-06-29 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-06-29 00:00:00 UTC to 2020-07-06 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-07-06 00:00:00 UTC to 2020-07-13 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-07-13 00:00:00 UTC to 2020-07-20 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-07-20 00:00:00 UTC to 2020-07-27 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-07-27 00:00:00 UTC to 2020-08-03 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 commentsJul 272020-08-03 00:00:00 UTC to 2020-08-10 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-08-10 00:00:00 UTC to 2020-08-17 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-08-17 00:00:00 UTC to 2020-08-24 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-08-24 00:00:00 UTC to 2020-08-31 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-08-31 00:00:00 UTC to 2020-09-07 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-09-07 00:00:00 UTC to 2020-09-14 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-09-14 00:00:00 UTC to 2020-09-21 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-09-21 00:00:00 UTC to 2020-09-28 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-09-28 00:00:00 UTC to 2020-10-05 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-10-05 00:00:00 UTC to 2020-10-12 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-10-12 00:00:00 UTC to 2020-10-19 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-10-19 00:00:00 UTC to 2020-10-26 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-10-26 00:00:00 UTC to 2020-11-02 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-11-02 00:00:00 UTC to 2020-11-09 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 commentsNov 2

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
Apr 272020-04-27 00:00:00 UTC2020-05-04 00:00:00 UTC202
May 42020-05-04 00:00:00 UTC2020-05-11 00:00:00 UTC000
May 112020-05-11 00:00:00 UTC2020-05-18 00:00:00 UTC000
May 182020-05-18 00:00:00 UTC2020-05-25 00:00:00 UTC000
May 252020-05-25 00:00:00 UTC2020-06-01 00:00:00 UTC000
Jun 12020-06-01 00:00:00 UTC2020-06-08 00:00:00 UTC000
Jun 82020-06-08 00:00:00 UTC2020-06-15 00:00:00 UTC000
Jun 152020-06-15 00:00:00 UTC2020-06-22 00:00:00 UTC000
Jun 222020-06-22 00:00:00 UTC2020-06-29 00:00:00 UTC000
Jun 292020-06-29 00:00:00 UTC2020-07-06 00:00:00 UTC000
Jul 62020-07-06 00:00:00 UTC2020-07-13 00:00:00 UTC000
Jul 132020-07-13 00:00:00 UTC2020-07-20 00:00:00 UTC000
Jul 202020-07-20 00:00:00 UTC2020-07-27 00:00:00 UTC000
Jul 272020-07-27 00:00:00 UTC2020-08-03 00:00:00 UTC000
Aug 32020-08-03 00:00:00 UTC2020-08-10 00:00:00 UTC000
Aug 102020-08-10 00:00:00 UTC2020-08-17 00:00:00 UTC000
Aug 172020-08-17 00:00:00 UTC2020-08-24 00:00:00 UTC000
Aug 242020-08-24 00:00:00 UTC2020-08-31 00:00:00 UTC000
Aug 312020-08-31 00:00:00 UTC2020-09-07 00:00:00 UTC000
Sep 72020-09-07 00:00:00 UTC2020-09-14 00:00:00 UTC000
Sep 142020-09-14 00:00:00 UTC2020-09-21 00:00:00 UTC000
Sep 212020-09-21 00:00:00 UTC2020-09-28 00:00:00 UTC000
Sep 282020-09-28 00:00:00 UTC2020-10-05 00:00:00 UTC000
Oct 52020-10-05 00:00:00 UTC2020-10-12 00:00:00 UTC000
Oct 122020-10-12 00:00:00 UTC2020-10-19 00:00:00 UTC000
Oct 192020-10-19 00:00:00 UTC2020-10-26 00:00:00 UTC000
Oct 262020-10-26 00:00:00 UTC2020-11-02 00:00:00 UTC000
Nov 22020-11-02 00:00:00 UTC2020-11-09 00:00:00 UTC303

What Hacker News says

5 sources
I'm still unconvinced "adding kubernetes" is likely to make simple setup simpler - but to each their own. But regarding kilo - doesn't sound like it makes much sense for laptop/road warrior? https://github.com/squat/kilo#step-4-ensure-nodes-have-publi... > At least one node in each location must have an IP address that is routable from the other locations. If the locations are in different clouds or private networks, then this must be a public IP address. Makes it difficult to use you laptop from a coffee shop?
In Managing my personnal servers in 2020 with K3s
This is such a great write-up. I hope we continue to evolve the modern ops set-up on the metal, make it easy for folks to onboard into something that scales both big & high, and small & low. This is, imo, enormously good tech to learn, and I feel like many people are wasting their time learning "things that work for them" or that "aren't as complex" when those personal choices & investments will, in all due chance, not pay off elsewhere, will not be things other people are as likely to know or use or enjoy. And k3s is so easy to use, works so well, that I think many folks kind of cheat themselves out of a better experience when they pick something a little more legacy, like Docker-compose. Also noteably that this is just a first step, & we can get better & better at creating a wider system of services for the personal server from Kubernet
Read the rest
es. For example I use the zalando postgres-operator, which lets me just ask for/apply a kubernetes object, and presto-chango, i have a postgres database with as many replicated instances as I want. The author here similarly enjoys having Let's Encrypt being ambient available. Managing more and more systems within Kubernetes will continue to scale the operational network effect of choosing tech like Kubernetes, tech that doesn't just run containers, but is an overaching cloud. Kubernetes is Desired State Management, a repository for all of your (small) cloud's state. I'd consider maybe replacing some of the hand-made Wireguard work done here with Kilo[1], which can either run as a Container Network Interface (CNI) plugin or can wrap your existing Kubernetes networking CNI provider (by default K3s uses Flannel). This will automate the process nicely, let you manage things like peers in Kubernetes easily. When the author connected the RPi to their existing cluster, that's exactly the sort of multi-cloud topology that Kilo is there to help you run & manage, and from inside of Kubernetes itself! Kilo rocks. Also worth noting that some of the latter half of this write-up is optional. Switching K3's own ingress out for nginx is the authors opinion, for example. You may/may not need a mail server. The write-up is pretty long; I think it's worth highlighting that the core of what's happening here, what others would need to do, is pretty short. I do enjoy that the author started the steps by running gpg & sops, to make keys to secure this all. This is pretty rigorous. It's good to see! I don't think all operators have to do this, but it showed that the author was taking it fairly seriously. For reference, I run a 3 node K3s cluster at home, a separate single K3s instance, and am planning on trying to convert my laptops & workstations over so that operationally I get the same kind of great observability & metrics & managability on them that I enjoy on the cluster. I'd like to cloud-nativize more of of my day to day computing experience, for consistency sake, & because I think uplifting many of the local things on my machine into pieces of a larger Cloud body of state will give me more flexibility & capabilities that I can enjoy playing with. I look forward to becoming less machine-centric, and more cross-machine cloud-centric. [1] https://github.com/squat/kilo
In Managing my personnal servers in 2020 with K3s
Well if you make it a DaemonSet you could technically use the container as the network interface of other containers throughout the whole cluster. That said, I'm very happy that his example k8s deployment uses secrets. I didn't know Ubuntu 20.04 back ported WG into its 5.4 kernel. I spent a few hours yesterday fixing a node after breaking ZFS because I upgraded to 5.6 for WG support. I feel rather silly now.. edit: rektide mentioned 'kilo' which actually does exactly what I said (https://github.com/squat/kilo).
In WireGuard on K8s: road-warrior-style VPN server

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.