Skip to content

miaits/provider-hetzner

Repository files navigation

Upjet-based Crossplane provider for Hetzner

CI GitHub release Go Report Card Contributors

Provider Hetzner is a Crossplane provider that is built using Upjet code generation tools and exposes XRM-conformant managed resources for Hetzner Cloud.

Getting Started

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

To 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: cx23

To delete the test server, run:

kubectl delete servers.server.hetzner.m node1

Contributing

For 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

Add a New Resource

Follow the Upjet guide for adding new resources.

Getting help

For filing bugs, suggesting improvements, or requesting new resources or features, please open an issue.

License

The provider is released under the the Apache 2.0 license with notice.

About

A Crossplane provider for Hetzner Cloud

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages