saeid-a / cert-manager-webhook-arvan

A cert-manager sample repository for creating an ACME DNS01 solver webhook

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Artifact HUB

ACME webhook ArvanCloud

The ACME issuer type supports an optional 'webhook' solver, which can be used to implement custom DNS01 challenge solving logic.

This is useful if you need to use cert-manager with a DNS provider that is not officially supported in cert-manager core.

This plugin integrates with arvancloud api service to make DNS01 challenge possible for you.

Use helm to install this webhook:

helm repo add hbx https://hbahadorzadeh.github.io/helm-chart/
helm install -n cert-manager hbx/cert-manager-webhook-arvan

Usage

You need to create a secret for your api key :

apiVersion: v1
kind: Secret
metadata:
  name: arvan-credentials
  namespace: cert-manager
stringData:
  apikey: "YOUR_API_KEY"

Sample ClusterIssuer:

apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
  name: test-issuer # Name of the issuer
  labels:
    app.kubernetes.io/name: test-issuer
spec:
  acme:
    server: https://acme-v02.api.letsencrypt.org/directory # URL of the server 
    email: test@example.com #email of the user that will the notification about the cert 
    privateKeySecretRef:
      name: letsencrypt-account-key
    solvers:
    - dns01:
        webhook:
          groupName: hbahadorzadeh.github # name of the group you setted at the start of this course
          solverName: arvancloud
          config:
            ttl: 120
            authApiSecretRef: 
              name: "arvan-credentials"
              key":  "apikey"
            baseUrl: "https://napi.arvancloud.com"

Sample Certificate:

apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
  name: test-certificate # name of the certificate
  labels:
    app.kubernetes.io/name: test-certificate # name of the certificate
spec:
  dnsNames:
  - test.domain # name of the domain you want to validate the certificate
  issuerRef:
    name: test-issuer # name of the issuer you created before
    kind: ClusterIssuer
  secretName: test-certificate # name of the secret that will be created that will contain the certificate

About

A cert-manager sample repository for creating an ACME DNS01 solver webhook

License:Apache License 2.0


Languages

Language:Go 80.7%Language:Mustache 10.9%Language:Makefile 3.0%Language:Shell 2.8%Language:Dockerfile 2.7%