Repository navigation
SILO Console 2.7.1
Service-account policy inheritance preservation, strict policy JSON validation across Console APIs and UI editors, modal save-error feedback, and released silo-pkg 3.16.1 / mcli 20261112 dependencies.
Compatibility notes · 中文兼容性注记 · Changes from 2.7.0
Changes
- Service-account policy inheritance (
SN-2026-025): tracks inherited and inline policies separately (1be8a74bf), so editing an access key's name, description, expiry or status preserves inheritance instead of freezing a copy of the parent's policy or failing when the parent policy exceeds the 4 KiB inline-policy limit. Turning off Restrict beyond user policy sends an explicit empty policy to restore inheritance (when paired with the matching SILO Server update). - Empty inline-policy guard & modal error feedback: while Restrict beyond user policy remains enabled, creating or replacing an inline policy rejects an empty editor,
{},{"Statement":[]},{"Statement":null}, and backend-accepted case-insensitive/Unicode-folded or duplicate-key empty variants (a1a84cab4,1fdb279fd,3825ebc44), while still allowing metadata-only saves on unchanged historical empty inline policies. Save errors now render inside the edit modal instead of failing silently behind the dialog. - Strict policy JSON validation: Console policy validation rejects unknown JSON fields, trailing payloads, non-object documents, empty
Principal: {}/ unsupportedNotPrincipalblocks, and empty named policies (3825ebc44), aligned withsilo-pkg v3.16.1. - Dependencies: built with Go 1.27.4,
github.com/pgsty/silo-pkg/v3 v3.16.1, andpgsty/mc RELEASE.2026-11-12T00-00-00Z(v0.0.0-20261111180825-a37a9f054fba), verified against the Go module proxy, checksum database, and immutable GitHub release metadata.
变更摘要(中文)
- 服务账号策略继承保护(
SN-2026-025): 区分继承策略与内联会话策略(1be8a74bf),仅编辑服务账号名称、备注、有效期或启用状态时保留继承关系,不再将父账号策略固化为内联副本,也不会因父级有效策略超过 4 KiB 内联上限而阻断禁用等管理操作。关闭 Restrict beyond user policy 会发送显式空策略以恢复继承(需配合包含对应修复的 SILO Server)。 - 空内联策略拦截与弹窗错误提示: 开启 Restrict beyond user policy 创建或替换策略时,拦截空编辑器、
{}、{"Statement":[]}、{"Statement":null}以及后端大小写/Unicode 折叠与重复键空文档变体(a1a84cab4、1fdb279fd、3825ebc44),同时允许未改动历史空内联策略的账号执行纯元数据修改;保存报错直接在编辑弹窗内展示。 - 严格策略 JSON 校验与依赖更新: 后端接口拒绝未知策略字段、尾部多余载荷、空
Principal: {}/NotPrincipal及空命名策略(3825ebc44);升级依赖至正式发布的silo-pkg v3.16.1与mcli 20261112。
Upgrade note: standalone Console v2.7.1 preserves metadata-only edits immediately, while explicit reset-to-inheritance (policy: "{}") requires the matching post-20261109 SILO Server update. Updating standalone Console does not replace the Console embedded in an existing SILO Server binary.
Verification
Source: 3825ebc44451fdc8eefda3d4ec523a79dfecb236.
Image: docker.io/pgsty/silo-console:v2.7.1 (Linux amd64/arm64), digest sha256:2afef06f8505eadb24d657acd0f68c78bce8b148b1d9b74981454560fa3b055f.
The assets are:
- six platform executables and bundles;
- nine Linux packages;
- the source archive and SPDX SBOMs;
- the legal notices;
- a signed SHA-256 manifest.
The tag workflow verifies the checksum and image signatures, the image SBOM attestations and the GitHub provenance. See the verification contract.