diff --git a/.github/renovate.json b/.github/renovate.json index 18ed63c6a..c725737c6 100644 --- a/.github/renovate.json +++ b/.github/renovate.json @@ -19,19 +19,6 @@ "depNameTemplate": "kubernetes/ingress-nginx", "extractVersionTemplate": "^helm-chart-(?.*)$" }, - { - "customType": "regex", - "description": "Bump external-dns version in the plugindefinition", - "managerFilePatterns": [ - "/^external-dns.plugindefinition.yaml$/" - ], - "matchStrings": [ - "helmChart:\\s*name:\\s*.*\\s*repository:\\s*.*\\s*version\\s*\\:\\s*(?v?(?:\\d+\\.){0,2}\\d+)" - ], - "datasourceTemplate": "github-tags", - "depNameTemplate": "kubernetes-sigs/external-dns", - "extractVersionTemplate": "^external-dns-helm-chart-(?.*)$" - }, { "customType": "regex", "description": "Bump reloader version in the plugindefinition", @@ -377,7 +364,6 @@ "description": "Automatically bump spec.version in plugindefinition.yaml when helmChart.version is updated by custom regex managers. The bumpType is determined by the update type (patch/minor/major) of the helmChart.version.", "matchFileNames": [ "ingress-nginx/plugindefinition.yaml", - "external-dns/plugindefinition.yaml", "reloader/plugindefinition.yaml" ], "matchManagers": [ diff --git a/.github/workflows/ci-pr-build.yaml b/.github/workflows/ci-pr-build.yaml index d569808fa..fc4b06d9b 100644 --- a/.github/workflows/ci-pr-build.yaml +++ b/.github/workflows/ci-pr-build.yaml @@ -24,6 +24,8 @@ jobs: fail-fast: false matrix: include: + - chartDir: external-dns/charts + chartName: external-dns - chartDir: alerts/charts chartName: alerts - chartDir: audit-logs/charts diff --git a/.github/workflows/helm-release.yaml b/.github/workflows/helm-release.yaml index 9d167ea62..2541a6d1f 100644 --- a/.github/workflows/helm-release.yaml +++ b/.github/workflows/helm-release.yaml @@ -7,6 +7,7 @@ on: - main paths: - .github/workflows/helm-release.yaml + - external-dns/charts/** - absent-metrics-operator/charts/** - alerts/charts/** - audit-logs/charts/** @@ -44,6 +45,8 @@ jobs: fail-fast: false matrix: include: + - chartDir: external-dns/charts + chartName: external-dns - chartDir: absent-metrics-operator/charts chartName: absent-metrics-operator - chartDir: alerts/charts diff --git a/external-dns/charts/Chart.lock b/external-dns/charts/Chart.lock new file mode 100644 index 000000000..663000f9a --- /dev/null +++ b/external-dns/charts/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: external-dns + repository: https://kubernetes-sigs.github.io/external-dns + version: 1.20.0 +digest: sha256:1aee4734850c99ceea48a6da8b6207ed5baef35614fae0eacd5a799d97bacb65 +generated: "2026-04-29T01:09:36.771873+02:00" diff --git a/external-dns/charts/Chart.yaml b/external-dns/charts/Chart.yaml new file mode 100644 index 000000000..abea22853 --- /dev/null +++ b/external-dns/charts/Chart.yaml @@ -0,0 +1,19 @@ +# SPDX-FileCopyrightText: 2026 SAP SE or an SAP affiliate company and Greenhouse contributors +# SPDX-License-Identifier: Apache-2.0 + +apiVersion: v2 +description: A Helm chart for installing the kubernetes-sigs/external-dns. +name: external-dns +icon: https://github.com/kubernetes-sigs/external-dns/raw/master/docs/img/external-dns.png +keywords: + - external-dns + - dns +version: 1.20.0 +appVersion: 0.20.0 +maintainers: + - name: abhijith-darshan +dependencies: + - name: external-dns + repository: https://kubernetes-sigs.github.io/external-dns + version: 1.20.0 + alias: externalDns \ No newline at end of file diff --git a/external-dns/charts/charts/external-dns-1.20.0.tgz b/external-dns/charts/charts/external-dns-1.20.0.tgz new file mode 100644 index 000000000..147d19c9a Binary files /dev/null and b/external-dns/charts/charts/external-dns-1.20.0.tgz differ diff --git a/external-dns/charts/templates/os-clouds-secret.yaml b/external-dns/charts/templates/os-clouds-secret.yaml new file mode 100644 index 000000000..4933e2362 --- /dev/null +++ b/external-dns/charts/templates/os-clouds-secret.yaml @@ -0,0 +1,13 @@ +# SPDX-FileCopyrightText: 2026 SAP SE or an SAP affiliate company and Greenhouse contributors +# SPDX-License-Identifier: Apache-2.0 + +{{- if .Values.openstack.enabled }} +apiVersion: v1 +kind: Secret +metadata: + name: oscloudsyaml + namespace: {{ .Release.Namespace }} +type: Opaque +data: + clouds.yaml: {{ printf "clouds:\n openstack:\n auth:\n auth_url: %s\n username: %s\n password: %s\n project_name: %s\n project_domain_name: %s\n user_domain_name: %s\n region_name: %s\n interface: public\n auth_type: password" .Values.openstack.authURL .Values.openstack.username .Values.openstack.password .Values.openstack.projectName .Values.openstack.projectDomainName .Values.openstack.userDomainName .Values.openstack.regionName | b64enc }} +{{- end }} diff --git a/external-dns/charts/values.yaml b/external-dns/charts/values.yaml new file mode 100644 index 000000000..fd5f7eb2d --- /dev/null +++ b/external-dns/charts/values.yaml @@ -0,0 +1,12 @@ +# SPDX-FileCopyrightText: 2026 SAP SE or an SAP affiliate company and Greenhouse contributors +# SPDX-License-Identifier: Apache-2.0 + +openstack: + enabled: false + authURL: "" + username: "" + password: "" + projectName: "" + projectDomainName: "" + userDomainName: "" + regionName: "" \ No newline at end of file diff --git a/external-dns/plugindefinition.yaml b/external-dns/plugindefinition.yaml index 2911586bd..6946ded81 100644 --- a/external-dns/plugindefinition.yaml +++ b/external-dns/plugindefinition.yaml @@ -6,12 +6,46 @@ kind: PluginDefinition metadata: name: external-dns spec: - version: 1.2.1 + version: 1.3.0 displayName: External DNS manager description: The kubernetes-sigs/external-dns plugin. docMarkDownUrl: https://raw.githubusercontent.com/cloudoperators/greenhouse-extensions/main/external-dns/README.md icon: https://raw.githubusercontent.com/kubernetes-sigs/external-dns/master/docs/img/external-dns.png + options: + - name: openstack.enabled + description: Enable creation of the oscloudsyaml secret for the OpenStack webhook provider + required: false + type: bool + default: false + - name: openstack.authURL + description: The OpenStack Keystone authentication URL + required: false + type: string + - name: openstack.username + description: The OpenStack username + required: false + type: string + - name: openstack.password + description: The OpenStack user password + required: false + type: secret + - name: openstack.projectName + description: The OpenStack project name + required: false + type: string + - name: openstack.projectDomainName + description: The OpenStack domain name of the project + required: false + type: string + - name: openstack.userDomainName + description: The OpenStack domain name of the user + required: false + type: string + - name: openstack.regionName + description: The OpenStack region name + required: false + type: string helmChart: name: external-dns - repository: https://kubernetes-sigs.github.io/external-dns + repository: oci://ghcr.io/cloudoperators/greenhouse-extensions/charts version: 1.20.0