Go to file
lerentis 344aac1da2
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
Merge pull request '(feat): Label Nodes' (#2) from feature/tt/label-node into main
Reviewed-on: #2
2024-10-08 21:13:13 +00:00
chart/metallb-ip-floater added docs 2023-10-20 21:57:19 +02:00
cmd init (#1) 2023-10-15 19:50:59 +00:00
internal (feat): label node that has floating ip assigned 2024-10-08 22:09:10 +02:00
.gitignore init (#1) 2023-10-15 19:50:59 +00:00
.woodpecker.yml Revert "Update .woodpecker.yml" 2024-02-02 23:41:13 +01:00
config.json init (#1) 2023-10-15 19:50:59 +00:00
Dockerfile (feat): label node that has floating ip assigned 2024-10-08 22:09:10 +02:00
go.mod (feat): label node that has floating ip assigned 2024-10-08 22:09:10 +02:00
go.sum (feat): label node that has floating ip assigned 2024-10-08 22:09:10 +02:00
LICENSE Initial commit 2023-10-07 12:03:58 +00:00
README.md added docs 2023-10-20 21:57:19 +02:00

metallb-ip-floater

status-badge

Checks metallb speaker pods if they announce some services. If they do, assign a given floating ip on hetzner to the k8s node that announces.

Getting Started

The deployment will use helm and the chart in chart/metallb-ip-floater.
You will need a hcloud api token and the name of your floating IP. Also your k8s nodes should be labeled in hcloud.
Expose these information to the floater as described in this example:

env:
  - name: METALLB_IP_FLOATER_LABELSELECTOR
    value: "kops.k8s.io/instance-role=Node"
  - name: METALLB_IP_FLOATER_HCLOUD_TOKEN
    value: "define_it"
  - name: METALLB_IP_FLOATER_FLOATING_IP_NAME
    value: "define_it"

you can also create a secret manually with these information and reference the existing secret like this in the values.yaml:

externalConfigSecret:
  enabled: true
  name: "my-existing-secret"

Now you are able to deploy:

kubectl create namespace metallb-ip-floater
cd chart/metallb-ip-floater
helm upgrade --install -f values.yaml -n metallb-ip-floater metallb-ip-floater ./

Made with ♡ by the folkes at uploadfilter24.eu :)