Commit Graph

140 Commits

Author SHA1 Message Date
Lucas Servén Marín
410a014daf vendor: revendor
Signed-off-by: Lucas Servén Marín <lserven@gmail.com>
2020-09-23 11:38:32 +02:00
Lucas Servén Marín
0cc1a2ff8c docs,website: add doc for kg
This commit adds a doc for `kg`, the Kilo agent that runs on every node
in the mesh. This includes: the doc itself, files needed for the
website, and tooling to generate the document using `embedmd`.

Signed-off-by: Lucas Servén Marín <lserven@gmail.com>
2020-09-23 11:38:25 +02:00
Lucas Servén Marín
5e970d8b42 pkg/mesh: small change for clarity
Signed-off-by: Lucas Servén Marín <lserven@gmail.com>
2020-09-18 16:11:01 +02:00
Lucas Servén Marín
ac7fa37fd0 Merge pull request #42 from squat/peer-dns-names
pkg/k8s: enable peers to use DNS names
2020-09-17 15:20:52 +02:00
Lucas Servén Marín
116fb7337a pkg/k8s: enable peers to use DNS names
This commit enables peers defined using the Peer CRD to declare their
endpoints using DNS names.

Signed-off-by: Lucas Servén Marín <lserven@gmail.com>
2020-09-17 14:48:38 +02:00
Lucas Servén Marín
e3cb7d7958 .travis.yml: only tag latest images on master
Ensure that only images built from the master branch get tagged with
`latest`.

Signed-off-by: Lucas Servén Marín <lserven@gmail.com>
2020-09-17 14:47:40 +02:00
Lucas Servén Marín
d3492a72cb website: add dependency resolutions
Signed-off-by: Lucas Servén Marín <lserven@gmail.com>
2020-09-17 14:28:07 +02:00
Lucas Servén Marín
7750a08019 website: update syntax for new docusaurus version
Signed-off-by: Lucas Servén Marín <lserven@gmail.com>
2020-09-17 13:05:47 +02:00
Lucas Servén Marín
5d7fb96274 website/yarn.lock: bump npm deps
Signed-off-by: Lucas Servén Marín <lserven@gmail.com>
2020-09-17 13:05:20 +02:00
Lucas Servén Marín
b5cadfe3de .travis.yml: only tag latest image if not git tag
If we tag a release for, e.g. 0.1.1, after we've already cut a 0.2.0
tag, then CI would tag the 0.1.1 image as `latest`, which is confusing.
This commit ensures that we only tag the `latest` image when building
from master.

