gardener-extension-provider-hcloud

module
v0.1.6 Latest Latest
Warning

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

Go to latest
Published: May 27, 2021 License: Apache-2.0, MIT

README

This Gardener Extension Provider is a work in progress. Code may still break at any time. DO NOT USE IT.


Gardener Extension for Hetzner Cloud provider

CI Build status Go Report Card

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.

All ControllerRegistration resources that can be used to register this controller to Gardener can be found under releases.

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 Conformance test results
Kubernetes 1.20 untested not yet available
Kubernetes 1.19 untested not yet available
Kubernetes 1.18 untested not yet available
Kubernetes 1.17 1.17.0+ not yet available
Kubernetes 1.16 1.16.0+ not yet available
Kubernetes 1.15 1.15.0+ not yet available

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
charts
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-provider-hcloud
Package main provides the application's entry point
Package main provides the application's entry point
pkg
cmd/controller
Package controller provides Kubernetes controller configuration structures used for command execution Package controller provides Kubernetes controller configuration structures used for command execution Package controller provides Kubernetes controller configuration structures used for command execution Package controller provides Kubernetes controller configuration structures used for command execution
Package controller provides Kubernetes controller configuration structures used for command execution Package controller provides Kubernetes controller configuration structures used for command execution 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
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 Package infrastructure contains functions used at the infrastructure controller Package infrastructure contains functions used at the infrastructure controller
Package infrastructure contains functions used at the infrastructure controller Package infrastructure contains functions used at the infrastructure controller 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
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 Package worker contains functions used at the worker controller Package worker contains functions used at the worker controller Package worker contains functions used at the worker controller Package worker contains functions used at the worker controller
Package worker contains functions used at the worker controller Package worker contains functions used at the worker controller Package worker contains functions used at the worker controller Package worker contains functions used at the worker controller Package worker contains functions used at the worker controller Package worker contains functions used at the worker controller
hcloud
Package hcloud provides types and functions used for HCloud interaction Package hcloud provides types and functions used for HCloud interaction Package hcloud provides types and functions used for HCloud interaction
Package hcloud provides types and functions used for HCloud interaction 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 Package apis is the main package for HCloud specific APIs Package apis is the main package for HCloud specific APIs Package apis is the main package for HCloud specific APIs Package apis is the main package for HCloud specific APIs Package apis is the main package for HCloud specific APIs Package apis is the main package for HCloud specific APIs
Package apis is the main package for HCloud specific APIs Package apis is the main package for HCloud specific APIs Package apis is the main package for HCloud specific APIs Package apis is the main package for HCloud specific APIs Package apis is the main package for HCloud specific APIs Package apis is the main package for HCloud specific 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 Package config provides hcloud.provider.extensions.config.gardener.cloud
Package config provides hcloud.provider.extensions.config.gardener.cloud 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 Package v1alpha1 provides hcloud.provider.extensions.config.gardener.cloud/v1alpha1 Package v1alpha1 provides hcloud.provider.extensions.config.gardener.cloud/v1alpha1
Package v1alpha1 provides hcloud.provider.extensions.config.gardener.cloud/v1alpha1 Package v1alpha1 provides hcloud.provider.extensions.config.gardener.cloud/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
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 Package mock provides all methods required to simulate a HCloud provider environment Package mock provides all methods required to simulate a HCloud provider environment
Package mock provides all methods required to simulate a HCloud provider environment Package mock provides all methods required to simulate a HCloud provider environment 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 Package transcoder is used for API related object transformations Package transcoder is used for API related object transformations Package transcoder is used for API related object transformations Package transcoder is used for API related object transformations
Package transcoder is used for API related object transformations Package transcoder is used for API related object transformations Package transcoder is used for API related object transformations Package transcoder is used for API related object transformations 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 Package validation contains functions to validate controller specifications
Package validation contains functions to validate controller specifications 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
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