Giter VIP home page Giter VIP logo

awesome-hcloud's Introduction

Awesome Hetzner Cloud

A curated list of libraries, tools, and integrations for Hetzner Cloud.

Projects formatted in bold are official Hetzner Cloud projects.

Want to have your project listed? Open an Issue!

Please note that while we try to only include projects in this list which are functional and of good quality, we cannot provide any guarantee that they actually work, are complete, nor that they do not cause any harm to your system or your account.

Libraries

.NET

  • Hetzner Cloud API for .NET — Hetzner Cloud API for .NET is a .NET Standard 2.0 Library
  • HetznerCloud.API — This library is developed in .NET Standard 2.0 and is compatible with all .NET and .NET Core implementations, it can also be used in Console projects, Web API, Class Library and even with Blazor WASM.

Go

  • hcloud-go — Package hcloud is a library for the Hetzner Cloud API.
  • hcdns — Go client library for Hetzner DNS API.

HCL

  • hcloud-user-data — Terraform Module for ready to use user-data files for Hetzner cloud servers with multiple network managers
  • terraform-kubernetes-hcloud-csi-driver — A simple module to provision the Hetzner Container Storage Interface Driver within a Kubernetes cluster running on Hetzner Cloud. See the variables file for the available configuration options. Please note that this module requires Kubernetes 1.15 or newer.

Java

JavaScript

  • hcloud-js — A Node.js module for the Hetzner Cloud API
  • hcloud-nodejs — hcloud-nodejs is a node.js package for Hetzner cloud that can be used to manage your projects.

PHP

Python

  • hcloud-python — hcloud-python is a library for the Hetzner Cloud API.

Ruby

  • hcloud-ruby — Native ruby client for HetznerCloud
  • hetznercloud — Modern object-oriented Ruby wrapper for Hetzner Cloud API

Rust

  • hcloud-rust — Unofficial Rust crate for accessing the Hetzner Cloud API

Tools

  • hcloud cli — hcloud is a command-line interface for interacting with Hetzner Cloud.
  • setup-hcloud — GitHub action to install the Hetzner Cloud CLI.
  • 1Password Shell Plugin — The Hetzner Cloud shell plugin allows you to use 1Password to securely authenticate hcloud CLI with your fingerprint, Apple Watch, or system authentication, rather than storing your credentials in plaintext.
  • Ansible Role hcloud — Ansible Role for managing hcloud cloud resources.
  • HC Volume Backup — Bash script to backup Hetzner Cloud Volumes. Automatically creates volumes for backups and maintains a defined number of them.
  • Hcloud Snapshot-as-Backup — Hetzner Cloud - Automatic Snapshots as Backups for more flexibility
  • Healthzner Bot — A discord bot to get periodically updates of the health status of your hetzner cloud machines.
  • Hetzner Cloud Connect — Handles automatically adding servers to load balancers
  • Hetzner Load Balancer Prometheus Exporter — Exports metrics from Hetzner Load Balancer for consumption by Prometheus
  • Hetzner rescaler — Lightweight CLI tool to programmatically rescale your Hetzner Cloud server.
  • KubeOne — Kubermatic KubeOne automates cluster operations on hetzner cloud. KubeOne can install high-available (HA) master clusters as well single master clusters.
  • Kubernetes Hetzner Keepalived — K8s deployment and image to create a keepalived ip failover with the floating ip feature.
  • Solidblocks Hetzner Nuke — Solidblocks Hetzner Nuke is a tool to delete all resources in a Hetzner account, similar to aws-nuke.
  • TestFlows GitHub Hetzner Runners — Autoscaling GitHub Actions self-hosted runners using Hetzner Cloud
  • certmaster — Automatically creates Let's Encrypt certificates and uploads them to Hetzner Cloud Load Balancers. Useful if you do not use Hetzner DNS.
  • chaotic — Fault injection your Hetzner Cloud servers to ensure, your services run even with one server stopped.
  • cluster-api-provider-hetzner — Kubernetes Cluster API Provider for consistent deployment and day 2 operations of "self-managed" HA Kubernetes clusters on Hetzner.
  • hcloud assign ip — A little helper to easily assign a floating ip to the current system
  • hcloud-failover-keepalived — Script for switching Floating IPs in case of keepalived failover
  • hcloud-pricing-exporter — A Prometheus exporter that connects to your HCloud account and collects data on your current expenses.
  • hcloud-selfdestruct — CLI tool to self destruct a hetzner cloud server.
  • hetzner-kube — This project contains a CLI tool to easily provision kubernetes clusters on Hetzner Cloud.
  • hobby-kube — Fully automated cluster setup using Terraform, good balance between resilience and cost, and therefore a great starting point for hobbyists or to build a professional setup with a reasonable foundation.
  • janosmiko/hetzner-k3s — CLI tool to install and manage production grade lightweight Kubernetes (k3s) clusters in 5 minutes in Hetzner. Features: Hetzner CCM and CSI support, HA, Multiple Worker Pools, Autoscaling etc.
  • kOps — Kubernetes Operations (kOps) automates Kubernetes cluster installation, upgrades and management
  • kubermatic-kubernetes-platform — Kubermatic Multi-Cluster and Mulit-Cloud management tool for self hosted cluster as a service purposes.
  • terraform-hcloud-k3s — Comprehensive module for provisioning a k3s Kubernetes cluster on Hetzner Cloud.
  • terraform-hcloud-kube-hetzner — A highly optimized and auto-upgradable, HA-default & Load-Balanced, Kubernetes cluster powered by k3s-on-MicroOS and deployed for peanuts on Hetzner Cloud 🤑 🚀
  • terraform-hks — An opinionated Terraform module for deploying a Hetzner Kubernetes Cluster using RKE2 and Hetzner Cloud.
  • tg-cli — CLI to deploy Twingate with support for Hetzner Cloud servers
  • vitobotta/hetzner-k3s — A CLI tool written in Crystal to quickly create and manage Kubernetes clusters in Hetzner Cloud

