Skip to content

Commit

Permalink
feat: more dns providers, including 'other' (#889)
Browse files Browse the repository at this point in the history
* feat: more dns providers, including 'other'

Co-authored-by: Jehoszafat Zimnowoda <jehoszafat.zimnowoda@redkubes.com>
  • Loading branch information
Maurice Faber and j-zimnowoda committed Sep 12, 2022
1 parent f72a497 commit 10ed2f8
Show file tree
Hide file tree
Showing 70 changed files with 880 additions and 354 deletions.
2 changes: 1 addition & 1 deletion .husky/pre-push
Expand Up @@ -7,6 +7,6 @@ npm run lint
if ! git diff HEAD main --quiet; then
# if values files have BOTH been modified, then we know migrate is safe
if test $(git diff origin/main --name-only | awk 'xor(/values-schema.yaml/,/values-changes.yaml/)' | wc -l) = 2; then
npm run migrate-values -- -ni
npm run migrate-values
fi
fi
1 change: 0 additions & 1 deletion .values/env/secrets.teams.yaml
@@ -1 +0,0 @@
teamConfig: {}
2 changes: 1 addition & 1 deletion .values/env/settings.yaml
@@ -1 +1 @@
version: 4
version: 5
2 changes: 1 addition & 1 deletion .vscode/launch.json
Expand Up @@ -138,7 +138,7 @@
"request": "launch",
"runtimeExecutable": "node",
"runtimeArgs": ["--nolazy", "-r", "ts-node/register/transpile-only"],
"args": ["src/otomi.ts", "--", "template", "-l", "name=external-dns", "-k", "1.22"],
"args": ["src/otomi.ts", "--", "template", "-l", "name=external-dns"],
"cwd": "${workspaceRoot}",
"internalConsoleOptions": "openOnSessionStart",
"skipFiles": ["<node_internals>/**", "node_modules/**"],
Expand Down
2 changes: 1 addition & 1 deletion .vscode/settings.json
Expand Up @@ -50,7 +50,7 @@
"sops.enabled": false,
"todohighlight.include": ["**/*.ts", "**/*.tsx", "**/*.html", "**/*.css", "**/*.scss", "**/*.gotmpl", "**/*.yaml"],
"yaml.schemas": {
".vscode/values-schema.yaml": "**/env/*.yaml",
".vscode/values-schema.yaml": "**/env/**/*.yaml",
"https://json-schema.org/draft-07/schema": "values-schema.yaml"
}
}
11 changes: 11 additions & 0 deletions adr/2022-08-26-other-dns-provider.md
@@ -0,0 +1,11 @@
# Other DNS provider

Maurice:

**Background:**

We collect one set of configuration for DNS, which is following the schema of the `external-dns` chart. That same config is mapped onto the cert-manager chart.

**Change introduced:**

Since `cert-manager` charts only has a limited set of providers, but `external-dns` chart has lots, we now also offer an extra provider option `other`. This option asks for a provider name and a yaml blob for `external-dns`, and a yaml blob for `cert-manager` that will be used for the `cluster-issuer`'s `dns01` section.
1 change: 1 addition & 0 deletions adr/index.md
Expand Up @@ -16,6 +16,7 @@ This log lists the architectural decisions for otomi-core.
* [ADR-2022-05-17](2022-05-17-destroy-upon-uninstall.md) - Extra flags to accomodate destroy upon uninstall
* [ADR-2022-06-07](2022-06-07-ingress-classes.md) - Ingress classes
* [ADR-2022-07-02](2022-07-02-node-affinity.md) - Node affinity
* [ADR-2022-08-26](2022-08-26-other-dns-provider.md) - Other DNS provider

<!-- adrlogstop -->

Expand Down
21 changes: 6 additions & 15 deletions chart/otomi/values.yaml
Expand Up @@ -47,34 +47,25 @@ otomi: {}
## By default the image tag is set to .Chart.AppVersion
# version: main

apps:
cert-manager:
## Optional configuration
# apps:
# cert-manager:
## Set issuer
## Use a custom-ca (for BYO CA or auto-generated CA) or letsencrypt.
## When using letsencrypt, also fill in 'dns'.
issuer: custom-ca
# issuer: custom-ca
## Set when using BYO CA.
## If not filled in, a CA will be auto generated
# customRootCA:
# customRootCAKey:

## Set when issuer is letsencrypt
# email: ''
# stage: staging # defaults to 'production' when commented out

external-dns:
## List one or more domains that the credentials under dns give access to
domainFilters:
- ''
## if your dns credentials give authorization to manage everything on a root domain (i.e. *.example.com)
## you can limit the scope to a list of zones that only operate on a subdomain (i.e. test.example.com):
# zoneIdFilters:
# - ''

## Optional configuration

## External dns zone configuration
# dns:
# domainFilters: []
# zoneIdFilters: []
# provider:
# # provide one of the following below: aws|azure|google
# aws:
Expand Down
6 changes: 3 additions & 3 deletions charts/external-dns/Chart.lock
@@ -1,6 +1,6 @@
dependencies:
- name: common
repository: https://charts.bitnami.com/bitnami
version: 1.10.3
digest: sha256:710e8247ae70ea63a2fb2fde4320511ff28c7b5c7a738861427f104a7718bdf4
generated: "2021-12-13T15:39:42.319653929Z"
version: 2.0.1
digest: sha256:46553c7194313fd9ce2e1e86422eef4dab3defb450e20c692f865924eacb8fb1
generated: "2022-08-23T21:17:43.285411696Z"
12 changes: 6 additions & 6 deletions charts/external-dns/Chart.yaml
@@ -1,13 +1,13 @@
annotations:
category: DeveloperTools
apiVersion: v2
appVersion: 0.10.2
appVersion: 0.12.2
dependencies:
- name: common
repository: https://charts.bitnami.com/bitnami
tags:
- bitnami-common
version: 1.x.x
version: 2.x.x
description: ExternalDNS is a Kubernetes addon that configures public DNS servers
with information about exposed Kubernetes services to make them discoverable.
home: https://github.com/bitnami/charts/tree/master/bitnami/external-dns
Expand All @@ -17,11 +17,11 @@ keywords:
- network
- dns
maintainers:
- email: containers@bitnami.com
name: Bitnami
- name: Bitnami
url: https://github.com/bitnami/charts
name: external-dns
sources:
- https://github.com/kubernetes-sigs/external-dns
- https://github.com/bitnami/bitnami-docker-external-dns
- https://github.com/bitnami/containers/tree/main/bitnami/external-dns
- https://github.com/kubernetes-sigs/external-dns
version: 6.0.2
version: 6.8.1

0 comments on commit 10ed2f8

Please sign in to comment.