Info
Content

Server: All configuration

Cache

  • cache - описывает кэш для высокой доступности. По умолчанию стоит ispn, можно поставить local для тестирования
    CLI: --cache
    Env: KC_CACHE

  • cache-config-file - указывает из какого файла брать конфигурацию кэша (относительно /conf)
    CLI: --cache-config-file
    Env: KC_CACHE_CONFIG_FILE

  • cache-stack - описывает какой стэк использовать для взаимодействия нод кластера и node discovery. Возможные значения: tcp, udp, kubernetes, ec2, azure, google. Имеет влияние только если cache=ispn. По умолчанию - upd
    CLI: --cache-stack
    Env: KC_CACHE_STACK

Database

  • db - что за СУБД. Возможные значения: dev-file (default), dev-mem, mariadb, mssql, mysql, oracle, postgres
    CLI: --db
    Env: KC_DB
  • db-driver - полное имя класса JDBC драйвера. Если не проставить то веберется дефолтный для выбранной СУБД. Насколько я понимаю этот переключатель нужен для тонкой настройки подключения к базе
    CLI: --db-driver
    Env: KC_DB_DRIVER
  • db-password - пароль пользователя от базы
    CLI: --db-password
    Env: KC_DB_PASSWORD
  • db-pool-initial-size - начальный размер пула подключений к базе
    CLI: --db-pool-initial-size
    Env: KC_DB_POOL_INITIAL_SIZE
  • db-pool-max-size - максимальный размер пула подключений к базе (по умолчанию 100)
    CLI: --db-pool-max-size
    Env: KC_DB_POOL_MAX_SIZE
  • db-pool-min-size - минимальный размер пула подключений к базе
    CLI: --db-pool-min-size
    Env: KC_DB_POOL_MIN_SIZE
  • db-schema - схема
    CLI: --db-schema
    Env: KC_DB_SCHEMA
  • db-url - полный JDBC URL до базы. Если не указать то построится исходя из выбранной СУБД - jdbc:postgresql://localhost/keycloak
    CLI: --db-url
    Env: KC_DB_URL
  • db-url-database - имя базы. Если проставлен db-url то эта опция игнорится
    CLI: --db-url-database
    Env: KC_DB_URL_DATABASE
  • db-url-host - хост базы. Если проставлен db-url то эта опция игнорится
    CLI: --db-url-host
    Env: KC_DB_URL_HOST
  • db-url-port - порт базы. Если проставлен db-url то эта опция игнорится
    CLI: --db-url-port
    Env: KC_DB_URL_PORT
  • db-url-properties - доп параметры подключения. Если проставлен db-url то эта опция игнорится
    CLI: --db-url-properties
    Env: KC_DB_URL_PROPERTIES
  • db-username - пользователь базы
    CLI: --db-username
    Env: KC_DB_USERNAME

Transaction

  • transaction-xa-enabled - если стоит false то keycloak использует non-XA режим для работы с БД
    CLI: --transaction-xa-enabled
    Env: KC_TRANSACTION_XA_ENABLED

Feature

  • features - включает набор фич
    CLI: --features
    Env: KC_FEATURES
    По умолчанию: account-api, account2, account3, admin-api, admin-fine-grained-authz, admin2, authorization, ciba, client-policies, client-secret-rotation, declarative-user-profile, docker, dynamic-scopes, fips, impersonation, js-adapter, kerberos, map-storage, openshift-integration, par, preview, recovery-codes, scripts, step-up-authentication, token-exchange, update-email, web-authn
  • features-disabled - выключает набор фич
    CLI: --features-disabled
    Env: KC_FEATURES_DISABLED
    По умолчанию: account-api, account2, account3, admin-api, admin-fine-grained-authz, admin2, authorization, ciba, client-policies, client-secret-rotation, declarative-user-profile, docker, dynamic-scopes, fips, impersonation, js-adapter, kerberos, map-storage, openshift-integration, par, preview, recovery-codes, scripts, step-up-authentication, token-exchange, update-email, web-authn

