hive-tls: a store-only host without a hive starts its gateway with the store sealed
A gateway host without a hive whose only swarm name is the store's UI no longer waits for swarm-services-cert: its nginx carries the stream passthrough to the store and must come up while the store is sealed. Until the services leaf lands, hive-gateway-self-signed-cert installs a throwaway self-signed pair on the default and swarm-services paths there; on a host without a hive it never references the hive leaf. A host without a hive also no longer mints the hive-leaf identity or defaults the options pointing at it, and does not render the hive-domain vhost, whose upstream is hive-c0re. Refs #4588
This commit is contained in:
parent
75a7dccee6
commit
60268b70b0
9 changed files with 168 additions and 82 deletions
|
|
@ -8,7 +8,8 @@
|
|||
# ⚠️ The minting is NOT here. ./glue-bao-tls.nix holds the CA and signs the
|
||||
# leaf, for the reason ./glue-services-issuer-bao-identity.nix gives.
|
||||
#
|
||||
# Gated on the minted PKI existing, as that file is.
|
||||
# Gated on the minted PKI existing, as that file is, and on a hive running
|
||||
# here: a host without one has no hive leaf to ask for.
|
||||
#
|
||||
# Everything is `mkDefault`. An operator naming their own paths wins.
|
||||
{
|
||||
|
|
@ -25,7 +26,7 @@ let
|
|||
pkiDir = if haveMintedPki then builtins.dirOf baoDeploy.clientCertFile else null;
|
||||
in
|
||||
{
|
||||
config = lib.mkIf haveMintedPki {
|
||||
config = lib.mkIf (haveMintedPki && config.services.hyperhive.deploy.hive-controller.enable) {
|
||||
services.hyperhive.deploy.hive-controller.tls = {
|
||||
baoHiveIdentityCertFile = lib.mkDefault "${pkiDir}/hive-leaf.pem";
|
||||
baoHiveIdentityKeyFile = lib.mkDefault "${pkiDir}/hive-leaf-key.pem";
|
||||
|
|
|
|||
Loading…
Reference in a new issue