Skip to content

Releases

v1.4.0

Choose a tag to compare

@github-actions github-actions released this 21 Oct 12:35

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.3.0

Choose a tag to compare

@github-actions github-actions released this 12 Oct 06:20

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

Choose a tag to compare

@github-actions github-actions released this 21 Sep 08:34

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

Choose a tag to compare

@github-actions github-actions released this 13 Sep 14:01

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

Choose a tag to compare

@github-actions github-actions released this 12 Sep 22:26

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

Choose a tag to compare

@github-actions github-actions released this 11 Sep 22:44

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

Choose a tag to compare

@tareksamni tareksamni released this 11 Sep 20:41

First public release.

Added

  • Eleven managed resources under hcloud.shebanglabs.io/v1alpha1:
    HetznerServer, HetznerSSHKey, HetznerVolume, HetznerNetwork,
    HetznerFirewall, HetznerLoadBalancer, HetznerFloatingIP,
    HetznerPrimaryIP, HetznerPlacementGroup, HetznerCertificate and
    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 the Synced condition
    until it is set.
  • spec.adoptExisting to take over Hetzner resources that predate the
    controller, and spec.deletionPolicy: Orphan to 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 and helm 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, /readyz and /metrics endpoints.
  • An optional validating admission webhook that rejects unknown server types,
    locations, datacenters, images and ISOs at kubectl apply time, 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).