Repository navigation
Releases
v1.4.0
v1.3.0
A Kubernetes operator that manages Hetzner Cloud declaratively: servers, volumes, networks, firewalls, load balancers, floating and primary IPs, certificates, images, SSH keys and placement groups as custom resources.
v1.2.0
A Kubernetes operator that manages Hetzner Cloud declaratively: servers, volumes, networks, firewalls, load balancers, floating and primary IPs, certificates, images, SSH keys and placement groups as custom resources.
v1.1.2
A Kubernetes operator that manages Hetzner Cloud declaratively: servers, volumes, networks, firewalls, load balancers, floating and primary IPs, certificates, images, SSH keys and placement groups as custom resources.
v1.1.1
A Kubernetes operator that manages Hetzner Cloud declaratively: servers, volumes, networks, firewalls, load balancers, floating and primary IPs, certificates, images, SSH keys and placement groups as custom resources.
v1.1.0
A Kubernetes operator that manages Hetzner Cloud declaratively: servers, volumes, networks, firewalls, load balancers, floating and primary IPs, certificates, images, SSH keys and placement groups as custom resources.
v1.0.0
First public release.
Added
- Eleven managed resources under
hcloud.shebanglabs.io/v1alpha1:
HetznerServer,HetznerSSHKey,HetznerVolume,HetznerNetwork,
HetznerFirewall,HetznerLoadBalancer,HetznerFloatingIP,
HetznerPrimaryIP,HetznerPlacementGroup,HetznerCertificateand
HetznerImage. - Imperative Hetzner server operations expressed as desired state: power state,
resize, rebuild, backups, rescue mode, ISO attachment, reverse DNS, protection,
private networks (including a requested private IP) and placement group
membership. Destructive changes require an explicit guard (allowDowntime,
allowDataLoss,allowDetach) and are reported on theSyncedcondition
until it is set. spec.adoptExistingto take over Hetzner resources that predate the
controller, andspec.deletionPolicy: Orphanto leave them running when the
object is deleted.- Cross-resource references by object name, by unmanaged Hetzner name or by raw
id, with dependency gating so manifests apply in any order. - A Helm chart (
charts/hcloud-operator) as the supported install:
token from a value or an existing Secret, cluster-wide or single-namespace
RBAC, optional validating webhook via cert-manager, ServiceMonitor,
PodDisruptionBudget, NetworkPolicy, a values schema andhelm test. - Lease-based leader election with a renewal grace period, so two replicas are
safe and a single API-server hiccup does not restart the controller. - Prometheus metrics, structured JSON logging, Kubernetes Events, and
/healthz,/readyzand/metricsendpoints. - An optional validating admission webhook that rejects unknown server types,
locations, datacenters, images and ISOs atkubectl applytime, checking only
changed fields on update so retired catalog entries never block edits. - Multi-arch images (
linux/amd64,linux/arm64) on Docker Hub, signed with
cosign and shipped with an SBOM and provenance.
Install
helm repo add shebanglabs https://shebang-labs.github.io/hcloud-operator
helm install hcloud-operator shebanglabs/hcloud-operator --version 1.0.0 \
--namespace hcloud-operator --create-namespace --set hetzner.token=<token>Image: docker.io/shebanglabs/hcloud-operator:1.0.0 (linux/amd64, linux/arm64, signed with cosign v3).