Skip to main content
net8.0net9.0net10.0

.NET Aspire hosting extensions for Keycloak (includes PostgreSQL integration).

Published
Jan 16, 2026
9mo ago
Total Downloads
20.9K
20,938

Install

dotnet add package CommunityToolkit.Aspire.Hosting.Keycloak.Extensions --version 13.1.2-beta.504
ProductVersions
.NET
net10.0net8.0net9.0

README

Keycloak Hosting Extensions for .NET Aspire

Overview

This package provides .NET Aspire hosting extensions for integrating Keycloak with your AppHost. It includes a PostgreSQL integration that works with resources created via Aspire.Hosting.Postgres.AddPostgres() and Aspire.Hosting.Keycloak.AddKeycloak(), and automatically configures the required environment variables for Keycloak database connectivity.


Features

  • Configure Keycloak to use PostgreSQL.
  • Automatically sets environment variables:
    • KC_DB
    • KC_DB_URL
    • KC_DB_USERNAME
    • KC_DB_PASSWORD
  • Supports XA transactions via KC_TRANSACTION_XA_ENABLED.
  • Integrates with ParameterResource for secure user/password injection.
  • Falls back to default credentials (postgres / postgres) if no parameters are provided.
  • Fluent extension methods on the hosting model.

Usage (AppHost)

var postgres = builder.AddPostgres("pg");
var db = postgres.AddDatabase("keycloakdb");

// Using explicit username/password parameters
var user = builder.AddParameter("keycloak-user");
var pass = builder.AddParameter("keycloak-pass");

var keycloak = builder.AddKeycloak("kc")
    .WithPostgres(db, user, pass);

// Or rely on server parameters or default postgres/postgres
var keycloak2 = builder.AddKeycloak("kc2")
    .WithPostgres(db, xaEnabled: true);

Keycloak will be configured with:

  • KC_DB=postgres
  • KC_DB_URL=jdbc:postgresql://<host>:<port>/keycloakdb
  • KC_DB_USERNAME=<user>
  • KC_DB_PASSWORD=<pass>
  • KC_TRANSACTION_XA_ENABLED=true (when set)

Notes

  • Extension methods are in the Aspire.Hosting namespace for discoverability in AppHost projects.
  • If you add custom resource types, place them under Aspire.Hosting.ApplicationModel.

Changes from Previous Version

No structural changes between v13.1.1-preview.1.260116-0117 and v13.1.2-beta.504.

Adoption Assessment

A verified publisher signal is available. Assess fit from the package's supported frameworks, license and dependency graph rather than popularity alone.

This version is marked prerelease. Validate its API and upgrade path before production use.Compatibility metadata lists 3 target frameworks; confirm the exact target used by your application.

Related Guides & Workflows

Learn how to evaluate, integrate, or audit this package in your .NET project.