Skip to main content

Crate kaji

Crate kaji 

Source
Expand description

kaji is a declarative configuration management CLI tool for Keycloak.

It brings GitOps workflows to identity infrastructure, allowing you to define, validate, plan, apply, and drift-detect Keycloak configurations.

Modules§

apply
Staged reconciliation logic for Keycloak resources. Apply module for applying local configuration changes to Keycloak.
args
Command-line argument parser and command definitions.
clean
Logic to clean up configuration files in the workspace. Clean module for cleaning local workspace directories.
cli
Scaffolding for interactive command-line initialization. Interactive CLI module for generating local configurations.
client
Keycloak Admin REST API HTTP client wrapper.
init
Scaffolding for project configuration. Initialization module to scaffold the kaji configuration file.
inspect
Inspection pipeline to bootstrap local configuration files.
models
Strongly-typed representations of Keycloak resources.
plan
Diff calculation and drift planning. Plan module for calculating diffs and detecting configuration drift.
utils
Helper utilities (secrets resolvers, YAML helpers, terminal UI).
validate
Validation of local workspace YAML configuration files.

Macros§

handle_upsert

Structs§

Profile
Connection profile details for a target environment.

Functions§

init_client
Initializes a KeycloakClient by logging in using credentials from the CLI or active profile.
init_secrets
Initializes secret resolvers (environment variables and/or Vault) to substitute secret tokens.
load_config_file
Loads configuration settings from kaji.toml / .kaji.toml if present in current directory, or from a custom configuration path.
load_profile
Loads a profile configuration file from the profiles/ directory in the workspace.
run_app
Standard entry point that resolves config workspaces and executes command handlers.