Provider Hetzner is a Crossplane provider that is built using Upjet code generation tools and exposes XRM-conformant managed resources for Hetzner Cloud.
The provider needs a Kubernetes secret with an API Token for Hetzner Cloud. To create the secret, run:
kubectl create secret generic hetzner \
--from-literal=credentials='{"token":"<TOKEN>"}' \
--dry-run=client -o yaml | kubectl apply -f -To install the provider into a local Kubernetes cluster with Crossplane already installed, apply:
apiVersion: pkg.crossplane.io/v1
kind: Provider
metadata:
name: provider-hetzner
spec:
package: ghcr.io/miaits/provider-hetzner:v1.0.0-alpha.1To create a Hetzner server for test, apply:
apiVersion: server.hetzner.m.crossplane.io/v1alpha1
kind: Server
metadata:
annotations:
meta.upbound.io/example-id: server/v1alpha1/server
labels:
testing.upbound.io/example-name: node1
name: node1
spec:
forProvider:
image: debian-12
name: node1
serverType: cx23To delete the test server, run:
kubectl delete servers.server.hetzner.m node1For the general contribution guide, see Upjet Contribution Guide
If you'd like to learn how to use Upjet, see Usage Guide.
To build this provider locally and run it in a local Kubernetes cluster, run make run
Follow the Upjet guide for adding new resources.
For filing bugs, suggesting improvements, or requesting new resources or features, please open an issue.
The provider is released under the the Apache 2.0 license with notice.