Skip to content

supervillain3000/external-dns-pscloud-webhook

Repository files navigation

ExternalDNS - PS Cloud DNS Webhook

This is an ExternalDNS webhook provider for PS Cloud Services DNS.

Installation

Run this webhook as a sidecar container with the official ExternalDNS Helm chart.

registry: txt
txtOwnerId: <owner-id>

provider:
  name: webhook
  webhook:
    image:
      repository: ghcr.io/supervillain3000/external-dns-pscloud-webhook
      tag: 1.0.0
      pullPolicy: IfNotPresent
    env:
      - name: PS_DNS_TOKEN
        valueFrom:
          secretKeyRef:
            name: pscloud-webhook-secret
            key: PS_DNS_TOKEN
    args:
      - --webhook-addr=:8888
      - --health-addr=:8080
      - --graphql-endpoint=https://console.ps.kz/dns/graphql
      - --domain-filter=example.com
      - --log-level=info
    livenessProbe:
      httpGet:
        path: /livez
    readinessProbe:
      httpGet:
        path: /readyz
    service:
      port: 8888

extraArgs:
  webhook-provider-url: http://127.0.0.1:8888
helm upgrade --install external-dns external-dns/external-dns \
  -n external-dns --create-namespace \
  -f values.yaml

Command line arguments

  • --webhook-addr (default: :8888)
  • --health-addr (default: :8080)
  • --graphql-endpoint (default: https://console.ps.kz/dns/graphql)
  • --domain-filter (default: empty, comma-separated domains)
  • --request-timeout (default: 30s)
  • --zones-page-size (default: 100)
  • --graphql-max-retries (default: 3)
  • --graphql-retry-initial-backoff (default: 200ms)
  • --graphql-retry-max-backoff (default: 2s)
  • --graphql-retry-jitter (default: 100ms)
  • --dry-run (default: false)
  • --log-level (default: info)

Health and metrics endpoints:

  • GET /livez
  • GET /readyz
  • GET /healthz
  • GET /metrics

Authentication

Authentication header is X-User-Token.

Get IAM token:

Create a Secret with key PS_DNS_TOKEN and value = IAM token:

kubectl -n external-dns create secret generic pscloud-webhook-secret \
  --from-literal=PS_DNS_TOKEN='<IAM_TOKEN>'

About

External DNS webhook provider for PS Cloud Services DNS

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages