gardener-extension-provider-hcloud

module
v0.6.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 24, 2022 License: Apache-2.0, MIT

README

This Gardener Extension Provider is a work in progress. Code may still break at any time. Use at your own risk.


Gardener Extension for Hetzner Cloud provider

Project Gardener implements the automated management and operation of Kubernetes clusters as a service. Its main principle is to leverage Kubernetes concepts for all of its tasks.

Recently, most of the vendor specific logic has been developed in-tree. However, the project has grown to a size where it is very hard to extend, maintain, and test. With GEP-1 we have proposed how the architecture can be changed in a way to support external controllers that contain their very own vendor specifics. This way, we can keep Gardener core clean and independent.

This controller implements Gardener's extension contract for the Hetzner cloud provider.

The latest release's ControllerRegistration resource that can be used to register this controller to Gardener can be found here.

Please find more information regarding the extensibility concepts and a detailed proposal here.

Supported Kubernetes versions

This extension controller supports the following Kubernetes versions:

Version Support
Kubernetes 1.23 1.23.0+
Kubernetes 1.22 1.22.0+
Kubernetes 1.21 1.21.0+
Kubernetes 1.20 1.20.0+
Kubernetes 1.19 1.19.0+
Kubernetes 1.18 1.18.0+
Kubernetes 1.17 1.17.0+
Kubernetes 1.16 1.16.0+
Kubernetes 1.15 1.15.0+

Please take a look here to see which versions are supported by Gardener in general.


How to start using or developing this extension controller locally

You can run the controller locally on your machine by executing make start.

Static code checks and tests can be executed by running VERIFY=true make all. We are using Go modules for Golang package dependency management and Ginkgo/Gomega for testing.

Feedback and Support

Feedback and contributions are always welcome. Please report bugs or suggestions as GitHub issues or join our Slack channel #gardener (please invite yourself to the Kubernetes workspace here).

Learn more!

Please find further resources about out project here:

Directories

Path Synopsis
gardener-extension-provider-hcloud
Package chart enables go:generate support for generating the correct controller registration.
Package chart enables go:generate support for generating the correct controller registration.
cmd
gardener-extension-admission-hcloud
Package main provides the application's entry point
Package main provides the application's entry point
gardener-extension-provider-hcloud
Package main provides the application's entry point
Package main provides the application's entry point
pkg
cmd/admission
Package admission provides admission webhook configuration structures used for command execution
Package admission provides admission webhook configuration structures used for command execution
cmd/controller
Package controller provides Kubernetes controller configuration structures used for command execution
Package controller provides Kubernetes controller configuration structures used for command execution
controller/controlplane
Package controlplane contains functions used at the controlplane controller
Package controlplane contains functions used at the controlplane controller
controller/healthcheck
Package healthcheck contains functions used for cluster validation
Package healthcheck contains functions used for cluster validation
controller/infrastructure
Package infrastructure contains functions used at the infrastructure controller
Package infrastructure contains functions used at the infrastructure controller
controller/infrastructure/ensurer
Package ensurer provides functions used to ensure infrastructure changes to be applied
Package ensurer provides functions used to ensure infrastructure changes to be applied
controller/worker
Package worker contains functions used at the worker controller
Package worker contains functions used at the worker controller
controller/worker/ensurer
Package ensurer provides functions used to ensure worker changes to be applied
Package ensurer provides functions used to ensure worker changes to be applied
hcloud
Package hcloud provides types and functions used for HCloud interaction
Package hcloud provides types and functions used for HCloud interaction
hcloud/apis
Package apis is the main package for HCloud specific APIs
Package apis is the main package for HCloud specific APIs
hcloud/apis/config
Package config provides hcloud.provider.extensions.config.gardener.cloud
Package config provides hcloud.provider.extensions.config.gardener.cloud
hcloud/apis/config/install
Package install provides functions used for registration of hcloud.provider.extensions.config.gardener.cloud
Package install provides functions used for registration of hcloud.provider.extensions.config.gardener.cloud
hcloud/apis/config/loader
Package loader contains functions used for reading hcloud.provider.extensions.config.gardener.cloud
Package loader contains functions used for reading hcloud.provider.extensions.config.gardener.cloud
hcloud/apis/config/v1alpha1
Package v1alpha1 provides hcloud.provider.extensions.config.gardener.cloud/v1alpha1
Package v1alpha1 provides hcloud.provider.extensions.config.gardener.cloud/v1alpha1
hcloud/apis/controller
Package controller provides functions to access controller specifications
Package controller provides functions to access controller specifications
hcloud/apis/install
Package install provides functions used for registration of hcloud.provider.extensions.gardener.cloud
Package install provides functions used for registration of hcloud.provider.extensions.gardener.cloud
hcloud/apis/mock
Package mock provides all methods required to simulate a HCloud provider environment
Package mock provides all methods required to simulate a HCloud provider environment
hcloud/apis/transcoder
Package transcoder is used for API related object transformations
Package transcoder is used for API related object transformations
hcloud/apis/v1alpha1
Package v1alpha1 contains the HCloud provider API resources.
Package v1alpha1 contains the HCloud provider API resources.
hcloud/apis/validation
Package validation contains functions to validate controller specifications
Package validation contains functions to validate controller specifications
webhook/controlplane
Package controlplane contains functions used to provide /controlplane
Package controlplane contains functions used to provide /controlplane

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL