Settings
Harness Open Source instance can be configured by setting Docker environment variables provided below.
For example, this command will start Harness Open Source instance and enable the Admin user account with a preconfigured email and password, with user registration disabled. All user accounts would be created manually by the Admin user.
docker run -d \
-e GITNESS_PRINCIPAL_ADMIN_EMAIL=mail@example.com \
-e GITNESS_PRINCIPAL_ADMIN_PASSWORD=correct-horse-battery-staple \
-e GITNESS_USER_SIGNUP_ENABLED=false \
-p 3000:3000 -p 3022:3022 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /tmp/harness:/data \
--name opensource \
--restart always \
harness/harness
GITNESS_CI_CONTAINER_NETWORKS
Optional comma separated list of Docker networks that are attached to every pipeline step.
Harness Open Source creates a temporary Docker network for steps during pipeline execution. Attach additional Docker networks to all steps in your pipelines by setting this variable.
When setting this variable, GITNESS_URL_CONTAINER must also be set based on the Gitness container name.
GITNESS_CI_CONTAINER_NETWORKS=networkA,networkB
GITNESS_CI_PARALLEL_WORKERS
Optional number of parallel workers. Each worker can run a single pipeline.
The default value is 2
.
GITNESS_CI_PARALLEL_WORKERS=2
GITNESS_DATABASE_DATASOURCE
Set the database connection string.
The default value is the sqlite database file.
GITNESS_DATABASE_DATASOURCE=database.sqlite3
If you configure Harness Open Source to use your own Postgres database, you must set the connection string according to your Postgres server configuration. This can be a URI or a series of key-value pairs, for example:
GITNESS_DATABASE_DATASOURCE=postgres://root:password@1.2.3.4:5432/postgres?sslmode=disable
GITNESS_DATABASE_DATASOURCE="host=1.2.3.4 port=5678 sslmode=disable dbname=gitness user=$USER password=$PASSWORD"
For more information, go to the Postgres driver documentation.
GITNESS_DATABASE_DRIVER
Set the databasee driver name.
The default value is the sqlite3 driver.
GITNESS_DATABASE_DRIVER=sqlite3
If you configure Harness Open Source to use your own Postgres database, you must set the database driver to postgres
.
GITNESS_DATABASE_DRIVER=postgres
GITNESS_DEBUG
Set DEBUG log level.
The default value is false
.
GITNESS_DEBUG=false
GITNESS_ENCRYPTER_MIXED_CONTENT
If set to true
, existing secrets stored in plaintext are fully supported, even if GITNESS_ENCRYPTER_SECRET is provided and new secrets are stored encrypted.
The default value is false
.
GITNESS_ENCRYPTER_MIXED_CONTENT=false
GITNESS_ENCRYPTER_SECRET
The secret used to encrypt secrets in the database. If no value is provided, data is stored in plaintext.
-
Create an encryption key:
$ openssl rand -hex 16
550df36e9620dd842eb06ca37f9e717e -
Provide the encryption key to Harness Open Source:
GITNESS_ENCRYPTER_SECRET=550df36e9620dd842eb06ca37f9e717e
This only impacts newly created secrets, existing secrets are not migrated. If this value is changed, all values encrypted with the previous secret will fail decryption.
GITNESS_GRACEFUL_SHUTDOWN_TIME
The max time the service is waiting for its components to complete any ongoing operations before shutting down.
The default is 300 seconds.
GITNESS_GRACEFUL_SHUTDOWN_TIME=300s
GITNESS_HTTP_PORT
The port on which the system listens for incoming calls.
The default port is 3000
.
GITNESS_HTTP_PORT=3000
GITNESS_PRINCIPAL_ADMIN_EMAIL
Enable the Admin user with the email specified. When setting this variable, GITNESS_PRINCIPAL_ADMIN_PASSWORD must also be set.
GITNESS_PRINCIPAL_ADMIN_EMAIL=mail@example.com
GITNESS_PRINCIPAL_ADMIN_PASSWORD
Enable the Admin user with the password specified. When setting this variable, GITNESS_PRINCIPAL_ADMIN_EMAIL must also be set.
GITNESS_PRINCIPAL_ADMIN_PASSWORD=correct-horse-battery-staple
GITNESS_TOKEN_COOKIE_NAME
The name of the cookie that is generated for UI during login/signup which contains the JWT.
The default value is token
.
GITNESS_TOKEN_COOKIE_NAME=token
GITNESS_TOKEN_EXPIRE
The validity time of session tokens that are generated during user login/signup.
The default is 720 hours.
GITNESS_TOKEN_EXPIRE=720h
GITNESS_TRACE
Set TRACE log level.
The default value is false
.
GITNESS_TRACE=false
GITNESS_URL_API
Used to generate user-facing API URLs.
The default value is http://$GITNESS_URL_BASE/api
GITNESS_URL_API=http://localhost:3000/api
GITNESS_URL_BASE
Used to generate the default value for all URLs. This allows for a custom DNS address without setting multiple variables.
The default value is http://localhost:$GITNESS_HTTP_PORT
GITNESS_URL_BASE=http://localhost:3000
GITNESS_URL_CONTAINER
Optional endpoint used by pipeline step containers to communicate with Harness Open Source, such as cloning repositories.
This variable is usually set along with GITNESS_CI_CONTAINER_NETWORKS.
The default value is http://host.docker.internal:$GITNESS_HTTP_PORT
GITNESS_URL_CONTAINER=http://host.docker.internal:3000
GITNESS_URL_GIT
Used to generate user facing git clone URLs for repositories.
The default value is http://$GITNESS_URL_BASE/git
GITNESS_URL_GIT=http://localhost:3000/git
GITNESS_URL_REGISTRY
Set the registry endpoint for your Harness Open Source instance.
The default value is http://host.docker.internal:3000
.
GITNESS_URL_REGISTRY=http://host.docker.internal:3000
GITNESS_URL_UI
The URL that is used to generate user-facing UI URLs.
The default value is http://$GITNESS_URL_BASE
GITNESS_URL_UI=http://localhost:3000
GITNESS_USER_SIGNUP_ENABLED
Enable user signups.
The default value is true
.
GITNESS_USER_SIGNUP_ENABLED=true