{"id":37127896,"url":"https://github.com/slicen/cert-manager-webhook-linode","last_synced_at":"2026-01-14T14:53:18.925Z","repository":{"id":45031911,"uuid":"274302607","full_name":"slicen/cert-manager-webhook-linode","owner":"slicen","description":"Cert-Manager ACME DNS01 Webhook Solver for Linode DNS Manager","archived":false,"fork":false,"pushed_at":"2023-01-10T14:04:28.000Z","size":149,"stargazers_count":30,"open_issues_count":8,"forks_count":26,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-06-29T10:01:49.002Z","etag":null,"topics":["cert-manager","cert-manager-webhook","kubernetes","letsencrypt","linode"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/slicen.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}},"created_at":"2020-06-23T03:47:37.000Z","updated_at":"2024-12-18T03:51:07.000Z","dependencies_parsed_at":"2023-02-08T19:01:04.004Z","dependency_job_id":null,"html_url":"https://github.com/slicen/cert-manager-webhook-linode","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/slicen/cert-manager-webhook-linode","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slicen%2Fcert-manager-webhook-linode","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slicen%2Fcert-manager-webhook-linode/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slicen%2Fcert-manager-webhook-linode/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slicen%2Fcert-manager-webhook-linode/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/slicen","download_url":"https://codeload.github.com/slicen/cert-manager-webhook-linode/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slicen%2Fcert-manager-webhook-linode/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28424011,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T13:30:50.153Z","status":"ssl_error","status_checked_at":"2026-01-14T13:29:08.907Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":["cert-manager","cert-manager-webhook","kubernetes","letsencrypt","linode"],"created_at":"2026-01-14T14:53:18.222Z","updated_at":"2026-01-14T14:53:18.914Z","avatar_url":"https://github.com/slicen.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Cert-Manager ACME DNS01 Webhook Solver for Linode DNS Manager\n\n[![Go Report Card](https://goreportcard.com/badge/github.com/slicen/cert-manager-webhook-linode)](https://goreportcard.com/report/github.com/slicen/cert-manager-webhook-linode)\n[![Releases](https://img.shields.io/github/v/release/slicen/cert-manager-webhook-linode?include_prereleases)](https://github.com/slicen/cert-manager-webhook-linode/releases)\n[![LICENSE](https://img.shields.io/github/license/slicen/cert-manager-webhook-linode)](https://github.com/slicen/cert-manager-webhook-linode/blob/master/LICENSE)\n\nA webhook to use [Linode DNS\nManager](https://www.linode.com/docs/platform/manager/dns-manager) as a DNS01\nACME Issuer for [cert-manager](https://github.com/jetstack/cert-manager).\n\n## Installation\n\n```bash\nhelm install cert-manager-webhook-linode \\\n  --namespace cert-manager \\\n  https://github.com/slicen/cert-manager-webhook-linode/releases/download/v0.2.0/cert-manager-webhook-linode-v0.2.0.tgz\n```\n\n## Usage\n\n### Create Linode API Token Secret\n\n```bash\nkubectl create secret generic linode-credentials \\\n  --namespace=cert-manager \\\n  --from-literal=token=\u003cLINODE TOKEN\u003e\n```\n\n### Create Issuer\n\n#### Cluster-wide Linode API Token\n\n```yaml\napiVersion: cert-manager.io/v1\nkind: ClusterIssuer\nmetadata:\n  name: letsencrypt-staging\nspec:\n  acme:\n    server: https://acme-staging-v02.api.letsencrypt.org/directory\n    email: example@example.com\n    privateKeySecretRef:\n      name: letsencrypt-staging\n    solvers:\n    - dns01:\n      webhook:\n        solverName: linode\n        groupName: acme.slicen.me\n```\n\nBy default, the Linode API token used will be obtained from the\nlinode-credentials Secret in the same namespace as the webhook.\n\n\n#### Per Namespace Linode API Tokens\n\nIf you would prefer to use separate Linode API tokens for each namespace (e.g.\nin a multi-tenant environment):\n\n```yaml\napiVersion: cert-manager.io/v1\nkind: Issuer\nmetadata:\n  name: letsencrypt-staging\n  namespace: default\nspec:\n  acme:\n    server: https://acme-staging-v02.api.letsencrypt.org/directory\n    email: example@example.com\n    privateKeySecretRef:\n      name: letsencrypt-staging\n    solvers:\n    - dns01:\n      webhook:\n        solverName: linode\n        groupName: acme.slicen.me\n        config:\n          apiKeySecretRef:\n            name: linode-credentials\n            key: token\n```\n\n## Development\n\n### Running the test suite\n\nConformance testing is achieved through Kubernetes emulation via the\nkubebuilder-tools suite, in conjunction with real calls to the Linode API on an\ntest domain, using a valid API token.\n\nThe test configures a cert-manager-dns01-tests TXT entry, attempts to verify its\npresence, and removes the entry, thereby verifying the Prepare and CleanUp\nfunctions.\n\nRun the test suite with:\n\n```bash\n./scripts/fetch-test-binaries.sh\nexport LINODE_TOKEN=$(echo -n \"\u003cyour API token\u003e\" | base64 -w 0)\nenvsubst \u003c testdata/linode/secret.yaml.example \u003e testdata/linode/secret.yaml\nTEST_ZONE_NAME=yourdomain.com. make verify\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fslicen%2Fcert-manager-webhook-linode","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fslicen%2Fcert-manager-webhook-linode","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fslicen%2Fcert-manager-webhook-linode/lists"}