Try Devtron Enterprise!
Start Free Trial
LogoLogo
WebsiteDevtron demoGithub RepoJoin Discord
v0.5
v0.5
  • Overview
  • Getting Started
    • Install Devtron
      • Install Devtron with CI/CD integration
      • Install Devtron
      • Install Devtron on Minikube, Microk8s, K3s, Kind
      • Installation Configurations
      • Override Configurations
      • Ingress setup for Devtron Installation
    • Global Configurations
      • GitOps
      • Projects
      • Cluster And Environments
        • Namespaces And Environments
      • Git Accounts
      • Container Registries
      • Chart Repositories
      • Custom charts
      • SSO Login Service
      • Authorization
        • User Permissions
        • Permission Groups
        • API Tokens
      • Manage Notification
      • External links
    • Devtron Upgrade
      • Update Devtron from Devtron UI
      • 0.4.x-0.5.x
      • 0.4.x-0.4.x
      • 0.3.x-0.4.x
      • 0.3.x-0.3.x
      • 0.2.x-0.3.x
  • Usage
    • Applications
      • Create a new application
      • Clone an existing application
      • Deploy a sample application
      • App Configuration
        • Git Repository
        • Docker Build Configuration
        • Deployment Template
          • Deployment
          • Rollout Deployment
          • Job and Cronjob
        • Workflow Overview
        • CI Pipeline
          • Pre-Build/Post-Build Tasks
        • CI Pipeline (Legacy)
        • CD Pipeline
        • Config Maps
        • Secrets
        • Environment Overrides
        • Deleting Application
      • Build and Deploy
        • Triggering CI
        • Triggering CD
      • App Details
        • Debugging Deployment And Monitoring
        • Application Metrics
    • Charts
      • Charts Overview
      • Deploy & Observe
      • Examples
        • Deploying Mysql Helm Chart
        • Deploying MongoDB Helm Chart
      • Chart Group
    • Security
    • Bulk Edit
    • Integrations
  • Resources
    • Troubleshooting
    • Use Cases
      • Devtron Generic Helm Chart To Run CronJob Or One Time Job
      • Connect SpringBoot with Mysql Database
      • Connect Expressjs With Mongodb Database
      • Connect Django With Mysql Database
    • Telemetry Overview
  • Deprecated
    • Hyperion
Powered by GitBook
On this page
  • Recommended Resources for Production use
  • Pre-Devtron Installation
  • Post-Devtron Installation

Was this helpful?

Export as PDF
  1. Getting Started
  2. Install Devtron

Override Configurations

PreviousInstallation ConfigurationsNextIngress setup for Devtron Installation

Last updated 2 years ago

Was this helpful?

In certain cases, you may want to override default configurations provided by Devtron. For example, for deployments or statefulsets you may want to change the memory or CPU requests or limit or add node affinity or taint tolerance. Say, for ingress, you may want to add annotations or host. Samples are available inside the directory.

To modify a particular object, it looks in namespace devtroncd for the corresponding configmap as mentioned in the mapping below:

component
configmap name
purpose

argocd

argocd-override-cm

GitOps

clair

clair-override-cm

container vulnerability db

clair

clair-config-override-cm

Clair configuration

dashboard

dashboard-override-cm

UI for Devtron

gitSensor

git-sensor-override-cm

microservice for Git interaction

guard

guard-override-cm

validating webhook to block images with security violations

postgresql

postgresql-override-cm

db store of Devtron

imageScanner

image-scanner-override-cm

image scanner for vulnerability

kubewatch

kubewatch-override-cm

watches changes in ci and cd running in different clusters

lens

lens-override-cm

deployment metrics analysis

natsOperator

nats-operator-override-cm

operator for nats

natsServer

nats-server-override-cm

nats server

natsStreaming

nats-streaming-override-cm

nats streaming server

notifier

notifier-override-cm

sends notification related to CI and CD

devtron

devtron-override-cm

core engine of Devtron

devtronIngress

devtron-ingress-override-cm

ingress configuration to expose Devtron

workflow

workflow-override-cm

component to run CI workload

externalSecret

external-secret-override-cm

manage secret through external stores like vault/AWS secret store

grafana

grafana-override-cm

Grafana config for dashboard

rollout

rollout-override-cm

manages blue-green and canary deployments

minio

minio-override-cm

default store for CI logs and image cache

minioStorage

minio-storage-override-cm

db config for minio

apiVersion, kind, metadata.name in the multiline string is used to match the object which needs to be modified. In this particular case it will look for apiVersion: extensions/v1beta1, kind: Ingress and metadata.name: devtron-ingress and will apply changes mentioned inside update: as per the example inside the metadata: it will add annotations owner: app1 and inside spec.rules.http.host it will add http://change-me.

Once we have made these changes in our local system we need to apply them to a Kubernetes cluster on which Devtron is installed currently using the below command:

kubectl apply -f file-name -n devtroncd

Run the following command to make these changes take effect:

kubectl patch -n devtroncd installer installer-devtron --type='json' -p='[{"op": "add", "path": "/spec/reSync", "value": true }]'

Our changes would have been propagated to Devtron after 20-30 minutes.

Recommended Resources for Production use

The overall resources required for the recommended production overrides are:

Name
Value

cpu

6

memory

13GB

The production overrides can be applied as pre-devtron installation as well as post-devtron installation in the respective namespace.

Pre-Devtron Installation

If you want to install a new Devtron instance for production-ready deployments, this is the best option for you.

Create the namespace and apply the overrides files as stated above:

kubectl create ns devtroncd

After files are applied, you are ready to install your Devtron instance with production-ready resources.

Post-Devtron Installation

If you have an existing Devtron instance and want to migrate it for production-ready deployments, this is the right option for you.

In the existing namespace, apply the production overrides as we do it above.

kubectl apply -f prod-configs -n devtroncd

Let's take an example to understand how to override specific values. Say, you want to override annotations and host in the ingress, i.e., you want to change devtronIngress, copy the file . This file contains a configmap to modify devtronIngress as mentioned above. Please note the structure of this configmap, data should have the key override with a multiline string as a value.

In case you want to change multiple objects, for eg in argocd you want to change the config of argocd-dex-server as well as argocd-redis then follow the example in .

To use Devtron for production deployments, use our recommended production overrides located in . This configuration should be enough for handling up to 200 microservices.

manifests/updates
devtron-ingress-override.yaml
devtron-argocd-override.yaml
manifests/updates/production