{"id":28024733,"url":"https://github.com/okteto/cert-manager-webhook-civo","last_synced_at":"2025-10-24T19:28:28.884Z","repository":{"id":40356291,"uuid":"234448768","full_name":"okteto/cert-manager-webhook-civo","owner":"okteto","description":"A webhook to use CIVO DNS as a DNS issuer for cert-manager.","archived":false,"fork":false,"pushed_at":"2024-03-08T18:31:34.000Z","size":222,"stargazers_count":21,"open_issues_count":2,"forks_count":8,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-03-03T02:34:01.724Z","etag":null,"topics":["cert-manager","cert-manager-webhook","civo","kubernetes","letsencrypt","okteto"],"latest_commit_sha":null,"homepage":"","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/okteto.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-01-17T01:51:38.000Z","updated_at":"2025-01-15T14:13:39.000Z","dependencies_parsed_at":"2024-03-07T17:41:14.128Z","dependency_job_id":"ac565a84-ab9f-4045-a884-2f5512965bc1","html_url":"https://github.com/okteto/cert-manager-webhook-civo","commit_stats":null,"previous_names":["okteto/civo-acme"],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/okteto%2Fcert-manager-webhook-civo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/okteto%2Fcert-manager-webhook-civo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/okteto%2Fcert-manager-webhook-civo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/okteto%2Fcert-manager-webhook-civo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/okteto","download_url":"https://codeload.github.com/okteto/cert-manager-webhook-civo/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253506904,"owners_count":21919123,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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","civo","kubernetes","letsencrypt","okteto"],"created_at":"2025-05-11T02:29:21.681Z","updated_at":"2025-10-24T19:28:23.850Z","avatar_url":"https://github.com/okteto.png","language":"Go","funding_links":[],"categories":["Go"],"sub_categories":[],"readme":"# Cert-Manager ACME DNS01 Webhook Solver for CIVO DNS\n\n[![Go Report Card](https://goreportcard.com/badge/github.com/okteto/cert-manager-webhook-civo)](https://goreportcard.com/report/github.com/okteto/cert-manager-webhook-civo)\n[![Releases](https://img.shields.io/github/v/release/okteto/cert-manager-webhook-civo?include_prereleases)](https://github.com/okteto/cert-manager-webhook-civo/releases)\n[![LICENSE](https://img.shields.io/github/license/okteto/cert-manager-webhook-civo)](https://github.com/slicen/cert-manager-webhook-civo/blob/master/LICENSE)\n[![Artifact Hub](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/cert-manager-webhook-civo)](https://artifacthub.io/packages/search?repo=cert-manager-webhook-civo)\n\nThis solver can be used when you want to use  [cert-manager](https://github.com/jetstack/cert-manager) with [CIVO DNS](https://civo.com). \n\n## Installation\n\n### cert-manager\n\nFollow the [instructions](https://cert-manager.io/docs/installation/) using the cert-manager documentation to install it within your cluster.\n\n### cert-manager-webhook-civo\n\n\n```bash\nhelm install cert-manager-webhook-civo oci://ghcr.io/okteto/cert-manager-webhook-civo [--version 0.5.4]\n```\n\n### From local checkout\n\n```bash\nhelm install --namespace cert-manager cert-manager-webhook-civo chart/cert-manager-webhook-civo\n```\n**Note**: The kubernetes resources used to install the Webhook should be deployed within the same namespace as the cert-manager.\n\n### Uninstalling \n\nTo uninstall the webhook run\n```bash\nhelm uninstall --namespace cert-manager cert-manager-webhook-civo\n```\n\n## Usage\n\n### Credentials\nIn order to access the CIVO API, the webhook needs an [API token](https://www.civo.com/account/security).\n\n```\nkubectl create secret generic civo-secret --from-literal=key=\u003cYOUR_CIVO_TOKEN\u003e\n```\n\n### Create Issuer\n\nCreate a `ClusterIssuer` or `Issuer` resource as following:\n\n#### Cluster-wide Issuer\n```\napiVersion: cert-manager.io/v1\nkind: ClusterIssuer\nmetadata:\n  name: letsencrypt-staging\nspec:\n  acme:\n    # The ACME server URL\n    server: https://acme-staging-v02.api.letsencrypt.org/directory\n    \n    # Email address used for ACME registration\n    email: mail@example.com # REPLACE THIS WITH YOUR EMAIL\n    \n    # Name of a secret used to store the ACME account private key\n    privateKeySecretRef:\n      name: letsencrypt-staging\n\n    solvers:\n    - dns01:\n        webhook:\n          solverName: \"civo\"\n          groupName: civo.webhook.okteto.com\n          config:\n            secretName: civo-secret\n            secretKey: key\n```\n\nBy default, the CIVO API token used will be obtained from the secret in the same namespace as the webhook.\n\n#### Per Namespace API Tokens\n\nIf you would prefer to use separate API tokens for each namespace (e.g. in a multi-tenant environment):\n\n```\napiVersion: cert-manager.io/v1\nkind: Issuer\nmetadata:\n  name: letsencrypt-staging\n  namespace: default\nspec:\n  acme:\n    # The ACME server URL\n    server: https://acme-staging-v02.api.letsencrypt.org/directory\n    \n    # Email address used for ACME registration\n    email: mail@example.com # REPLACE THIS WITH YOUR EMAIL\n    \n    # Name of a secret used to store the ACME account private key\n    privateKeySecretRef:\n      name: letsencrypt-staging\n\n    solvers:\n    - dns01:\n        webhook:\n          solverName: \"civo\"\n          groupName: civo.webhook.okteto.com\n          config:\n            secretName: civo-secret\n            secretKey: key\n```\n\nBy default, the webhook doesn't have permissions to read secrets on all namespaces. To enable this, you'll need to provide your own service account.\n\n### Create a certificate\n\nCreate your certificate resource as follows:\n\n```\napiVersion: cert-manager.io/v1\nkind: Certificate\nmetadata:\n  name: example-cert\n  namespace: cert-manager\nspec:\n  commonName: example.com\n  dnsNames:\n  - example.com # REPLACE THIS WITH YOUR DOMAIN\n  issuerRef:\n   name: letsencrypt-staging\n   kind: ClusterIssuer\n  secretName: example-cert\n```\n\n# Development\n\n## Prerequisites\n-  Admin access to a cluster. We recommend you [launch one on CIVO](https://www.civo.com/?ref=af9018).\n-  [okteto CLI](https://okteto.com/docs/getting-started/installation)\n- `kubectl` installed and configured to talk to your cluster\n\n## Launch your Development Environment\n\n1. Deploy the latest version of `cert-manager` and `cert-manager-webhook-civo` as per the instructions above.\n1. Run `okteto up` from the root of this repo. This will deploy your pre-configured remote development environment, and keep your file system synchronized automatically.\n1. Run `make` on the remote terminal to start the webhook. This will build the webhook, start it with the required configuration, and hot reload it whenever a file is changed.\n1. Code away!\n\n# Contributing\nIf you want to get involved, we'd love to receive a pull request, issues, or an offer to help. [Open an issue](https://github.com/okteto/cert-manager-webhook-civo/issues) to get started!\n\nMaintainers:\n- [Ramiro Berrelleza](https://twitter.com/rberrelleza)\n- [Pablo Chico de Guzman](https://twitter.com/pchico83)\n\nPlease see the [contribution guidelines](CONTRIBUTING.md)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fokteto%2Fcert-manager-webhook-civo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fokteto%2Fcert-manager-webhook-civo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fokteto%2Fcert-manager-webhook-civo/lists"}