{"id":13702972,"url":"https://github.com/costela/hcloud-ip-floater","last_synced_at":"2025-04-09T00:57:48.591Z","repository":{"id":36961129,"uuid":"219302145","full_name":"costela/hcloud-ip-floater","owner":"costela","description":"k8s controller for Hetzner Cloud floating IPs ","archived":false,"fork":false,"pushed_at":"2024-08-05T04:17:59.000Z","size":232,"stargazers_count":58,"open_issues_count":9,"forks_count":11,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-11-13T10:37:46.967Z","etag":null,"topics":["failover","floating-ip","go","golang","hcloud","hetzner","k8s","k8s-controller","kubernetes"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/costela.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-11-03T13:05:09.000Z","updated_at":"2024-11-01T20:52:42.000Z","dependencies_parsed_at":"2023-10-13T08:11:54.286Z","dependency_job_id":"874093c3-b00b-40d7-a3c0-d982844e23cd","html_url":"https://github.com/costela/hcloud-ip-floater","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/costela%2Fhcloud-ip-floater","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/costela%2Fhcloud-ip-floater/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/costela%2Fhcloud-ip-floater/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/costela%2Fhcloud-ip-floater/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/costela","download_url":"https://codeload.github.com/costela/hcloud-ip-floater/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247953108,"owners_count":21023947,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["failover","floating-ip","go","golang","hcloud","hetzner","k8s","k8s-controller","kubernetes"],"created_at":"2024-08-02T21:00:47.662Z","updated_at":"2025-04-09T00:57:48.565Z","avatar_url":"https://github.com/costela.png","language":"Go","funding_links":[],"categories":["Integrations"],"sub_categories":["Rust"],"readme":"[![Go Report Card](https://goreportcard.com/badge/github.com/costela/hcloud-ip-floater)](https://goreportcard.com/report/github.com/costela/hcloud-ip-floater)\n[![Build Status](https://github.com/costela/hcloud-ip-floater/actions/workflows/main.yaml/badge.svg)](https://github.com/costela/hcloud-ip-floater/actions/workflows/release.yaml)\n\n# Hetzner Cloud™ IP Floater\n\nThis small [kubernetes](https://kubernetes.io/) controller manages the attachment of\n[hetzner cloud](https://hetzner.cloud) (\"hcloud\") floating IPs to kubernetes nodes.\n\nIt watches for changes to kubernetes `LoadBalancer` services, chooses one of the nodes where its pods are scheduled and\nattaches its assigned floating IP to the selected node.\n\nThe service IP assignment is left to a separate component, like [MetalLB](https://metallb.universe.tf/).\n\n## Installation\n\nThe controller can be installed to a cluster using e.g. [kustomize](https://kustomize.io/). Simply `kubectl apply -k` the\nfollowing `kustomization.yaml`:\n\n```yaml\nnamespace: hcloud-ip-floater\nbases:\n  - github.com/costela/hcloud-ip-floater/deploy?ref=v0.1.6\nsecretGenerator:\n  - name: hcloud-ip-floater-secret-env\n    literals:\n      - HCLOUD_IP_FLOATER_HCLOUD_TOKEN=\u003cYOUR HCLOUD API TOKEN HERE\u003e\n```\n\nThe provided deployment manifest expects a secret named `hcloud-ip-floater-secret-env` to exist, which is the\nrecommended location for storing the hcloud API token.\n\nIt's also possible to provide a `configMapGenerator` called `hcloud-ip-floater-config-env` with the non-secret options\nlisted in the [configuration options](#configuration-options) section below.\n\n⚠ in order for the controller to attach IPs to the hcloud nodes, the k8s nodes **must** use the same names as in\nhcloud.\n\n## Configuration options\n\nEither as command line arguments or environment variables.\n\n### `--hcloud-token` or `HCLOUD_IP_FLOATER_HCLOUD_TOKEN` **(required)**\n\nAPI token for hetzner cloud access.\n\n### `--service-label-selector` or `HCLOUD_IP_FLOATER_SERVICE_LABEL_SELECTOR` \n\nService label selector to use when watching for kubernetes services. Any services that do not match this selector will be ignored by the controller.\n\n**Default**: `hcloud-ip-floater.cstl.dev/ignore!=true`\n\n### `--floating-label-selector` or `HCLOUD_IP_FLOATER_FLOATING_LABEL_SELECTOR`\n\nLabel selector for hcloud floating IPs. Floating IPs that do not match this selector will be ignored by the controller. \n\n**Default**: `hcloud-ip-floater.cstl.dev/ignore!=true`\n\n### `--log-level` or `HCLOUD_IP_FLOATER_LOG_LEVEL`\n\nLog output verbosity (debug/info/warn/error)\n\n**Default**: `warn`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcostela%2Fhcloud-ip-floater","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcostela%2Fhcloud-ip-floater","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcostela%2Fhcloud-ip-floater/lists"}