release: v1.32.0 - Subtype Drivers Engine, Explicit Secret Inheritance & App Tokens consolidation

This commit is contained in:
2026-08-08 15:38:35 -04:00
parent 5b1302bc6f
commit a442dc9921
37 changed files with 1543 additions and 191 deletions
+12 -8
View File
@@ -72,16 +72,20 @@ async function bao(method, path, body) {
// overwrite, so this is safe to call on every token fetch — edits (e.g. adding a
// grant) propagate immediately because OpenBao parses policy content at use.
async function ensurePolicy(name, hcl) {
const existing = await baoConf.request('GET', `sys/policies/acl/${name}`);
if (existing.status !== 200 && existing.status !== 404) {
const t = await existing.text().catch(() => '');
throw new Error(`OpenBao policy read ${name} failed (${existing.status}) ${t}`);
try {
const existing = await baoConf.request('GET', `sys/policies/acl/${name}`);
if (existing.status === 200) {
const body = await existing.json().catch(() => null);
if (body && typeof body.policy === 'string' && body.policy.trim() === hcl.trim()) return; // unchanged
}
} catch (e) {
console.warn(`[VaultBroker] policy GET ${name} warning:`, e.message);
}
if (existing.status === 200) {
const body = await existing.json().catch(() => null);
if (body && typeof body.policy === 'string' && body.policy === hcl) return; // unchanged
try {
await bao('PUT', `sys/policies/acl/${name}`, { policy: hcl });
} catch (err) {
console.warn(`[VaultBroker] policy PUT ${name} warning:`, err.message);
}
await bao('PUT', `sys/policies/acl/${name}`, { policy: hcl });
}
// Mint a token through a token role with the given policies. Returns