{"id":44502993,"url":"https://github.com/abiondevelopment/external-dns-webhook-abion","last_synced_at":"2026-02-13T07:58:16.480Z","repository":{"id":233576351,"uuid":"774295446","full_name":"abiondevelopment/external-dns-webhook-abion","owner":"abiondevelopment","description":null,"archived":false,"fork":false,"pushed_at":"2024-04-18T11:29:03.000Z","size":57,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-04-19T12:09:36.551Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/abiondevelopment.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2024-03-19T09:49:19.000Z","updated_at":"2024-06-19T11:11:09.140Z","dependencies_parsed_at":"2024-04-18T11:40:41.362Z","dependency_job_id":"b38d6b55-2ac8-4aa9-9858-f58a40ce2c10","html_url":"https://github.com/abiondevelopment/external-dns-webhook-abion","commit_stats":null,"previous_names":["abiondevelopment/external-dns-webhook-abion"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/abiondevelopment/external-dns-webhook-abion","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abiondevelopment%2Fexternal-dns-webhook-abion","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abiondevelopment%2Fexternal-dns-webhook-abion/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abiondevelopment%2Fexternal-dns-webhook-abion/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abiondevelopment%2Fexternal-dns-webhook-abion/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/abiondevelopment","download_url":"https://codeload.github.com/abiondevelopment/external-dns-webhook-abion/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abiondevelopment%2Fexternal-dns-webhook-abion/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29399426,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-13T06:24:03.484Z","status":"ssl_error","status_checked_at":"2026-02-13T06:23:12.830Z","response_time":78,"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":[],"created_at":"2026-02-13T07:58:15.790Z","updated_at":"2026-02-13T07:58:16.475Z","avatar_url":"https://github.com/abiondevelopment.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# external-dns-webhook-abion\n\n[ExternalDNS] makes Kubernetes resources discoverable via public DNS servers which allows you to control DNS records dynamically via Kubernetes \nresources in a DNS provider-agnostic way.\nThe external-dns-webhook-abion allows integrating [ExternalDNS] with [Abion] managed zones via the [Abion API].\n[ExternalDNS] is, by default, aware of the records it is managing, therefore it can manage non-empty hosted zones. \nWe strongly encourage you to set `--txt-owner-id` to a unique value that doesn't change for the lifetime of your cluster.\n\nTo be able to use external-dns-webhook-abion and manage your zones, you *must* have an Abion account to retrieve an Abion API key.\nContact [Abion] for help how to create an account and API key\n\n# Docker images\nPrebuilt docker images can be found on [Docker Hub]\n\n# Install external-dns-webhook-abion using Helm\nInstall external-dns and external-dns-webhook-abion using helm by following the guide below. The Helm cart values for \nexternal-dns-webhook-abion can be found [here](deploy/external-dns-abion-values.yaml). For additional configurable helm chart values,\nplease check the [kubernetes-sigs helm chart] config and for Abion webhook specific configuration: [Environment variables](#environment-variables). \n\n    # Create Abion API key secret\n    kubectl create secret generic abion-credentials --from-literal=api-key='\u003cEXAMPLE_PLEASE_REPLACE\u003e'\n\n    # Install external-dns and external-dns-webhook-abion using helm \n    # Configure external-dns-abion-values according to requirements\n    helm repo add external-dns https://kubernetes-sigs.github.io/external-dns/\n    helm install external-dns-abion external-dns/external-dns -f deploy/external-dns-abion-values.yaml --version 1.14.3\n\n# Environment variables\n\nThe following environment variables are available for Abion External DNS Webhook:\n\n| Variable             | Description                                                                                                                                    | Notes                |\n|----------------------|------------------------------------------------------------------------------------------------------------------------------------------------|----------------------|\n| ABION_API_KEY        | ABION API key. You *must* have an Abion account to retrieve an API key. Contact [Abion] for help how to create an account and API key.         | Mandatory            |\n| DRY_RUN              | If set, changes won't be applied.                                                                                                              | Default: `false`     | \n| ABION_DEBUG          | Enables webhook debug messages.                                                                                                                | Default: `false`     |  \n| LOG_FORMAT           | Specifies log format for webhook. Supported values are `text` or `json`                                                                        | Default: `text`      |  \n| SERVER_HOST          | Webhook hostname or IP address.                                                                                                                | Default: `localhost` |\n| SERVER_PORT          | Webhook port.                                                                                                                                  | Default: `8888`      |\n| SERVER_READ_TIMEOUT  | Webhook ReadTimeout is the maximum duration for reading the entire request. A zero or negative value means there will be no timeout.           | Default: 0           |\n| SERVER_WRITE_TIMEOUT | Webhook WriteTimeout is the maximum duration before timing out writes of the response. A zero or negative value means there will be no timeout | Default: 0           |\n\n\n# Test external-dns-webhook-abion in Minikube\n    \n    # Start minikube \n    minikube start --memory=4G\n    \n    # Build external-dns-webhook-abion docker image\n    eval $(minikube docker-env)\n    make build\n\n    # Create Abion API KEY secret\n    kubectl create secret generic abion-credentials --from-literal=api-key='\u003cEXAMPLE_PLEASE_REPLACE\u003e'\n\n    # Install external-dns and external-dns-webhook-abion using helm \n    helm repo add external-dns https://kubernetes-sigs.github.io/external-dns/\n    helm install external-dns-abion external-dns/external-dns -f deploy/external-dns-abion-values.yaml --version 1.14.3\n\n    # Test adding a service and verify the DNS records are configured as desired. \n    # Create tunnel to create a route to service deployed with type LoadBalancer within minikube\n    minikube tunnel \n\n    # Make sure to update the `example.test.` value in the `external-dns.alpha.kubernetes.io/hostname` field for the example-service and make sure the apiKey/user has access to that zone. Then apply the service:   \n    kubectl apply -f example/example-service.yaml\n\n    # Go to Abion Core (https://app.abion.com) and login to verify the new records has been added. \n\n    # Remove the service and verify the records are removed\n    kubectl delete service example-service\n\n    # Go to Abion Core and login and verify the records have been removed from the zone. \n    \n    # Uninstall external dns\n    helm uninstall external-dns-abion\n\n\n[Abion]: https://abion.com/\n[Abion API]: https://demo.abion.com/pmapi-doc\n[Abion Core]: https://app.abion.com\n[Docker Hub]: https://hub.docker.com/r/abiondevelopment/external-dns-webhook-abion\n[ExternalDNS]: https://github.com/kubernetes-sigs/external-dns\n[kubernetes-sigs helm chart]: https://github.com/kubernetes-sigs/external-dns/blob/master/charts/external-dns/README.md#values\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabiondevelopment%2Fexternal-dns-webhook-abion","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fabiondevelopment%2Fexternal-dns-webhook-abion","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabiondevelopment%2Fexternal-dns-webhook-abion/lists"}