move the squid host options to deploy.hive-controller.squid
This commit is contained in:
parent
c9b5705ad8
commit
da16487800
1 changed files with 168 additions and 57 deletions
|
|
@ -507,7 +507,7 @@ let
|
|||
unrestricted = at "http_access allow unrestricted";
|
||||
authed = at "http_access deny !authed";
|
||||
# The generated per-agent `http_access allow` rules sit in this file.
|
||||
agentRules = at "include ${hiveOtel.services.hyperhive.squid.agentAllowFile}";
|
||||
agentRules = at "include ${hiveOtel.services.hyperhive.deploy.hive-controller.squid.agentAllowFile}";
|
||||
firstAllow = lib.min agentRules (lib.min base (lib.min unrestricted allow));
|
||||
in
|
||||
allow != null
|
||||
|
|
@ -550,9 +550,10 @@ let
|
|||
acl = lib.findFirst (l: lib.hasPrefix "acl allowed_dst dstdomain " l) "" (map lib.trim lines);
|
||||
baseAcl = lib.findFirst (l: lib.hasPrefix "acl base_dst dstdomain " l) "" (map lib.trim lines);
|
||||
in
|
||||
acl == "acl allowed_dst dstdomain ${hiveOtel.services.hyperhive.squid.selfcheck.canary}"
|
||||
acl
|
||||
== "acl allowed_dst dstdomain ${hiveOtel.services.hyperhive.deploy.hive-controller.squid.selfcheck.canary}"
|
||||
&& baseAcl == "acl base_dst dstdomain api.anthropic.com claude.ai platform.claude.com"
|
||||
&& hiveOtel.services.hyperhive.squid.selfcheck.canary == "cache.nixos.org"
|
||||
&& hiveOtel.services.hyperhive.deploy.hive-controller.squid.selfcheck.canary == "cache.nixos.org"
|
||||
&& !(builtins.elem hiveOtel.services.hyperhive.swarm.forge.domain (lib.splitString " " acl));
|
||||
}
|
||||
{
|
||||
|
|
@ -592,7 +593,7 @@ let
|
|||
conf = hiveOtel.services.squid.configText;
|
||||
lines = lib.splitString "\n" conf;
|
||||
at = l: lib.lists.findFirstIndex (x: x == l) null lines;
|
||||
list = hiveOtel.services.hyperhive.squid.unrestrictedFile;
|
||||
list = hiveOtel.services.hyperhive.deploy.hive-controller.squid.unrestrictedFile;
|
||||
in
|
||||
at "http_access allow unrestricted" != null
|
||||
&& at "http_access deny !allowed_dst" != null
|
||||
|
|
@ -609,15 +610,15 @@ let
|
|||
name = "squid is reloaded when its unrestricted-users list changes";
|
||||
ok =
|
||||
let
|
||||
list = hiveOtel.services.hyperhive.squid.unrestrictedFile;
|
||||
list = hiveOtel.services.hyperhive.deploy.hive-controller.squid.unrestrictedFile;
|
||||
rules = hiveOtel.systemd.tmpfiles.rules;
|
||||
path = hiveOtel.systemd.paths.squid-unrestricted-reload;
|
||||
svc = hiveOtel.systemd.services.squid-unrestricted-reload.serviceConfig;
|
||||
in
|
||||
path.pathConfig.PathChanged == [
|
||||
list
|
||||
hiveOtel.services.hyperhive.squid.allowedFile
|
||||
hiveOtel.services.hyperhive.squid.agentAllowFile
|
||||
hiveOtel.services.hyperhive.deploy.hive-controller.squid.allowedFile
|
||||
hiveOtel.services.hyperhive.deploy.hive-controller.squid.agentAllowFile
|
||||
]
|
||||
&& hiveOtel.systemd.services.squid-unrestricted-reload.startLimitIntervalSec == 0
|
||||
&& builtins.elem "paths.target" path.wantedBy
|
||||
|
|
@ -635,7 +636,7 @@ let
|
|||
name = "squid reads the swarm's allow-list from a file seeded with the hive's own names";
|
||||
ok =
|
||||
let
|
||||
sq = hiveOtelAllLocal.services.hyperhive.squid;
|
||||
sq = hiveOtelAllLocal.services.hyperhive.deploy.hive-controller.squid;
|
||||
lines = lib.splitString "\n" hiveOtelAllLocal.services.squid.configText;
|
||||
rules = hiveOtelAllLocal.systemd.tmpfiles.rules;
|
||||
env = hiveOtelAllLocal.systemd.services.hive-c0re.environment;
|
||||
|
|
@ -675,7 +676,7 @@ let
|
|||
let
|
||||
conf = hiveOtel.services.squid.configText;
|
||||
lines = lib.splitString "\n" conf;
|
||||
users = hiveOtel.services.hyperhive.squid.usersFile;
|
||||
users = hiveOtel.services.hyperhive.deploy.hive-controller.squid.usersFile;
|
||||
rules = hiveOtel.systemd.tmpfiles.rules;
|
||||
sc = hiveOtel.systemd.services.squid-selfcheck.serviceConfig;
|
||||
in
|
||||
|
|
@ -686,7 +687,9 @@ let
|
|||
&& users == "/var/lib/hive-squid/users"
|
||||
&& builtins.elem "d /var/lib/hive-squid 2750 hive-core squid - -" rules
|
||||
&& builtins.elem "f ${users} 0640 hive-core squid - -" rules
|
||||
&& sc.ImportCredential == hiveOtel.services.hyperhive.squid.selfcheck.credentialName
|
||||
&&
|
||||
sc.ImportCredential
|
||||
== hiveOtel.services.hyperhive.deploy.hive-controller.squid.selfcheck.credentialName
|
||||
&& hiveOtelAllLocal.systemd.services.hive-c0re.environment.HIVE_SQUID_USERS_FILE == users;
|
||||
}
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in a new issue