run swarm-attic in its own network namespace
the gateway reaches atticd over a unix socket a relay in the container forwards, and the host unit that creates the cache dials its public name.
This commit is contained in:
parent
4440d8fb29
commit
1d3ab2fae5
1 changed files with 198 additions and 41 deletions
|
|
@ -394,9 +394,16 @@ path nobody added or fetched for 14 days goes at the next garbage collection,
|
|||
which runs every 12 hours (`deploy.attic.retentionPeriod`). The controller
|
||||
[rebuilds a closure the cache lost](#rebuild-on-a-cache-miss).
|
||||
|
||||
The gateway terminates TLS with a swarm services certificate and forwards to
|
||||
`127.0.0.1:8910` (`deploy.attic.port`) with no login in front: attic checks its
|
||||
own tokens, and a nix client can't follow a login redirect. The container logs
|
||||
The container sits on the hive bridge in a network namespace of its own. atticd
|
||||
listens on that namespace's loopback (`deploy.attic.port`), and a socket-activated
|
||||
relay forwards `/run/swarm-attic/atticd.sock` to it, a directory only the
|
||||
gateway's nginx and the container can open. The gateway terminates TLS with a
|
||||
swarm services certificate and forwards to that socket with no login in front:
|
||||
attic checks its own tokens, and a nix client can't follow a login redirect.
|
||||
The two host units reach the cache through the gateway, at
|
||||
`https://<swarm.attic.domain>`, like every other client; the host resolves the
|
||||
name through the hive resolver, and where the gateway serves a self-signed
|
||||
certificate `swarm-bao-attic-tokens` trusts the swarm's CA. The container logs
|
||||
to its journal only; its journal doesn't reach the swarm log store.
|
||||
|
||||
### External cache
|
||||
|
|
|
|||
Loading…
Reference in a new issue