Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Manage DNS records using Kubernetes CRD's #4

Open
edenreich opened this issue Apr 16, 2022 · 0 comments
Open

Manage DNS records using Kubernetes CRD's #4

edenreich opened this issue Apr 16, 2022 · 0 comments
Labels
enhancement New feature or request

Comments

@edenreich
Copy link
Owner

edenreich commented Apr 16, 2022

Summary

Write some kind of kubernetes controller that reconciles the changes between the kubernetes cluster and cloudflare.

AC

  • There is a custom resource definition available in a cluster of kind DNSRecord with attributes like type, name, content, ttl, proxied
  • There is a custom resource definition available in a cluster of kind IPChangeDetector that has a targetRef.name for DNSRecord
  • Changes are reconciled with Cloudflare

Usage

I want to be able to create multiple DNS records as an example:

---
apiVersion: crds.cloudflare.com/v1alpha1
kind: DNSRecord
metadata:
  name: www.domain1.de
spec:
  zone: domain1.de
  record:
    type: "A"
    name: "www"
    content: "1.1.1.1"
    proxied: true
    ttl: 3600
---
apiVersion: crds.cloudflare.com/v1alpha1
kind: DNSRecord
metadata:
  name: www.domain2.de
spec:
  zone: domain2.de
  record:
    type: "A"
    name: "www"
    content: "8.8.8.8"
    proxied: true
    ttl: 3600
---
apiVersion: crds.cloudflare.com/v1alpha1
kind: IPChangeDetector
metadata:
  name: mydetector
spec:
  targetRef:
    names:
    - www.domain1.de
    - www.domain2.de
    interval: "30s"
@edenreich edenreich added the enhancement New feature or request label Apr 16, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant