Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions docs/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@
* [Setup](setup/install/setup.md)
* [Installing Devtron](setup/install/README.md)
* [Install using Helm3](setup/install/install-devtron-helm-3.md)
* [Install using Helm2](setup/install/install-devtron-helm-2.md)
* [Install using Kubectl](setup/install/install-devtron-using-kubectl.md)
* [Installation Configurations](setup/install/installation-configuration.md)
* [Override Configurations](setup/install/override-default-devtron-installation-configs.md)
* [Ingress setup for devtron installation](setup/install/ingress-setup.md)
Expand All @@ -27,6 +25,7 @@
* [Devtron Upgrade](setup/upgrade/README.md)
* [0.2.x-0.3.x](setup/upgrade/devtron-upgrade-0.2.x-0.3.x.md)
* [0.3.x-0.3.x](setup/upgrade/devtron-upgrade-0.3.x-0.3.x.md)
* [0.3.x-0.4.x](setup/upgrade/devtron-upgrade-0.3.x-0.4.x.md)
* [User Guide](user-guide/creating-application/userguide.md)
* [Creating Application](user-guide/creating-application/README.md)
* [Git Repository](user-guide/creating-application/git-material.md)
Expand Down
9 changes: 8 additions & 1 deletion docs/setup/install/install-devtron-helm-3.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,10 @@ This installation will use Minio for storing build logs and cache.

```bash
helm repo add devtron https://helm.devtron.ai
helm install devtron devtron/devtron-operator --create-namespace --namespace devtroncd

helm install devtron devtron/devtron-operator --create-namespace --namespace devtroncd \
-f https://raw.githubusercontent.com/devtron-labs/devtron/main/manifests/devtron-bom.yaml \
--set installer.modules={cicd}
```
{% endtab %}

Expand All @@ -18,6 +21,8 @@ This installation will use AWS s3 buckets for storing build logs and cache
```bash
helm repo add devtron https://helm.devtron.ai
helm install devtron devtron/devtron-operator --create-namespace --namespace devtroncd \
-f https://raw.githubusercontent.com/devtron-labs/devtron/main/manifests/devtron-bom.yaml \
--set installer.modules={cicd} \
--set configs.BLOB_STORAGE_PROVIDER=S3 \
--set configs.DEFAULT_CACHE_BUCKET=demo-s3-bucket \
--set configs.DEFAULT_CACHE_BUCKET_REGION=us-east-1 \
Expand All @@ -32,6 +37,8 @@ This installation will use Azure Blob Storage for storing build logs and cache
```bash
helm repo add devtron https://helm.devtron.ai
helm install devtron devtron/devtron-operator --create-namespace --namespace devtroncd \
-f https://raw.githubusercontent.com/devtron-labs/devtron/main/manifests/devtron-bom.yaml \
--set installer.modules={cicd} \
--set secrets.AZURE_ACCOUNT_KEY=xxxxxxxxxx \
--set configs.BLOB_STORAGE_PROVIDER=AZURE \
--set configs.AZURE_ACCOUNT_NAME=test-account \
Expand Down
55 changes: 55 additions & 0 deletions docs/setup/upgrade/devtron-upgrade-0.3.x-0.4.x.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# Upgrading Devtron 0.3.x to 0.4.x

If you want to check the current version of Devtron you are using, please use the following command.

```
kubectl -n devtroncd get installers installer-devtron -o jsonpath='{.status.sync.data}' | grep "^LTAG=" | cut -d"=" -f2-
```

## Follow the below mentioned steps to upgrade the Devtron version using Helm

### 1. Check the devtron release name
```bash
helm list --namespace devtroncd
```

### 2. Set release name in the variable
```bash
RELEASE_NAME=devtron
```

### 3. Annotate all the Devtron resources

```bash
kubectl -n devtroncd label secret --all "app.kubernetes.io/managed-by=Helm"
kubectl -n devtroncd annotate secret --all "meta.helm.sh/release-name=$RELEASE_NAME" "meta.helm.sh/release-namespace=devtroncd"
kubectl -n devtroncd label cm --all "app.kubernetes.io/managed-by=Helm"
kubectl -n devtroncd annotate cm --all "meta.helm.sh/release-name=$RELEASE_NAME" "meta.helm.sh/release-namespace=devtroncd"
```

### 4. Fetch the latest Devtron helm chart

