Configuration Options
This part of the documentation is only intended in the context of a supported PoC (Proof of Concept) together with the Steadybit team. Please, book an appointment to scope your PoC before continuing to evaluate the on-prem solution.
If you just want to try out Steadybit, we recommend you sign up for our SaaS platform.
Machine Requirements
The machine you are installing Steadybit onto, must have at least 4 CPUs and 8 GB available memory.
Environment Variable | Required | Description |
---|---|---|
| Define the |
Debug Docker Images
The platform docker image doesn't contain any shell by default. In case you need to exec into the container using a shell for debugging purposes, we provide an additional debug variant whith the platform-debug
tag.
Database Configuration
Steadybit requires a PostgresSQL 15 database.
Environment Variable | Required | Description |
---|---|---|
| yes | JDBC Url for the database connection
Example: |
| yes | Database Username
Example: |
| yes | Database Password
Example: |
| Enable Http Endpoint for Database export
Default: |
RDS Machine Requirements
The workload is bound by the database CPU on peaks.
If you have ~100k targets simultaneously in the platform, we recommend a burstable instance with four vCPU (e.g., db.t4g.xlarge). Regarding disk size, 20 GB should be enough capacity for the start (as extending on AWS should not be a problem).
If you choose a smaller instance for cost savings, the target ingestion will be slower, so it will take a bit longer until the target data in the platform is consistent.
Message Broker Configuration
For running the platform with multiple instances, a Redis message broker is required.
Environment Variable | Required | Description |
---|---|---|
| yes | Redis server host
Example: |
| Redis server port
Default: | |
| Redis Username | |
| Redis Password | |
platform <= 1.0.96 | Wether to enable ssl support.
Default: | |
| Client name to be set on connections with CLIENT SETNAME. |
Tenant Configuration
Environment Variable | Required | Description |
---|---|---|
| yes | Agent key for the tenant assigned to you. Treat it as sensitive information.
Example: |
Web Configuration
Environment Variable | Required | Description |
---|---|---|
| URL to point to your Steadybit installation. Use this if your platform is running behind a reverse proxy doing path rewriting. Also it is used for the links in notifications. | |
| By default the Websocket connections are advertised to the agents on port 7878. If the public port differs (e.g. because of a proxy) use this property to advertise a different port. | |
| By default the Websocket connections are advertised on the same url name as the agents registers to. If you run a separate loadbalancer for the websockets you can override the advertised url. |
Log Configuration
Environment Variable | Required | Description |
---|---|---|
| By default Steadybit uses |
Static-Authentication
You can use a static username/password to authenticate as an admin user
Environment Variable | Required | Description |
---|---|---|
| yes | Use |
| yes | Username
Example: |
| yes | Password
Example: |
LDAP-Authentication
You can use a LDAP Server for user authentication.
By default the ldap is accessed anonymously, unless STEADYBIT_AUTH_LDAP_MANAGER_DN
and STEADYBIT_AUTH_LDAP_MANAGER_PASSWORD
is set. The users are authenticated by doing a bind with their credentials, unless STEADYBIT_AUTH_LDAP_METHOD
is set to password-compare
.
Environment Variable | Required | Description |
---|---|---|
| yes | Use |
| yes | LDAP-Server URL
Example: |
| Username (DN) of the "manager" user identity is used to authenticate to a LDAP server. If omitted anonymous access will be used. Example: | |
| The password for the manager DN. This is required if the manager-dn is specified. | |
| The search pattern to find the usernames
Default: | |
| The method to authenticate the user. Either | |
| The attribute in the directory which contains the user password, used if using | |
| yes | The DN for the groupOfNames/groupOfUniqueNames for the |
| yes | The DN for the groupOfNames/groupOfUniqueNames for the |
| The filter for the groupOfNames/groupOfUniqueNames for the teams
Example: | |
| The attribute to use as Team key
Example: | |
| The attribute to use as Team name
Example: | |
| Cron Expression which defines the periods for the LDAP synchronization
Default: |
OpenID-Connect Authentication
You can use an OpenID Connect compatible authentication provider for user authentication. Steadybit uses the authorization_code
grant type. The callback URL is https://<host>/oauth2/login/code/default
The first user to login will be assigned the
ADMIN
role, all other will be assigned theUSER
role. The roles can be changed by an admin user via the UI.
Be aware to configure your ingress / loadbalancer to set the X-Forwarded-Proto
and x-forwarded-for
header. Otherwise the correct redirect URL will not be generated.
Environment Variable | Required | Description |
---|---|---|
| yes | Use |
| yes | URI for the OpenID Connect discovery endpoint.
Example: |
| yes | The client ID to use for the OIDC registration
Example: |
| yes | The client secret to use for the OIDC registration
Example: |
| The OAUTH2 scope to use for the OIDC registration
Default: | |
| Name of the OidcIdToken attribute that will be used to identify the user
Default: | |
| Name of the OidcIdToken attribute that will be used to pick the full name of the user
Default: | |
| Name of the OidcIdToken claims attribute that will be used to pick up the assigned team names from. Steadybit automatically creates the specified teams in the platform and assigns the user to them.
Default: | |
| Restrict the login to users with a specific email domain. If set, only users with an email address from this domain will be allowed to login. Can be used with Google Workspace OIDC.
Example: |
Using SSL/TLS Encryption
SSL can be configured by setting the various SERVER_SSL_*
properties and requires a java keystore (typically PKCS12).
Environment Variable | Required | Description |
---|---|---|
| Port to use
Default: | |
| Path to the key store that holds the SSL certificate (typically a | |
| Type of the keystore
Example: | |
| Password used to access the key store | |
| Alias that identifies the key in the keystore to be used | |
| Password used to access the key in the key store. |
Audit-Log Export
Audit logs can be exported to a AWS S3 Bucket
Environment Variable | Required | Description |
---|---|---|
| Cron Expression which defines the periods for the audit log export | |
| AWS S3 Bucket Name | |
| Subfolder in the S3 Bucket | |
| AWS Region |
Advanced Agent Authentication
OpenID Connect can be used to authenticate the agents to the platform.
Environment Variable | Required | Description |
---|---|---|
| Set to | |
| yes | The issuer URI of your identity provider |
Proxy Settings
Steadybit will use these proxy settings if the platform needs to connect to other services (for example your OIDC identity provider).
Environment Variable | Required | Description |
---|---|---|
| Hostname of your proxy | |
| Port of your proxy | |
| Protocol of your proxy
Default: | |
| Username of your proxy | |
| Password of your proxy |
Experiment Execution
Environment Variable | Description |
---|---|
| Steadybit will show a warning, if there are experiments running for the same |
| The maximum total duration of an experiment. Default is |
| The time after which the experiment execution should time out after the estimated duration is reached. Default is |
| The time after which the experiment execution should time out if not all agents are prepared. Default is |
| The time after which an experiment step should time out if not started after triggering. Default is |
Data Retention Settings
All retention settings are defined via
STEADYBIT_X_RETENTION_PERIOD
a duration string, sequence of decimal numbers and a unit suffix, see Spring conversion expressions.STEADYBIT_X_RETENTION_CRON
cron string for Quartz
Note that X
links to a specific domain, see below (e.g. targets stats via TARGETS_STATS
).
Environment Variable | Description | Database Table | Default Value |
---|---|---|---|
| Maximum age of Amplitude analytics events.
Only applicable, if Amplitude is enabled and the |
|
|
| Cron String for the cleanup job of Amplitude analytics events. |
|
|
| Maximum age of audit logs. |
|
|
| Cron String for the cleanup job of audit logs. |
|
|
| Maximum age of experiment execution artifacts. |
| Keep until the execution is deleted |
| Cron String for the cleanup job of experiment execution artifacts. |
| |
| Maximum age of experiment execution logs. |
| Keep until the execution is deleted |
| Cron String for the cleanup job of experiment execution logs. |
| |
| Maximum age of experiment execution metrics. |
| Keep until the execution is deleted |
| Cron String for the cleanup job of experiment execution metrics. |
| |
| Maximum age of experiment execution spans. |
|
|
| Cron String for the cleanup job of experiment execution spans. |
|
|
| Maximum age of experiment executions. |
| No cleanup by default |
| Cron String for the cleanup job of experiment executions. |
| |
| Maximum age of metrics. |
|
|
| Cron String for the cleanup job of metrics. |
|
|
| Maximum age of target stats. |
|
|
| Cron String for the cleanup job of target stats. |
|
|
Last updated