phonebook

module
v0.3.7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 2, 2024 License: Apache-2.0

README

Phonebook: Manage DNS Record in Kubernetes

Tests

Phonebook is an operator that helps you manage DNS Record for your cloud provider from within Kubernetes. Using custom resource definitions (CRDs), you can build DNS records in a same manner you would create other resources with Kubernetes.

# This will create a new `A` record `mysubdomain.mytestdomain.com` pointing
# at `127.0.0.1``
apiVersion: se.quencer.io/v1alpha1
kind: DNSRecord
metadata:
  name: dnsrecord-sample
  namespace: phonebook-system
spec:
  zone: mytestdomain.com
  recordType: A
  name: mysubdomain
  ttl: 60
  targets:
    - 127.0.0.1
    - 127.0.0.2 # If provider supports multi-target
Features
  • Only manage DNS Record that are presents as DNSRecord in the cluster
  • Manage DNS Record like any other resources (Create/Delete)
  • Support all DNS Record Types (A, AAAA, TXT, CNAME, etc.)
  • Support cloud provider specific properties
  • Proper error handling per DNS Record
  • Allows specifying TTL
  • Allows multiple targets on providers with multi support (Azure, AWS)
Supported providers

Here's a list of all supported providers. If you need a provider that isn't yet supported, create a new issue.

AWS Cloudflare Azure deSEC
Get Started

The documentation has all the information for you to get started with Phonebook.

Special thanks

This project was built out of need, but I also want to give a special thanks to external-dns as that project was a huge inspiration for Phonebook. A lot of the ideas here stem from my usage of external-dns over the years. I have nothing but respect for that project.

Directories

Path Synopsis
api
v1alpha1
Package v1alpha1 contains API Schema definitions for the se.quencer.io v1alpha1 API group +kubebuilder:object:generate=true +groupName=se.quencer.io
Package v1alpha1 contains API Schema definitions for the se.quencer.io v1alpha1 API group +kubebuilder:object:generate=true +groupName=se.quencer.io
cmd
internal
pkg
test

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL