{"id":25112185,"url":"https://github.com/zachomedia/cert-manager-webhook-pdns","last_synced_at":"2026-03-08T07:04:14.282Z","repository":{"id":38515111,"uuid":"193641840","full_name":"zachomedia/cert-manager-webhook-pdns","owner":"zachomedia","description":"A PowerDNS webhook for cert-manager","archived":false,"fork":false,"pushed_at":"2025-08-08T19:11:56.000Z","size":237,"stargazers_count":72,"open_issues_count":5,"forks_count":35,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-08-14T09:42:48.480Z","etag":null,"topics":["acme","cert-manager","cert-manager-webhook","letsencrypt","pdns","powerdns"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zachomedia.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-06-25T05:41:23.000Z","updated_at":"2025-08-09T19:35:27.000Z","dependencies_parsed_at":"2024-03-27T01:24:48.347Z","dependency_job_id":"0a81ccaa-f8be-4240-8fb1-ede011392ed1","html_url":"https://github.com/zachomedia/cert-manager-webhook-pdns","commit_stats":null,"previous_names":[],"tags_count":31,"template":false,"template_full_name":null,"purl":"pkg:github/zachomedia/cert-manager-webhook-pdns","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zachomedia%2Fcert-manager-webhook-pdns","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zachomedia%2Fcert-manager-webhook-pdns/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zachomedia%2Fcert-manager-webhook-pdns/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zachomedia%2Fcert-manager-webhook-pdns/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zachomedia","download_url":"https://codeload.github.com/zachomedia/cert-manager-webhook-pdns/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zachomedia%2Fcert-manager-webhook-pdns/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30248575,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-08T05:41:50.788Z","status":"ssl_error","status_checked_at":"2026-03-08T05:41:39.075Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["acme","cert-manager","cert-manager-webhook","letsencrypt","pdns","powerdns"],"created_at":"2025-02-08T01:35:55.999Z","updated_at":"2026-03-08T07:04:14.241Z","avatar_url":"https://github.com/zachomedia.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PowerDNS cert-manager ACME webhook\n\n## Installing\n\nTo install with helm, run:\n\n```bash\n$ helm repo add cert-manager-webhook-pdns https://zachomedia.github.io/cert-manager-webhook-pdns\n$ helm install cert-manager-webhook-pdns cert-manager-webhook-pdns/cert-manager-webhook-pdns\n```\n\nWithout helm, run:\n\n```bash\n$ make rendered-manifest.yaml\n$ kubectl apply -f _out/rendered-manifest.yaml\n```\n\n### Issuer/ClusterIssuer\n\nAn example issuer:\n\n```yaml\napiVersion: v1\nkind: Secret\nmetadata:\n  name: pdns-api-key\ntype: Opaque\ndata:\n  key: APIKEY_BASE64\n---\napiVersion: cert-manager.io/v1\nkind: Issuer\nmetadata:\n  name: letsencrypt-staging\nspec:\n  acme:\n    email: certificates@example.ca\n    server: https://acme-staging-v02.api.letsencrypt.org/directory\n    privateKeySecretRef:\n      name: letsencrypt-staging-account-key\n    solvers:\n      - dns01:\n          webhook:\n            groupName: acme.zacharyseguin.ca\n            solverName: pdns\n            config:\n              # Base URL of the PowerDNS server.\n              host: https://ns1.example.ca\n\n              # Reference to the Kubernetes secret containing the API key.\n              apiKeySecretRef:\n                name: pdns-api-key\n                key: key\n\n              ###\n              ### OPTIONAL\n              ###\n\n              # API Key scheme https://www.iana.org/assignments/http-authschemes/http-authschemes.xhtml\n              # default: no scheme \"\"\n              apiKeyScheme: \"\"\n\n              # Header name for API key\n              #\n              # This defaults to X-API-Key when unset but supports customizations\n              # e.g. Authorization \n              apiKeyHeaderName: \"\"\n\n              # Server ID for the PowerDNS API.\n              # When unset, defaults to \"localhost\".\n              #\n              # This should generally be left unset, and used\n              # only if you have a proxy in front of the PowerDNS API\n              # that requires a different value.\n              serverID: localhost\n\n              # Request headers when connecting to the PowerDNS API.\n              # The following headers are set by default, but can be overriden:\n              #   X-API-Key\n              #   Content-Type\n              headers:\n                key: value\n\n              # CA bundle for TLS connections\n              # When unset, the default system certificate store is used.\n              caBundle: BASE64_ENCODED_CA_BUNDLE\n\n              # TTL for DNS records\n              # (in seconds)\n              ttl: 120\n\n              # Timeout for requests to the PDNS api server\n              # (in seconds)\n              timeout: 30\n\n              # If the server is only allowed to edit certain zones; the\n              # default is an empty list, allowing everything.\n              # *IMPORTANT*: Remember the trailing dot to make the zone-name\n              # fully qualified.\n              allowed-zones:\n                - example.com.\n                - example.org.\n                - example.net.\n```\n\nAnd then you can issue a cert:\n\n```yaml\napiVersion: cert-manager.io/v1\nkind: Certificate\nmetadata:\n  name: test-example-ca\n  namespace: default\nspec:\n  secretName: example-com-tls\n  dnsNames:\n  - example.ca\n  - www.example.ca\n  issuerRef:\n    name: letsencrypt-staging\n    kind: Issuer\n    group: cert-manager.io\n```\n\n## Development\n\n### Running the test suite\n\nYou can run the test suite with:\n\n1. `make setup`\n2. `make test`\n\nThis requires `openssl`, `docker` and `docker-compose` to be installed.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzachomedia%2Fcert-manager-webhook-pdns","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzachomedia%2Fcert-manager-webhook-pdns","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzachomedia%2Fcert-manager-webhook-pdns/lists"}