Hostname

  • hostname - hostname keycloak сервера
    CLI: --hostname
    Env: KC_HOSTNAME

  • hostname-admin - hostname для доступа в админскую консоль. Используй эту опцию чтобы выставить админо-консоль на другом хостнейме
    CLI: --hostname-admin
    Env: KC_HOSTNAME_ADMIN

  • hostname-admin-url - устанавливает URL для доступа в админо-консоль: scheme://host:port/path
    CLI: --hostname-admin-url
    Env: KC_HOSTNAME_ADMIN_URL

  • hostname-path - надо проставить эту опцию если прокси использует другой context-path
    CLI: --hostname-path
    Env: KC_HOSTNAME_PATH

  • hostname-port - порт прокси. Укажи тут если прокся использует нестандартный порт (по умолчанию -1)
    CLI: --hostname-port
    Env: KC_HOSTNAME_PORT

  • hostname-strict - выключает динамический резолвинг хостнейма из заголовков запроса. В проде должен быть всегда включен если только прокси не делает этого сама (по умолчанию true)
    CLI: --hostname-strict
    Env: KC_HOSTNAME_STRICT

  • hostname-strict-backchannel - (эта статья немного прояснила ситуацию) по умолчанию backchannel URL'ы динамически резолвятся из заголовков запроса, что позволяет использовать и внутренние и внешние приложения. Если все приложения используют публичный URL то эта опция должна быть включена (по умолчанию false)
    CLI: --hostname-strict-backchannel
    Env: KC_HOSTNAME_STRICT_BACKCHANNEL

  • hostname-url - устанавливает базовый URL для фронтендовых URL'ов, включает scheme, host, port и path
    CLI: --hostname-url
    Env: KC_HOSTNAME_URL

HTTP/TLS

  • http-enabled - включает http listener (default - false)
    CLI: --http-enabled
    Env: KC_HTTP_ENABLED
  • http-host - используемый http-host (default - 0.0.0.0)
    CLI: --http-host
    Env: KC_HTTP_HOST
  • http-port - порт (default - 8080)
    CLI: --http-port
    Env: KC_HTTP_PORT
  • http-relative-path - location (default - /)
    CLI: --http-relative-path
    Env: KC_HTTP_RELATIVE_PATH
  • https-certificate-file - путь до файла с серверным сертификатом или цепочки сертификатов в PEM формате
    CLI: --https-certificate-file
    Env: KC_HTTPS_CERTIFICATE_FILE
  • https-certificate-key-file - путь до файла с приватным ключом в PEM формате
    CLI: --https-certificate-key-file
    Env: KC_HTTPS_CERTIFICATE_KEY_FILE
  • https-cipher-suites - cipher suite
    CLI: --https-cipher-suites
    Env: KC_HTTPS_CIPHER_SUITES
  • https-client-auth - указывает серверу требовать/запрашивать аутентификацию клиентов (возможные значения: none (default), request, required)
    CLI: --https-client-auth
    Env: KC_HTTPS_CLIENT_AUTH
  • https-key-store-file - keystore (jks) с сертами вместо отдельных файлов сертов
    CLI: --https-key-store-file
    Env: KC_HTTPS_KEY_STORE_FILE
  • https-key-store-password - пароль от keystore (default - password)
    CLI: --https-key-store-password
    Env: KC_HTTPS_KEY_STORE_PASSWORD
  • https-key-store-type - тип keystore. Если не указывать то тип определится автоматически исходя из имени кейстора. Если у fips-mode стоит strict и тут не указано значение, то будет BCFKS
    CLI: --https-key-store-type
    Env: KC_HTTPS_KEY_STORE_TYPE
  • https-port - порт для https (default - 8443)
    CLI: --https-port
    Env: KC_HTTPS_PORT
  • https-protocols - список включенных протоколов (default - TLSv1.3)
    CLI: --https-protocols
    Env: KC_HTTPS_PROTOCOLS
  • https-trust-store-file - trust store который хранит инфу о сертах которым можно доверять
    CLI: --https-trust-store-file
    Env: KC_HTTPS_TRUST_STORE_FILE
  • https-trust-store-password - пароль от траст стора
    CLI: --https-trust-store-password
    Env: KC_HTTPS_TRUST_STORE_PASSWORD
  • https-trust-store-type - типа траст стора. Если не указан то определится автоматом по имени файла. Если не стоит fips-mode=strict то будет BCFKS
    CLI: --https-trust-store-type
    Env: KC_HTTPS_TRUST_STORE_TYPE

Health

  • health-enabled - будет ли сервер выставлять health check эндпоинты. Если включено то healthcheck'и доступны на эндпоинтах: /health, /health/ready и /health/live (default - false)
    CLI: --health-enabled
    Env: KC_HEALTH_ENABLED

