Op 30/10/2024 om 09:40 schreef Ruben Bosch:
Great suggestion Wido. One suggestion I would have is to include PTR
(reverse DNS) in here also, and make the PTR equal to the
vm_instance.display_name
Ah, yes, good suggestion! Per CloudStack zone you would set 3 DNS zones:
- Zone to create A and AAAA-records for Instances
- Zone for IPv4 PTR records
- Zone for IPv6 PTR records
This would allow users to use the DNS record pointing to their VM from
the start without ever needing to copy/paste and IP-address.
Wido
Kind regards,
Ruben Bosch
On Tue, Oct 29, 2024 at 10:18 AM Wido den Hollander <w...@widodh.nl.invalid>
wrote:
Hello,
I got my inspiration for this proposal from the recently added object
storage [0] plugin in CloudStack.
My idea is as follows:
- A new framework is addedd: Authorative DNS
- This allows for admins and end-users to manage DNS zones
- Different providers implement different APIs, examples:
- PowerDNS through it's API [1]
- Public DNS providers like NS1 [2], rcodezero [3], Gandi [4],
CloudFlare [5], etc
- Your local DNS which applies to your environment
These drivers will support various functionality and advertise their
capabilities or limitations:
- Create and delete zones
- Manage records in these zones
- Advertise which record types are supported
- Limit the amount of records in a zone (if any)
- Set a limitation on how low the TTL can be
Per account and domain we can then set limits:
- Amount of zones to create
- Amount of creates per zone
This would allow for a couple of things:
- End-users can manage their DNS via the same API as they manage their
cloud resources
- End-users can manage DNS via the CloudStack UI
- We can directly create public DNS records for newly created instances
- You assign a DNS zone to a CloudStack zone
- Upon VM creation a record is created
i-xx-yy-vm.myzone.tld A 1.2.3.4
i-xx-yy-vm.myzone.tld AAAA 2001:db8:af31::61
- When the VM is removed the DNS records are removed
- Console Proxy and Secondary Storage VMs can point to a working
hostname instead of IP-address
- We can then also support IPv6 for the CP and SS
Your feedback is welcome!
Wido
[0]:
https://cwiki.apache.org/confluence/display/CLOUDSTACK/CloudStack+Object+Store+Framework
[1]: https://doc.powerdns.com/authoritative/http-api/index.html
[2]: https://www.ibm.com/products/ns1-connect/api
[3]: https://my.rcodezero.at/openapi/
[4]: https://api.gandi.net/docs/livedns/
[5]: https://developers.cloudflare.com/api/