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)
No Comments