Technical Documentation#
Build Logic#
Operating System#
Size was a major consideration in the base Docker image we used for our containers. Because of that, we use Alpine Linux, in most of our Docker images, which comes in at a whopping 5 MB by default. Based on comparisons between other base images, we've roughly saved 50-70% of space utilizing Alpine. The average size of each of our containers is about 269 MB due to dependencies.
Startup#
Docker containers generally have entrypoint scripts to prepare templates, configure files, run services, or anything else you need to run to properly initialize a container and run the process. For our containers, we pull most of our files and certificates from Consul.
Because there is a heirarchy of function to Gluu Server, wait-for-it
scripts were designed, thanks to contributions from Torstein Krause Johansen (@skybert), to try and make sure the containers don't begin their launch processes until the services superior to the container are fully started. However, there is a time limit, so a container dependent upon another container could fail as the wait-for-it
"health checks" aren't being met.
Networking Considerations#
The mandatory ports need to be published to the host server are port 80 and 443 (both are NGINX ports). By publishing these ports to the host server, Gluu Server can be accessed publicly.
oxTrust is an OpenID Connect client, so its container is dependent upon oxAuth's /.well-known/openid-configuration
endpoint, which is only accessible if NGINX is started. So if the oxTrust container cannot navigate to https://<hostname>/.well-known/openid-configuration
, it will fail to finish initialization. The container will most likely not exit.
Tini as Init for Container#
Almost all of the Gluu Server Docker images use Tini to handle signal forwarding and to reap processes.
We decided to include tini
as not all of container scheduler/orchestrator has easy way to configure signal forwarding and process reaping.
Images/Containers#
The Gluu Server Docker containers consist of in-house and 3rd-party containers.
Consul#
Note: for Kubernetes user, this container can be omitted.
The Gluu Server Docker containers were built to be centralized around a configuration KV store. For our use case, we've used Consul as our KV store. The reasoning behind this decision was to allow the containers to be as modular as possible. Services can be replaced without concern for losing any of the default configuration. This isn't to say that there won't need to be persistence using volumes (see here and here) for custom files and long standing data requirements.
That being said, Consul stores all of its configuration on the disk. Using our config-init
container, you can generate, dump, or load the cluster-wide configuration into/from Consul. Please see the documentation below on how to achieve this.
Registrator#
Note: for Kubernetes user or non-Consul based deployment, this container can be omitted.
Due to the design of Docker networking where container IP gets recycled dynamically, Registrator container is used for registering and deregistering oxAuth, oxTrust, oxShibboleth, and oxPassport container's IP. With the help of Registrator, the NGINX container will route the traffic to available oxAuth/oxTrust/oxShibboleth/oxPassport backend.
To connect to Consul container that deployed using HTTPS scheme, please use gluufederation/registrator:dev
image instead.
config-init#
config-init is a special container that is not daemonized nor executing a long-running process. The purpose of this container is to generate the initial configuration, dump the existing configuration (for backup), or even load (restore) the configuration.
The following commands are supported by the container:
-
generate
: The generate command will generate all the initial configuration files for the Gluu Server components. All existing config will be ignored unless forced by passing environment variableGLUU_OVERWRITE_ALL
.The following parameters and/or environment variables are required to launch unless otherwise marked.
Parameters:
--email
: The email address of the administrator usually. Used for certificate creation.--domain
: The domain name where the Gluu Server resides. Used for certificate creation.--country-code
: The country where the organization is located. User for certificate creation.--state
: The state where the organization is located. Used for certificate creation.--city
: The city where the organization is located. Used for certificate creation.--org-name
: The organization using the Gluu Server. Used for certificate creation.--admin-pw
: The administrator password for oxTrust and LDAP--ldap-type
: Either OpenDJ or OpenLDAP. If you're looking to use LDAP replication, we recommend OpenDJ.--base-inum
: (optional) Base inum with the following format@!xxxx.xxxx.xxxx.xxxx
wherex
represents a number or uppercased alphabet, for example@!1BDD.80B7.128C.099A
. If omitted, the value will be auto-generated.--inum-org
: (optional) Organization inum with the following format<BASE_INUM>!0001!xxxx.xxxx
wherex
represents a number or uppercased alphabet, for example@!1BDD.80B7.128C.099A!0001!4FB1.6F8C
. If omitted, the value will be auto-generated.--inum-appliance
: (optional) Appliance inum with the following format<BASE_INUM>!0002!xxxx.xxxx
wherex
represents a number or uppercased alphabet, for example@!1BDD.80B7.128C.099A!0002!8E48.6E9D
. If omitted, the value will be auto-generated.
Environment variables:
GLUU_CONFIG_ADAPTER
: The config backend adapter, can beconsul
(default) orkubernetes
.GLUU_CONSUL_HOST
: hostname or IP of Consul (default tolocalhost
).GLUU_CONSUL_PORT
: port of Consul (default to8500
).GLUU_CONSUL_CONSISTENCY
: Consul consistency mode (choose one ofdefault
,consistent
, orstale
). Default todefault
mode.GLUU_CONSUL_SCHEME
: supported Consul scheme (http
orhttps
).GLUU_CONSUL_VERIFY
: whether to verify cert or not (default tofalse
).GLUU_CONSUL_CACERT_FILE
: path to Consul CA cert file (default to/etc/certs/consul_ca.crt
). This file will be used if it exists andGLUU_CONSUL_VERIFY
set totrue
.GLUU_CONSUL_CERT_FILE
: path to Consul cert file (default to/etc/certs/consul_client.crt
).GLUU_CONSUL_KEY_FILE
: path to Consul key file (default to/etc/certs/consul_client.key
).GLUU_CONSUL_TOKEN_FILE
: path to file contains ACL token (default to/etc/certs/consul_token
).GLUU_KUBERNETES_NAMESPACE
: Kubernetes namespace (default todefault
).GLUU_KUBERNETES_CONFIGMAP
: Kubernetes configmap name (default togluu
).GLUU_OVERWRITE_ALL
: Overwrite all config (default tofalse
).
-
dump
: The dump command will dump all configuration from inside KV store into the/opt/config-init/db/config.json
file inside the container. The following parameters and/or environment variables are required to launch unless otherwise marked.Environment variables:
GLUU_CONFIG_ADAPTER
: The config backend adapter, can beconsul
(default) orkubernetes
.GLUU_CONSUL_HOST
: hostname or IP of Consul (default tolocalhost
).GLUU_CONSUL_PORT
: port of Consul (default to8500
).GLUU_CONSUL_CONSISTENCY
: Consul consistency mode (choose one ofdefault
,consistent
, orstale
). Default todefault
mode.GLUU_CONSUL_SCHEME
: supported Consul scheme (http
orhttps
).GLUU_CONSUL_VERIFY
: whether to verify cert or not (default tofalse
).GLUU_CONSUL_CACERT_FILE
: path to Consul CA cert file (default to/etc/certs/consul_ca.crt
). This file will be used if it exists andGLUU_CONSUL_VERIFY
set totrue
.GLUU_CONSUL_CERT_FILE
: path to Consul cert file (default to/etc/certs/consul_client.crt
).GLUU_CONSUL_KEY_FILE
: path to Consul key file (default to/etc/certs/consul_client.key
).GLUU_CONSUL_TOKEN_FILE
: path to file contains ACL token (default to/etc/certs/consul_token
).GLUU_KUBERNETES_NAMESPACE
: Kubernetes namespace (default todefault
).GLUU_KUBERNETES_CONFIGMAP
: Kubernetes configmap name (default togluu
).
Please note that to dump this file into the host, you'll need to map a mounted volume to the
/opt/config-init/db
directory. See this example on how to dump the config into the/path/to/host/volume/config.json
file:docker run \ --rm \ --network container:consul \ -e GLUU_CONFIG_ADAPTER=consul \ -e GLUU_CONSUL_HOST=consul \ -v /path/to/host/volume:/opt/config-init/db \ gluufederation/config-init:3.1.4_04 \ dump
-
load
: The load command will load aconfig.json
into the KV store. All existing config will be ignored unless forced by passing environment variableGLUU_OVERWRITE_ALL
.The following parameters and/or environment variables are required to launch unless otherwise marked:
Environment variables:
GLUU_CONFIG_ADAPTER
: The config backend adapter, can beconsul
(default) orkubernetes
.GLUU_CONSUL_HOST
: hostname or IP of Consul (default tolocalhost
).GLUU_CONSUL_PORT
: port of Consul (default to8500
).GLUU_CONSUL_CONSISTENCY
: Consul consistency mode (choose one ofdefault
,consistent
, orstale
). Default todefault
mode.GLUU_CONSUL_SCHEME
: supported Consul scheme (http
orhttps
).GLUU_CONSUL_VERIFY
: whether to verify cert or not (default tofalse
).GLUU_CONSUL_CACERT_FILE
: path to Consul CA cert file (default to/etc/certs/consul_ca.crt
). This file will be used if it exists andGLUU_CONSUL_VERIFY
set totrue
.GLUU_CONSUL_CERT_FILE
: path to Consul cert file (default to/etc/certs/consul_client.crt
).GLUU_CONSUL_KEY_FILE
: path to Consul key file (default to/etc/certs/consul_client.key
).GLUU_CONSUL_TOKEN_FILE
: path to file contains ACL token (default to/etc/certs/consul_token
).GLUU_KUBERNETES_NAMESPACE
: Kubernetes namespace (default todefault
).GLUU_KUBERNETES_CONFIGMAP
: Kubernetes configmap name (default togluu
).GLUU_OVERWRITE_ALL
: Overwrite all config (default tofalse
).
Please note that to load this file from the host, you'll need to map a mounted volume to the
/opt/config-init/db
directory. For example on how to load the config from/path/to/host/volume/config.json
file:docker run \ --rm \ --network container:consul \ -e GLUU_CONFIG_ADAPTER=consul \ -e GLUU_CONSUL_HOST=consul \ -v /path/to/host/volume:/opt/config-init/db \ gluufederation/config-init:3.1.4_04 \ load
OpenDJ#
The following variables are used by the container:
GLUU_CONFIG_ADAPTER
: The config backend adapter, can beconsul
(default) orkubernetes
.GLUU_CONSUL_HOST
: hostname or IP of Consul (default tolocalhost
).GLUU_CONSUL_PORT
: port of Consul (default to8500
).GLUU_CONSUL_CONSISTENCY
: Consul consistency mode (choose one ofdefault
,consistent
, orstale
). Default tostale
mode.GLUU_CONSUL_SCHEME
: supported Consul scheme (http
orhttps
).GLUU_CONSUL_VERIFY
: whether to verify cert or not (default tofalse
).GLUU_CONSUL_CACERT_FILE
: path to Consul CA cert file (default to/etc/certs/consul_ca.crt
). This file will be used if it exists andGLUU_CONSUL_VERIFY
set totrue
.GLUU_CONSUL_CERT_FILE
: path to Consul cert file (default to/etc/certs/consul_client.crt
).GLUU_CONSUL_KEY_FILE
: path to Consul key file (default to/etc/certs/consul_client.key
).GLUU_CONSUL_TOKEN_FILE
: path to file contains ACL token (default to/etc/certs/consul_token
).GLUU_KUBERNETES_NAMESPACE
: Kubernetes namespace (default todefault
).GLUU_KUBERNETES_CONFIGMAP
: Kubernetes configmap name (default togluu
).GLUU_LDAP_INIT
: whether to import initial LDAP entries (possible values are true or false).GLUU_LDAP_INIT_HOST
: LDAP hostname for initial configuration (only usable whenGLUU_LDAP_INIT
set to true).GLUU_LDAP_INIT_PORT
: LDAP port for initial configuration (only usable whenGLUU_LDAP_INIT
set to true).GLUU_CACHE_TYPE
: supported values areIN_MEMORY
,REDIS
,MEMCACHED
, andNATIVE_PERSISTENCE
(default isIN_MEMORY
)GLUU_REDIS_URL
: URL of redis service, format is host:port (optional).GLUU_REDIS_TYPE
: redis service type, eitherSTANDALONE
orCLUSTER
(optional).GLUU_LDAP_ADDR_INTERFACE
: interface name where the IP will be guessed and registered as OpenDJ host, e.g.eth0
(will be ignored ifGLUU_LDAP_ADVERTISE_ADDR
is used).GLUU_LDAP_ADVERTISE_ADDR
: the hostname/IP address used as the host of OpenDJ server.GLUU_CERT_ALT_NAME
: an additional DNS name set as Subject Alt Name in cert. If the value is not an empty string and doesn't match existing Subject Alt Name (or doesn't exist) in existing cert, then new cert will be regenerated and overwrite the one that saved in config backend. This environment variable is required only if oxShibboleth is deployed, to address issue with mismatchedCN
and destination hostname while trying to connect to OpenDJ. Note, any existing containers that connect to OpenDJ must be re-deployed to download new cert.
oxAuth#
Variables used by the container:
GLUU_CONFIG_ADAPTER
: The config backend adapter, can beconsul
(default) orkubernetes
.GLUU_CONSUL_HOST
: hostname or IP of Consul (default tolocalhost
).GLUU_CONSUL_PORT
: port of Consul (default to8500
).GLUU_CONSUL_CONSISTENCY
: Consul consistency mode (choose one ofdefault
,consistent
, orstale
). Default tostale
mode.GLUU_CONSUL_SCHEME
: supported Consul scheme (http
orhttps
).GLUU_CONSUL_VERIFY
: whether to verify cert or not (default tofalse
).GLUU_CONSUL_CACERT_FILE
: path to Consul CA cert file (default to/etc/certs/consul_ca.crt
). This file will be used if it exists andGLUU_CONSUL_VERIFY
set totrue
.GLUU_CONSUL_CERT_FILE
: path to Consul cert file (default to/etc/certs/consul_client.crt
).GLUU_CONSUL_KEY_FILE
: path to Consul key file (default to/etc/certs/consul_client.key
).GLUU_CONSUL_TOKEN_FILE
: path to file contains ACL token (default to/etc/certs/consul_token
).GLUU_KUBERNETES_NAMESPACE
: Kubernetes namespace (default todefault
).GLUU_KUBERNETES_CONFIGMAP
: Kubernetes configmap name (default togluu
).GLUU_LDAP_URL
: The LDAP database's IP address or hostname. Default islocalhost:1636
. Multiple URLs can be used using comma-separated values (i.e.192.168.100.1:1636,192.168.100.2:1636
).GLUU_MAX_RAM_FRACTION
: Used in conjunction with Docker memory limitations (docker run -m <mem>
) to identify the fraction of the maximum amount of heap memory you want the JVM to use.GLUU_DEBUG_PORT
: port of remote debugging (if omitted, remote debugging will be disabled).
oxTrust#
The following variables are used by the container:
GLUU_CONFIG_ADAPTER
: The config backend adapter, can beconsul
(default) orkubernetes
.GLUU_CONSUL_HOST
: hostname or IP of Consul (default tolocalhost
).GLUU_CONSUL_PORT
: port of Consul (default to8500
).GLUU_CONSUL_CONSISTENCY
: Consul consistency mode (choose one ofdefault
,consistent
, orstale
). Default tostale
mode.GLUU_CONSUL_SCHEME
: supported Consul scheme (http
orhttps
).GLUU_CONSUL_VERIFY
: whether to verify cert or not (default tofalse
).GLUU_CONSUL_CACERT_FILE
: path to Consul CA cert file (default to/etc/certs/consul_ca.crt
). This file will be used if it exists andGLUU_CONSUL_VERIFY
set totrue
.GLUU_CONSUL_CERT_FILE
: path to Consul cert file (default to/etc/certs/consul_client.crt
).GLUU_CONSUL_KEY_FILE
: path to Consul key file (default to/etc/certs/consul_client.key
).GLUU_CONSUL_TOKEN_FILE
: path to file contains ACL token (default to/etc/certs/consul_token
).GLUU_KUBERNETES_NAMESPACE
: Kubernetes namespace (default todefault
).GLUU_KUBERNETES_CONFIGMAP
: Kubernetes configmap name (default togluu
).GLUU_LDAP_URL
: The LDAP database's IP address or hostname. Default islocalhost:1636
. Multiple URLs can be used using comma-separated values (i.e.192.168.100.1:1636,192.168.100.2:1636
).GLUU_MAX_RAM_FRACTION
: Used in conjunction with Docker memory limitations (docker run -m <mem>
) to identify the fraction of the maximum amount of heap memory you want the JVM to use.GLUU_OXAUTH_BACKEND
: the oxAuth backend address, default islocalhost:8081
(used inwait-for-it
script)GLUU_SHIB_SOURCE_DIR
: absolute path to directory to copy Shibboleth config from (default is/opt/shibboleth-idp
)GLUU_SHIB_TARGET_DIR
: absolute path to directory to copy Shibboleth config to (default is/opt/shared-shibboleth-idp
)GLUU_DEBUG_PORT
: port of remote debugging (if omitted, remote debugging will be disabled).
oxPassport#
To add new strategies to oxPassport, refer to the official docs here. A manual restart of the oxPassport container is needed.
The following variables are used by the container:
GLUU_CONFIG_ADAPTER
: The config backend adapter, can beconsul
(default) orkubernetes
.GLUU_CONSUL_HOST
: hostname or IP of Consul (default tolocalhost
).GLUU_CONSUL_PORT
: port of Consul (default to8500
).GLUU_CONSUL_CONSISTENCY
: Consul consistency mode (choose one ofdefault
,consistent
, orstale
). Default tostale
mode.GLUU_CONSUL_SCHEME
: supported Consul scheme (http
orhttps
).GLUU_CONSUL_VERIFY
: whether to verify cert or not (default tofalse
).GLUU_CONSUL_CACERT_FILE
: path to Consul CA cert file (default to/etc/certs/consul_ca.crt
). This file will be used if it exists andGLUU_CONSUL_VERIFY
set totrue
.GLUU_CONSUL_CERT_FILE
: path to Consul cert file (default to/etc/certs/consul_client.crt
).GLUU_CONSUL_KEY_FILE
: path to Consul key file (default to/etc/certs/consul_client.key
).GLUU_CONSUL_TOKEN_FILE
: path to file contains ACL token (default to/etc/certs/consul_token
).GLUU_KUBERNETES_NAMESPACE
: Kubernetes namespace (default todefault
).GLUU_KUBERNETES_CONFIGMAP
: Kubernetes configmap name (default togluu
).GLUU_LDAP_URL
: The IP address or hostname of the LDAP database. Default islocalhost:1636
. Multiple URLs can be used using comma-separated values (i.e.192.168.100.1:1636,192.168.100.2:1636
).GLUU_OXAUTH_BACKEND
: the address of oxAuth backend, default islocalhost:8081
(used inwait-for-it
script)GLUU_OXTRUST_BACKEND
: the address of oxTrust backend, default islocalhost:8082
(used inwait-for-it
script)
oxShibboleth#
Mounting the volume from host to container, as seen in the -v $PWD/shared-shibboleth-idp:/opt/shared-shibboleth-idp
option, is required to ensure oxShibboleth can load the configuration correctly. This can also be seen here in the standalone docker-compose yaml file or here in the multi-host docker-compose yaml file.
By design, each time a Trust Relationship entry is added/updated/deleted via the oxTrust GUI, some Shibboleth-related files will be generated/modified by oxTrust and saved to the /opt/shibboleth-idp
directory inside the oxTrust container. A background job in oxTrust container ensures those files are copied to the /opt/shared-shibboleth-idp
directory (and also inside the oxTrust container, which must be mounted from container to host).
After those Shibboleth-related files are copied to /opt/shared-shibboleth
, a background job in oxShibboleth copies them to the /opt/shibboleth-idp
directory inside oxShibboleth container. To ensure files are synchronized between oxTrust and oxShibboleth, both containers must use the same mounted volume, /opt/shared-shibboleth-idp
.
The /opt/shibboleth-idp
directory is not mounted directly into the container, as there are two known issues with this approach. First, the oxShibboleth container has its own default /opt/shibboleth-idp
directory requirements to start the app itself. By mounting /opt/shibboleth-idp
directly from the host, the directory will be replaced and the oxShibboleth app won't run correctly. Secondly, oxTrust renames the metadata file, which unfortunately didn't work as expected in the mounted volume.
The following variables are used by the container:
GLUU_CONFIG_ADAPTER
: The config backend adapter, can beconsul
(default) orkubernetes
.GLUU_CONSUL_HOST
: hostname or IP of Consul (default tolocalhost
).GLUU_CONSUL_PORT
: port of Consul (default to8500
).GLUU_CONSUL_CONSISTENCY
: Consul consistency mode (choose one ofdefault
,consistent
, orstale
). Default tostale
mode.GLUU_CONSUL_SCHEME
: supported Consul scheme (http
orhttps
).GLUU_CONSUL_VERIFY
: whether to verify cert or not (default tofalse
).GLUU_CONSUL_CACERT_FILE
: path to Consul CA cert file (default to/etc/certs/consul_ca.crt
). This file will be used if it exists andGLUU_CONSUL_VERIFY
set totrue
.GLUU_CONSUL_CERT_FILE
: path to Consul cert file (default to/etc/certs/consul_client.crt
).GLUU_CONSUL_KEY_FILE
: path to Consul key file (default to/etc/certs/consul_client.key
).GLUU_CONSUL_TOKEN_FILE
: path to file contains ACL token (default to/etc/certs/consul_token
).GLUU_KUBERNETES_NAMESPACE
: Kubernetes namespace (default todefault
).GLUU_KUBERNETES_CONFIGMAP
: Kubernetes configmap name (default togluu
).GLUU_MAX_RAM_FRACTION
: Used in conjunction with Docker memory limitations (docker run -m <mem>
) to identify the fraction of the maximum amount of heap memory you want the JVM to use.GLUU_LDAP_URL
: The LDAP database's IP address or hostname. Default islocalhost:1636
. Multiple URLs can be used using comma-separated values (i.e.192.168.100.1:1636,192.168.100.2:1636
).GLUU_SHIB_SOURCE_DIR
: absolute path to directory to copy Shibboleth config from (default is/opt/shared-shibboleth-idp
)GLUU_SHIB_TARGET_DIR
: absolute path to directory to copy Shibboleth config to (default is/opt/shibboleth-idp
)
NGINX#
We built a customized NGINX image, based on the official open source version and containing a consul-template and an NGINX server itself, to satisfy our requirements:
- Dynamically updating the
upstream
directive to point to available oxAuth/oxTrust/oxShibboleth/oxPassport containers - Restarting the NGINX process when its configuration is changed (without restarting the container)
The following variables are used by the container:
GLUU_CONFIG_ADAPTER
: The config backend adapter, can beconsul
(default) orkubernetes
.GLUU_CONSUL_HOST
: hostname or IP of Consul (default tolocalhost
).GLUU_CONSUL_PORT
: port of Consul (default to8500
).GLUU_CONSUL_CONSISTENCY
: Consul consistency mode (choose one ofdefault
,consistent
, orstale
). Default tostale
mode.GLUU_CONSUL_SCHEME
: supported Consul scheme (http
orhttps
).GLUU_CONSUL_VERIFY
: whether to verify cert or not (default tofalse
).GLUU_CONSUL_CACERT_FILE
: path to Consul CA cert file (default to/etc/certs/consul_ca.crt
). This file will be used if it exists andGLUU_CONSUL_VERIFY
set totrue
.GLUU_CONSUL_CERT_FILE
: path to Consul cert file (default to/etc/certs/consul_client.crt
).GLUU_CONSUL_KEY_FILE
: path to Consul key file (default to/etc/certs/consul_client.key
).GLUU_CONSUL_TOKEN_FILE
: path to file contains ACL token (default to/etc/certs/consul_token
).GLUU_KUBERNETES_NAMESPACE
: Kubernetes namespace (default todefault
).GLUU_KUBERNETES_CONFIGMAP
: Kubernetes configmap name (default togluu
).
key-rotation#
The following variables are used by the container:
GLUU_CONFIG_ADAPTER
: The config backend adapter, can beconsul
(default) orkubernetes
.GLUU_CONSUL_HOST
: hostname or IP of Consul (default tolocalhost
).GLUU_CONSUL_PORT
: port of Consul (default to8500
).GLUU_CONSUL_CONSISTENCY
: Consul consistency mode (choose one ofdefault
,consistent
, orstale
). Default tostale
mode.GLUU_CONSUL_SCHEME
: supported Consul scheme (http
orhttps
).GLUU_CONSUL_VERIFY
: whether to verify cert or not (default tofalse
).GLUU_CONSUL_CACERT_FILE
: path to Consul CA cert file (default to/etc/certs/consul_ca.crt
). This file will be used if it exists andGLUU_CONSUL_VERIFY
set totrue
.GLUU_CONSUL_CERT_FILE
: path to Consul cert file (default to/etc/certs/consul_client.crt
).GLUU_CONSUL_KEY_FILE
: path to Consul key file (default to/etc/certs/consul_client.key
).GLUU_CONSUL_TOKEN_FILE
: path to file contains ACL token (default to/etc/certs/consul_token
).GLUU_KUBERNETES_NAMESPACE
: Kubernetes namespace (default todefault
).GLUU_KUBERNETES_CONFIGMAP
: Kubernetes configmap name (default togluu
).GLUU_LDAP_URL
: The LDAP database's IP address or hostname. Default islocalhost:1636
. Multiple URLs can be used using comma-separated values (i.e.192.168.100.1:1636,192.168.100.2:1636
).GLUU_KEY_ROTATION_INTERVAL
: how long the key should be expired (default to 48 hours).GLUU_KEY_ROTATION_CHECK
: delay between rotation check (default to 3600 seconds).