keycloak values.yaml
π
fullnameOverrideπ
Type: string
""
Description: Optionally override the fully qualified name
nameOverrideπ
Type: string
""
Description: Optionally override the name
replicasπ
Type: int
1
Description: The number of replicas to create (has no effect if autoscaling enabled)
image.repositoryπ
Type: string
"registry1.dso.mil/ironbank/opensource/keycloak/keycloak"
Description: The Keycloak image repository
image.tagπ
Type: string
"26.1.4"
image.digestπ
Type: string
""
image.pullPolicyπ
Type: string
"IfNotPresent"
Description: The Keycloak image pull policy
imagePullSecretsπ
Type: list
- name: private-registry
Description: Image pull secrets for the Pod
hostAliasesπ
Type: list
[]
Description: Mapping between IPs and hostnames that will be injected as entries in the Podβs hosts files
enableServiceLinksπ
Type: bool
true
Description: Indicates whether information about services should be injected into Podβs environment variables, matching the syntax of Docker links
podManagementPolicyπ
Type: string
"Parallel"
Description: Pod management policy. One of Parallel
or OrderedReady
updateStrategyπ
Type: string
"RollingUpdate"
Description: StatefulSetβs update strategy
restartPolicyπ
Type: string
"Always"
Description: Pod restart policy. One of Always
, OnFailure
, or Never
serviceAccount.createπ
Type: bool
true
Description: Specifies whether a ServiceAccount should be created
serviceAccount.allowReadPodsπ
Type: bool
false
Description: Specifies whether the ServiceAccount can get and list pods
serviceAccount.nameπ
Type: string
""
Description: The name of the service account to use. If not set and create is true, a name is generated using the fullname template
serviceAccount.annotationsπ
Type: object
{}
Description: Additional annotations for the ServiceAccount
serviceAccount.labelsπ
Type: object
{}
Description: Additional labels for the ServiceAccount
serviceAccount.imagePullSecretsπ
Type: list
[]
Description: Image pull secrets that are attached to the ServiceAccount
serviceAccount.automountServiceAccountTokenπ
Type: bool
true
Description: Automount API credentials for the Service Account
rbac.createπ
Type: bool
false
rbac.rulesπ
Type: list
[]
podSecurityContextπ
Type: object
fsGroup: 2000
runAsGroup: 2000
runAsNonRoot: true
runAsUser: 2000
Description: SecurityContext for the entire Pod. Every container running in the Pod will inherit this SecurityContext. This might be relevant when other components of the environment inject additional containers into running Pods (service meshes are the most prominent example for this)
securityContextπ
Type: object
capabilities:
drop:
- ALL
runAsGroup: 2000
runAsNonRoot: true
runAsUser: 2000
Description: SecurityContext for the Keycloak container
extraInitContainersπ
Type: string
""
Description: Additional init containers, e. g. for providing custom themes
skipInitContainersπ
Type: bool
false
Description: When using service meshes which rely on a sidecar, it may be necessary to skip init containers altogether, since the sidecar doesnβt start until the init containers are done, and the sidecar may be required for network access. For example, Istio in strict mTLS mode prevents the dbchecker init container from ever completing
extraContainersπ
Type: string
""
Description: Additional sidecar containers, e. g. for a database proxy, such as Googleβs cloudsql-proxy
lifecycleHooksπ
Type: string
""
Description: Lifecycle hooks for the Keycloak container
terminationGracePeriodSecondsπ
Type: int
60
Description: Termination grace period in seconds for Keycloak shutdown. Clusters with a large cache might need to extend this to give Infinispan more time to rebalance
clusterDomainπ
Type: string
"cluster.local"
Description: The internal Kubernetes cluster domain
commandπ
Type: list
[]
Description: Overrides the default entrypoint of the Keycloak container
argsπ
Type: list
- start
Description: Overrides the default args for the Keycloak container arg: βstartβ needs to be set for the container to start up properly
extraEnvπ
Type: string
""
Description: Additional environment variables for Keycloak Any environment variables defined directly in the statefulset should be set with the appropriate values rather than set here, which will potentially produce duplicates and helm upgrade errors https://www.keycloak.org/server/all-config
extraEnvFromπ
Type: string
"- secretRef:\n name: '{{ include \"keycloak.fullname\" . }}-env'\n"
Description: Additional environment variables for Keycloak mapped from Secret or ConfigMap
priorityClassNameπ
Type: string
""
Description: Pod priority class name
affinityπ
Type: string
"podAntiAffinity:\n requiredDuringSchedulingIgnoredDuringExecution:\n - labelSelector:\n matchLabels:\n {{- include \"keycloak.selectorLabels\" . | nindent 10 }}\n matchExpressions:\n - key: app.kubernetes.io/component\n operator: NotIn\n values:\n - test\n topologyKey: kubernetes.io/hostname\n preferredDuringSchedulingIgnoredDuringExecution:\n - weight: 100\n podAffinityTerm:\n labelSelector:\n matchLabels:\n {{- include \"keycloak.selectorLabels\" . | nindent 12 }}\n matchExpressions:\n - key: app.kubernetes.io/component\n operator: NotIn\n values:\n - test\n topologyKey: topology.kubernetes.io/zone\n"
Description: Pod affinity
topologySpreadConstraintsπ
Type: string
nil
Description: Topology spread constraints template
nodeSelectorπ
Type: object
{}
Description: Node labels for Pod assignment
tolerationsπ
Type: list
[]
Description: Node taints to tolerate
podLabelsπ
Type: object
{}
Description: Additional Pod labels
podAnnotationsπ
Type: object
{}
Description: Additional Pod annotations
livenessProbeπ
Type: string
"httpGet:\n path: /auth/realms/master\n port: http\n scheme: HTTP\nfailureThreshold: 15\ntimeoutSeconds: 2\nperiodSeconds: 15\ninitialDelaySeconds: 0\n"
Description: Liveness probe configuration
readinessProbeπ
Type: string
"httpGet:\n path: /auth/realms/master\n port: http\n scheme: HTTP\nfailureThreshold: 15\ntimeoutSeconds: 2\ninitialDelaySeconds: 10\n"
Description: Readiness probe configuration
startupProbeπ
Type: string
"httpGet:\n path: /auth/realms/master\n port: http\ninitialDelaySeconds: 90\ntimeoutSeconds: 2\nfailureThreshold: 60\nperiodSeconds: 5\n"
Description: Startup probe configuration
resourcesπ
Type: object
limits:
memory: 1Gi
requests:
cpu: '1'
memory: 1Gi
Description: Pod resource requests and limits
extraVolumesπ
Type: string
""
Description: Add additional volumes, e. g. for custom themes
extraVolumesBigBangπ
Type: object
{}
Description: This values key is reserved for integration with BigBang chart
extraVolumeMountsπ
Type: string
""
Description: Add additional volumes mounts, e. g. for custom themes
extraVolumeMountsBigBangπ
Type: object
{}
Description: This values key is reserved for integration with BigBang chart
extraPortsπ
Type: list
[]
Description: Add additional ports, e. g. for admin console or exposing JGroups ports
podDisruptionBudgetπ
Type: object
{}
Description: Pod disruption budget
statefulsetAnnotationsπ
Type: object
{}
Description: Annotations for the StatefulSet
statefulsetLabelsπ
Type: object
{}
Description: Additional labels for the StatefulSet
secretsπ
Type: object
env:
stringData:
JAVA_OPTS_APPEND: -Djgroups.dns.query={{ include "keycloak.fullname" . }}-headless
JAVA_TOOL_OPTIONS: -Dcom.redhat.fips=false
KEYCLOAK_ADMIN: admin
KEYCLOAK_ADMIN_PASSWORD: password
Description: Configuration for secrets that should be created The secrets can also be independently created separate from this helm chart. for example with a gitops tool like flux with a kustomize overlay.
secrets.envπ
Type: object
stringData:
JAVA_OPTS_APPEND: -Djgroups.dns.query={{ include "keycloak.fullname" . }}-headless
JAVA_TOOL_OPTIONS: -Dcom.redhat.fips=false
KEYCLOAK_ADMIN: admin
KEYCLOAK_ADMIN_PASSWORD: password
Description: Environmental variables
secrets.env.stringData.JAVA_TOOL_OPTIONSπ
Type: string
"-Dcom.redhat.fips=false"
Description: https://access.redhat.com/documentation/en-us/openjdk/11/html-single/configuring_openjdk_11_on_rhel_with_fips/index
secrets.env.stringData.KEYCLOAK_ADMINπ
Type: string
"admin"
Description: default admin credentials. Override them for production deployments
secrets.env.stringData.JAVA_OPTS_APPENDπ
Type: string
"-Djgroups.dns.query={{ include \"keycloak.fullname\" . }}-headless"
Description: https://www.keycloak.org/server/caching
service.annotationsπ
Type: object
{}
Description: Annotations for HTTP service
service.labelsπ
Type: object
{}
Description: Additional labels for headless and HTTP Services
service.typeπ
Type: string
"ClusterIP"
Description: The Service type
service.loadBalancerIPπ
Type: string
""
Description: Optional IP for the load balancer. Used for services of type LoadBalancer only
service.httpPortπ
Type: int
80
Description: The http Service port
service.httpNodePortπ
Type: string
nil
Description: The HTTP Service node port if type is NodePort
service.httpsPortπ
Type: int
8443
Description: The HTTPS Service port
service.httpsNodePortπ
Type: string
nil
Description: The HTTPS Service node port if type is NodePort
service.extraPortsπ
Type: list
[]
Description: Additional Service ports, e. g. for custom admin console
service.loadBalancerSourceRangesπ
Type: list
[]
Description: When using Service type LoadBalancer, you can restrict source ranges allowed to connect to the LoadBalancer, e. g. will result in Security Groups (or equivalent) with inbound source ranges allowed to connect
service.externalTrafficPolicyπ
Type: string
"Cluster"
Description: When using Service type LoadBalancer, you can preserve the source IP seen in the container by changing the default (Cluster) to be Local. See https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
service.sessionAffinityπ
Type: string
""
Description: Session affinity See https://kubernetes.io/docs/concepts/services-networking/service/#proxy-mode-userspace
service.sessionAffinityConfigπ
Type: object
{}
Description: Session affinity config
serviceHeadless.annotationsπ
Type: object
{}
Description: Annotations for headless service
ingress.enabledπ
Type: bool
false
Description: If true
, an Ingress is created
ingress.ingressClassNameπ
Type: string
""
Description: The name of the Ingress Class associated with this ingress
ingress.servicePortπ
Type: string
"http"
Description: The Service port targeted by the Ingress
ingress.annotationsπ
Type: object
{}
Description: Ingress annotations
ingress.labelsπ
Type: object
{}
Description: Additional Ingress labels
ingress.rulesπ
Type: list
- host: '{{ .Release.Name }}.keycloak.example.com'
paths:
- path: '{{ tpl .Values.http.relativePath $ | trimSuffix "/" }}/'
pathType: Prefix
Description: List of rules for the Ingress
ingress.rules[0]π
Type: object
host: '{{ .Release.Name }}.keycloak.example.com'
paths:
- path: '{{ tpl .Values.http.relativePath $ | trimSuffix "/" }}/'
pathType: Prefix
Description: Ingress hostname
ingress.rules[0].pathsπ
Type: list
- path: '{{ tpl .Values.http.relativePath $ | trimSuffix "/" }}/'
pathType: Prefix
Description: Paths for the host
ingress.consoleπ
Type: object
annotations: {}
enabled: false
ingressClassName: ''
rules:
- host: '{{ .Release.Name }}.keycloak.example.com'
paths:
- path: '{{ tpl .Values.http.relativePath $ | trimSuffix "/" }}/admin'
pathType: Prefix
tls: []
Description: ingress for console only (/auth/admin)
ingress.console.enabledπ
Type: bool
false
Description: If true
, an Ingress is created for console path only
ingress.console.ingressClassNameπ
Type: string
""
Description: The name of Ingress Class associated with the console ingress only
ingress.console.annotationsπ
Type: object
{}
Description: Ingress annotations for console ingress only Useful to set nginx.ingress.kubernetes.io/whitelist-source-range particularly
ingress.console.rules[0].hostπ
Type: string
"{{ .Release.Name }}.keycloak.example.com"
Description: Ingress host
ingress.console.rules[0].pathsπ
Type: list
- path: '{{ tpl .Values.http.relativePath $ | trimSuffix "/" }}/admin'
pathType: Prefix
Description: Paths for the host
ingress.console.tlsπ
Type: list
[]
Description: Console TLS configuration
networkPolicyπ
Type: object
egress: []
enabled: false
extraFrom: []
labels: {}
Description: Network policy configuration https://kubernetes.io/docs/concepts/services-networking/network-policies/
networkPolicy.enabledπ
Type: bool
false
Description: If true, the Network policies are deployed
networkPolicy.labelsπ
Type: object
{}
Description: Additional Network policy labels
networkPolicy.extraFromπ
Type: list
[]
Description: Define all other external allowed source See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.25/#networkpolicypeer-v1-networking-k8s-io
networkPolicy.egressπ
Type: list
[]
Description: Define egress networkpolicies for the Keycloak pods (external database for example) See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.25/#networkpolicyegressrule-v1-networking-k8s-io
route.enabledπ
Type: bool
false
Description: If true
, an OpenShift Route is created
route.pathπ
Type: string
"/"
Description: Path for the Route
route.annotationsπ
Type: object
{}
Description: Route annotations
route.labelsπ
Type: object
{}
Description: Additional Route labels
route.hostπ
Type: string
""
Description: Host name for the Route
route.tlsπ
Type: object
enabled: true
insecureEdgeTerminationPolicy: Redirect
termination: edge
Description: TLS configuration
route.tls.enabledπ
Type: bool
true
Description: If true
, TLS is enabled for the Route
route.tls.insecureEdgeTerminationPolicyπ
Type: string
"Redirect"
Description: Insecure edge termination policy of the Route. Can be None
, Redirect
, or Allow
route.tls.terminationπ
Type: string
"edge"
Description: TLS termination of the route. Can be edge
, passthrough
, or reencrypt
dbchecker.enabledπ
Type: bool
true
Description: If true
, the dbchecker init container is enabled
dbchecker.image.repositoryπ
Type: string
"registry1.dso.mil/ironbank/opensource/postgres/postgresql-alpine"
Description: Docker image used to check Postgresql readiness at startup
dbchecker.image.tagπ
Type: string
"15.10"
Description: Image tag for the pgchecker image
dbchecker.image.pullPolicyπ
Type: string
"IfNotPresent"
Description: Image pull policy for the dbchecker image
dbchecker.securityContextπ
Type: object
allowPrivilegeEscalation: false
capabilities:
drop:
- ALL
runAsGroup: 1000
runAsNonRoot: true
runAsUser: 1000
Description: SecurityContext for the dbchecker container
dbchecker.resourcesπ
Type: object
limits:
memory: 256Mi
requests:
cpu: 250m
memory: 256Mi
Description: Resource requests and limits for the dbchecker container
postgresql.enabledπ
Type: bool
true
Description: If true
, the Postgresql dependency is enabled
postgresql.auth.usernameπ
Type: string
"keycloak"
Description: PostgreSQL User to create
postgresql.auth.passwordπ
Type: string
"keycloak"
Description: PostgreSQL Password for the new user
postgresql.auth.databaseπ
Type: string
"keycloak"
Description: PostgreSQL Database to create
postgresql.networkPolicyπ
Type: object
enabled: false
Description: PostgreSQL network policy configuration
postgresql.global.imagePullSecrets[0]π
Type: string
"private-registry"
postgresql.image.registryπ
Type: string
"registry1.dso.mil"
postgresql.image.repositoryπ
Type: string
"ironbank/opensource/postgres/postgresql-alpine"
postgresql.image.tagπ
Type: string
"15.10"
postgresql.service.portπ
Type: int
5432
postgresql.primary.podSecurityContext.enabledπ
Type: bool
true
postgresql.primary.podSecurityContext.fsGroupπ
Type: int
1001
postgresql.primary.containerSecurityContext.enabledπ
Type: bool
true
postgresql.primary.containerSecurityContext.runAsUserπ
Type: int
1001
postgresql.primary.containerSecurityContext.runAsGroupπ
Type: int
1001
postgresql.primary.containerSecurityContext.runAsNonRootπ
Type: bool
true
postgresql.primary.containerSecurityContext.allowPrivilegeEscalationπ
Type: bool
false
postgresql.primary.containerSecurityContext.seccompProfile.typeπ
Type: string
"RuntimeDefault"
postgresql.primary.containerSecurityContext.capabilities.drop[0]π
Type: string
"ALL"
databaseπ
Type: object
database: null
existingSecret: ''
existingSecretKey: ''
hostname: null
password: null
port: null
username: null
vendor: null
Description: If the database is not managed by this chart, you can use these keys to configure the connection
database.existingSecretπ
Type: string
""
Description: name of the existing secret containing the database password
database.existingSecretKeyπ
Type: string
""
Description: key in the existing secret containing the database password
database.vendorπ
Type: string
nil
Description: E.g. dev-file, dev-mem, mariadb, mssql, mysql, oracle or postgres
database.hostnameπ
Type: string
nil
Description: The database host
database.portπ
Type: string
nil
Description: The database port
database.databaseπ
Type: string
nil
Description: The database name
database.usernameπ
Type: string
nil
Description: The database username
database.passwordπ
Type: string
nil
Description: The database password (ignored if existingSecret is set)
cache.stackπ
Type: string
"default"
Description: Use βcustomβ to disable automatic cache configuration
proxy.enabledπ
Type: bool
true
proxy.modeπ
Type: string
"forwarded"
proxy.http.enabledπ
Type: bool
true
metrics.enabledπ
Type: bool
true
health.enabledπ
Type: bool
true
http.relativePathπ
Type: string
"/auth"
Description: For backwards compatibility reasons we set this to the value used by previous Keycloak versions.
http.internalPortπ
Type: string
"http-internal"
http.internalSchemeπ
Type: string
"HTTP"
serviceMonitor.enabledπ
Type: bool
false
Description: If true
, a ServiceMonitor resource for the prometheus-operator is created
serviceMonitor.namespaceπ
Type: string
""
Description: Optionally sets a target namespace in which to deploy the ServiceMonitor resource
serviceMonitor.namespaceSelectorπ
Type: object
{}
Description: Optionally sets a namespace for the ServiceMonitor
serviceMonitor.annotationsπ
Type: object
{}
Description: Annotations for the ServiceMonitor
serviceMonitor.labelsπ
Type: object
{}
Description: Additional labels for the ServiceMonitor
serviceMonitor.intervalπ
Type: string
"10s"
Description: Interval at which Prometheus scrapes metrics
serviceMonitor.scrapeTimeoutπ
Type: string
"10s"
Description: Timeout for scraping
serviceMonitor.pathπ
Type: string
"{{ tpl .Values.http.relativePath $ | trimSuffix \"/\" }}/metrics"
Description: The path at which metrics are served
serviceMonitor.portπ
Type: string
"{{ .Values.http.internalPort }}"
Description: The Service port at which metrics are served
serviceMonitor.schemeπ
Type: string
""
serviceMonitor.tlsConfigπ
Type: object
{}
extraServiceMonitor.enabledπ
Type: bool
false
Description: If true
, a ServiceMonitor resource for the prometheus-operator is created
extraServiceMonitor.namespaceπ
Type: string
""
Description: Optionally sets a target namespace in which to deploy the ServiceMonitor resource
extraServiceMonitor.namespaceSelectorπ
Type: object
{}
Description: Optionally sets a namespace for the ServiceMonitor
extraServiceMonitor.annotationsπ
Type: object
{}
Description: Annotations for the ServiceMonitor
extraServiceMonitor.labelsπ
Type: object
{}
Description: Additional labels for the ServiceMonitor
extraServiceMonitor.intervalπ
Type: string
"10s"
Description: Interval at which Prometheus scrapes metrics
extraServiceMonitor.scrapeTimeoutπ
Type: string
"10s"
Description: Timeout for scraping
extraServiceMonitor.pathπ
Type: string
"{{ tpl .Values.http.relativePath $ | trimSuffix \"/\" }}/metrics"
Description: The path at which metrics are served
extraServiceMonitor.portπ
Type: string
"{{ .Values.http.internalPort }}"
Description: The Service port at which metrics are served
extraServiceMonitor.schemeπ
Type: string
""
extraServiceMonitor.tlsConfigπ
Type: object
{}
prometheusRule.enabledπ
Type: bool
false
Description: If true
, a PrometheusRule resource for the prometheus-operator is created
prometheusRule.namespaceπ
Type: string
""
Description: Optionally sets a target namespace in which to deploy the ServiceMonitor resource
prometheusRule.annotationsπ
Type: object
{}
Description: Annotations for the PrometheusRule
prometheusRule.labelsπ
Type: object
{}
Description: Additional labels for the PrometheusRule
prometheusRule.rulesπ
Type: list
[]
Description: List of rules for Prometheus
autoscaling.enabledπ
Type: bool
false
Description: If true
, an autoscaling/v2 HorizontalPodAutoscaler resource is created (requires Kubernetes 1.23 or above) Autoscaling seems to be most reliable when using KUBE_PING service discovery (see README for details) This disables the replicas
field in the StatefulSet
autoscaling.labelsπ
Type: object
{}
Description: Additional HorizontalPodAutoscaler labels
autoscaling.minReplicasπ
Type: int
3
Description: The minimum and maximum number of replicas for the Keycloak StatefulSet
autoscaling.maxReplicasπ
Type: int
10
autoscaling.metricsπ
Type: list
- resource:
name: cpu
target:
averageUtilization: 80
type: Utilization
type: Resource
Description: The metrics to use for scaling
autoscaling.behaviorπ
Type: object
scaleDown:
policies:
- periodSeconds: 300
type: Pods
value: 1
stabilizationWindowSeconds: 300
Description: The scaling policy to use. This will scale up quickly but only scale down a single Pod per 5 minutes. This is important because caches are usually only replicated to 2 Pods and if one of those Pods is terminated this will give the cluster time to recover.
test.enabledπ
Type: bool
false
Description: If true
, test resources are created
test.image.repositoryπ
Type: string
"docker.io/seleniarm/standalone-chromium"
Description: The image for the test Pod
test.image.tagπ
Type: string
"117.0"
Description: The tag for the test Pod image
test.image.pullPolicyπ
Type: string
"IfNotPresent"
Description: The image pull policy for the test Pod image
test.podSecurityContextπ
Type: object
fsGroup: 1000
Description: SecurityContext for the entire test Pod
test.securityContextπ
Type: object
runAsNonRoot: true
runAsUser: 1000
Description: SecurityContext for the test container
test.deletionPolicyπ
Type: string
"before-hook-creation"
Description: See https://helm.sh/docs/topics/charts_hooks/#hook-deletion-policies
domainπ
Type: string
"dev.bigbang.mil"
Description: Your FQDN will be ${ .Values.subdomain }.${ .Values.domain }
istio.enabledπ
Type: bool
false
Description: Toggle istio integration
istio.hardenedπ
Type: object
customAuthorizationPolicies: []
customServiceEntries: []
enabled: false
outboundTrafficPolicyMode: REGISTRY_ONLY
Description: Toggle istio hardening
istio.injectionπ
Type: string
"disabled"
istio.mtls.modeπ
Type: string
"STRICT"
Description: PERMISSIVE = Allow both plain text and mutual TLS traffic
istio.keycloak.enabledπ
Type: bool
false
Description: Toggle vs creation
istio.keycloak.annotationsπ
Type: object
{}
istio.keycloak.labelsπ
Type: object
{}
istio.keycloak.gateways[0]π
Type: string
"istio-system/main"
istio.keycloak.hosts[0]π
Type: string
"keycloak.{{ .Values.domain }}"
monitoring.enabledπ
Type: bool
false
networkPolicies.enabledπ
Type: bool
false
networkPolicies.ingressLabels.appπ
Type: string
"istio-ingressgateway"
networkPolicies.ingressLabels.istioπ
Type: string
"ingressgateway"
networkPolicies.smtpPortπ
Type: int
587
networkPolicies.ldap.enabledπ
Type: bool
false
networkPolicies.ldap.cidrπ
Type: string
"X.X.X.X/X"
networkPolicies.ldap.portπ
Type: int
636
networkPolicies.additionalPoliciesπ
Type: list
[]
openshiftπ
Type: bool
false
bbtests.enabledπ
Type: bool
false
bbtests.imageπ
Type: string
"registry1.dso.mil/ironbank/big-bang/base:2.1.0"
bbtests.cypress.artifactsπ
Type: bool
true
bbtests.cypress.envs.cypress_urlπ
Type: string
"http://keycloak-http.keycloak.svc.cluster.local"
bbtests.cypress.envs.cypress_usernameπ
Type: string
"admin"
bbtests.cypress.envs.cypress_passwordπ
Type: string
"password"
bbtests.cypress.envs.cypress_tnr_usernameπ
Type: string
"cypress"
bbtests.cypress.envs.cypress_tnr_passwordπ
Type: string
"tnr_w!G33ZyAt@C8"
bbtests.cypress.envs.tnr_usernameπ
Type: string
"cypress"
bbtests.cypress.envs.tnr_passwordπ
Type: string
"tnr_w!G33ZyAt@C8"
bbtests.cypress.envs.tnr_firstNameπ
Type: string
"Cypress"
bbtests.cypress.envs.tnr_lastNameπ
Type: string
"TNR"
bbtests.cypress.envs.tnr_emailπ
Type: string
"cypress@tnr.mil"