[Question] DNS records deletion on installation.
Hi there! First, thanks for this nice project!
Do you have any plans to change the behavior of deleting ALL DNS records to which the API token has access? If not, any suggestion of how to implement this tool without downtime on production environments that already have many existing records?
Thanks!
Hi @gabricar-andela
Thank you for considering cloudflare-operator :)
Since cloudflare-operator is meant to be the single source of truth for all DNS records, it is not planned to change this behavior.
However, we are currently working on a migration guide (https://github.com/containeroo/website/pull/2) and a CLI helper to convert your Cloudflare zone into DNSRecord objects (https://github.com/containeroo/cloudflare-operator/pull/367).
I will keep you posted!
-- Robin
Hi @gabricar-andela,
We now have an initial version of the CLI helper and the migration guide:
- CLI: cfop-generator (If you're on a Mac, you can use
brew install containeroo/tap/cfop-generator; otherwise, please download the binary from the GitHub release.) - Guide: Migration Guide
Would you be willing to test the cfop-generator tool for us? All you need is an export of your Cloudflare zone. The helper does not modify anything in your Cloudflare account or apply any objects to your Kubernetes cluster.
Please check if the generated DNS records look correct, and let us know if you see any opportunities for improvement.
Your help is greatly appreciated!
Best regards, Robin
Hi Robin, thanks!
In our use case, not all of our DNS records live inside our K8S cluster, we have entries pointing to 3rd party tools for example. Would it work the same way?
Also, I'm a little bit afraid to test this in our production environment (unfortunately we use the same zone for prod and staging). I will try to test it in some other account!
In our use case, not all of our DNS records live inside our K8S cluster, we have entries pointing to 3rd party tools for example. Would it work the same way?
If I understand your question correctly: Yes, you can create DNS records for third-party tools. They don't need to run inside Kubernetes. You just need to create a DNSRecord object in Kubernetes for each record.
Also, I'm a little bit afraid to test this in our production environment (unfortunately we use the same zone for prod and staging). I will try to test it in some other account!
As I mentioned, the helper does not modify anything in your Cloudflare account. You simply need to export the DNS records and run the CLI. It also does not alter anything inside Kubernetes. It’s safe to run without any negative consequences.
Firstly, I do want to thank you for maintaining this operator.
This would be a perfect addition since I do also want to manage the DNS records but through multiple clusters or even in some cases by legacy systems.
Would you accept an MR to not delete all the existing configuration through an additional entry in the Account or Zone CR?
Thank you for your input, @cenk1cenk2!
We understand the need to manage DNS records outside of cloudflare-operator, which is why we’re making these changes to the operator. We truly appreciate your offer to submit a merge request and your willingness to contribute to the project. However, we’ve decided to handle the implementation internally, as it involves fundamental changes to the architecture of cloudflare-operator.
Stay tuned for updates, and thank you again for your feedback and support!
Thank you very much for your transparency and for considering this as a feature.
Hi everyone, we have just released v1.4.0 which should solve your issue! https://github.com/containeroo/cloudflare-operator/releases/tag/v1.4.0
Join the GitHub discussion if you have any further questions or concerns! https://github.com/containeroo/cloudflare-operator/discussions/383
Sincerly appreciate your time and work on this feature as well as taking it into consideration.
I was sincerly looking forward to the release after the merge.
You're welcome! We're currently encountering some issues with building the image, so you might need to wait a bit longer!
Edit: Fixed - release is out!