Integrations

License

Public Domain (CC0)

awesome-hcloud's People

Contributors

alxhlz avatar apricote avatar arkste avatar costela avatar ddkfm avatar elconas avatar halfbax avatar hcloud-bot avatar hg8496 avatar kanishkablack avatar lkaemmerling avatar mrincompetent avatar olieidel avatar thcyron avatar thetechnick avatar tomsiewert avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

awesome-hcloud's Issues

OpenAPI representation of hcloud API

To allow faster integration into different programming languages and frameworks, I created semi-automatic tooling to generate an OpenAPI specification document from the HTML documentation at https://docs.hetzner.cloud/.

OpenAPI is a separate project that defines a standard for machine-readable representation of APIs. My repository contains the generated specification document and scripts to update it when the documented feature set changes.

My project on GitHub: https://github.com/MaximilianKoestler/hcloud-openapi

The generated specification is currently being used by hcloud-rust which was added to your collection through this issue.

By the way: I have no Idea which category this specification document/my repository fits in 😃

Remove linter

As we generate the awesome list not automatically we don't need the linter (and the CI) anymore.

Hetzner-k3s

Hi,

I created a PR to add my latest project to the list. I hope you find it useful.

It's a CLI utility (written in Go) that is able to create lightweight Kubernetes (k3s) clusters in Hetzner in minutes.

Add New Project: certmaster

Project Name

certmaster

Description

certmaster automatically creates Let's Encrypt certificates and uploads them to Hetzner load balancers

Link

https://github.com/poundifdef/certmaster

Type

Tool

Language

Go

Further Comments

This is useful when Hetzner can't automatically manage your certs, for example, if you use a different DNS provider.

Helm Chart for hcloud-cloud-controller-manager.

Hi,

as discussed in hetznercloud/hcloud-cloud-controller-manager#65, I created a Open Source Helm Chart for easy installation of the hcloud-cloud-controller-manager in a Hetzner Cloud based Kubernetes Cluster. I would like to ask if you would kindly add this to the project list.

