I am trying to automatically create records on Google Cloud DNS using External DNS and Istio Gateways. I see that there has been quite a few changes to the External DNS repo in the past few days, so I blame the fact that I used to be able to do this and not anymore on the changes!
Anyway, here are my gateway and values files:
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
name: example-gateway
namespace: default
annotations:
istio-type: internal
spec:
selector:
istio: internalgateway
servers:
- hosts:
- '*.example.com'
- example.com
port:
name: http
number: 80
protocol: HTTP
tls:
httpsRedirect: true
- hosts:
- '*.example.com'
- example.com
port:
name: https
number: 443
protocol: HTTPS
tls:
mode: SIMPLE
privateKey: /etc/istio/ingressgateway-certs/tls.key
serverCertificate: /etc/istio/ingressgateway-certs/tls.crt
And here is what I have for values:
image:
registry: registry.opensource.zalan.do
repository: teapot/external-dns
tag: latest
...
sources:
# - service
# - ingress
- istio-gateway
# - crd
...
provider: google
publishInternalServices: true
google:
## Google Project to use
##
project: "XXX"
serviceAccountSecret: "clouddns"
serviceAccountKey: "credentials.json"
domainFilters:
- example.com
annotationFilter: "type=internal"
...
rbac:
create: true
...
Here is the logs I'm getting from my external-dns pod:
...
time="2019-07-05T16:09:11Z" level=info msg="Created Istio client"
time="2019-07-05T16:09:11Z" level=info msg="All records are already up to date"
Although quite clearly the records do not exist on my Cloud DNS zone.
Any idea on why external-dns is not seeing my gateway?