Signed-off-by: Lucas Servén Marín <lserven@gmail.com>
2020-09-15 15:58:15 +02:00
Lucas Servén Marín
ab8df1306e Merge pull request #65 from rubenv/patch-1
Fix typo
0.1.0
2020-07-14 15:31:10 +02:00
Ruben Vermeersch
858502744b Fix typo 2020-07-14 14:51:27 +02:00
Lucas Servén Marín
3948f5e97a Merge pull request #61 from eddiewang/rancher-usage-notes
Add quick note for k3s setup
2020-07-01 20:03:11 +02:00
Eddie Wang
b646118146 fix typo and add to k3s-flannel yaml 2020-07-01 12:59:09 -05:00
Eddie Wang
a3bc74d27f add notes for k3s setup 2020-07-01 12:29:19 -05:00
Lucas Servén Marín
dc8fb2dd46 website: update dependencies
Signed-off-by: Lucas Servén Marín <lserven@gmail.com>
2020-06-08 08:50:46 +02:00
Lucas Servén Marín
bc0ba42289 Merge pull request #59 from squat/dependabot/npm_and_yarn/website/websocket-extensions-0.1.4
build(deps): bump websocket-extensions from 0.1.3 to 0.1.4 in /website
2020-06-08 08:39:04 +02:00
dependabot[bot]
88327cd657 build(deps): bump websocket-extensions from 0.1.3 to 0.1.4 in /website
Bumps [websocket-extensions](https://github.com/faye/websocket-extensions-node) from 0.1.3 to 0.1.4.
- [Release notes](https://github.com/faye/websocket-extensions-node/releases)
- [Changelog](https://github.com/faye/websocket-extensions-node/blob/master/CHANGELOG.md)
- [Commits](https://github.com/faye/websocket-extensions-node/compare/0.1.3...0.1.4)

Signed-off-by: dependabot[bot] <support@github.com>
2020-06-07 23:13:11 +00:00
Lucas Servén Marín
ddab6930d8 Dockerfile: change Alpine pkg CDN
The current Alpine package CDN is timing out for aarch64. This commit
updates it to another mirror. This commit also changes the channel
Alpine channel from edge to v3.12. Note: the Dockerfile overrides the
Alpine CDN settings to ensure that a mirror with support for TLS is
used.

Signed-off-by: Lucas Servén Marín <lserven@gmail.com>
2020-06-03 20:09:50 +02:00
Lucas Servén Marín
82c819659d pkg/mesh: introduce kilo_leader guage metric
This commit introduces a new Prometheus metric to detect if the node is
a leader of its location, from its own point of view.

Signed-off-by: Lucas Servén Marín <lserven@gmail.com>
2020-05-25 10:16:50 +02:00
Lucas Servén Marín
9b19bbe69c pkg/iptables: remove nil rules from list on error
Previously, when `deleteFromIndex` exited early due to an error, nil
rules would be left in the controller's list of rules, which could
provoke a panic on the next reconciliation. This commit ensures that nil
rules are removed before an early exit.

Fixes: #51

Signed-off-by: Lucas Servén Marín <lserven@gmail.com>
2020-05-11 22:50:01 +02:00
Lucas Servén Marín
b188abf0b6 manifests: ensure ip6tables kernel module can load
Fixes: #55

Signed-off-by: Lucas Servén Marín <lserven@gmail.com>
2020-05-11 09:40:11 +02:00
Lucas Servén Marín
968d13148f pkg/mesh: update persistent keepalive on change
Previously, when udpdating the persistent keepalive of a node via
annotations, the node's WireGuard configuration was not updated. This
corrects the behavior.

Fixes: #54

Signed-off-by: Lucas Servén Marín <lserven@gmail.com>
2020-05-06 15:54:34 +02:00
Lucas Servén Marín
79a131572a Merge pull request #47 from squat/go114
vendor: bump to go 1.14
2020-05-05 15:28:55 +02:00
Lucas Servén Marín
77d0863ccc vendor: bump to go 1.14
Signed-off-by: Lucas Servén Marín <lserven@gmail.com>
2020-05-05 15:17:56 +02:00
Lucas Servén Marín
0a10dc921c pkg/k8s/apis: support for preshared keys in peers
This commit adds support for defining preshared keys when declaring a
new Peer CRD. This preshared key will be used whenever the nodes in the
Kilo mesh communicate with that peer.

Signed-off-by: Lucas Servén Marín <lserven@gmail.com>
2020-05-05 11:36:43 +02:00
Lucas Servén Marín
e4829832c5 pkg/mesh: ensure persistent-keepalive set on nodes
A bug identified by @carlosrmendes caused nodes to ignore the
persistent-keepalive annotation.

xref: https://github.com/squat/kilo/issues/53#issuecomment-620945927

Signed-off-by: Lucas Servén Marín <lserven@gmail.com>
2020-04-30 13:53:38 +02:00
Lucas Servén Marín
bc4e564c85 website: update minimist package
Signed-off-by: Lucas Servén Marín <lserven@gmail.com>
2020-04-28 15:02:34 +02:00
Lucas Servén Marín
94f9a5e507 docs: add network policies examples
This commit adds a guide for deploying Kubernetes NetworkPolicy support
to a cluster running Kilo.

Signed-off-by: Lucas Servén Marín <lserven@gmail.com>
2020-04-28 15:00:07 +02:00
Lucas Servén Marín
8bb9600e5e Merge pull request #48 from p-hash/kubeconfig_fix
Change path to kubeconfig to match k3s v1.0
2020-03-20 17:22:58 +01:00
Pavel
b6afa6e9b2 Change path to kubeconfig to match k3s v1.0 2020-03-20 18:59:23 +03:00
Lucas Servén Marín
b668c1ec3e pkg/iptables: enable simultaneous ipv4 and ipv6
This commit enables simultaneously managing IPv4 and IPv6 iptables
rules. This makes it possible to have peers with IPv6 allowed IPs in an
otherwise IPv4 stack and vice versa.

Signed-off-by: Lucas Servén Marín <lserven@gmail.com>
2020-03-12 16:07:48 +01:00
Lucas Servén Marín
8e8eb1a213 website/src: correct icon alignment
Signed-off-by: Lucas Servén Marín <lserven@gmail.com>
2020-03-10 12:57:20 +01:00
Lucas Servén Marín
9b2ecdedf7 website/static: update favicon
Signed-off-by: Lucas Servén Marín <lserven@gmail.com>
2020-03-10 11:56:44 +01:00
Lucas Servén Marín
22a7925e3c website: fix typo and links
Signed-off-by: Lucas Servén Marín <lserven@gmail.com>
2020-03-10 11:43:48 +01:00
Lucas Servén Marín
72f5107979 docs: remove frontmatter
Signed-off-by: Lucas Servén Marín <lserven@gmail.com>
2020-03-10 00:47:25 +01:00
Lucas Servén Marín
4e72d02f88 website/static: remove duplicate graphs
Signed-off-by: Lucas Servén Marín <lserven@gmail.com>
2020-03-10 00:14:26 +01:00
Lucas Servén Marín
7c62bff840 Merge pull request #46 from squat/website
website: create website
2020-03-10 00:07:51 +01:00
Lucas Servén Marín
3d9c5f322d website: create website
This commit introduces a the Kilo website. It is generated with
Docusaurus and can be deployed with standard services like Netlify.

Signed-off-by: Lucas Servén Marín <lserven@gmail.com>
2020-03-09 23:53:30 +01:00
Lucas Servén Marín
e681c10cb4 kilo.svg: create icon
Signed-off-by: Lucas Servén Marín <lserven@gmail.com>
2020-03-09 22:15:08 +01:00
Lucas Servén Marín
494440d502 Merge pull request #44 from squat/vpn-server-docs
docs/vpn: document vpn as internet gateway
2020-03-09 18:57:54 +01:00
Lucas Servén Marín
f5064f10b8 docs/vpn: document vpn as internet gateway
This commit introduces a new document explaining how peers can use the
Kilo cluster VPN as a gateway to the internet.

Signed-off-by: Lucas Servén Marín <lserven@gmail.com>
2020-03-09 18:47:21 +01:00
Lucas Servén Marín
7051b9fe29 pkg/mesh: enable outgoing NAT to WAN
This commit enables NAT-ing packets outgoing to the WAN from both the
Pod subnet as well as from peers. This means that Pods can access the
Internet and that peers can use the Kilo mesh as a gateway to the
Internet.

Signed-off-by: Lucas Servén Marín <lserven@gmail.com>
2020-03-09 18:45:01 +01:00
Lucas Servén Marín
8908cf19cb pkg/iptables: re-organize rules
This commit better organizes the location of iptables rules. This is
made possible by exposing two new funcs, `NewRule` and `NewChain`.

Signed-off-by: Lucas Servén Marín <lserven@gmail.com>
2020-03-06 16:57:09 +01:00
Lucas Servén Marín
f6549185cf Merge pull request #45 from squat/kgctl-doc
docs/kgctl.md: add kgctl doc
2020-03-06 16:37:47 +01:00
Lucas Servén Marín
b34e064c8e docs/kgctl.md: add kgctl doc
This commit introduces a new doc for the kgctl commandline tool.

Signed-off-by: Lucas Servén Marín <lserven@gmail.com>
2020-03-06 16:25:42 +01:00
Lucas Servén Marín
b54b31b699 pkg/mesh: enable generating config without peer
This commit re-enables old functionality, which permitted the generation
of the configuration for a cluster without any peers.

Signed-off-by: Lucas Servén Marín <lserven@gmail.com>
2020-03-06 16:06:41 +01:00
Lucas Servén Marín
810dae695e pkg/wireguard: edge case when endpoints are nil
Peers may have nil endpoints, a case which must be gracefully handled.

Signed-off-by: Lucas Servén Marín <lserven@gmail.com>
2020-03-06 15:21:30 +01:00
Lucas Servén Marín
6947eb4154 Merge pull request #43 from squat/fix_keepalive_logic
pkg/mesh,pkg/wireguard: update NAT endpoints
2020-03-04 02:15:11 +01:00
Lucas Servén Marín
29280a987e pkg/mesh,pkg/wireguard: sync NAT endpoints
This commit changes how Kilo allows nodes and peers behind NAT to roam.
Rather that ignore changes to endpoints when comparing WireGuard
configurations, Kilo now incorporates changes to endpoints for peers
behind NAT into its configuration first and later compares the
configurations.

Signed-off-by: Lucas Servén Marín <lserven@gmail.com>
2020-03-04 01:37:08 +01:00