Skip to content

Added a guide to deploy on bare-metal/VMs - #51085

Merged
ahus1 merged 6 commits into
keycloak:mainfrom
ruchikajha95:feature-50921/guide-to-deploy-on-bare-metal/VMs
Jul 27, 2026
Merged

Added a guide to deploy on bare-metal/VMs#51085
ahus1 merged 6 commits into
keycloak:mainfrom
ruchikajha95:feature-50921/guide-to-deploy-on-bare-metal/VMs

Conversation

@ruchikajha95

@ruchikajha95 ruchikajha95 commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

This PR adds a guide to show to deploy on bare-meteal/VMs

Closes #50921

Closes keycloak#50840

Signed-off-by: Ruchika <ruchika.jha1@ibm.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Adds a bare-metal/VM deployment blueprint for stateless multi-cluster HA and links it into the existing documentation flow.

Changes:

  • Adds deployment prerequisites, topology, configuration, and verification steps.
  • Links and pins the new blueprint.
  • Note: the referenced issue concerns LDAP metrics and does not match this PR.

Reviewed changes

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

File Description
pinned-guides Registers the new guide.
introduction.adoc Links the bare-metal blueprint.
deploy-keycloak-bare-metal.adoc Adds the deployment guide.
concepts.adoc Adds the guide as a next step.

Comment thread docs/guides/high-availability/multi-cluster-v2/deploy-keycloak-bare-metal.adoc Outdated
Comment thread docs/guides/high-availability/multi-cluster-v2/deploy-keycloak-bare-metal.adoc Outdated
Comment thread docs/guides/high-availability/multi-cluster-v2/deploy-keycloak-bare-metal.adoc Outdated
Closes keycloak#50921

Signed-off-by: Ruchika <ruchika.jha1@ibm.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

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

Comments suppressed due to low confidence (1)

docs/guides/high-availability/multi-cluster-v2/deploy-keycloak-bare-metal.adoc:122

  • This enables trust in unsigned PROXY headers without requiring the application port to be restricted to trusted load balancers. As server/reverseproxy.adoc:87-89 notes, direct access otherwise lets clients spoof source IPs; add the network restriction to this deployment procedure.
The load balancer must also be configured to send PROXY protocol headers (for example, `send-proxy-v2` in HAProxy).

Comment thread docs/guides/high-availability/multi-cluster-v2/deploy-keycloak-bare-metal.adoc Outdated
Comment thread docs/guides/high-availability/multi-cluster-v2/deploy-keycloak-bare-metal.adoc Outdated
Comment thread docs/guides/high-availability/multi-cluster-v2/deploy-keycloak-bare-metal.adoc Outdated
Closes keycloak#50921

Signed-off-by: Ruchika <ruchika.jha1@ibm.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.

Comments suppressed due to low confidence (1)

docs/guides/high-availability/multi-cluster-v2/deploy-keycloak-bare-metal.adoc:71

  • Typing the password in an export command normally records the literal secret in shell history, contradicting the stated protection. Read it interactively without echo (or use a protected service-manager environment/credential file) before exporting it.
export KC_DB_USERNAME=<DB_USERNAME>
export KC_DB_PASSWORD=<DB_PASSWORD>

Comment thread docs/guides/high-availability/multi-cluster-v2/deploy-keycloak-bare-metal.adoc Outdated
Closes keycloak#50921

Signed-off-by: Ruchika <ruchika.jha1@ibm.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 4 out of 4 changed files in this pull request and generated no new comments.

Comment thread docs/guides/high-availability/multi-cluster-v2/deploy-keycloak-bare-metal.adoc Outdated
Comment thread docs/guides/high-availability/multi-cluster-v2/deploy-keycloak-bare-metal.adoc Outdated
Comment thread docs/guides/high-availability/multi-cluster-v2/deploy-keycloak-bare-metal.adoc Outdated
Comment thread docs/guides/high-availability/multi-cluster-v2/deploy-keycloak-bare-metal.adoc Outdated
Comment thread docs/guides/high-availability/multi-cluster-v2/deploy-keycloak-bare-metal.adoc Outdated
Comment thread docs/guides/high-availability/multi-cluster-v2/deploy-keycloak-bare-metal.adoc Outdated
Comment thread docs/guides/high-availability/multi-cluster-v2/deploy-keycloak-bare-metal.adoc Outdated
Comment thread docs/guides/high-availability/multi-cluster-v2/deploy-keycloak-bare-metal.adoc Outdated
Closes keycloak#50921

Signed-off-by: Ruchika <ruchika.jha1@ibm.com>
@ruchikajha95
ruchikajha95 requested a review from ryanemerson July 23, 2026 09:49
@ruchikajha95

ruchikajha95 commented Jul 23, 2026

Copy link
Copy Markdown
Contributor Author

Hello @ryanemerson, Thanks for the review !!All previous comments are now resolved. Could you please re-review the PR if any other changes are needed?

@ahus1 ahus1 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.

Thank you for the PR, it looks good.

See below for some review comments that should be addressed before merging this one.

Comment thread docs/guides/high-availability/multi-cluster-v2/deploy-keycloak-bare-metal.adoc Outdated
Comment thread docs/guides/high-availability/multi-cluster-v2/deploy-keycloak-bare-metal.adoc Outdated
Comment thread docs/guides/high-availability/multi-cluster-v2/deploy-keycloak-bare-metal.adoc Outdated
Comment thread docs/guides/high-availability/multi-cluster-v2/deploy-keycloak-bare-metal.adoc Outdated
Comment thread docs/guides/high-availability/multi-cluster-v2/deploy-keycloak-bare-metal.adoc Outdated
Comment thread docs/guides/high-availability/multi-cluster-v2/deploy-keycloak-bare-metal.adoc Outdated
Closes keycloak#50921

Signed-off-by: Ruchika <ruchika.jha1@ibm.com>
@ruchikajha95
ruchikajha95 requested a review from ahus1 July 23, 2026 13:47

@ryanemerson ryanemerson left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM

@ahus1
ahus1 marked this pull request as ready for review July 27, 2026 12:34
@ahus1
ahus1 requested a review from a team as a code owner July 27, 2026 12:34
Copilot AI review requested due to automatic review settings July 27, 2026 12:34
@ahus1
ahus1 requested a review from a team as a code owner July 27, 2026 12:34
@ahus1
ahus1 merged commit 8a328f9 into keycloak:main Jul 27, 2026
68 checks passed

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.

Comments suppressed due to low confidence (1)

docs/guides/high-availability/multi-cluster-v2/deploy-keycloak-bare-metal.adoc:105

  • For the documented global-to-per-site load-balancer chain, configuring only the Keycloak-facing proxy to emit PROXY headers does not guarantee that Keycloak receives the original client address. Document that the global hop must preserve/forward the client address and that the per-site hop must accept and re-emit it; otherwise audit logs may contain the global load balancer's address instead.
<8> Enable the PROXY protocol so that {project_name} can read the real client IP address from the PROXY protocol header sent by the load balancer.
To use this option, the load balancer must also be configured to send PROXY protocol headers (for example, `send-proxy-v2` in HAProxy).
If your load balancer does not support the PROXY protocol, remove this option to use plain HTTPS.

Comment on lines +39 to +40
This topology is simpler to manage.
Per-site operational tasks such as draining a site for maintenance or isolating a failing site require reconfiguring a shared component, which increases operational risk.
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.

Add a guide to deploy on bare-metal/VMs

4 participants