Publish curated Unraid-AppOps-Gateway source from fe49858778940715742d53eea89241f01878f7ee

This commit is contained in:
Public Source Publisher committed 2026-10-02 02:11:41 +00:00
1 parent 1a54836efc
commit 29c1e3d5a1
3 files changed
+42 -4

No files matched your search

+1 -1
View File
@@ -1,3 +1,3 @@
# Public source export
This source snapshot was generated from the private canonical repository at revision `034c9f844d2455850ba37b31379b7edaa786583e`. It contains no private Git history or operational evidence. Changes are published from the canonical repository.
This source snapshot was generated from the private canonical repository at revision `fe49858778940715742d53eea89241f01878f7ee`. It contains no private Git history or operational evidence. Changes are published from the canonical repository.
+3 -3
View File
@@ -1,6 +1,6 @@
{
"schemaVersion": 1,
"sourceRevision": "034c9f844d2455850ba37b31379b7edaa786583e",
"sourceRevision": "fe49858778940715742d53eea89241f01878f7ee",
"files": [
{
"path": ".dockerignore",
@@ -799,8 +799,8 @@
},
{
"path": "backend/tests/test_appops_self_upgrade_controller.py",
"sha256": "3d367f02bf510a3d3495d0e105971408fa295a50ef5ec739386a6c4aaa80b23b",
"bytes": 18823
"sha256": "ad6d8fba2213c1c8018bc9ff1c2ebd61684792c27fa00a07195c5d6aea99d69f",
"bytes": 20392
},
{
"path": "backend/tests/test_authentik_connector.py",
@@ -172,6 +172,44 @@ def test_runtime_requires_exact_container_mount_port_and_health(controller, monk
assert controller._self_upgrade_runtime() is None
@pytest.mark.parametrize(
("source", "accepted"),
[
("jens/unraid-appops-gateway", True),
("https://gitea.example.com/Jens/Unraid-AppOps-Gateway", True),
("other/repository", False),
("https://evil.example/Jens/Unraid-AppOps-Gateway", False),
("https://gitea.example.com/Jens/Other-App", False),
("https://gitea.example.com/Jens/Unraid-AppOps-Gateway.evil", False),
("http://gitea.example.com/Jens/Unraid-AppOps-Gateway", False),
],
)
def test_runtime_accepts_only_fixed_appops_oci_sources(controller, monkeypatch, source, accepted):
monkeypatch.setattr(
controller,
"_gitea_validation_settings",
lambda: ("https://gitea.example.com/api/v1", b"t" * 32),
)
payload = [{
"State": {"Running": True, "Health": {"Status": "healthy"}},
"Mounts": [{"Destination": "/data", "Source": "/srv/example/appdata/unraid-appops-gateway-1216", "RW": True}],
"Config": {"Labels": {
"org.opencontainers.image.revision": "a" * 40,
"org.opencontainers.image.source": source,
}},
"NetworkSettings": {"Ports": {"1216/tcp": [{"HostPort": "1216"}]}},
"Image": "sha256:" + "b" * 64,
}]
def fake_run(args, **kwargs):
stdout = json.dumps(payload) if args[1] == "inspect" else "Unraid-AppOps-Gateway"
return subprocess.CompletedProcess(args, 0, stdout, "")
monkeypatch.setattr(controller.subprocess, "run", fake_run)
assert (controller._self_upgrade_runtime() is not None) is accepted
def test_mcp_self_upgrade_rejects_arbitrary_repository(monkeypatch):
from backend.app import mcp_server