Skip to content

Don't block Nexus startup on successful IP allowlist plumbing#10305

Draft
bnaecker wants to merge 1 commit intomainfrom
ben/fail-closed-but-not-dead
Draft

Don't block Nexus startup on successful IP allowlist plumbing#10305
bnaecker wants to merge 1 commit intomainfrom
ben/fail-closed-but-not-dead

Conversation

@bnaecker
Copy link
Copy Markdown
Collaborator

  • Remove the default firewall rule for Nexus that allows HTTP(S).
  • Add data migration that removes the rule from existing systems.
  • Make IP allowlist plumbing best-effort on Nexus startup. This prevents blocking the Nexus external API servers from starting up if we fail to reach any sled. Instead, we rely on OPTE's builtin default-deny firewall rule to keep the API servers unreachable until the allowlist plumbing is done. That could happen right away, if the sled-agents are reachable, but it might not happen until another background task run. But all the Nexus instances running on reachable sleds will be available when it does run.
  • Return all errors while propagating firewall rules to sleds. Fixes Handle multiple failures in sled-agent firewall rule requests #1791. Log these during Nexus external server startup, and in the background task, and also return them in the OMDB task details.

- Remove the default firewall rule for Nexus that allows HTTP(S).
- Add data migration that removes the rule from existing systems.
- Make IP allowlist plumbing best-effort on Nexus startup. This
  prevents blocking the Nexus external API servers from starting up if
  we fail to reach any sled. Instead, we rely on OPTE's builtin
  default-deny firewall rule to keep the API servers unreachable until
  the allowlist plumbing is done. That _could_ happen right away, if the
  sled-agents are reachable, but it might not happen until another
  background task run. But all the Nexus instances running on reachable
  sleds will be available when it does run.
- Return all errors while propagating firewall rules to sleds. Fixes
  #1791. Log these during Nexus external server startup, and in the
  background task, and also return them in the OMDB task details.
@bnaecker bnaecker marked this pull request as draft April 22, 2026 01:40
@bnaecker
Copy link
Copy Markdown
Collaborator Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Handle multiple failures in sled-agent firewall rule requests

1 participant