5.2. 环境变量
5.2.1. 信息环境变量
以下信息环境变量旨在提供有关镜像的信息,且不应由用户修改:
变量名称 | 描述 | 示例值 |
---|---|---|
AB_JOLOKIA_AUTH_OPENSHIFT | - | true |
AB_JOLOKIA_HTTPS | - | true |
AB_JOLOKIA_PASSWORD_RANDOM | - | true |
JBOSS_IMAGE_NAME | 镜像名称,与 "name" 标签相同。 | rh-sso-7/sso76-openshift-rhel8 |
JBOSS_IMAGE_VERSION | 镜像版本,与 "version" 标签相同。 | 7.6 |
JBOSS_MODULES_SYSTEM_PKGS | - | org.jboss.logmanager,jdk.nashorn.api |
5.2.2. 配置环境变量
配置环境变量旨在方便调整镜像,而无需重新构建,应根据需要为用户设置。
变量名称 | 描述 | 示例值 |
---|---|---|
AB_JOLOKIA_AUTH_OPENSHIFT |
切换到 OpenShift TLS 通信的客户端身份验证。此参数的值可以是相对可区分名称,它必须包含在出示客户端的证书中。启用此参数将自动将 Jolokia 切换到 https 通信模式。默认 CA 证书设置为 | true |
AB_JOLOKIA_CONFIG |
如果设置使用此文件(包括路径)作为 Jolokia JVM 代理属性(如 Jolokia 的 参考手册中所述)。如果没有设置,则将使用本文档中定义的设置创建 | /opt/jolokia/custom.properties |
AB_JOLOKIA_DISCOVERY_ENABLED | 启用 Jolokia 发现。默认为 false。 | true |
AB_JOLOKIA_HOST | 要绑定到的主机地址。默认为 0.0.0.0。 | 127.0.0.1 |
AB_JOLOKIA_HTTPS |
切换到安全与 https 的通信。默认情况下,如果在 AB_JOLOKIA_OPTS 中未提供 serverCert 配置,则会生成自签名证书。注意:如果将值设置为空字符串,则 | true |
AB_JOLOKIA_ID | 要使用的代理 ID(默认为 $HOSTNAME,这是容器 ID)。 | openjdk-app-1-xqlsj |
AB_JOLOKIA_OFF |
如果设置禁用 Jolokia 激活(即回显空值)。默认情况下启用 Jolokia。注意:如果将值设置为空字符串,则 | true |
AB_JOLOKIA_OPTS |
要附加到代理配置的额外选项。它们应该采用 | backlog=20 |
AB_JOLOKIA_PASSWORD | 用于基本身份验证的密码。默认情况下关闭身份验证。 | mypassword |
AB_JOLOKIA_PASSWORD_RANDOM | 如果设置,会为 AB_JOLOKIA_PASSWORD 生成随机值,并保存在 /opt/jolokia/etc/jolokia.pw 文件中。 | true |
AB_JOLOKIA_PORT | 要使用的端口(默认为 8778)。 | 5432 |
AB_JOLOKIA_USER | 用于基本身份验证的用户。默认为 jolokia。 | myusername |
CONTAINER_CORE_LIMIT | 2 | |
GC_ADAPTIVE_SIZE_POLICY_WEIGHT | 赋予当前的 Garbage Collection(GC)时间与之前的 GC 时间的权重。 | 90 |
GC_MAX_HEAP_FREE_RATIO | GC 年后释放的最大堆百分比以避免缩小。 | 40 |
GC_MAX_METASPACE_SIZE | 最大元空间大小。 | 100 |
GC_TIME_RATIO_MIN_HEAP_FREE_RATIO | GC 年后释放的最小堆百分比以避免扩展。 | 20 |
GC_TIME_RATIO | 指定垃圾回收外部花费的时间比率(例如,应用程序执行所花费的时间)与垃圾回收中花费的时间。 | 4 |
JAVA_DIAGNOSTICS | 把它设置为在发生事件时将一些诊断信息设置为标准输出。 | true |
JAVA_INITIAL_MEM_RATIO |
这用于计算基于 maximal 堆内存的默认初始堆内存。默认值为 100,表示将 maximal 堆的 100% 用于初始堆大小。您可以通过将此值设置为 0 来跳过此机制,在添加 no | 100 |
JAVA_MAX_MEM_RATIO |
它用于根据容器限制计算默认最大堆内存。如果在 Docker 容器中使用没有容器内存约束的情况,则此选项无效。如果存在内存限制,则 | 40 |
JAVA_OPTS_APPEND | 服务器启动选项。 | -Dkeycloak.migration.action=export -Dkeycloak.migration.provider=dir -Dkeycloak.migration.dir=/tmp |
MQ_SIMPLE_DEFAULT_PHYSICAL_DESTINATION |
为了向后兼容,请将 设置为 true,以使用 | false |
OPENSHIFT_KUBE_PING_LABELS | 集群标签选择器。 | app=sso-app |
OPENSHIFT_KUBE_PING_NAMESPACE | 集群项目命名空间。 | myproject |
SCRIPT_DEBUG |
如果设置为 | true |
SSO_ADMIN_PASSWORD |
Red Hat Single Sign-On 服务器的 | adm-password |
SSO_ADMIN_USERNAME |
Red Hat Single Sign-On 服务器的 | admin |
SSO_HOSTNAME |
Red Hat Single Sign-On 服务器的自定义主机名。默认没有设置。如果没有设置, | rh-sso-server.openshift.example.com |
SSO_REALM | 如果提供了此环境变量,要在 Red Hat Single Sign-On 服务器中创建的域名称。 | demo |
SSO_SERVICE_PASSWORD | Red Hat Single Sign-On 服务用户的密码。 | mgmt-password |
SSO_SERVICE_USERNAME | 用于访问 Red Hat Single Sign-On 服务的用户名。客户端用于在指定的红帽单点登录域内创建应用程序客户端。如果提供了此环境变量,则会创建此用户。 | sso-mgmtuser |
SSO_TRUSTSTORE | secret 中 truststore 文件的名称。 | truststore.jks |
SSO_TRUSTSTORE_DIR | 信任存储目录。 | /etc/sso-secret-volume |
SSO_TRUSTSTORE_PASSWORD | truststore 和证书的密码。 | mykeystorepass |
SSO_TRUSTSTORE_SECRET | 包含信任存储文件的 secret 名称。用于 sso-truststore-volume 卷。 | truststore-secret |
适用于 OpenShift 的红帽单点登录可用的 应用模板 可以将 上述配置变量 与常见 OpenShift 变量(如 APPLICATION_NAME 或 SOURCE_REPOSITORY_URL)相结合,还具有特定于产品的变量(例如,HORNETQ_CLUSTER_PASSWORD)或将典型的配置变量与数据库镜像(例如 POSTGRESQL_MAX_CONNECS)合并。所有这些不同类型的配置变量都可根据需要调整,以实现部署的 Red Hat Single Sign-On-enabled 应用将会尽可能与预期用例保持一致。以下介绍了与支持红帽单点登录的应用程序模板相关的配置变量列表,如下所述。
5.2.3. 所有红帽单点登录镜像的模板变量
变量 | 描述 |
---|---|
APPLICATION_NAME | 应用程序的名称。 |
DB_MAX_POOL_SIZE | 为配置的数据源设置 xa-pool/max-pool-size。 |
DB_TX_ISOLATION | 为配置的数据源设置 transaction-isolation。 |
DB_USERNAME | 数据库用户名。 |
HOSTNAME_HTTP | http 服务路由的自定义主机名。保留默认主机名的空白,例如: < application-name>.<project>.<default-domain-suffix>。 |
HOSTNAME_HTTPS | https 服务路由的自定义主机名。保留默认主机名的空白,例如: < application-name>.<project>.<default-domain-suffix>。 |
HTTPS_KEYSTORE | 机密中的密钥存储文件的名称。如果与 HTTPS_PASSWORD 和 HTTPS_NAME 一起定义,请启用 HTTPS,并将 SSL 证书密钥文件设置为 $JBOSS_HOME/standalone/configuration 下的相对路径。 |
HTTPS_KEYSTORE_TYPE | 密钥存储文件的类型(JKS 或 JCEKS)。 |
HTTPS_NAME | 与服务器证书关联的名称(如 jboss)。如果与 HTTPS_PASSWORD 和 HTTPS_KEYSTORE 一起定义,请启用 HTTPS 并设置 SSL 名称。 |
HTTPS_PASSWORD | 密钥存储和证书的密码(如 mykeystorepass)。如果与 HTTPS_NAME 和 HTTPS_KEYSTORE 一起定义,请启用 HTTPS 并设置 SSL 密钥密码。 |
HTTPS_SECRET | 包含密钥存储文件的机密的名称。 |
IMAGE_STREAM_NAMESPACE | 安装 Red Hat Middleware 镜像的 ImageStreams 的命名空间。这些 ImageStreams 通常安装在 openshift 命名空间中。如果您在不同命名空间/项目中安装了 ImageStreams 时,才需要修改它。 |
JGROUPS_CLUSTER_PASSWORD | JGroup 集群密码。 |
JGROUPS_ENCRYPT_KEYSTORE | 机密中的密钥存储文件的名称。 |
JGROUPS_ENCRYPT_NAME | 与服务器证书关联的名称(如 secret-key)。 |
JGROUPS_ENCRYPT_PASSWORD | 密钥存储和证书的密码(如 password )。 |
JGROUPS_ENCRYPT_SECRET | 包含密钥存储文件的机密的名称。 |
SSO_ADMIN_USERNAME |
Red Hat Single Sign-On 服务器的 |
SSO_ADMIN_PASSWORD |
Red Hat Single Sign-On 服务器的 |
SSO_REALM | 如果提供了此环境变量,要在 Red Hat Single Sign-On 服务器中创建的域名称。 |
SSO_SERVICE_USERNAME | 用于访问 Red Hat Single Sign-On 服务的用户名。客户端用于在指定的红帽单点登录域内创建应用程序客户端。如果提供了此环境变量,则会创建此用户。 |
SSO_SERVICE_PASSWORD | Red Hat Single Sign-On 服务用户的密码。 |
SSO_TRUSTSTORE | secret 中 truststore 文件的名称。 |
SSO_TRUSTSTORE_SECRET | 包含信任存储文件的 secret 名称。用于 sso-truststore-volume 卷。 |
SSO_TRUSTSTORE_PASSWORD | truststore 和证书的密码。 |
5.2.4. 特定于 sso76-ocp3-postgresql、sso76-ocp4-postgresql、sso76-ocp3-postgresql-persistent、sso76-ocp4-postgresql-persistent、sso76-ocp3-x509-postgresql-persistent、sso76-postgresql-persistent 和 sso76-ocp4-x509-postgresql-persistent的模板变量
变量 | 描述 |
---|---|
DB_USERNAME | 数据库用户名。 |
DB_PASSWORD | 数据库用户密码。 |
DB_JNDI | 应用程序用来解析数据源的数据库 JNDI 名称,如 java:/jboss/datasources/postgresql |
POSTGRESQL_MAX_CONNECTIONS | 允许的最大客户端连接数。这也设定了准备的最大事务数量。 |
POSTGRESQL_SHARED_BUFFERS | 配置专用于 PostgreSQL 的内存来缓存数据。 |
5.2.5. 常规 eap64 和 eap71 S2I 镜像的模板变量
变量 | 描述 |
---|---|
APPLICATION_NAME | 应用程序的名称。 |
ARTIFACT_DIR | 工件目录。 |
AUTO_DEPLOY_EXPLODED | 控制是否应该自动部署展开的部署内容。 |
CONTEXT_DIR | 要构建的 Git 项目中的路径;为 root 项目目录为空。 |
GENERIC_WEBHOOK_SECRET | 通用构建触发器机密。 |
GITHUB_WEBHOOK_SECRET | GitHub 触发器 secret。 |
HORNETQ_CLUSTER_PASSWORD | HornetQ 集群管理员密码。 |
HORNETQ_QUEUES | 队列名称。 |
HORNETQ_TOPICS | 主题名称。 |
HOSTNAME_HTTP | http 服务路由的自定义主机名。保留默认主机名的空白,例如: < application-name>.<project>.<default-domain-suffix>。 |
HOSTNAME_HTTPS | https 服务路由的自定义主机名。保留默认主机名的空白,例如: < application-name>.<project>.<default-domain-suffix>。 |
HTTPS_KEYSTORE_TYPE | 密钥存储文件的类型(JKS 或 JCEKS)。 |
HTTPS_KEYSTORE | 机密中的密钥存储文件的名称。如果与 HTTPS_PASSWORD 和 HTTPS_NAME 一起定义,请启用 HTTPS,并将 SSL 证书密钥文件设置为 $JBOSS_HOME/standalone/configuration 下的相对路径。 |
HTTPS_NAME | 与服务器证书关联的名称(如 jboss)。如果与 HTTPS_PASSWORD 和 HTTPS_KEYSTORE 一起定义,请启用 HTTPS 并设置 SSL 名称。 |
HTTPS_PASSWORD | 密钥存储和证书的密码(如 mykeystorepass)。如果与 HTTPS_NAME 和 HTTPS_KEYSTORE 一起定义,请启用 HTTPS 并设置 SSL 密钥密码。 |
HTTPS_SECRET | 包含密钥存储文件的机密的名称。 |
IMAGE_STREAM_NAMESPACE | 安装 Red Hat Middleware 镜像的 ImageStreams 的命名空间。这些 ImageStreams 通常安装在 openshift 命名空间中。如果您在不同命名空间/项目中安装了 ImageStreams 时,才需要修改它。 |
JGROUPS_CLUSTER_PASSWORD | JGroup 集群密码。 |
JGROUPS_ENCRYPT_KEYSTORE | 机密中的密钥存储文件的名称。 |
JGROUPS_ENCRYPT_NAME | 与服务器证书关联的名称(如 secret-key)。 |
JGROUPS_ENCRYPT_PASSWORD | 密钥存储和证书的密码(如 password )。 |
JGROUPS_ENCRYPT_SECRET | 包含密钥存储文件的机密的名称。 |
SOURCE_REPOSITORY_REF | Git 分支/标签引用。 |
SOURCE_REPOSITORY_URL | 应用程序的 Git 源 URI。 |
5.2.6. 特定于 eap64-sso-s2i 和 eap71-sso-s2i 的模板变量用于自动客户端注册
变量 | 描述 |
---|---|
SSO_URL | 红帽单点登录服务器位置. |
SSO_REALM | 如果提供了此环境变量,要在 Red Hat Single Sign-On 服务器中创建的域名称。 |
SSO_USERNAME | 用于访问 Red Hat Single Sign-On 服务的用户名。这可用于在指定的 Red Hat Single Sign-On 域中创建应用程序客户端。这应当与通过 sso76- 模板之一指定的 SSO_SERVICE_USERNAME 匹配。 |
SSO_PASSWORD | Red Hat Single Sign-On 服务用户的密码。 |
SSO_PUBLIC_KEY | 红帽单点登录公钥.建议将公钥传递到模板以避免中间人安全攻击。 |
SSO_SECRET | 红帽单点登录客户端机密机密访问。 |
SSO_SERVICE_URL | 红帽单点登录服务位置. |
SSO_TRUSTSTORE_SECRET | 包含信任存储文件的 secret 名称。用于 sso-truststore-volume 卷。 |
SSO_TRUSTSTORE | secret 中 truststore 文件的名称。 |
SSO_TRUSTSTORE_PASSWORD | truststore 和证书的密码。 |
SSO_BEARER_ONLY | Red Hat Single Sign-On 客户端访问类型。 |
SSO_DISABLE_SSL_CERTIFICATE_VALIDATION | 如果 EAP 与 Red Hat Single Sign-On 服务器之间的 true SSL 通信不安全(例如,使用 curl 禁用证书验证) |
SSO_ENABLE_CORS | 为红帽单点登录应用程序启用 CORS。 |
5.2.7. 特定于 eap64-sso-s2i 和 eap71-sso-s2i 的模板变量,用于自动使用 SAML 客户端进行客户端注册
变量 | 描述 |
---|---|
SSO_SAML_CERTIFICATE_NAME | 与服务器证书关联的名称。 |
SSO_SAML_KEYSTORE_PASSWORD | 密钥存储和证书的密码。 |
SSO_SAML_KEYSTORE | 机密中的密钥存储文件的名称。 |
SSO_SAML_KEYSTORE_SECRET | 包含密钥存储文件的机密的名称。 |
SSO_SAML_LOGOUT_PAGE | SAML 应用程序的 Red Hat Single Sign-On logout 页面。 |