feat(update): 发布双链路更新进度与线上验收审计
This commit is contained in:
@@ -145,7 +145,12 @@ for service in ("mongo", "rabbitmq", "video-edit", "dozzle", "agent-memory"):
|
||||
watchtower = services["watchtower"]
|
||||
command = " ".join(watchtower.get("command") or [])
|
||||
assert "http-api-update" not in command, command
|
||||
assert "WATCHTOWER_HTTP_API_TOKEN" not in (watchtower.get("environment") or {}), watchtower.get("environment")
|
||||
watchtower_env = watchtower.get("environment") or {}
|
||||
assert watchtower.get("ports") in (None, []), watchtower.get("ports")
|
||||
assert set(watchtower_env["WATCHTOWER_HTTP_API_ENDPOINTS"].split(",")) == {"health", "update", "metrics", "events", "history"}
|
||||
assert len(watchtower_env["WATCHTOWER_HTTP_API_TOKEN"]) >= 32
|
||||
assert len(watchtower_env["WATCHTOWER_HTTP_API_EVENTS_TOKEN"]) >= 32
|
||||
assert watchtower_env["WATCHTOWER_HTTP_API_TOKEN"] != watchtower_env["WATCHTOWER_HTTP_API_EVENTS_TOKEN"]
|
||||
watchtower_mounts = {(item.get("source"), item.get("target")) for item in watchtower.get("volumes") or []}
|
||||
assert any(target == "/config.json" for _, target in watchtower_mounts), watchtower_mounts
|
||||
assert services["dozzle"]["environment"]["DOZZLE_ENABLE_DOWNLOAD"] == "false", services["dozzle"]["environment"]
|
||||
@@ -162,6 +167,7 @@ watchtower = services["watchtower"]
|
||||
|
||||
assert updater.get("ports") in (None, []), updater.get("ports")
|
||||
assert updater.get("read_only") is True, updater.get("read_only")
|
||||
assert updater["networks"]["easyai"]["ipv4_address"] == "172.21.0.31", updater["networks"]
|
||||
assert set(updater.get("cap_drop") or []) == {"ALL"}, updater.get("cap_drop")
|
||||
assert "no-new-privileges:true" in (updater.get("security_opt") or []), updater.get("security_opt")
|
||||
mounts = {(item.get("source"), item.get("target")) for item in updater.get("volumes") or []}
|
||||
@@ -201,7 +207,7 @@ assert manifest["channel"] == "stable"
|
||||
assert manifest["platform"] == "linux/amd64"
|
||||
assert manifest["managedUpdateAllowed"] is True
|
||||
assert manifest["rollbackSafe"] is True
|
||||
assert manifest["minimumUpdaterVersion"] == "1.0.0"
|
||||
assert manifest["minimumUpdaterVersion"] == "1.1.0"
|
||||
assert manifest["minimumDeploymentSchemaVersion"] == 2
|
||||
assert int(manifest["requiredFreeBytes"]) > 0
|
||||
components = {item["key"]: item for item in manifest["components"]}
|
||||
|
||||
Reference in New Issue
Block a user