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/


Reply via email to