```bash
helm repo update
```

### 5. Upgrade Devtron

5.1 Upgrade Devtron to latest version

```bash
helm upgrade devtron devtron/devtron-operator --namespace devtroncd \
-f https://raw.githubusercontent.com/devtron-labs/devtron/main/manifests/devtron-bom.yaml \
--set installer.modules={cicd} --reuse-values
```
OR

5.2 Upgrade Devtron to a custom version. You can find the latest releases from Devtron on Github https://github.com/devtron-labs/devtron/releases

```bash
DEVTRON_TARGET_VERSION=v0.4.x

helm upgrade devtron devtron/devtron-operator --namespace devtroncd \
-f https://raw.githubusercontent.com/devtron-labs/devtron/$DEVTRON_TARGET_VERSION/manifests/devtron-bom.yaml \
--set installer.modules={cicd} --reuse-values
```
26 changes: 26 additions & 0 deletions manifests/devtron-bom.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
installer:
release: "v0.4.0"
image: "quay.io/devtron/inception"
tag: "acb623ff-185-7117"

components:
dashboard:
image: "quay.io/devtron/dashboard:384cdd21-325-8278"
devtron:
image: "quay.io/devtron/hyperion:a5f55594-280-8271"
argocdDexServer:
image: "quay.io/dexidp/dex:v2.25.0"
kubelink:
image: "quay.io/devtron/kubelink:1be465ec-318-7966"
postgres:
image: "quay.io/devtron/postgres:11.3.0-debian-9-r28"

migrator:
image: "quay.io/devtron/migrator:6687f572-133-2208"
envVars:
devtron:
GIT_BRANCH: "main"
GIT_HASH: "a5f55594f7e1c41fc77e5915b9e6f6df537da4da"
casbin:
GIT_BRANCH: "main"
GIT_HASH: "a5f55594f7e1c41fc77e5915b9e6f6df537da4da"
2 changes: 1 addition & 1 deletion manifests/install/devtron-installer.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@ metadata:
name: installer-devtron
namespace: devtroncd
spec:
url: https://raw.githubusercontent.com/devtron-labs/devtron/v0.3.27/manifests/installation-script
url: https://raw.githubusercontent.com/devtron-labs/devtron/v0.4.0/manifests/installation-script
84 changes: 57 additions & 27 deletions manifests/installation-script
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
LTAG="v0.3.27";
LTAG="v0.4.0";
REPO_RAW_URL="https://raw.githubusercontent.com/devtron-labs/devtron/";

operatorSecret = kubectl get secret -n devtroncd devtron-operator-secret;
Expand All @@ -10,6 +10,7 @@ grafanaPassword = jsonSelect(operatorSecret, "data.GRAFANA_PASSWORD");
azureAccountKey = jsonSelect(operatorSecret, "data.AZURE_ACCOUNT_KEY");
postgresSecret = kubectl get secret -n devtroncd postgresql-postgresql;
enableLegacyApi = jsonSelect(operatorConfigMap, "data.ENABLE_LEGACY_API");
helmInstallation = jsonSelect(operatorConfigMap, "data.INSTALLATION_THROUGH_HELM");

baseURLScheme = jsonSelect(operatorConfigMap, "data.BASE_URL_SCHEME");
baseURL = jsonSelect(operatorConfigMap, "data.BASE_URL");
Expand Down Expand Up @@ -455,9 +456,26 @@ log("executed migrator setup command");
## log("executed nats operator setup");
ignore = shellScript sleep50;
natsServer = kubectl apply -n devtroncd natsServer -u natsServerOverride;
hasNatsServerPod = kubectl get pod -n devtroncd devtron-nats-0;
if hasNatsServerPod {
natsPodDelete = kubectl delete -n devtroncd po "devtron-nats-0";
}
log(hasNatsServerPod);
log("executed nats server setup");
## natsStreaming = kubectl apply -n devtroncd natsStreaming -u natsStreamingOverride;
##log("executed nats streaming setup");
hasNatsStreaming = kubectl get statefulset -n devtroncd devtron-stan;
if hasNatsStreaming {
natsStreamingDelete = kubectl delete -n devtroncd sts devtron-stan;
natsStreamingConfigDelete = kubectl delete -n devtroncd cm devtron-stan-config;
natsStreamingServiceDelete = kubectl delete -n devtroncd svc devtron-stan;
natsStreamingPVC = kubectl get pvc -n devtroncd devtron-stan-pvc-devtron-stan-0;
natsStreamingPV = jsonSelect(natsStreamingPVC, "spec.volumeName");
natsStreamingPVCDelete = kubectl delete -n devtroncd pvc devtron-stan-pvc-devtron-stan-0;
natsStreamingPVDelete = kubectl delete -n devtroncd pv natsStreamingPV;
log("devtron-stan was found and all it's resources deleted deleted");
}
log(hasNatsStreaming);

