derive the certificates a server needs from what it routes
The hostnames are already declared, once, in the fabio route tags. A domains.txt would be a second source of truth free to disagree with what is actually served, so myos cert reads the tags instead and decides on its own which name needs a wildcard: one is asked for where a tag uses one, and it absorbs the concrete names it covers. A wildcard covers a single label, so a.b.example.org keeps its own certificate. dehydrated issues them: a shell script, no python, which fits a tool that has to install on any server. It answers http-01 itself on a port bound to the loopback and routed by fabio, and delegates dns-01 to a provider hook. The deploy hook writes the two file names fabio watches for, through a temporary name so fabio never reads half a certificate. Fixed on the way: the port parser wanted six spaces of indentation and the catalogue writes four, so every stack that binds its ports was reported unbound.
This commit is contained in:
@@ -26,6 +26,10 @@
|
||||
the linux-only ufw-docker patching with something that behaves the same on
|
||||
macOS and needs no privilege. The scope is read from the compose file rather
|
||||
than declared beside it, so it cannot disagree with what is published
|
||||
- `myos cert` derives the certificates a server needs from the route tags its
|
||||
stacks publish, and asks dehydrated for them: a wildcard where a tag uses one,
|
||||
a certificate per name otherwise. The `host/dehydrated` stack answers http-01
|
||||
itself and delegates dns-01 to a provider hook
|
||||
- commands chain: `myos build up logs host/fabio`, as make targets did
|
||||
- the stack catalogue no longer needs make at all: its settings are hooks, and
|
||||
only six stacks keep a .mk, for targets
|
||||
|
||||
Reference in New Issue
Block a user