Extension registration and automation for gardener-operator
#9635
Labels
area/ipcei
IPCEI (Important Project of Common European Interest)
area/open-source
Open Source (community, enablement, contributions, conferences, CNCF, etc.) related
area/ops-productivity
Operator productivity related (how to improve operations)
area/usability
Usability related
kind/enhancement
Enhancement, improvement, extension
kind/epic
Large multi-story topic
How to categorize this issue?
/area usability
/area ops-productivity
/area open-source
/area ipcei
/kind enhancement
What would you like to be added:
The following concept aims at improving the overall experience and productivity for operators. A Gardener installation usually needs additional and tedious preparation tasks to be done, e.g. creating storage buckets for backups or managing DNS entries. All of those can be automated via
gardener-operator
.They even overlap with requirements that were already implemented for shoot clusters, but never made it to the Garden due to conceptional reasons.
Therefore, we plan to add a new custom resource
Extension
:🎯 Goals
DNSRecord
orBackupBucket
resources (gardener-operator
will need to create those).ControllerRegistration
/ControllerDeployment
(ref) in Garden cluster.github.com/gardener
. This allows smaller and trial landscapes to be setup with a minimalExtension
resources (see Example 2 below).🙅♂️ Non Goals
ControllerRegistration
s. For complex or advanced configurations, operators should still consider their additional usage.Extension
API:Fields of the
Extension
API are very similar toControllerRegistration
/ControllerDeployment
as requirements and goals overlap for the main part.Example 1:
The
resources
configuration merges the extension handling for Garden and Shoot clusters, whereas the most part is irrelevant for the Garden and only needed to craft theControllerRegistration
.With decent defaulting, we want the extension registration for operators to be as simple as the following:
Example 2:
Tasks:
class
inextensions.gardener.cloud/v1alpha1.DefaultSpec
Garden
controller adaptationsextensions.gardener.cloud/v1alpha1.BackupEntry
deployment?Backup{Bucket,Entry}
andDNSRecord
extensions (for now, others maybe later) to be able to run in a cluster twice (one resp. for garden, one resp. for seed)gardener/gardener-extension-provider-alicloud
:gardener/gardener-extension-provider-aws
:gardener/gardener-extension-provider-azure
:gardener/gardener-extension-provider-gcp
:gardener/gardener-extension-provider-openstack
:gardener/gardener
:gardener/gardener-extension-provider-alicloud
:gardener/gardener-extension-provider-aws
:gardener/gardener-extension-provider-azure
:gardener/gardener-extension-provider-gcp
:gardener/gardener-extension-provider-openstack
:gardener/gardener-extension-provider-equinix-metal
:gardener/gardener-extension-networking-calico
:gardener/gardener-extension-networking-cilium
:gardener/gardener-extension-os-gardenlinux
:gardener/gardener-extension-os-suse-chost
:gardener/gardener-extension-os-coreos
:gardener/gardener-extension-os-ubuntu
:gardener/gardener-extension-runtime-gvisor
:gardener/gardener-extension-registry-cache
:gardener/gardener-extension-shoot-dns-service
:gardener/gardener-extension-shoot-cert-service
:gardener/gardener-extension-shoot-oidc-service
:gardener/gardener-extension-shoot-lakom-service
:gardener/gardener-extension-shoot-falco-service
:gardener/gardener-extension-shoot-networking-problemdetector
:gardener/gardener-extension-shoot-networking-filter
:gardener/gardener-extension-shoot-rsyslog-relp
:stackitcloud/gardener-extension-acl
:The text was updated successfully, but these errors were encountered: