Installation Configurations

Configuration

Configure Secrets

For helm installation this section referes to secrets.env section of values.yaml. For kubectl based installation it refers to kind: secret in install/devtron-operator-configs.yaml.

Configure the following properties:

ParameterDescriptionDefault

POSTGRESQL_PASSWORD

Using this parameter the auto-generated password for Postgres can be edited as per requirement(Used by Devtron to store the app information)

WEBHOOK_TOKEN

If you want to continue using Jenkins for CI then provide this for authentication of requests should be base64 encoded

Configure ConfigMaps

For helm installation this section refers to configs section of values.yaml. For kubectl based installation it refers to kind: ConfigMap in install/devtron-operator-configs.yaml.

Configure the following properties:

ParameterDescriptionDefault

BASE_URL_SCHEME

Either of HTTP or HTTPS (required)

HTTP

BASE_URL

URL without scheme and trailing slash, this is the domain pointing to the cluster on which the Devtron platform is being installed. For example, if you have directed domain devtron.example.com to the cluster and the ingress controller is listening on port 32080 then URL will be devtron.example.com:32080 (required)

change-me

DEX_CONFIG

dex config if you want to integrate login with SSO (optional) for more information check Argocd documentation

EXTERNAL_SECRET_AMAZON_REGION

AWS region for the secret manager to pick (required)

PROMETHEUS_URL

URL of Prometheus where all cluster data is stored; if this is wrong, you will not be able to see application metrics like CPU, RAM, HTTP status code, latency, and throughput (required)

Storage for Logs and Cache

AWS SPECIFIC

While installing Devtron and using the AWS-S3 bucket for storing the logs and caches, the below parameters are to be used in the ConfigMap.

NOTE: For using the S3 bucket it is important to add the S3 permission policy to the IAM role attached to the nodes of the cluster.

ParameterDescriptionDefault

DEFAULT_CACHE_BUCKET

AWS bucket to store docker cache, it should be created beforehand (required)

DEFAULT_BUILD_LOGS_BUCKET

AWS bucket to store build logs, it should be created beforehand (required)

DEFAULT_CACHE_BUCKET_REGION

AWS region of S3 bucket to store cache (required)

DEFAULT_CD_LOGS_BUCKET_REGION

AWS region of S3 bucket to store CD logs (required)

AZURE SPECIFIC

While installing Devtron using Azure Blob Storage for storing logs and caches, the below parameters will be used in the ConfigMap.

NOTE: For using the storage containers it is mandatory to enable versioning on the storage account. Refer this guide to enable the same.

ParameterDescriptionDefault

AZURE_ACCOUNT_NAME

Account name for AZURE Blob Storage

AZURE_BLOB_CONTAINER_CI_LOG

AZURE Blob storage container for storing ci-logs after running the CI pipeline

AZURE_BLOB_CONTAINER_CI_CACHE

AZURE Blob storage container for storing ci cache after running the CI pipeline

To convert string to base64 use the following command:

echo -n "string" | base64 -d

Note:

  1. Ensure that the cluster has read and write access to the S3 buckets/Azure Blob storage container mentioned in DEFAULT_CACHE_BUCKET, DEFAULT_BUILD_LOGS_BUCKET or AZURE_BLOB_CONTAINER_CI_LOG, or AZURE_BLOB_CONTAINER_CI_CACHE.

  2. Ensure that the cluster has read access to AWS secrets backends (SSM & secrets manager).


The following tables contain parameters and their details for Secrets and ConfigMaps that are configured during the installation of Devtron. While installing Devtron using kubectl the following parameters can be tweaked in devtron-operator-configs.yaml file. If the installation is proceeded using helm3, the values can be tweaked in values.yaml file.

We can use the --set flag to override the default values when installing with Helm. For example, to update POSTGRESQL_PASSWORD and BLOB_STORAGE_PROVIDER, use the install command as:

helm install devtron devtron/devtron-operator --create-namespace --namespace devtroncd \
--set secrets.POSTGRESQL_PASSWORD=change-me \
--set configs.BLOB_STORAGE_PROVIDER=S3 \

Secrets

ParameterDescriptionDefaultNecessity

ACD_PASSWORD

ArgoCD Password for CD Workflow

Auto-Generated

Optional

AZURE_ACCOUNT_KEY

Account key to access Azure objects such as BLOB_CONTAINER_CI_LOG or CI_CACHE

""

Mandatory (If using Azure)

GRAFANA_PASSWORD

Password for Grafana to display graphs

Auto-Generated

Optional

POSTGRESQL_PASSWORD

Password for your Postgresql database that will be used to access the database

Auto-Generated

Optional

ConfigMaps

ParameterDescriptionDefaultNecessity

AZURE_ACCOUNT_NAME

Azure account name which you will use

""

Mandatory (If using Azure)

AZURE_BLOB_CONTAINER_CI_LOG

Name of container created for storing CI_LOG

ci-log-container

Optional

AZURE_BLOB_CONTAINER_CI_CACHE

Name of container created for storing CI_CACHE

ci-cache-container

Optional

BLOB_STORAGE_PROVIDER

Cloud provider name which you will use

MINIO

Mandatory (If using any cloud other than MINIO), MINIO/AZURE/S3

DEFAULT_BUILD_LOGS_BUCKET

S3 Bucket name used for storing Build Logs

devtron-ci-log

Mandatory (If using AWS)

DEFAULT_CD_LOGS_BUCKET_REGION

Region of S3 Bucket where CD Logs are being stored

us-east-1

Mandatory (If using AWS)

DEFAULT_CACHE_BUCKET

S3 Bucket name used for storing CACHE (Do not include s3://)

devtron-ci-cache

Mandatory (If using AWS)

DEFAULT_CACHE_BUCKET_REGION

S3 Bucket region where Cache is being stored

us-east-1

Mandatory (If using AWS)

EXTERNAL_SECRET_AMAZON_REGION

Region where the cluster is setup for Devtron installation

""

Mandatory (If using AWS)

ENABLE_INGRESS

To enable Ingress (True/False)

False

Optional

INGRESS_ANNOTATIONS

Annotations for ingress

""

Optional

PROMETHEUS_URL

Existing Prometheus URL if it is installed

""

Optional

CI_NODE_LABEL_SELECTOR

Label of CI worker node

""

Optional

CI_NODE_TAINTS_KEY

Taint key name of CI worker node

""

Optional

CI_NODE_TAINTS_VALUE

Value of taint key of CI node

""

Optional

CI_DEFAULT_ADDRESS_POOL_BASE_CIDR

CIDR ranges used to allocate subnets in each IP address pool for CI

""

Optional

CI_DEFAULT_ADDRESS_POOL_SIZE

The subnet size to allocate from the base pool for CI

""

Optional

CD_NODE_LABEL_SELECTOR

Label of CD node

kubernetes.io/os=linux

Optional

CD_NODE_TAINTS_KEY

Taint key name of CD node

dedicated

Optional

CD_NODE_TAINTS_VALUE

Value of taint key of CD node

ci

Optional

CD_LIMIT_CI_CPU

CPU limit for pre and post CD Pod

0.5

Optional

CD_LIMIT_CI_MEM

Memory limit for pre and post CD Pod

3G

Optional

CD_REQ_CI_CPU

CPU request for CI Pod

0.5

Optional

CD_REQ_CI_MEM

Memory request for CI Pod

1G

Optional

CD_DEFAULT_ADDRESS_POOL_BASE_CIDR

CIDR ranges used to allocate subnets in each IP address pool for CD

""

Optional

CD_DEFAULT_ADDRESS_POOL_SIZE

The subnet size to allocate from the base pool for CD

""

Optional

GITOPS_REPO_PREFIX

Prefix for Gitops repository

devtron

Optional

Dashboard Configurations

RECOMMEND_SECURITY_SCANNING=false
FORCE_SECURITY_SCANNING=false
HIDE_DISCORD=false
ParameterDescription

RECOMMEND_SECURITY_SCANNING

If True, security scanning is enabled by default for a new build pipeline. Users can however turn it off in the new or existing pipelines.

FORCE_SECURITY_SCANNING

If set to True, security scanning is forcefully enabled by default for a new build pipeline. Users can not turn it off for new as well as for existing build pipelines. Old pipelines that have security scanning disabled will remain unchanged and image scanning should be enabled manually for them.

HIDE_DISCORD

Hides discord chatbot from the dashboard.

Last updated