Categorygithub.com/runnerm/simply-dns-webhook
modulepackage
1.6.0
Repository: https://github.com/runnerm/simply-dns-webhook.git
Documentation: pkg.go.dev

# README

logo

Simply DNS webhook service for cert-manager support

Artifact Hub GitHub GitHub go.mod Go version Go Report Card codecov GitHub Repo stars Image pulls

This service can be installed side by side with cert manager and can be used to handle dns-01 challeneges provided by cert manager. All documentation on how to configure dns-01 chalanges can be found at cert-manager.io

Version support:

The version compatibility I have tested for can be seen below:

cert-manager versionsimply-dns-webhook version
1.9.x1.0.x
1.10.x1.1.x
1.11.x1.2.x
1.12.x1.3.x
1.13.x1.4.x
1.14.x1.5.x
1.15.x1.6.x

Platfom support:

The folowing architectures are supported by 1.14.x and newer: linux/amd64, linux/arm64, linux/arm, linux/arm/v6, linux/386

Deploy

Helm chart:

Add repo:

    helm repo add simply-dns-webhook https://runnerm.github.io/simply-dns-webhook/

Then:

    helm install my-simply-dns-webhook simply-dns-webhook/simply-dns-webhook --version <version>

As sub-chart:

    dependencies:
        - name: simply-dns-webhook
          version: <version>
          repository: https://runnerm.github.io/simply-dns-webhook/
          alias: simply-dns-webhook

Usage:

Credentials secret: You have to create the secret containing your simply.com api credential on your own, and it's name has to match with the secret ref name provided in the config of the cert-manager issuer/cluster issuer.

Issuer/ClusterIssuer:

    apiVersion: cert-manager.io/v1
    kind: ClusterIssuer
    metadata:
        name: letsencrypt-nginx
    spec:
        acme:
            email: <your_acme_email>
            server: https://acme-v02.api.letsencrypt.org/directory
            privateKeySecretRef:
                name: letsencrypt-nginx-private-key
            solvers:
            - dns01:
                webhook:
                    groupName: com.github.runnerm.cert-manager-simply-webhook
                    solverName: simply-dns-solver
                    config:
                        secretName: simply-credentials # notice the name
              selector:
                dnsZones:
                - '<your_domain>'

Credentials in config: You may choose to use the webhook configuration directly as shown below. (use it at your own risk)

-              secretName: simply-credentials # notice the name
+              accountName: "<account-name>"
+              apiKey: "<api-key>"

Secret

    apiVersion: v1
    kind: Secret
    data:
        account-name: <your_account_name>
        api-key: <your_api_key>
    metadata:
        name: simply-credentials # notice the name
        namespace: <namespace-where-cert-manager-is-installed>
    type: Opaque

cert-manager namespace:

You may override values with your own values if you choose to install cert-manager in custom namespace as follows (this is necessary for proper functioning):

    simply-dns-webhook:
        certManager:
            namespace: <cert-manager-namespace>
            serviceAccountName: <cert-manager-namespace>

Resources:

I leave the choice of the resource constraints to you since you know what you run the service on. ;)

    simply-dns-webhook:
        resources: 
            limits:
                cpu: 100m  
                memory: 128Mi
            requests:
                cpu: 100m
                memory: 128Mi

Logging:

You may choose to elevate level logging to debug by setting the following values:

    simply-dns-webhook:
        logLevel: DEBUG

Debug level gives you a bit more context when debugging your setup. Default log level is INFO.

Running the test suite:

Update the config or the simply-credentials secret with your API credentials and run:

$ TEST_ZONE_NAME=example.com. make test

Parameters

The following table lists the configurable parameters of the simply-dns-webhook chart, and their default values.

ParameterDescriptionDefault
groupNameGroup name for the webhookcom.github.runnerm.cert-manager-simply-webhook
debugLevelLogging levelINFO
certManager.namespacecert-manager namespacecert-manager
certManager.serviceAccountNamecert-manager service account namecert-manager
image.repositoryDocker image repositorydeyaeddin/cert-manager-webhook-hetzner
image.tagDocker image tagv1.4.0
image.pullPolicyDocker image pull policyIfNotPresent
nameOverrideName override for the chart""
fullnameOverrideFull name override for the chart""
service.typeService typeClusterIP
service.portService port443
resourcesPod resourcesCheck values.yaml file
nodeSelectorNode selectornil
tolerationsNode tolerationnil
affinityNode affinitynil
Special credits to: Keyhole Aps

# Variables

No description provided by the author
No description provided by the author

# Structs

No description provided by the author
No description provided by the author