#guard
makeCertsDir = `#!/bin/bash
Expand Down Expand Up @@ -577,48 +595,60 @@ externaSecretRegion = `env:

kubeYamlEdit(devtron, `data.dt-k8s-external-secrets\.yaml`, externaSecretRegion, `/ConfigMap//devtron-cluster-components`);

if !setupDevtronIngress {
kubeYamlEdit(devtron, "spec.type", "LoadBalancer", `/Service//devtron-service`);
if helmInstallation {
kubeYamlDelete(devtron, filter=`/Service//devtron-service`);
}

if !helmInstallation {
if !setupDevtronIngress {
kubeYamlEdit(devtron, "spec.type", "LoadBalancer", `/Service//devtron-service`);
}
}

devtron = kubectl apply -n devtroncd devtron -u devtronOverride;
log("executed devtron setup");

if devtronIngressAnnotations {
log("editing ingress");
kubeYamlEdit(devtronIngress, "metadata.annotations", devtronIngressAnnotations, `extensions/Ingress//devtron-ingress`, "asObject");
}
if !helmInstallation {
if devtronIngressAnnotations {
log("editing ingress");
kubeYamlEdit(devtronIngress, "metadata.annotations", devtronIngressAnnotations, `extensions/Ingress//devtron-ingress`, "asObject");
}

if setupDevtronIngress {
log("fetch ingress");
existingIngress = kubectl get -n devtroncd ing devtron-ingress;
}
if setupDevtronIngress {
log("fetch ingress");
existingIngress = kubectl get -n devtroncd ing devtron-ingress;
}

if existingIngress {
annotations = jsonSelect(existingIngress, "metadata.annotations");
}
if existingIngress {
annotations = jsonSelect(existingIngress, "metadata.annotations");
}

if annotations {
kubeYamlEdit(devtronIngress, "metadata.annotations", annotations, `extensions/Ingress//devtron-ingress`, "asObject");
}
if annotations {
kubeYamlEdit(devtronIngress, "metadata.annotations", annotations, `extensions/Ingress//devtron-ingress`, "asObject");
}

if setupDevtronIngress {
log("setup ingress");
log(devtronIngress);
devtronIngress = kubectl apply -n devtroncd devtronIngress -u devtronIngressOverride;
}
if setupDevtronIngress {
log("setup ingress");
log(devtronIngress);
devtronIngress = kubectl apply -n devtroncd devtronIngress -u devtronIngressOverride;
}

log("executed devtron ingress setup");
log("executed devtron ingress setup");
}
guard = kubectl apply -n devtroncd guard -u guardOverride;
log("executed guard setup");
dashboard = kubectl apply -n devtroncd dashboard -u dashboardOverride;
log("executed dashboard setup");
if !helmInstallation {
dashboard = kubectl apply -n devtroncd dashboard -u dashboardOverride;
log("executed dashboard setup");
}
gitSensor = kubectl apply -n devtroncd gitSensor -u gitSensorOverride;
log("executed git sensor setup");
imageScanner = kubectl apply -n devtroncd imageScanner -u imageScannerOverride;
log("executed image scanner setup");
kubelink = kubectl apply -n devtroncd kubelink -u kubelinkOverride;
log("executed kubelink setup");
if !helmInstallation {
kubelink = kubectl apply -n devtroncd kubelink -u kubelinkOverride;
log("executed kubelink setup");
}
kubewatch = kubectl apply -n devtroncd kubewatch -u kubewatchOverride;
log("executed kubewatch setup");
lens = kubectl apply -n devtroncd lens -u lensOverride;
Expand Down
2 changes: 1 addition & 1 deletion manifests/yamls/dashboard.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -231,7 +231,7 @@ spec:
- name: envoy-config-volume
mountPath: /etc/envoy-config/
- name: dashboard
image: "quay.io/devtron/dashboard:6399c34c-325-8094"
image: "quay.io/devtron/dashboard:384cdd21-325-8278"
imagePullPolicy: IfNotPresent
ports:
- name: app
Expand Down
4 changes: 2 additions & 2 deletions manifests/yamls/devtron.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ data:
CD_NODE_TAINTS_VALUE: "ci"
CD_ARTIFACT_LOCATION_FORMAT: "%d/%d.zip"
DEFAULT_CD_NAMESPACE: "devtron-cd"
DEFAULT_CI_IMAGE: "quay.io/devtron/ci-runner:a92c1a6a-138-8006"
DEFAULT_CI_IMAGE: "quay.io/devtron/ci-runner:095c7a6d-138-8277"
DEFAULT_CD_TIMEOUT: "3600"
WF_CONTROLLER_INSTANCE_ID: "devtron-runner"
CI_LOGS_KEY_PREFIX: "ci-artifacts"
Expand Down Expand Up @@ -152,7 +152,7 @@ spec:
serviceAccountName: devtron
containers:
- name: devtron
image: "quay.io/devtron/devtron:d8b33fae-326-8095"
image: "quay.io/devtron/devtron:97938de4-326-8276"
imagePullPolicy: IfNotPresent
ports:
- name: devtron
Expand Down
2 changes: 1 addition & 1 deletion manifests/yamls/gitsensor.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ spec:
terminationGracePeriodSeconds: 10
containers:
- name: git-sensor
image: "quay.io/devtron/git-sensor:19e82bba-304-7772"
image: "quay.io/devtron/git-sensor:b80aa764-200-8281"
ports:
- containerPort: 8080
name: sensor
Expand Down
2 changes: 1 addition & 1 deletion manifests/yamls/image-scanner.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ spec:
restartPolicy: Always
containers:
- name: image-scanner
image: "quay.io/devtron/imge-scanner:5901cb7f-141-8007"
image: "quay.io/devtron/imge-scanner:e6c60465-334-8280"
imagePullPolicy: IfNotPresent
ports:
- name: app
Expand Down
2 changes: 1 addition & 1 deletion manifests/yamls/kubewatch.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,7 @@ spec:
spec:
containers:
- name: kubewatch
image: quay.io/devtron/kubewatch:44af7e7c-307-7655
image: quay.io/devtron/kubewatch:fd0fc393-142-8282"
env:
- name: devtroncd_NAMESPACE
value: "devtron-ci"
Expand Down
2 changes: 1 addition & 1 deletion manifests/yamls/lens.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -221,7 +221,7 @@ spec:
- name: envoy-config-volume
mountPath: /etc/envoy-config/
- name: lens
image: quay.io/devtron/lens:eb5bd336-306-7667
image: quay.io/devtron/lens:f4c11d88-333-8279"
imagePullPolicy: IfNotPresent
ports:
- name: app
Expand Down
8 changes: 4 additions & 4 deletions manifests/yamls/migrator.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ spec:
- name: MIGRATE_TO_VERSION
value: "0"
- name: GIT_HASH
value: d8b33faefa1eedf52b18619998bda559eed54baf
value: 97938de44bd7e6805419285c6785e305039b7d71
envFrom:
- secretRef:
name: postgresql-migrator
Expand Down Expand Up @@ -81,7 +81,7 @@ spec:
- name: MIGRATE_TO_VERSION
value: "0"
- name: GIT_HASH
value: d8b33faefa1eedf52b18619998bda559eed54baf
value: 97938de44bd7e6805419285c6785e305039b7d71
- name: GIT_BRANCH
value: main
envFrom:
Expand Down Expand Up @@ -125,7 +125,7 @@ spec:
- name: GIT_BRANCH
value: main
- name: GIT_HASH
value: 4842c981f4879be538276a965a7c916a81475885
value: b80aa764f28e4cce525dd12fc81d7264fe1e738d
envFrom:
- secretRef:
name: postgresql-migrator
Expand Down Expand Up @@ -163,7 +163,7 @@ spec:
- name: GIT_BRANCH
value: main
- name: GIT_HASH
value: 772fcb2a4b3198879efb6139ed3a27dfb40ed681
value: f4c11d888525178fee70cae317096d2df4438e19
envFrom:
- secretRef:
name: postgresql-migrator
Expand Down