Recently, I was working on a project that involved creating some CNAME records for a domain I registered through Cloudflare. This triggered the thought of automating this action through ServiceNow. It would give me a place to store and track my zones, their details, and the entries attached to them. I searched the store and came up empty but didn't stop there. Why do a 30-second job when you could just spend hours automating it so you never have to think about it again, right? Well, that’s what I did.
I spent some time reviewing the Cloudflare API docs. I came up with a few use cases and also solved my own problems. Once the application was created, flows/actions made, and a few tables populated, Cloudflare Manager v1.0 was complete. Now, instead of going through the trouble of logging into the dashboard, finding my domain, and creating the record, I just have a simple record producer that initiates a flow when submitted and approved.
In its current state, the application will do the following:
The import is a simple daily pull; the entry creation will take the information from the record producer record, contact Cloudflare, and generate the entry with a comment attached that references the original request record.
All things considered, it’s a pretty solid application. In the end, it solved my first-world problem and has the potential to be expanded way past its current state. My big takeaway from the time I spent on this small project was this:
No matter the scale of the problem that we (as engineers) are solving, there will be a level of knowledge gained. This is a cyclical process with great returns. As long as we give in to our thirst for knowledge, we will continue to grow and find new ways to solve problems.
For the short term, I’m working on an extension of this application to enable automatic deployment of a zone entry in parallel with docker container deployment through portainer (this will also integrate with Traefik for reverse proxy). Keep an eye on the repo for this update.
The long-term goal is to extend this application to allow the creation of page rules, nameserver changes, email routing rules, and Cloudflare tunnels.
Here is a link to v1.0 on our current open-source repo: Cloudflare Manager
Interested to learn more? Write to our experts at chat@rapdev.io