A cert-manager dns01 challenge solver for Arvancloud.
This webhook enables you to use Arvancloud DNS for DNS01 challenge validation when issuing certificates with cert-manager.
You can deploy the webhook using the provided Helm chart:
helm repo add arvancloud-webhook https://mohammad-abbasi.me/cert-manager-webhook-arvancloud
helm install cert-manager-webhook-arvancloud arvancloud-webhook/cert-manager-webhook-arvancloud -n cert-manager
Or deploy manually using the manifests in the charts/ directory.
Create a Secret in the cert-manager namespace containing your Arvancloud API key:
kubectl create secret generic arvancloud-api-key \
--namespace cert-manager \
--from-literal=apikey="your-arvancloud-api-key-here"
Or you can create the Secret using a YAML manifest:
apiVersion: v1
kind: Secret
metadata:
name: arvancloud-api-key
namespace: cert-manager
stringData:
apikey: "apikey xxxxxxxx.xxxxxxxxxxx.xxxxxx"
Create an Issuer or ClusterIssuer resource that uses the Arvancloud webhook for DNS01 validation:
apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
name: arvancloud-issuer
spec:
acme:
server: https://acme-staging-v02.api.letsencrypt.org/directory
email: [email protected]
privateKeySecretRef:
name: arvancloud-issuer-key
solvers:
- dns01:
webhook:
groupName: acme.arvancloud.ir
solverName: arvancloud
config:
apiKeySecretRef:
name: arvancloud-api-key
key: apikey
# Optional TTL in seconds for DNS records (default: 120)
ttl: 120
For a production environment, use the production Let’s Encrypt server:
server: https://acme-v02.api.letsencrypt.org/directory
Create a Certificate resource that uses the Issuer/ClusterIssuer:
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: example-com
namespace: default
spec:
secretName: example-com-tls
issuerRef:
name: arvancloud-issuer
kind: ClusterIssuer
dnsNames:
- example.com
- "*.example.com"
kubectl logs -n cert-manager -l app=cert-manager-webhook-arvancloud
kubectl describe certificate example-com
Contributions are welcome! Please open issues or pull requests for improvements or bug fixes.
If you discover any security-related issues, please email [email protected] instead of using the issue tracker.
The MIT License (MIT). Please see License File for more information.