Metrics

  • metrics-enabled - если включить то будут доступны метрики на /metrics (default - false)
    CLI: --metrics-enabled
    Env: KC_METRICS_ENABLED

Proxy

  • proxy - режим форвардинга адреса прокси если сервер стоит за проксей (none (default), edge, reencrypt, passthrough)
    CLI: --proxy
    Env: KC_PROXY

Vault

  • vault - включает vault провайдер (возможное значение - file)
    CLI: --vault
    Env: KC_VAULT
  • vault-dir - если стоит, то секреты будут получены чтением файлов из указанной директории
    CLI: --vault-dir
    Env: KC_VAULT_DIR

Logging

  • log - включает один или более log-handler'ов (через запятую) (возможные значения - console (default), file, gelf)
    CLI: --log
    Env: KC_LOG
  • log-console-color - включает или выключает раскрашенность логов в консоли (default - false)
    CLI: --log-console-color
    Env: KC_LOG_CONSOLE_COLOR
  • log-console-format - формат неструктурированных консольных логов. Если в этом лог-формате есть пробелы, то обрамляй значение параметра кавычками (default - %d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n)
    CLI: --log-console-format
    Env: KC_LOG_CONSOLE_FORMAT
  • log-console-output - позволяет выбрать формат логов в консоль: json или default (plain)
    CLI: --log-console-output
    Env: KC_LOG_CONSOLE_OUTPUT
  • log-file - путь до файла куда писать логи (default - data/log/keycloak.log)
    CLI: --log-file
    Env: KC_LOG_FILE
  • log-file-format - формат файловых логов (default - %d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n)
    CLI: --log-file-format
    Env: KC_LOG_FILE_FORMAT
  • log-file-output - формат файловх логов: default (plain), json
    CLI: --log-file-output
    Env: KC_LOG_FILE_OUTPUT
  • log-gelf-facility - имя процесса который шлет сообщения (логи в gelf) (default - keycloak)
    CLI: --log-gelf-facility
    Env: KC_LOG_GELF_FACILITY
  • log-gelf-host - хостнейм логстеша или грейлога. По умолчанию используется UDP, если хочешь TCP то прексируй хостнейм tcp:graylog-host
    CLI: --log-gelf-host
    Env: KC_LOG_GELF_HOST
  • log-gelf-include-location - (эта ссылка даст разъяснения) (default - true)
    CLI: --log-gelf-include-location
    Env: KC_LOG_GELF_INCLUDE_LOCATION
  • log-gelf-include-message-parameters - "Include message parameters from the log event" (ссылка на доку по логгингу в кваркусе)(нихрена не понял что это такое, может быть это связано с таким?...)(default - true)
    CLI: --log-gelf-include-message-parameters
    Env: KC_LOG_GELF_INCLUDE_MESSAGE_PARAMETERS
  • log-gelf-include-stack-trace - если стоит в true,

If set to true, occuring stack traces are included in the StackTrace field in the GELF output.

CLI: --log-gelf-include-stack-trace Env: KC_LOG_GELF_INCLUDE_STACK_TRACE

true (default), false

log-gelf-level

The log level specifying which message levels will be logged by the GELF logger.

Message levels lower than this value will be discarded.

CLI: --log-gelf-level Env: KC_LOG_GELF_LEVEL

INFO (default)

log-gelf-max-message-size

Maximum message size (in bytes).

If the message size is exceeded, GELF will submit the message in multiple chunks.

CLI: --log-gelf-max-message-size Env: KC_LOG_GELF_MAX_MESSAGE_SIZE

8192 (default)

log-gelf-port

The port the Logstash or Graylog Host is called on.

CLI: --log-gelf-port Env: KC_LOG_GELF_PORT

12201 (default)

log-gelf-timestamp-format

Set the format for the GELF timestamp field.

Uses Java SimpleDateFormat pattern.

CLI: --log-gelf-timestamp-format Env: KC_LOG_GELF_TIMESTAMP_FORMAT

yyyy-MM-dd HH:mm:ss,SSS (default)

log-level

The log level of the root category or a comma-separated list of individual categories and their levels.

For the root category, you don’t need to specify a category.

CLI: --log-level Env: KC_LOG_LEVEL

info (default)

Security

Export

Import

No Comments
Back to top