generated from coulomb/repo-seed
Clarify OpenBao rotation flow
This commit is contained in:
@@ -1506,6 +1506,7 @@ def runbook_command_payloads(data: dict[str, Any]) -> list[dict[str, str]]:
|
|||||||
rotate_init_command = interactive_token_command(
|
rotate_init_command = interactive_token_command(
|
||||||
"bao operator rotate-keys -init -key-shares=3 -key-threshold=2"
|
"bao operator rotate-keys -init -key-shares=3 -key-threshold=2"
|
||||||
)
|
)
|
||||||
|
rotate_status_command = interactive_token_command("bao operator rotate-keys -status")
|
||||||
rotate_submit_command = interactive_token_command(
|
rotate_submit_command = interactive_token_command(
|
||||||
'bao operator rotate-keys -nonce="$ROTATION_NONCE"',
|
'bao operator rotate-keys -nonce="$ROTATION_NONCE"',
|
||||||
prompt_nonce=True,
|
prompt_nonce=True,
|
||||||
@@ -1593,13 +1594,19 @@ def runbook_command_payloads(data: dict[str, Any]) -> list[dict[str, str]]:
|
|||||||
),
|
),
|
||||||
action(
|
action(
|
||||||
"Start unseal-key rotation",
|
"Start unseal-key rotation",
|
||||||
"Generate a new 3-share, threshold-2 Shamir split. Requires an OpenBao token with root or sudo capability.",
|
"Run once to start a new 3-share, threshold-2 rotation. If rotation is already in progress, do not rerun init; check status and submit existing shares.",
|
||||||
rotate_init_command,
|
rotate_init_command,
|
||||||
compromise_taint,
|
compromise_taint,
|
||||||
),
|
),
|
||||||
|
action(
|
||||||
|
"Check unseal-key rotation status",
|
||||||
|
"Inspect the active rotation without submitting a share. Use after init or when OpenBao says rotation is already in progress.",
|
||||||
|
rotate_status_command,
|
||||||
|
compromise_taint,
|
||||||
|
),
|
||||||
action(
|
action(
|
||||||
"Submit current shares for rotation",
|
"Submit current shares for rotation",
|
||||||
"Repeat by prompt until the required threshold completes. Enter the nonce from rotation init, then the token and share prompts.",
|
"Enter the nonce from rotation init, then token and existing unseal-share prompts. Repeat with distinct current shares until progress reaches the threshold.",
|
||||||
rotate_submit_command,
|
rotate_submit_command,
|
||||||
compromise_taint,
|
compromise_taint,
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -290,6 +290,12 @@ open an interactive pod TTY, prompt there for a root/sudo-capable OpenBao
|
|||||||
token, keep the token out of the local command line, and then run rotate init,
|
token, keep the token out of the local command line, and then run rotate init,
|
||||||
share submission, or cancel.
|
share submission, or cancel.
|
||||||
|
|
||||||
|
**2026-05-26:** Added an explicit rotation-status action and clarified the
|
||||||
|
rotation flow after the operator successfully started rotate-keys and then hit
|
||||||
|
`rotation already in progress` by rerunning init. The UI now says init is a
|
||||||
|
run-once step and that the next step is checking status or submitting existing
|
||||||
|
shares with the nonce until quorum completes.
|
||||||
|
|
||||||
**2026-05-24:** Stepped back from ad hoc secret rollout and added the
|
**2026-05-24:** Stepped back from ad hoc secret rollout and added the
|
||||||
custodian age-key bootstrap model to the control surface. The UI now records
|
custodian age-key bootstrap model to the control surface. The UI now records
|
||||||
the custodian public age recipient, a derived fingerprint, and a non-secret
|
the custodian public age recipient, a derived fingerprint, and a non-secret
|
||||||
|
|||||||
Reference in New Issue
Block a user