Closed humphd closed 1 year ago
@humphd I should've let you know that I'm working on this. It took much longer than I thought as I struggled with some errors. I just pushed #274 to resolve this issue. Although notification is missing in my code.
Thanks @Genne23v.
We've got two very similar, and related, processes to manage:
Both now have an API:
The Certificates have an asynchronous flow, made-up of various sub-jobs: https://github.com/DevelopingSpace/starchart/tree/main/app/queues/certificate.
We need the same sort of thing for DNS. There is some work in https://github.com/DevelopingSpace/starchart/blob/main/app/lib/domains.server.ts that might help with this, but what we really need to do is break down the process of working with DNS (Route53, MySQL, Notifications, etc) as a series of async jobs that can be performed in the background, and linked together as a flow.
Without this, we're going to waste a lot of time trying to hook everything together, so I'd like to prioritize the work, and get it started as soon as possible.
@dadolhay has the most experience thinking in terms of distinct, async jobs, so perhaps he can throw some thoughts in here.
@Genne23v are you interested in working on this?
Whoever does work on it, I'd highly recommend we do this in stages like @dadolhay did with the certs flow: build the skeleton, then build the individual workers to connect back to our existing APIs. I'd like to avoid having someone go off for a month and try to build this without feedback.
To get the ball rolling, here's a draft of the process:
addDnsRecord()
(orupdate
,delete
) takes record details and creates a new flow. A record is immediately put into MySQL with the state indicating that it's in process, so the front-end can begin to query for that data (and state)What am I missing?