Skip to content

Latest commit

 

History

History
64 lines (61 loc) · 1.57 KB

bluecat.md

File metadata and controls

64 lines (61 loc) · 1.57 KB

Setting up external-dns for BlueCat

Prerequisites

Install the BlueCat Gateway product and deploy the community gateway workflows.

Deploy

Setup configuration file as k8s Secret.

cat << EOF > ~/bluecat.json
{
  "gatewayHost": "https://bluecatgw.example.com",
  "gatewayUsername": "user",
  "GatewayPassword": "pass",
  "dnsConfiguration": "Example",
  "dnsView": "Internal",
  "rootZone": "example.com"
}
EOF
kubectl create secret generic bluecatconfig --from-file ~/bluecat.json -n bluecat-example

Setup up deployment/service account:

apiVersion: v1
kind: ServiceAccount
metadata:
  name: external-dns
  namespace: bluecat-example
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: external-dns
  namespace: bluecat-example
spec:
  selector:
    matchLabels:
      app: external-dns
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: external-dns
    spec:
      serviceAccountName: external-dns
      volumes:
        - name: bluecatconfig
          secret:
            secretName: bluecatconfig
      containers:
      - name: external-dns
        image: k8s.gcr.io/external-dns/external-dns:$TAG # no released versions include the bluecat provider yet
        volumeMounts:
          - name: bluecatconfig
            mountPath: "/etc/external-dns/"
            readOnly: true
        args:
        - --log-level=debug
        - --source=service
        - --provider=bluecat
        - --txt-owner-id=bluecat-example
        - --bluecat-config-file=/etc/external-dns/bluecat.json