README

Gardener Extensions

Gardener Extensions Logo

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 repository contains utilities functions and common libraries meant to ease writing the actual extension controllers. Please consult https://github.com/gardener/gardener/tree/master/docs/extensions to get more information about the extension contracts.

Known Extension Implementations

Check out these repositories for implementations of the Gardener Extension contracts:

If you implemented a new extension, please feel free to add it to this list!

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
pkg
log
mock/apimachinery/api/meta
Package meta is a generated GoMock package.
Package meta is a generated GoMock package.
mock/apimachinery/runtime
Package runtime is a generated GoMock package.
Package runtime is a generated GoMock package.
mock/controller-runtime/client
Package client is a generated GoMock package.
Package client is a generated GoMock package.
mock/controller-runtime/manager
Package manager is a generated GoMock package.
Package manager is a generated GoMock package.
mock/gardener-extensions/controller
Package controller is a generated GoMock package.
Package controller is a generated GoMock package.
mock/gardener-extensions/controller/backupentry/genericactuator
Package genericactuator is a generated GoMock package.
Package genericactuator is a generated GoMock package.
mock/gardener-extensions/controller/cmd
Package cmd is a generated GoMock package.
Package cmd is a generated GoMock package.
mock/gardener-extensions/controller/controlplane/genericactuator
Package genericactuator is a generated GoMock package.
Package genericactuator is a generated GoMock package.
mock/gardener-extensions/gardener/chartrenderer
Package chartrenderer is a generated GoMock package.
Package chartrenderer is a generated GoMock package.
mock/gardener-extensions/terraformer
Package terraformer is a generated GoMock package.
Package terraformer is a generated GoMock package.
mock/gardener-extensions/util
Package util is a generated GoMock package.
Package util is a generated GoMock package.
mock/gardener-extensions/webhook
Package controlplane is a generated GoMock package.
Package controlplane is a generated GoMock package.
mock/gardener-extensions/webhook/controlplane
Package controlplane is a generated GoMock package.
Package controlplane is a generated GoMock package.
mock/gardener-extensions/webhook/controlplane/genericmutator
Package genericmutator is a generated GoMock package.
Package genericmutator is a generated GoMock package.
mock/gardener/chartrenderer
Package chartrenderer is a generated GoMock package.
Package chartrenderer is a generated GoMock package.
mock/gardener/client/kubernetes
Package kubernetes is a generated GoMock package.
Package kubernetes is a generated GoMock package.
mock/go-logr/logr
Package logr is a generated GoMock package.
Package logr is a generated GoMock package.
test