Skip to content

Add TLS configuration and hardening page to the user guide - #726

Open
migiFi wants to merge 2 commits into
metal3-io:mainfrom
Nordix:docs-security-tls
Open

Add TLS configuration and hardening page to the user guide#726
migiFi wants to merge 2 commits into
metal3-io:mainfrom
Nordix:docs-security-tls

Conversation

@migiFi

@migiFi migiFi commented Aug 26, 2026

Copy link
Copy Markdown
Member

Adds a "TLS Configuration and Hardening" page under the user guide's Security section. It consolidates the Ironic TLS tuning knobs that were previously split between the ironic-image README and the IrSO deployment, explains the two TLS surfaces (Ironic API vs. virtual-media HTTP server), documents the protocol/ cipher/curve flags for each, and gives a recommended hardened baseline.

Also links the Security landing page's TLS bullet to this new page and adds the
SUMMARY entry.

Why:

The TLS hardening flags (below) were only documented in the ironic-image README, with nothing in the user guide tying them together or recommending hardened values.

  • IRONIC_SSL_PROTOCOL
  • IRONIC_TLS_12/13_CIPHERS
  • IRONIC_TLS_CURVES
  • IRONIC_TLS_ENFORCE_SERVER_CIPHER_ORDER
  • IRONIC_VMEDIA_* (and equivalents)

Depends on #725 and should merge after it. /hold until then.

NOTE: until 725 merges, the diff includes its commits. Review only the "Add TLS configuration and hardening page" commit here.

Adds a new top-level "Security best practices" section to the user guide with a
landing page that frames secure deployment across the three Metal3 trust
boundaries (BMO/control plane, Ironic, and the provisioning network), and adds
the corresponding SUMMARY.md entry.

**Why**:

The user guide had no security or hardening section, the only security-adjacent
page was the vulnerability-disclosure policy. Hardening guidance existed but was
scattered across component repos and never framed as best practice.

**NOTE**:

This is the landing page only. It links out to the current authoritative sources
for each topic (TLS configuration, certificate lifecycle, Ironic authentication,
TLS-enabled PXE, namespace-scoped BMO); dedicated pages for those will follow in
separate PRs.

Signed-off-by: Migi Jylhä <migi.jylha@est.tech>
@metal3-io-bot

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign fmuyassarov for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@metal3-io-bot metal3-io-bot added the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label Aug 26, 2026

@tuminoid tuminoid left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/hold

Lets hold this for a while until @Rozzii also gets a view. We also need to start from introduction section etc, then Metal3 hardening before we move further.

@metal3-io-bot metal3-io-bot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Aug 27, 2026
@tuminoid

Copy link
Copy Markdown
Member

/copilot-review

@metal3-io-bot
metal3-io-bot requested a balanced review from Copilot August 27, 2026 14:05
@metal3-io-bot

Copy link
Copy Markdown
Contributor

Copilot code review has been requested by @tuminoid. Please allow a few moments for the review to be added.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds Ironic TLS configuration and hardening guidance to the Metal3 user guide.

Changes:

  • Documents TLS surfaces, configuration flags, and a hardened baseline.
  • Links the new page from the security landing page.
  • Adds the page to mdBook navigation.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 5 comments.

File Description
docs/user-guide/src/SUMMARY.md Adds TLS guidance to navigation.
docs/user-guide/src/security/tls.md Introduces TLS configuration and hardening documentation.
docs/user-guide/src/security/introduction.md Links to the new TLS page.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread docs/user-guide/src/security/tls.md Outdated
Comment thread docs/user-guide/src/security/tls.md Outdated
Comment thread docs/user-guide/src/security/tls.md
Comment thread docs/user-guide/src/security/tls.md Outdated
Comment thread docs/user-guide/src/security/tls.md Outdated
Adds a "TLS Configuration and Hardening" page under the user guide's Security
section. It cosolidates the Ironic TLS tuning knobs that were previously split
between the ironic-image README and the IrSO deployment, explains the two TLS
surfaces (Ironic API vs virtual-media HTTP server), documents the protocol/
cipher/curve flags for each, and gives a recommended hardened baseline.

Also links the Security landing page's TLS bullets to this new page and adds
the SUMMARY entry.

**Why**:

The TLS hardening flags (below) were only documented in the ironic-image README,
with nothing in the user guide tying them together or recommending hardened
values.

- `IRONIC_SSL_PROTOCOL`
- `IRONIC_TLS_12/13_CIPHERS`
- `IRONIC_TLS_CURVES`
- `IRONIC_TLS_ENFORCE_SERVER_CIPHER_ORDER`
- `IRONIC_VMEDIA_*` (equivalents)

**Depends on**:

Depends on metal3-io#725 and should merge after it. /hold until then.

**NOTE**: until metal3-io#725 merges, the diff includes its commits. Review only the
"Add TLS configuration and hardening page" commit here.

Signed-off-by: Migi Jylhä <migi.jylha@est.tech>
@migiFi
migiFi force-pushed the docs-security-tls branch from dd7cd9e to f561ade Compare August 28, 2026 13:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants