Moving domain and TLS state into application_domains
Previously, domain and TLS state were still split between the application and server level.
To me, that did not feel quite right… one server can run many applications, and one application should be able to have one or even multiple domains. Because of that, in this commit I moved the domain/TLS status into application_domains so each domain can have its own lifecycle and status tracking.
That structure feels much more natural for the direction of this project. Instead of treating domain state as something loosely attached to the server or the application itself, each domain now becomes its own tracked entity.
That is pretty much the main idea in this commit… the easiest way to understand it is honestly just to look at the diagram below, because it shows the shape of the change more clearly than a long explanation.

And here’s a short demo of adding a domain to an application after the application_domains table is in place…