From 0d71b257a4417992f7dfb32953ec860a6183d6ef Mon Sep 17 00:00:00 2001 From: schrodit Date: Tue, 31 Oct 2023 16:32:51 +0100 Subject: [PATCH] Add support for Gardener 1.69 and 1.70 also update the dahsboard to the newest version --- default.yaml | 4 +- src/ts/versions/installations.ts | 2 + .../charts/GardenerDashboardChart.ts | 43 ++++---- .../v1.46/components/gardener/Gardenlet.ts | 13 ++- src/ts/versions/v1.69/extensions.yaml | 104 ++++++++++++++++++ src/ts/versions/v1.70/extensions.yaml | 104 ++++++++++++++++++ 6 files changed, 244 insertions(+), 26 deletions(-) create mode 100644 src/ts/versions/v1.69/extensions.yaml create mode 100644 src/ts/versions/v1.70/extensions.yaml diff --git a/default.yaml b/default.yaml index c1f49e1..177cb6f 100644 --- a/default.yaml +++ b/default.yaml @@ -1,5 +1,5 @@ -version: v1.68.1 +version: v1.70.3 landscapeName: gardener-installation @@ -32,9 +32,7 @@ gardener: - "development" featureGates: HVPA: true - ManagedIstio: true APIServerSNI: true - ReversedVPN: true settings: dependencyWatchdog: diff --git a/src/ts/versions/installations.ts b/src/ts/versions/installations.ts index f5dc9bb..c75ae64 100644 --- a/src/ts/versions/installations.ts +++ b/src/ts/versions/installations.ts @@ -59,6 +59,8 @@ const versions: Record = { 'v1.66.x': Installation_1_62, 'v1.67.x': Installation_1_62, 'v1.68.x': Installation_1_62, + 'v1.69.x': Installation_1_62, + 'v1.70.x': Installation_1_62, }; export class VersionNotFound extends Exception { diff --git a/src/ts/versions/v1.46/components/charts/GardenerDashboardChart.ts b/src/ts/versions/v1.46/components/charts/GardenerDashboardChart.ts index a777f17..1890596 100644 --- a/src/ts/versions/v1.46/components/charts/GardenerDashboardChart.ts +++ b/src/ts/versions/v1.46/components/charts/GardenerDashboardChart.ts @@ -7,7 +7,7 @@ import {createLogger} from '../../../../log/Logger'; const log = createLogger('GardenerDashboard'); -const version = '1.55.1'; +const version = '1.70.1'; const repoZipUrl = (version: string) => `https://github.com/gardener/dashboard/archive/refs/tags/${version}.zip`; @@ -40,25 +40,30 @@ export class GardenerDashboardChart extends Chart kubeconfig = (await waitUntilVirtualClusterIsReady(log, values)).getKubeConfig().exportConfig(); } return { - image: { - tag: version, - }, - apiServerUrl: values.apiserver.url, - apiServerCa: values.apiserver.tls.ca.cert, - frontendConfig: { - seedCandidateDeterminationStrategy: 'SameRegion', - }, - kubeconfig, - sessionSecret: values['gardener-dashboard'].sessionSecret, - ingress: { - tls: { - secretName: values.wildcardSecretName, + global: { + dashboard: { + image: { + tag: version, + }, + apiServerUrl: values.apiserver.url, + apiServerCa: values.apiserver.tls.ca.cert, + frontendConfig: { + seedCandidateDeterminationStrategy: 'SameRegion', + }, + kubeconfig, + sessionSecret: values['gardener-dashboard'].sessionSecret, + ingress: { + tls: { + secretName: values.wildcardSecretName, + }, + hosts: [values.gardenerHost], + }, + oidc: { + clientId: 'dashboard', + issuerUrl: values.issuerUrl, + clientSecret: values.identity.dashboardClientSecret, + }, }, - hosts: [values.gardenerHost], - }, - oidc: { - issuerUrl: values.issuerUrl, - clientSecret: values.identity.dashboardClientSecret, }, }; } diff --git a/src/ts/versions/v1.46/components/gardener/Gardenlet.ts b/src/ts/versions/v1.46/components/gardener/Gardenlet.ts index 44aad97..3578fd8 100644 --- a/src/ts/versions/v1.46/components/gardener/Gardenlet.ts +++ b/src/ts/versions/v1.46/components/gardener/Gardenlet.ts @@ -290,6 +290,14 @@ class GardenletChart extends Chart { } private gardenletConfig(values: GardenletValues) { + const featureGates = { + ...values.gardener.featureGates, + ...values.gardener.soil.gardenlet?.featureGates, + }; + if (this.version.compare('1.70.0') >= 0) { + delete(featureGates['ManagedIstio']); + delete(featureGates['ReversedVPN']); + } return { ...values.gardener.soil.gardenlet, gardenClientConnection: { @@ -303,10 +311,7 @@ class GardenletChart extends Chart { namespace: GardenerNamespace, }, }, - featureGates: { - ...values.gardener.featureGates, - ...values.gardener.soil.gardenlet?.featureGates, - }, + featureGates, seedConfig: { apiVersion: 'core.gardener.cloud/v1beta1', kind: 'Seed', diff --git a/src/ts/versions/v1.69/extensions.yaml b/src/ts/versions/v1.69/extensions.yaml new file mode 100644 index 0000000..8dbc9eb --- /dev/null +++ b/src/ts/versions/v1.69/extensions.yaml @@ -0,0 +1,104 @@ + +gardener: + extensions: + os-coreos: + enabled: true + version: v1.16.0 + controllerRegistration: + repositoryName: gardener-extension-os-coreos + + os-ubuntu: + enabled: true + version: v1.20.0 + controllerRegistration: + repositoryName: gardener-extension-os-ubuntu + + provider-gcp: + enabled: true + version: v1.32.1 + controllerRegistration: + repositoryName: gardener-extension-provider-gcp + + provider-openstack: + enabled: true + version: v1.32.2 + controllerRegistration: + repositoryName: gardener-extension-provider-openstack + + provider-dns-cloudflare: + enabled: true + version: v0.0.3 + controllerRegistration: + org: schrodit + repositoryName: gardener-extension-provider-dns-cloudflare + + provider-equinix: + enabled: true + version: v2.9.0 + controllerRegistration: + repositoryName: gardener-extension-provider-equinix-metal + values: + image: + tag: v2.10.0-dev-6b7b511317539bc6b47b2702cda4d621b6d1f6ee + + networking-cilium: + enabled: true + version: v1.20.1 + controllerRegistration: + repositoryName: gardener-extension-networking-cilium + + networking-calico: + enabled: true + version: v1.33.0 + controllerRegistration: + repositoryName: gardener-extension-networking-calico + + shoot-dns-service: + enabled: true + global: true + + version: v1.32.1 + controllerRegistration: + repositoryName: gardener-extension-shoot-dns-service + + values: + dnsProviderReplication: + enabled: true + dnsProviderManagement: + enabled: true + dnsControllerManager: + image: + repository: eu.gcr.io/gardener-project/dns-controller-manager + tag: v0.13.3 + configuration: + cacheTtl: 300 + controllers: dnscontrollers,dnssources + dnsPoolResyncPeriod: 30m + #poolSize: 20 + #providersPoolResyncPeriod: 24h + serverPortHttp: 8080 + createCRDs: false + deploy: true + replicaCount: 1 + #resources: + # limits: + # memory: 1Gi + # requests: + # cpu: 50m + # memory: 500Mi + + shoot-cert-service: + enabled: true + global: true + + version: v1.26.0 + controllerRegistration: + repositoryName: gardener-extension-shoot-cert-service + + values: + certificateConfig: + defaultIssuer: + acme: + email: foo@example.com + server: https://acme-v02.api.letsencrypt.org/directory + name: default-issuer diff --git a/src/ts/versions/v1.70/extensions.yaml b/src/ts/versions/v1.70/extensions.yaml new file mode 100644 index 0000000..8dbc9eb --- /dev/null +++ b/src/ts/versions/v1.70/extensions.yaml @@ -0,0 +1,104 @@ + +gardener: + extensions: + os-coreos: + enabled: true + version: v1.16.0 + controllerRegistration: + repositoryName: gardener-extension-os-coreos + + os-ubuntu: + enabled: true + version: v1.20.0 + controllerRegistration: + repositoryName: gardener-extension-os-ubuntu + + provider-gcp: + enabled: true + version: v1.32.1 + controllerRegistration: + repositoryName: gardener-extension-provider-gcp + + provider-openstack: + enabled: true + version: v1.32.2 + controllerRegistration: + repositoryName: gardener-extension-provider-openstack + + provider-dns-cloudflare: + enabled: true + version: v0.0.3 + controllerRegistration: + org: schrodit + repositoryName: gardener-extension-provider-dns-cloudflare + + provider-equinix: + enabled: true + version: v2.9.0 + controllerRegistration: + repositoryName: gardener-extension-provider-equinix-metal + values: + image: + tag: v2.10.0-dev-6b7b511317539bc6b47b2702cda4d621b6d1f6ee + + networking-cilium: + enabled: true + version: v1.20.1 + controllerRegistration: + repositoryName: gardener-extension-networking-cilium + + networking-calico: + enabled: true + version: v1.33.0 + controllerRegistration: + repositoryName: gardener-extension-networking-calico + + shoot-dns-service: + enabled: true + global: true + + version: v1.32.1 + controllerRegistration: + repositoryName: gardener-extension-shoot-dns-service + + values: + dnsProviderReplication: + enabled: true + dnsProviderManagement: + enabled: true + dnsControllerManager: + image: + repository: eu.gcr.io/gardener-project/dns-controller-manager + tag: v0.13.3 + configuration: + cacheTtl: 300 + controllers: dnscontrollers,dnssources + dnsPoolResyncPeriod: 30m + #poolSize: 20 + #providersPoolResyncPeriod: 24h + serverPortHttp: 8080 + createCRDs: false + deploy: true + replicaCount: 1 + #resources: + # limits: + # memory: 1Gi + # requests: + # cpu: 50m + # memory: 500Mi + + shoot-cert-service: + enabled: true + global: true + + version: v1.26.0 + controllerRegistration: + repositoryName: gardener-extension-shoot-cert-service + + values: + certificateConfig: + defaultIssuer: + acme: + email: foo@example.com + server: https://acme-v02.api.letsencrypt.org/directory + name: default-issuer