docs: regenerate scripts/functionlist.md; refresh NOTES with jump-points and roadmap; extend rfs-flists with RESP backend design. config: add RESP placeholders to rfs.conf.example. components: keep previous non-destructive git clone logic.
This commit is contained in:
@@ -165,3 +165,45 @@ Use the helper to inspect a manifest, optionally listing entries and testing a l
|
||||
- scripts/rfs/verify-flist.sh -m dist/flists/firmware-latest.fl --tree
|
||||
- Inspect + mount test to a temp dir:
|
||||
- sudo scripts/rfs/verify-flist.sh -m dist/flists/modules-6.12.44-Zero-OS.fl --mount
|
||||
|
||||
## Additional blob store backends (design)
|
||||
|
||||
This extends the existing S3/HTTP approach with a RESP/DB-style backend option for rfs blob storage. It is a design-only addition; CLI and scripts will be extended in a follow-up.
|
||||
|
||||
Scope
|
||||
- Keep S3 flow intact via [scripts/rfs/common.sh](scripts/rfs/common.sh:137), [scripts/rfs/common.sh](scripts/rfs/common.sh:385), and [scripts/rfs/common.sh](scripts/rfs/common.sh:494).
|
||||
- Introduce RESP URIs that can be encoded in config and, later, resolved by rfs or a thin uploader shim invoked by:
|
||||
- [scripts/rfs/pack-modules.sh](scripts/rfs/pack-modules.sh:1)
|
||||
- [scripts/rfs/pack-firmware.sh](scripts/rfs/pack-firmware.sh:1)
|
||||
|
||||
URI schemes (draft)
|
||||
- resp://host:port/db?prefix=blobs
|
||||
- resp+tls://host:port/db?prefix=blobs&ca=/etc/ssl/certs/ca.pem
|
||||
- resp+sentinel://sentinelHost:26379/mymaster?prefix=blobs
|
||||
- Credentials may be provided via URI userinfo or config (recommended: config only).
|
||||
|
||||
Operations (minimal set)
|
||||
- PUT blob: write content-addressed key (e.g., prefix/ab/cd/hash)
|
||||
- GET blob: fetch by exact key
|
||||
- Exists/HEAD: presence test by key
|
||||
- Optional batching: pipelined MGET for prefetch
|
||||
|
||||
Config keys (see example additions in config/rfs.conf.example)
|
||||
- RESP_ENDPOINT (host:port), RESP_DB (integer), RESP_PREFIX (path namespace)
|
||||
- RESP_USERNAME/RESP_PASSWORD (optional), RESP_TLS=0/1 (+ RESP_CA if needed)
|
||||
- RESP_SENTINEL and RESP_MASTER for sentinel deployments
|
||||
|
||||
Manifests and routes
|
||||
- Keep S3 store in flist stores table (fallback) while enabling route.url patching to HTTP/S3 for read-only access:
|
||||
- Patch stores table as today via [scripts/rfs/common.sh](scripts/rfs/common.sh:385)
|
||||
- Patch route.url as today via [scripts/rfs/common.sh](scripts/rfs/common.sh:494)
|
||||
- RESP may be used primarily for pack-time blob uploads or as an additional store the CLI can consume later.
|
||||
|
||||
Security
|
||||
- Do not embed write credentials in manifests.
|
||||
- Read-only credentials may be embedded in route.url if required, mirroring S3 pattern.
|
||||
|
||||
Next steps
|
||||
- Implement RESP uploader shim called from pack scripts; keep the CLI S3 flow unchanged.
|
||||
- Extend config loader in [scripts/rfs/common.sh](scripts/rfs/common.sh:82) to parse RESP_* variables.
|
||||
- Add verification routines to sanity-check connectivity before pack.
|
||||
|
||||
Reference in New Issue
Block a user