ngclient: support `StorageBackendInterface`?
维护者通常 10 天内回复
还没有人认领这个 Issue。
评估
- 难度
- 5/5
- 预计耗时
- 一周以上
- 新手友好度
- 30/100
- Issue 类型
- 功能
- 描述清晰度
- 需要澄清
- 活跃度
- 停滞
- 技术栈
- python
调研方向
从 tuf/ngclient/updater.py 的第 293-312 行附近开始,将其持久化 repository I/O 与低级元数据 API 使用的现有 StorageBackendInterface 进行比较。确定 ngclient 所需的 API 和集成范围,然后验证 repository 操作可以在分布式部署中使用非本地存储。
由索引模型根据 Issue 内容生成。
描述
Description of issue or feature request:
Right now, tuf.ngclient is heavily tied to local system I/O: it assumes a metadata directory on disk that can be read/written. For example:
This is problematic in distributed worker setups like Warehouse (PyPI), where each worker has its own container/entire VM and thus can't easily share on-disk TUF repos. In particular, this causes both reliability and security concerns:
- Reliability: an unfortunate corruption in a single worker's TUF repo results in a hard-to-diagnose flaky worker, since each worker has its own copy of the repo.
- Security: each worker's TUF repo is independently stored on a (machine-local) disk, making them harder to audit.
This problem was noted a few years back, before tuf.ngclient was created: https://github.com/theupdateframework/python-tuf/issues/1009. The solution then was to add a filesystem abstraction to the tuf.metadata APIs, which was done via https://github.com/secure-systems-lab/securesystemslib/pull/232 and https://github.com/theupdateframework/python-tuf/issues/1009. However, this abstraction wasn't added to the ngclient APIs, only to the low-level metadata ones.
Current behavior:
tuf.ngclient currently assumes that it can perform persistent local I/O for its repository.
Expected behavior:
tuf.ngclient should support an I/O abstraction (such as the pre-existing StorageBackendInterface, if suitable) for persistent repo operations, enabling use in distributed deployments.
- 主要语言
- Python
- 星标
- 1.7k
- 派生
- 304
- 平均合并
- 9 小时 25 分钟
- 30 天内合并 PR
- 14
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
theupdateframework/python-tuf 的其他 Issue
-
难度 4/5 3-5 天 新手友好度 48/100
theupdateframework/python-tuf#3001 ·
维护者通常 10 天内回复
-
难度 4/5 3-5 天 新手友好度 42/100
theupdateframework/python-tuf#2979 · 1 条评论 ·
维护者通常 10 天内回复
-
enhancement github_actions
难度 3/5 1-2 天 新手友好度 45/100
theupdateframework/python-tuf#2920 · 1 条评论 · 2 个 reaction ·
维护者通常 10 天内回复
-
难度 3/5 1-2 天 新手友好度 35/100
theupdateframework/python-tuf#2842 · 3 条评论 ·
维护者通常 10 天内回复
-
难度 5/5 一周以上 新手友好度 25/100
theupdateframework/python-tuf#2836 · 7 条评论 ·
维护者通常 10 天内回复
查看 theupdateframework/python-tuf 的全部 Issue
相似的 Issue
-
correction metadata
难度 2/5 1-3 小时 新手友好度 68/100
acl-org/acl-anthology#10104 · 1 条评论 ·
维护者通常 1 天内回复
-
bug status/needs-triage
难度 2/5 1-3 小时 新手友好度 86/100
prowler-cloud/prowler#12885 · 1 条评论 ·
维护者通常 1 天内回复
-
Bug in GaussianTailProbabilityCalibrator: running_statistics=False still uses a windowed variance未关闭bug good first issue
难度 2/5 1-3 小时 新手友好度 88/100
selimfirat/pysad#107 ·
维护者通常 1 天内回复
-
bug ci-failure high priority
难度 1/5 1 小时以内 新手友好度 88/100
vllm-project/vllm-omni#8194 · 1 条评论 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 88/100
维护者通常 1 天内回复