Thank you very much!

Best regards
Matthias Lohr

[Feature request] DNS access token limitations

Right now single access token has access to all the zones.

I would recommend:

  1. implement some way of limiting access token to single zone
  2. implement expiration for token

In my opinion that will increase the security level for those who need it

Cloud API: user_data for enable_rescue action needed

Hi , is this the wish list place for Hetzner Cloud Service enhancements? I hope so, since I have an improvement request for your otherwise great product.

When going to rescue mode, I can install other software than the orginal OS to have a more dynamic approach than mounting precreated ISOs. I would love to automate that process with terraform or ansible, so I want to be able to inject a setup script that donwload e.g a rooter software, configures it and reboots without further manual steps.

Any plans for this? Would be great, thanks!

Please consider adding TestFlows GitHub Hetzner Runners project to the list

Project Name

TestFlows GitHub Hetzner Runners

Description

Autoscaling GitHub Actions self-hosted runners using Hetzner Cloud

Link

https://github.com/testflows/TestFlows-GitHub-Hetzner-Runners

Type

Tool

Language

Python

Further Comments

Please consider adding the https://github.com/testflows/TestFlows-GitHub-Hetzner-Runners project to the list that allows autoscaling GitHub Actions self-hosted runners using Hetzner Cloud. Used in https://github.com/altinity/clickhouse-regression.

Add New Project: hetzner-k3s

Project Name

hetzner-k3s

Description

A CLI tool written in Crystal to quickly create and manage Kubernetes clusters in Hetzner Cloud

Link

https://github.com/vitobotta/hetzner-k3s

Type

Tool

Language

None

Further Comments

Cystal language was missing from the dropdown so I could not select it :)

This tool is already in use by many people, and soon I am going to implement autoscaling. I think it would be worth adding the project to your list :)

Remove my deprecated hcloud-csi-driver

My CSI Driver is deprecated in favor of the official driver. We should not recommend the usage of this driver for any new deployments.

You can either tag it as deprecated or remove it altogether from the list.

hetzner-node-pool - Terraform module to easily create VMs in the Hetzner Cloud and groups them in pools for easy scaling

Project Name

hetzner-node-pool

Description

hetzner-node-pool - Terraform module to easily create VMs in the Hetzner Cloud and groups them in pools for easy scaling

Link

https://registry.terraform.io/modules/hegerdes/hetzner-node-pool/hcloud/latest

Type

Library

Language

HCL

Further Comments

The module groups common hcloud Terraform resources into one modules. This allows easy scaling.

Features:

  • Ensuring placement groups are set
  • Public & Private IPs
  • Easy usage of snapshots
  • Easy scaling
  • Support auto generated and own VM names
  • Support for Cloud-Init
  • Support for optional disks

Expensive examples on GitHub and also linked on registry.terraform.io

publish Hetzner Cloud Init Datasources

Hetzner has its own cloud-init DataSource
But that's only bundled in its images.

It'd be easier to adapt the ISO images if that datasource was published to pip or at least Git.

Releasing the OpenAPI Specs

We are considering switching to Hetzner, but we would like access to the API OpenApi specs as many tools (including our own) are already providing integration with OpenApi. This is an important consideration when choosing a cloud provider.

From what I see in https://docs.hetzner.cloud/ it seems that the specs are already well defined, it's just a matter of releasing the json or yaml. Is there any chance you could make it public? 😄

Single node K8s provisioning tool

Hi,

we've created a provisioning tool for Single node K8s:
https://github.com/DomainDrivenArchitecture/dda-k8s-crate

It is

  • cheap - we use this module to get even for low traffic apps the full k8s feeling on simple & cheap hetzner servers.
  • secure - no ports left open, k8s interaction & dashboard is ssh tunneled
  • complete - we integrated already dashboard, flannel, metallb, letsencrypt & applications

Our setup uses aws-route53 for dns management & hetzner-cloud for server-creation.

Interested in listing us ?

BR, Michael

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.