From c300ffa78ca2145f995e5e50564e5688072a6422 Mon Sep 17 00:00:00 2001 From: Badal Kumar Prusty Date: Tue, 25 Jun 2024 17:23:55 +0530 Subject: [PATCH 01/18] added docs for air-gapped-installation --- ...nstall-devtron-in-airgapped-environment.md | 200 ++++++++++++++++++ 1 file changed, 200 insertions(+) create mode 100644 docs/setup/install/install-devtron-in-airgapped-environment.md diff --git a/docs/setup/install/install-devtron-in-airgapped-environment.md b/docs/setup/install/install-devtron-in-airgapped-environment.md new file mode 100644 index 0000000000..97f3c986e1 --- /dev/null +++ b/docs/setup/install/install-devtron-in-airgapped-environment.md @@ -0,0 +1,200 @@ +# Devtron Full Mode Installation in an Airgapped Environment + +## Pre-requisites + +1. Install `podman` or `docker` and `yq` on the VM from where you're executing the installation commands. +2. Clone the Devtron Helm chart: + + ```bash + git clone https://github.com/devtron-labs/devtron.git + cd devtron + ``` + + +4. Set the value of `TARGET_REGISTRY`, `TARGET_REGISTRY_USERNAME`, and `TARGET_REGISTRY_TOKEN`. This registry should be accessible from the VM where you are running the cloning script and the K8s cluster where you’re installing Devtron. + +## Docker Instructions + +### For Linux/amd64 + +1. Set the environment variables: + + ```bash + # Set the source registry URL + export SOURCE_REGISTRY="quay.io/devtron" + + # Set the target registry URL, username, and token/password + export TARGET_REGISTRY_URL="" + export TARGET_REGISTRY_USERNAME="" + export TARGET_REGISTRY_TOKEN="" + + # Set the source and target image file names with default values if not already set + SOURCE_IMAGES_LIST="${SOURCE_IMAGES_LIST:=devtron-images.txt.source}" + TARGET_IMAGES_LIST="${TARGET_IMAGES_LIST:=devtron-images.txt.target}" + ``` + +2. Log in to the target Docker registry: + + ```bash + docker login -u $TARGET_REGISTRY_USERNAME -p $TARGET_REGISTRY_TOKEN $TARGET_REGISTRY_URL + ``` + +3. Clone the images: + + ```bash + while IFS= read -r source_image; do + # Check if the source image belongs to the quay.io/devtron registry + if [[ "$source_image" == quay.io/devtron/* ]]; then + # Replace the source registry with the target registry in the image name + target_image="${source_image/quay.io\/devtron/$TARGET_REGISTRY_URL}" + + # Check if the source image belongs to the quay.io/argoproj registry + elif [[ "$source_image" == quay.io/argoproj/* ]]; then + # Replace the source registry with the target registry in the image name + target_image="${source_image/quay.io\/argoproj/$TARGET_REGISTRY_URL}" + + # Check if the source image belongs to the public.ecr.aws/docker/library registry + elif [[ "$source_image" == public.ecr.aws/docker/library/* ]]; then + # Replace the source registry with the target registry in the image name + target_image="${source_image/public.ecr.aws\/docker\/library/$TARGET_REGISTRY_URL}" + fi + + # Pull the image from the source registry + docker pull --platform linux/amd64 $source_image + + # Tag the image with the new target registry name + docker tag $source_image $target_image + + # Push the image to the target registry + docker push $target_image + + # Output the updated image name + echo "Updated image: $target_image" + + # Append the new image name to the target images file + echo "$target_image" >> "$TARGET_IMAGES_LIST" + + done < "$SOURCE_IMAGES_LIST" + ``` + +### For Linux/arm64 + +1. Set the environment variables: + + ```bash + # Set the source registry URL + export SOURCE_REGISTRY="quay.io/devtron" + + # Set the target registry URL, username, and token/password + export TARGET_REGISTRY_URL="" + export TARGET_REGISTRY_USERNAME="" + export TARGET_REGISTRY_TOKEN="" + + # Set the source and target image file names with default values if not already set + SOURCE_IMAGES_LIST="${SOURCE_IMAGES_LIST:=devtron-images.txt.source}" + TARGET_IMAGES_LIST="${TARGET_IMAGES_LIST:=devtron-images.txt.target}" + ``` + +2. Log in to the target Docker registry: + + ```bash + docker login -u $TARGET_REGISTRY_USERNAME -p $TARGET_REGISTRY_TOKEN $TARGET_REGISTRY_URL + ``` + +3. Clone the images: + + ```bash + while IFS= read -r source_image; do + # Check if the source image belongs to the quay.io/devtron registry + if [[ "$source_image" == quay.io/devtron/* ]]; then + # Replace the source registry with the target registry in the image name + target_image="${source_image/quay.io\/devtron/$TARGET_REGISTRY_URL}" + + # Check if the source image belongs to the quay.io/argoproj registry + elif [[ "$source_image" == quay.io/argoproj/* ]]; then + # Replace the source registry with the target registry in the image name + target_image="${source_image/quay.io\/argoproj/$TARGET_REGISTRY_URL}" + + # Check if the source image belongs to the public.ecr.aws/docker/library registry + elif [[ "$source_image" == public.ecr.aws/docker/library/* ]]; then + # Replace the source registry with the target registry in the image name + target_image="${source_image/public.ecr.aws\/docker\/library/$TARGET_REGISTRY_URL}" + fi + + # Pull the image from the source registry + docker pull --platform linux/arm64 $source_image + + # Tag the image with the new target registry name + docker tag $source_image $target_image + + # Push the image to the target registry + docker push $target_image + + # Output the updated image name + echo "Updated image: $target_image" + + # Append the new image name to the target images file + echo "$target_image" >> "$TARGET_IMAGES_LIST" + + done < "$SOURCE_IMAGES_LIST" + ``` + +## Podman Instructions + +### For Multi-arch + +1. Set the environment variables: + + ```bash + export SOURCE_REGISTRY="quay.io/devtron" + export SOURCE_REGISTRY_TOKEN=#Enter token provided by Devtron team + export TARGET_REGISTRY=#Enter target registry url + export TARGET_REGISTRY_USERNAME=#Enter target registry username + export TARGET_REGISTRY_TOKEN=#Enter target registry token/password + ``` + +2. Log in to the target Podman registry: + + ```bash + podman login -u $TARGET_REGISTRY_USERNAME -p $TARGET_REGISTRY_TOKEN $TARGET_REGISTRY + ``` + +3. Clone the images: + + ```bash + SOURCE_REGISTRY="quay.io/devtron" + TARGET_REGISTRY=${TARGET_REGISTRY} + SOURCE_IMAGES_FILE_NAME="${SOURCE_IMAGES_FILE_NAME:=devtron-images.txt.source}" + TARGET_IMAGES_FILE_NAME="${TARGET_IMAGES_FILE_NAME:=devtron-images.txt.target}" + + cp $SOURCE_IMAGES_FILE_NAME $TARGET_IMAGES_FILE_NAME + while read source_image; do + if [[ "$source_image" == *"workflow-controller:"* || "$source_image" == *"argoexec:"* || "$source_image" == *"argocd:"* ]] + then + SOURCE_REGISTRY="quay.io/argoproj" + sed -i "s|${SOURCE_REGISTRY}|${TARGET_REGISTRY}|g" $TARGET_IMAGES_FILE_NAME + elif [[ "$source_image" == *"redis:"* ]] + then + SOURCE_REGISTRY="public.ecr.aws/docker/library" + sed -i "s|${SOURCE_REGISTRY}|${TARGET_REGISTRY}|g" $TARGET_IMAGES_FILE_NAME + else + SOURCE_REGISTRY="quay.io/devtron" + sed -i "s|${SOURCE_REGISTRY}|${TARGET_REGISTRY}|g" $TARGET_IMAGES_FILE_NAME + fi + done <$SOURCE_IMAGES_FILE_NAME + echo "Target Images file finalized" + + while read -r -u 3 source_image && read -r -u 4 target_image ; do + echo "Pushing $source_image $target_image" + podman manifest create $source_image + podman manifest add $source_image $source_image --all + podman manifest push $source_image $target_image --all + done 3<"$SOURCE_IMAGES_FILE_NAME" 4<"$TARGET_IMAGES_FILE_NAME" + ``` + +## Final Step + +Change your registry name in `values.yaml` at line number 10: + +```bash +yq e '.global.imageRegistry = ""' -i /charts/devtron/values.yaml From 822833c00cb6e2063e355352e2d9f81975bfab5b Mon Sep 17 00:00:00 2001 From: Badal Kumar Prusty Date: Tue, 25 Jun 2024 17:25:32 +0530 Subject: [PATCH 02/18] added all the images in 7.0.0 --- devtron-images.txt.source | 37 +++++++++++++++++++++++++++++++++++++ devtron-images.txt.target | 0 2 files changed, 37 insertions(+) create mode 100644 devtron-images.txt.source create mode 100644 devtron-images.txt.target diff --git a/devtron-images.txt.source b/devtron-images.txt.source new file mode 100644 index 0000000000..66f5e7f8f1 --- /dev/null +++ b/devtron-images.txt.source @@ -0,0 +1,37 @@ +quay.io/devtron/image-scanner:3ab2ba46-141-23064 +quay.io/devtron/inception:473deaa4-185-21582 +public.ecr.aws/docker/library/redis:7.0.5-alpine +quay.io/argoproj/argocd:v2.5.2 +quay.io/argoproj/workflow-controller:v3.4.3 +quay.io/devtron/authenticator:e414faff-393-13273 +quay.io/devtron/bats:v1.4.1 +quay.io/devtron/busybox:1.31.1 +quay.io/devtron/chart-sync:b67ab589-150-23082 +quay.io/devtron/curl:7.73.0 +quay.io/devtron/dashboard:87aaf7ac-690-23135 +quay.io/devtron/devtron-utils:dup-chart-repo-v1.1.0 +quay.io/devtron/devtron:3aa7e420-434-23146 +quay.io/devtron/dex:v2.30.2 +quay.io/devtron/git-sensor:8545feb5-200-22005 +quay.io/devtron/grafana:7.3.1 +quay.io/devtron/k8s-sidecar:1.1.0 +quay.io/devtron/k8s-utils:tutum-curl +quay.io/devtron/kubectl:latest +quay.io/devtron/kubelink:a810dbae-564-23055 +quay.io/devtron/kubewatch:f8ac0fe6-419-23054 +quay.io/devtron/lens:3d3e8f08-333-23057 +quay.io/devtron/migrator:v4.16.2 +quay.io/devtron/nats-box +quay.io/devtron/nats-server-config-reloader:0.6.2 +quay.io/devtron/nats:2.9.3-alpine +quay.io/devtron/notifier:924a17f6-372-22110 +quay.io/devtron/postgres:11.9 +quay.io/devtron/postgres_exporter:v0.10.1 +quay.io/devtron/prometheus-nats-exporter:0.9.0 +quay.io/devtron/minio:RELEASE.2021-02-14T04-01-33Z +quay.io/devtron/clair:4.3.6 +quay.io/devtron/postgres:11.9.0-debian-10-r26 +quay.io/devtron/postgres_exporter:v0.4.7 +quay.io/devtron/minio-mc:RELEASE.2021-02-14T04-28-06Z +quay.io/devtron/minideb:latest + diff --git a/devtron-images.txt.target b/devtron-images.txt.target new file mode 100644 index 0000000000..e69de29bb2 From 6643be136e71aed7c24174d4040d6af65fec16a6 Mon Sep 17 00:00:00 2001 From: Badal Kumar Prusty Date: Tue, 23 Jul 2024 10:44:42 +0530 Subject: [PATCH 03/18] modified yq command in the docs --- devtron-images.txt.target | 0 docs/setup/install/install-devtron-in-airgapped-environment.md | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) delete mode 100644 devtron-images.txt.target diff --git a/devtron-images.txt.target b/devtron-images.txt.target deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/docs/setup/install/install-devtron-in-airgapped-environment.md b/docs/setup/install/install-devtron-in-airgapped-environment.md index 97f3c986e1..cb791af56e 100644 --- a/docs/setup/install/install-devtron-in-airgapped-environment.md +++ b/docs/setup/install/install-devtron-in-airgapped-environment.md @@ -197,4 +197,4 @@ Change your registry name in `values.yaml` at line number 10: ```bash -yq e '.global.imageRegistry = ""' -i /charts/devtron/values.yaml +yq e '.global.containerRegistry = ""' -i /charts/devtron/values.yaml From 4b4bc166ab55da5df721bf64adc69d580322c387 Mon Sep 17 00:00:00 2001 From: Badal Kumar Prusty Date: Tue, 23 Jul 2024 10:48:37 +0530 Subject: [PATCH 04/18] added an entry in summary.md --- docs/SUMMARY.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md index 4844d6fe80..0d1e8cbef0 100644 --- a/docs/SUMMARY.md +++ b/docs/SUMMARY.md @@ -7,6 +7,7 @@ * [Install Devtron with CI/CD and GitOps (Argo CD)](setup/install/install-devtron-with-cicd-with-gitops.md) * [Install Devtron without Integrations](setup/install/install-devtron.md) * [Install Devtron on Minikube, Microk8s, K3s, Kind, Cloud VMs](setup/install/Install-devtron-on-Minikube-Microk8s-K3s-Kind.md) + * [Install Devtron on Airgapped environment](setup/install/install-devtron-in-airgapped-environment.md) * [Demo on Popular Cloud Providers](setup/install/demo-tutorials.md) * [Backup for Disaster Recovery](setup/install/devtron-backup.md) * [Uninstall Devtron](setup/install/uninstall-devtron.md) From 8afd782cfd924969840c49fd47232f04f2bd61b2 Mon Sep 17 00:00:00 2001 From: Badal Kumar Prusty Date: Thu, 22 Aug 2024 12:34:26 +0530 Subject: [PATCH 05/18] added installation commands --- ...nstall-devtron-in-airgapped-environment.md | 53 +++++++++++++++++-- 1 file changed, 49 insertions(+), 4 deletions(-) diff --git a/docs/setup/install/install-devtron-in-airgapped-environment.md b/docs/setup/install/install-devtron-in-airgapped-environment.md index cb791af56e..39a8d2f6da 100644 --- a/docs/setup/install/install-devtron-in-airgapped-environment.md +++ b/docs/setup/install/install-devtron-in-airgapped-environment.md @@ -192,9 +192,54 @@ done 3<"$SOURCE_IMAGES_FILE_NAME" 4<"$TARGET_IMAGES_FILE_NAME" ``` -## Final Step +# Devtron Installation with Image Pull Secret -Change your registry name in `values.yaml` at line number 10: +## Prerequisites +Before starting, ensure that you have created an image pull secret for your registry if need authentication. -```bash -yq e '.global.containerRegistry = ""' -i /charts/devtron/values.yaml +### Steps to Create an Image Pull Secret +1. Create the namespace (if not already created): + ```bash + kubectl create ns devtroncd + ``` + +2. Create the Docker registry secret: + ```bash + kubectl create secret docker-registry regcred \ + --namespace devtroncd \ + --docker-server=$TARGET_REGISTRY \ + --docker-username=$TARGET_REGISTRY_USERNAME \ + --docker-password=$TARGET_REGISTRY_TOKEN + ``` + +## Devtron Installation + +### Installing Devtron with CI/CD Module Only +To install Devtron with only the CI/CD module: + +1. Without `imagePullSecrets`: + ```bash + helm install devtron . -n devtroncd --set installer.modules={cicd} --set global.containerRegistry="$TARGET_REGISTRY" + ``` + +2. With `imagePullSecrets`: + ```bash + helm install devtron . -n devtroncd --set installer.modules={cicd} --set global.containerRegistry="$TARGET_REGISTRY" --set global.imagePullSecrets[0].name=regcred + ``` + +### Installing Devtron with Argo CD + +To install Devtron with the CI/CD module and Argo CD: + +1. Without `imagePullSecrets`: + ```bash + helm install devtron . --create-namespace -n devtroncd --set installer.modules={cicd} --set argo-cd.enabled=true --set global.containerRegistry="$TARGET_REGISTRY" --set argo-cd.global.image.repository="${TARGET_REGISTRY}/argocd" --set argo-cd.redis.image.repository="${TARGET_REGISTRY}/redis" + ``` + +2. With `imagePullSecrets`: + ```bash + helm install devtron . --create-namespace -n devtroncd --set installer.modules={cicd} --set argo-cd.enabled=true --set global.containerRegistry="$TARGET_REGISTRY" --set argo-cd.global.image.repository="${TARGET_REGISTRY}/argocd" --set argo-cd.redis.image.repository="${TARGET_REGISTRY}/redis" --set global.imagePullSecrets[0].name=regcred + ``` + +## Next Steps +After installation, refer to the [Devtron installation documentation](https://docs.devtron.ai/install/install-devtron-with-cicd-with-gitops#devtron-dashboard) for further steps, including obtaining the dashboard URL and the admin password. From 145c5916ba6bceed8f7ada7929b740975b29f6f7 Mon Sep 17 00:00:00 2001 From: Badal Kumar Prusty Date: Thu, 22 Aug 2024 12:44:07 +0530 Subject: [PATCH 06/18] modified statements --- docs/setup/install/install-devtron-in-airgapped-environment.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/setup/install/install-devtron-in-airgapped-environment.md b/docs/setup/install/install-devtron-in-airgapped-environment.md index 39a8d2f6da..86ef60eb33 100644 --- a/docs/setup/install/install-devtron-in-airgapped-environment.md +++ b/docs/setup/install/install-devtron-in-airgapped-environment.md @@ -195,7 +195,7 @@ # Devtron Installation with Image Pull Secret ## Prerequisites -Before starting, ensure that you have created an image pull secret for your registry if need authentication. +Before starting, ensure that you have created an image pull secret for your registry if authentication is required. ### Steps to Create an Image Pull Secret 1. Create the namespace (if not already created): From faea6bf5c06d607a4f7023bf609054a0ea7e92f3 Mon Sep 17 00:00:00 2001 From: Badal Kumar Prusty Date: Thu, 22 Aug 2024 13:50:15 +0530 Subject: [PATCH 07/18] modified variable name --- ...nstall-devtron-in-airgapped-environment.md | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/docs/setup/install/install-devtron-in-airgapped-environment.md b/docs/setup/install/install-devtron-in-airgapped-environment.md index 86ef60eb33..fb4513d63d 100644 --- a/docs/setup/install/install-devtron-in-airgapped-environment.md +++ b/docs/setup/install/install-devtron-in-airgapped-environment.md @@ -24,7 +24,7 @@ export SOURCE_REGISTRY="quay.io/devtron" # Set the target registry URL, username, and token/password - export TARGET_REGISTRY_URL="" + export TARGET_REGISTRY="" export TARGET_REGISTRY_USERNAME="" export TARGET_REGISTRY_TOKEN="" @@ -36,7 +36,7 @@ 2. Log in to the target Docker registry: ```bash - docker login -u $TARGET_REGISTRY_USERNAME -p $TARGET_REGISTRY_TOKEN $TARGET_REGISTRY_URL + docker login -u $TARGET_REGISTRY_USERNAME -p $TARGET_REGISTRY_TOKEN $TARGET_REGISTRY ``` 3. Clone the images: @@ -46,17 +46,17 @@ # Check if the source image belongs to the quay.io/devtron registry if [[ "$source_image" == quay.io/devtron/* ]]; then # Replace the source registry with the target registry in the image name - target_image="${source_image/quay.io\/devtron/$TARGET_REGISTRY_URL}" + target_image="${source_image/quay.io\/devtron/$TARGET_REGISTRY}" # Check if the source image belongs to the quay.io/argoproj registry elif [[ "$source_image" == quay.io/argoproj/* ]]; then # Replace the source registry with the target registry in the image name - target_image="${source_image/quay.io\/argoproj/$TARGET_REGISTRY_URL}" + target_image="${source_image/quay.io\/argoproj/$TARGET_REGISTRY}" # Check if the source image belongs to the public.ecr.aws/docker/library registry elif [[ "$source_image" == public.ecr.aws/docker/library/* ]]; then # Replace the source registry with the target registry in the image name - target_image="${source_image/public.ecr.aws\/docker\/library/$TARGET_REGISTRY_URL}" + target_image="${source_image/public.ecr.aws\/docker\/library/$TARGET_REGISTRY}" fi # Pull the image from the source registry @@ -86,7 +86,7 @@ export SOURCE_REGISTRY="quay.io/devtron" # Set the target registry URL, username, and token/password - export TARGET_REGISTRY_URL="" + export TARGET_REGISTRY="" export TARGET_REGISTRY_USERNAME="" export TARGET_REGISTRY_TOKEN="" @@ -98,7 +98,7 @@ 2. Log in to the target Docker registry: ```bash - docker login -u $TARGET_REGISTRY_USERNAME -p $TARGET_REGISTRY_TOKEN $TARGET_REGISTRY_URL + docker login -u $TARGET_REGISTRY_USERNAME -p $TARGET_REGISTRY_TOKEN $TARGET_REGISTRY ``` 3. Clone the images: @@ -108,17 +108,17 @@ # Check if the source image belongs to the quay.io/devtron registry if [[ "$source_image" == quay.io/devtron/* ]]; then # Replace the source registry with the target registry in the image name - target_image="${source_image/quay.io\/devtron/$TARGET_REGISTRY_URL}" + target_image="${source_image/quay.io\/devtron/$TARGET_REGISTRY}" # Check if the source image belongs to the quay.io/argoproj registry elif [[ "$source_image" == quay.io/argoproj/* ]]; then # Replace the source registry with the target registry in the image name - target_image="${source_image/quay.io\/argoproj/$TARGET_REGISTRY_URL}" + target_image="${source_image/quay.io\/argoproj/$TARGET_REGISTRY}" # Check if the source image belongs to the public.ecr.aws/docker/library registry elif [[ "$source_image" == public.ecr.aws/docker/library/* ]]; then # Replace the source registry with the target registry in the image name - target_image="${source_image/public.ecr.aws\/docker\/library/$TARGET_REGISTRY_URL}" + target_image="${source_image/public.ecr.aws\/docker\/library/$TARGET_REGISTRY}" fi # Pull the image from the source registry From 08caad57d8565823df3583a81d839a8a928fab55 Mon Sep 17 00:00:00 2001 From: Badal Kumar Prusty Date: Thu, 22 Aug 2024 13:59:42 +0530 Subject: [PATCH 08/18] added steps to navigation --- .../install/install-devtron-in-airgapped-environment.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docs/setup/install/install-devtron-in-airgapped-environment.md b/docs/setup/install/install-devtron-in-airgapped-environment.md index fb4513d63d..2b1eb8a434 100644 --- a/docs/setup/install/install-devtron-in-airgapped-environment.md +++ b/docs/setup/install/install-devtron-in-airgapped-environment.md @@ -214,6 +214,11 @@ Before starting, ensure that you have created an image pull secret for your regi ## Devtron Installation +Navigate to the Devtron Helm chart directory: + +```bash +cd /charts/devtron +``` ### Installing Devtron with CI/CD Module Only To install Devtron with only the CI/CD module: From 16a0f43efd690b095925a8c7af9067b4af7acba7 Mon Sep 17 00:00:00 2001 From: Badal Kumar Prusty Date: Thu, 22 Aug 2024 14:35:20 +0530 Subject: [PATCH 09/18] added the latest oss chart images --- devtron-images.txt.source | 20 ++++++++++--------- ...nstall-devtron-in-airgapped-environment.md | 2 +- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/devtron-images.txt.source b/devtron-images.txt.source index 66f5e7f8f1..778292ffed 100644 --- a/devtron-images.txt.source +++ b/devtron-images.txt.source @@ -1,30 +1,32 @@ -quay.io/devtron/image-scanner:3ab2ba46-141-23064 +quay.io/devtron/image-scanner:137872c2-141-23848 quay.io/devtron/inception:473deaa4-185-21582 +quay.io/devtron/hyperion:291c4c75-280-23860 public.ecr.aws/docker/library/redis:7.0.5-alpine quay.io/argoproj/argocd:v2.5.2 quay.io/argoproj/workflow-controller:v3.4.3 quay.io/devtron/authenticator:e414faff-393-13273 quay.io/devtron/bats:v1.4.1 quay.io/devtron/busybox:1.31.1 -quay.io/devtron/chart-sync:b67ab589-150-23082 +quay.io/devtron/chart-sync:5a1d0301-150-23845 quay.io/devtron/curl:7.73.0 -quay.io/devtron/dashboard:87aaf7ac-690-23135 +quay.io/devtron/dashboard:5f95d187-690-23841 quay.io/devtron/devtron-utils:dup-chart-repo-v1.1.0 -quay.io/devtron/devtron:3aa7e420-434-23146 +quay.io/devtron/devtron:291c4c75-434-23853 +quay.io/devtron/ci-runner:48aca9f4-138-23844 quay.io/devtron/dex:v2.30.2 -quay.io/devtron/git-sensor:8545feb5-200-22005 +quay.io/devtron/git-sensor:86e13283-200-23847 quay.io/devtron/grafana:7.3.1 quay.io/devtron/k8s-sidecar:1.1.0 quay.io/devtron/k8s-utils:tutum-curl quay.io/devtron/kubectl:latest -quay.io/devtron/kubelink:a810dbae-564-23055 -quay.io/devtron/kubewatch:f8ac0fe6-419-23054 -quay.io/devtron/lens:3d3e8f08-333-23057 +quay.io/devtron/kubelink:0dee6306-564-23843 +quay.io/devtron/kubewatch:850b40d5-419-23840 +quay.io/devtron/lens:56211042-333-23839 quay.io/devtron/migrator:v4.16.2 quay.io/devtron/nats-box quay.io/devtron/nats-server-config-reloader:0.6.2 quay.io/devtron/nats:2.9.3-alpine -quay.io/devtron/notifier:924a17f6-372-22110 +quay.io/devtron/notifier:9639b1ab-372-23850 quay.io/devtron/postgres:11.9 quay.io/devtron/postgres_exporter:v0.10.1 quay.io/devtron/prometheus-nats-exporter:0.9.0 diff --git a/docs/setup/install/install-devtron-in-airgapped-environment.md b/docs/setup/install/install-devtron-in-airgapped-environment.md index 2b1eb8a434..bbb3f4a72c 100644 --- a/docs/setup/install/install-devtron-in-airgapped-environment.md +++ b/docs/setup/install/install-devtron-in-airgapped-environment.md @@ -217,7 +217,7 @@ Before starting, ensure that you have created an image pull secret for your regi Navigate to the Devtron Helm chart directory: ```bash -cd /charts/devtron +cd charts/devtron ``` ### Installing Devtron with CI/CD Module Only To install Devtron with only the CI/CD module: From 4e125abfab966fffadce9ed7637e9121975748db Mon Sep 17 00:00:00 2001 From: Badal Kumar Prusty Date: Thu, 22 Aug 2024 14:58:40 +0530 Subject: [PATCH 10/18] added a note for docker --- docs/setup/install/install-devtron-in-airgapped-environment.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/setup/install/install-devtron-in-airgapped-environment.md b/docs/setup/install/install-devtron-in-airgapped-environment.md index bbb3f4a72c..d8ae6316e5 100644 --- a/docs/setup/install/install-devtron-in-airgapped-environment.md +++ b/docs/setup/install/install-devtron-in-airgapped-environment.md @@ -13,6 +13,8 @@ 4. Set the value of `TARGET_REGISTRY`, `TARGET_REGISTRY_USERNAME`, and `TARGET_REGISTRY_TOKEN`. This registry should be accessible from the VM where you are running the cloning script and the K8s cluster where you’re installing Devtron. +### Note: If you are using Docker, the TARGET_REGISTRY should be in the format docker.io/ + ## Docker Instructions ### For Linux/amd64 From 2dc17fa04e805080d3eb05d89571fee9eedc129b Mon Sep 17 00:00:00 2001 From: ashokdevtron <141001279+ashokdevtron@users.noreply.github.com> Date: Thu, 22 Aug 2024 10:59:26 +0000 Subject: [PATCH 11/18] Added Intro + Proofreading + Structuring --- docs/SUMMARY.md | 2 +- ...nstall-devtron-in-airgapped-environment.md | 67 +++++++++++-------- 2 files changed, 40 insertions(+), 29 deletions(-) diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md index 5de852963c..181c51aa18 100644 --- a/docs/SUMMARY.md +++ b/docs/SUMMARY.md @@ -7,7 +7,7 @@ * [Install Devtron with CI/CD and GitOps (Argo CD)](setup/install/install-devtron-with-cicd-with-gitops.md) * [Install Devtron without Integrations](setup/install/install-devtron.md) * [Install Devtron on Minikube, Microk8s, K3s, Kind, Cloud VMs](setup/install/Install-devtron-on-Minikube-Microk8s-K3s-Kind.md) - * [Install Devtron on Airgapped environment](setup/install/install-devtron-in-airgapped-environment.md) + * [Install Devtron on Airgapped Environment](setup/install/install-devtron-in-airgapped-environment.md) * [Demo on Popular Cloud Providers](setup/install/demo-tutorials.md) * [Backup for Disaster Recovery](setup/install/devtron-backup.md) * [Uninstall Devtron](setup/install/uninstall-devtron.md) diff --git a/docs/setup/install/install-devtron-in-airgapped-environment.md b/docs/setup/install/install-devtron-in-airgapped-environment.md index d8ae6316e5..dd71d55d88 100644 --- a/docs/setup/install/install-devtron-in-airgapped-environment.md +++ b/docs/setup/install/install-devtron-in-airgapped-environment.md @@ -1,6 +1,10 @@ # Devtron Full Mode Installation in an Airgapped Environment -## Pre-requisites +## Introduction + +In certain scenarios, you may need to deploy Devtron to a Kubernetes cluster that isn’t connected to the internet. Such air-gapped environments are used for a variety of reasons, particularly in industries with strict regulatory requirements like healthcare, banking, and finance. This is because air-gapped environments aren't exposed to the public internet; therefore, they create a controlled and secure space for handling sensitive data and operations. + +### Prerequisites 1. Install `podman` or `docker` and `yq` on the VM from where you're executing the installation commands. 2. Clone the Devtron Helm chart: @@ -10,16 +14,20 @@ cd devtron ``` +3. Set the value of `TARGET_REGISTRY`, `TARGET_REGISTRY_USERNAME`, and `TARGET_REGISTRY_TOKEN`. This registry should be accessible from the VM where you are running the cloning script and the K8s cluster where you’re installing Devtron. -4. Set the value of `TARGET_REGISTRY`, `TARGET_REGISTRY_USERNAME`, and `TARGET_REGISTRY_TOKEN`. This registry should be accessible from the VM where you are running the cloning script and the K8s cluster where you’re installing Devtron. +{% hint style="info" %} +### Note +If you are using Docker, the TARGET_REGISTRY should be in the format docker.io/ +{% endhint %} -### Note: If you are using Docker, the TARGET_REGISTRY should be in the format docker.io/ +--- ## Docker Instructions ### For Linux/amd64 -1. Set the environment variables: +1. Set the environment variables ```bash # Set the source registry URL @@ -35,13 +43,13 @@ TARGET_IMAGES_LIST="${TARGET_IMAGES_LIST:=devtron-images.txt.target}" ``` -2. Log in to the target Docker registry: +2. Log in to the target Docker registry ```bash docker login -u $TARGET_REGISTRY_USERNAME -p $TARGET_REGISTRY_TOKEN $TARGET_REGISTRY ``` -3. Clone the images: +3. Clone the images ```bash while IFS= read -r source_image; do @@ -81,7 +89,7 @@ ### For Linux/arm64 -1. Set the environment variables: +1. Set the environment variables ```bash # Set the source registry URL @@ -97,13 +105,13 @@ TARGET_IMAGES_LIST="${TARGET_IMAGES_LIST:=devtron-images.txt.target}" ``` -2. Log in to the target Docker registry: +2. Log in to the target Docker registry ```bash docker login -u $TARGET_REGISTRY_USERNAME -p $TARGET_REGISTRY_TOKEN $TARGET_REGISTRY ``` -3. Clone the images: +3. Clone the images ```bash while IFS= read -r source_image; do @@ -141,11 +149,13 @@ done < "$SOURCE_IMAGES_LIST" ``` +--- + ## Podman Instructions ### For Multi-arch -1. Set the environment variables: +1. Set the environment variables ```bash export SOURCE_REGISTRY="quay.io/devtron" @@ -155,13 +165,13 @@ export TARGET_REGISTRY_TOKEN=#Enter target registry token/password ``` -2. Log in to the target Podman registry: +2. Log in to the target Podman registry ```bash podman login -u $TARGET_REGISTRY_USERNAME -p $TARGET_REGISTRY_TOKEN $TARGET_REGISTRY ``` -3. Clone the images: +3. Clone the images ```bash SOURCE_REGISTRY="quay.io/devtron" @@ -194,18 +204,18 @@ done 3<"$SOURCE_IMAGES_FILE_NAME" 4<"$TARGET_IMAGES_FILE_NAME" ``` -# Devtron Installation with Image Pull Secret +--- + +## Devtron Installation -## Prerequisites -Before starting, ensure that you have created an image pull secret for your registry if authentication is required. +Before starting, ensure you have created an image pull secret for your registry if authentication is required. -### Steps to Create an Image Pull Secret -1. Create the namespace (if not already created): +1. Create the namespace (if not already created) ```bash kubectl create ns devtroncd ``` -2. Create the Docker registry secret: +2. Create the Docker registry secret ```bash kubectl create secret docker-registry regcred \ --namespace devtroncd \ @@ -214,15 +224,14 @@ Before starting, ensure that you have created an image pull secret for your regi --docker-password=$TARGET_REGISTRY_TOKEN ``` -## Devtron Installation +3. Navigate to the Devtron Helm chart directory + ```bash + cd charts/devtron + ``` -Navigate to the Devtron Helm chart directory: +### Install Devtron with CI/CD Module Only -```bash -cd charts/devtron -``` -### Installing Devtron with CI/CD Module Only -To install Devtron with only the CI/CD module: +Use the below command to install Devtron with only the CI/CD module 1. Without `imagePullSecrets`: ```bash @@ -234,9 +243,9 @@ To install Devtron with only the CI/CD module: helm install devtron . -n devtroncd --set installer.modules={cicd} --set global.containerRegistry="$TARGET_REGISTRY" --set global.imagePullSecrets[0].name=regcred ``` -### Installing Devtron with Argo CD +### Install Devtron with Argo CD -To install Devtron with the CI/CD module and Argo CD: +Use the below command to install Devtron with the CI/CD module and Argo CD 1. Without `imagePullSecrets`: ```bash @@ -248,5 +257,7 @@ To install Devtron with the CI/CD module and Argo CD: helm install devtron . --create-namespace -n devtroncd --set installer.modules={cicd} --set argo-cd.enabled=true --set global.containerRegistry="$TARGET_REGISTRY" --set argo-cd.global.image.repository="${TARGET_REGISTRY}/argocd" --set argo-cd.redis.image.repository="${TARGET_REGISTRY}/redis" --set global.imagePullSecrets[0].name=regcred ``` +--- + ## Next Steps -After installation, refer to the [Devtron installation documentation](https://docs.devtron.ai/install/install-devtron-with-cicd-with-gitops#devtron-dashboard) for further steps, including obtaining the dashboard URL and the admin password. +After installation, refer [Devtron installation documentation](https://docs.devtron.ai/install/install-devtron-with-cicd-with-gitops#devtron-dashboard) for further steps, including obtaining the dashboard URL and the admin password. From 265e5185088c5911f44eb4bd7183b49d52890fcd Mon Sep 17 00:00:00 2001 From: ashokdevtron <141001279+ashokdevtron@users.noreply.github.com> Date: Thu, 22 Aug 2024 11:03:37 +0000 Subject: [PATCH 12/18] Other fixes --- .../setup/install/install-devtron-in-airgapped-environment.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/setup/install/install-devtron-in-airgapped-environment.md b/docs/setup/install/install-devtron-in-airgapped-environment.md index dd71d55d88..1aaf528711 100644 --- a/docs/setup/install/install-devtron-in-airgapped-environment.md +++ b/docs/setup/install/install-devtron-in-airgapped-environment.md @@ -16,9 +16,9 @@ In certain scenarios, you may need to deploy Devtron to a Kubernetes cluster tha 3. Set the value of `TARGET_REGISTRY`, `TARGET_REGISTRY_USERNAME`, and `TARGET_REGISTRY_TOKEN`. This registry should be accessible from the VM where you are running the cloning script and the K8s cluster where you’re installing Devtron. -{% hint style="info" %} +{% hint style="warning" %} ### Note -If you are using Docker, the TARGET_REGISTRY should be in the format docker.io/ +If you are using Docker, the TARGET_REGISTRY should be in the format `docker.io/` {% endhint %} --- From c65dfe0b9904f5bdaf4397f1c18992ee8cd63100 Mon Sep 17 00:00:00 2001 From: ashokdevtron <141001279+ashokdevtron@users.noreply.github.com> Date: Thu, 22 Aug 2024 11:07:53 +0000 Subject: [PATCH 13/18] Lang fix --- .../install/install-devtron-in-airgapped-environment.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/setup/install/install-devtron-in-airgapped-environment.md b/docs/setup/install/install-devtron-in-airgapped-environment.md index 1aaf528711..36d5b479c9 100644 --- a/docs/setup/install/install-devtron-in-airgapped-environment.md +++ b/docs/setup/install/install-devtron-in-airgapped-environment.md @@ -2,7 +2,7 @@ ## Introduction -In certain scenarios, you may need to deploy Devtron to a Kubernetes cluster that isn’t connected to the internet. Such air-gapped environments are used for a variety of reasons, particularly in industries with strict regulatory requirements like healthcare, banking, and finance. This is because air-gapped environments aren't exposed to the public internet; therefore, they create a controlled and secure space for handling sensitive data and operations. +In certain scenarios, you may need to deploy Devtron to a Kubernetes cluster that isn’t connected to the internet. Such air-gapped environments are used for various reasons, particularly in industries with strict regulatory requirements like healthcare, banking, and finance. This is because air-gapped environments aren't exposed to the public internet; therefore, they create a controlled and secure space for handling sensitive data and operations. ### Prerequisites @@ -14,7 +14,7 @@ In certain scenarios, you may need to deploy Devtron to a Kubernetes cluster tha cd devtron ``` -3. Set the value of `TARGET_REGISTRY`, `TARGET_REGISTRY_USERNAME`, and `TARGET_REGISTRY_TOKEN`. This registry should be accessible from the VM where you are running the cloning script and the K8s cluster where you’re installing Devtron. +3. Set the values of `TARGET_REGISTRY`, `TARGET_REGISTRY_USERNAME`, and `TARGET_REGISTRY_TOKEN`. This registry should be accessible from the VM where you are running the cloning script and the K8s cluster where you’re installing Devtron. {% hint style="warning" %} ### Note @@ -81,7 +81,7 @@ If you are using Docker, the TARGET_REGISTRY should be in the format `docker.io/ # Output the updated image name echo "Updated image: $target_image" - # Append the new image name to the target images file + # Append the new image name to the target image file echo "$target_image" >> "$TARGET_IMAGES_LIST" done < "$SOURCE_IMAGES_LIST" @@ -143,7 +143,7 @@ If you are using Docker, the TARGET_REGISTRY should be in the format `docker.io/ # Output the updated image name echo "Updated image: $target_image" - # Append the new image name to the target images file + # Append the new image name to the target image file echo "$target_image" >> "$TARGET_IMAGES_LIST" done < "$SOURCE_IMAGES_LIST" From 6de253cea8346874bc1de404aff4d581a9af690d Mon Sep 17 00:00:00 2001 From: Badal Kumar Prusty Date: Thu, 22 Aug 2024 17:27:07 +0530 Subject: [PATCH 14/18] added docs for ea-mode only --- .../install-devtron-in-airgapped-environment.md | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/docs/setup/install/install-devtron-in-airgapped-environment.md b/docs/setup/install/install-devtron-in-airgapped-environment.md index 36d5b479c9..a51fe1c450 100644 --- a/docs/setup/install/install-devtron-in-airgapped-environment.md +++ b/docs/setup/install/install-devtron-in-airgapped-environment.md @@ -229,9 +229,23 @@ Before starting, ensure you have created an image pull secret for your registry cd charts/devtron ``` -### Install Devtron with CI/CD Module Only Use the below command to install Devtron with only the CI/CD module +### Installing Devtron without any Integrations +To install Devtron without any Integrations: + +1. Without `imagePullSecrets`: + ```bash + helm install devtron . -n devtroncd --set global.containerRegistry="$TARGET_REGISTRY" + ``` + +2. With `imagePullSecrets`: + ```bash + helm install devtron . -n devtroncd --set global.containerRegistry="$TARGET_REGISTRY" --set global.imagePullSecrets[0].name=regcred + ``` + +### Installing Devtron with CI/CD Module Only +To install Devtron with only the CI/CD module: 1. Without `imagePullSecrets`: ```bash From 17a2158f526e0f85db75f5fb7ece4457fc2acf0f Mon Sep 17 00:00:00 2001 From: Badal Kumar Prusty Date: Thu, 22 Aug 2024 17:29:24 +0530 Subject: [PATCH 15/18] modified lang --- .../install/install-devtron-in-airgapped-environment.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/docs/setup/install/install-devtron-in-airgapped-environment.md b/docs/setup/install/install-devtron-in-airgapped-environment.md index a51fe1c450..0808ab4700 100644 --- a/docs/setup/install/install-devtron-in-airgapped-environment.md +++ b/docs/setup/install/install-devtron-in-airgapped-environment.md @@ -230,9 +230,8 @@ Before starting, ensure you have created an image pull secret for your registry ``` -Use the below command to install Devtron with only the CI/CD module ### Installing Devtron without any Integrations -To install Devtron without any Integrations: +Use the below command to install Devtron without any Integrations: 1. Without `imagePullSecrets`: ```bash @@ -245,7 +244,7 @@ To install Devtron without any Integrations: ``` ### Installing Devtron with CI/CD Module Only -To install Devtron with only the CI/CD module: +Use the below command to install Devtron with only the CI/CD module 1. Without `imagePullSecrets`: ```bash From fe04b36f61fbd1278f0b2fa59e9261af36a6a864 Mon Sep 17 00:00:00 2001 From: ashokdevtron <141001279+ashokdevtron@users.noreply.github.com> Date: Thu, 22 Aug 2024 17:34:39 +0530 Subject: [PATCH 16/18] Update install-devtron-in-airgapped-environment.md Changed h3 header to fit the ToC on the RHS --- .../install/install-devtron-in-airgapped-environment.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/docs/setup/install/install-devtron-in-airgapped-environment.md b/docs/setup/install/install-devtron-in-airgapped-environment.md index 0808ab4700..715f3d105e 100644 --- a/docs/setup/install/install-devtron-in-airgapped-environment.md +++ b/docs/setup/install/install-devtron-in-airgapped-environment.md @@ -230,8 +230,9 @@ Before starting, ensure you have created an image pull secret for your registry ``` -### Installing Devtron without any Integrations -Use the below command to install Devtron without any Integrations: +### Install Devtron without any Integrations + +Use the below command to install Devtron without any Integrations 1. Without `imagePullSecrets`: ```bash @@ -243,7 +244,8 @@ Use the below command to install Devtron without any Integrations: helm install devtron . -n devtroncd --set global.containerRegistry="$TARGET_REGISTRY" --set global.imagePullSecrets[0].name=regcred ``` -### Installing Devtron with CI/CD Module Only +### Install Devtron with CI/CD Module Only + Use the below command to install Devtron with only the CI/CD module 1. Without `imagePullSecrets`: From d500fbfd5c84c503d4f9e75715a5ecf2befcbfb5 Mon Sep 17 00:00:00 2001 From: Badal Kumar Prusty Date: Fri, 23 Aug 2024 18:52:00 +0530 Subject: [PATCH 17/18] added changes --- ...nstall-devtron-in-airgapped-environment.md | 97 ++++++------------- 1 file changed, 32 insertions(+), 65 deletions(-) diff --git a/docs/setup/install/install-devtron-in-airgapped-environment.md b/docs/setup/install/install-devtron-in-airgapped-environment.md index 715f3d105e..1f2b1b8dae 100644 --- a/docs/setup/install/install-devtron-in-airgapped-environment.md +++ b/docs/setup/install/install-devtron-in-airgapped-environment.md @@ -1,4 +1,4 @@ -# Devtron Full Mode Installation in an Airgapped Environment +# Devtron Installation in an Airgapped Environment ## Introduction @@ -6,7 +6,7 @@ In certain scenarios, you may need to deploy Devtron to a Kubernetes cluster tha ### Prerequisites -1. Install `podman` or `docker` and `yq` on the VM from where you're executing the installation commands. +1. Install `podman` or `docker` on the VM from where you're executing the installation commands. 2. Clone the Devtron Helm chart: ```bash @@ -25,69 +25,20 @@ If you are using Docker, the TARGET_REGISTRY should be in the format `docker.io/ ## Docker Instructions -### For Linux/amd64 +### Platform Selection -1. Set the environment variables +#### For Linux/amd64 ```bash - # Set the source registry URL - export SOURCE_REGISTRY="quay.io/devtron" - - # Set the target registry URL, username, and token/password - export TARGET_REGISTRY="" - export TARGET_REGISTRY_USERNAME="" - export TARGET_REGISTRY_TOKEN="" - - # Set the source and target image file names with default values if not already set - SOURCE_IMAGES_LIST="${SOURCE_IMAGES_LIST:=devtron-images.txt.source}" - TARGET_IMAGES_LIST="${TARGET_IMAGES_LIST:=devtron-images.txt.target}" + export PLATFORM="linux/amd64" ``` - -2. Log in to the target Docker registry +#### For Linux/arm64 ```bash - docker login -u $TARGET_REGISTRY_USERNAME -p $TARGET_REGISTRY_TOKEN $TARGET_REGISTRY + export PLATFORM="linux/arm64" ``` -3. Clone the images - - ```bash - while IFS= read -r source_image; do - # Check if the source image belongs to the quay.io/devtron registry - if [[ "$source_image" == quay.io/devtron/* ]]; then - # Replace the source registry with the target registry in the image name - target_image="${source_image/quay.io\/devtron/$TARGET_REGISTRY}" - - # Check if the source image belongs to the quay.io/argoproj registry - elif [[ "$source_image" == quay.io/argoproj/* ]]; then - # Replace the source registry with the target registry in the image name - target_image="${source_image/quay.io\/argoproj/$TARGET_REGISTRY}" - - # Check if the source image belongs to the public.ecr.aws/docker/library registry - elif [[ "$source_image" == public.ecr.aws/docker/library/* ]]; then - # Replace the source registry with the target registry in the image name - target_image="${source_image/public.ecr.aws\/docker\/library/$TARGET_REGISTRY}" - fi - - # Pull the image from the source registry - docker pull --platform linux/amd64 $source_image - - # Tag the image with the new target registry name - docker tag $source_image $target_image - - # Push the image to the target registry - docker push $target_image - - # Output the updated image name - echo "Updated image: $target_image" - - # Append the new image name to the target image file - echo "$target_image" >> "$TARGET_IMAGES_LIST" - - done < "$SOURCE_IMAGES_LIST" - ``` -### For Linux/arm64 1. Set the environment variables @@ -132,7 +83,7 @@ If you are using Docker, the TARGET_REGISTRY should be in the format `docker.io/ fi # Pull the image from the source registry - docker pull --platform linux/arm64 $source_image + docker pull --platform $PLATFORM $source_image # Tag the image with the new target registry name docker tag $source_image $target_image @@ -148,7 +99,6 @@ If you are using Docker, the TARGET_REGISTRY should be in the format `docker.io/ done < "$SOURCE_IMAGES_LIST" ``` - --- ## Podman Instructions @@ -217,12 +167,30 @@ Before starting, ensure you have created an image pull secret for your registry 2. Create the Docker registry secret ```bash - kubectl create secret docker-registry regcred \ + kubectl create secret docker-registry devtron-imagepull \ --namespace devtroncd \ --docker-server=$TARGET_REGISTRY \ --docker-username=$TARGET_REGISTRY_USERNAME \ --docker-password=$TARGET_REGISTRY_TOKEN ``` + If you are installing Devtron with the CI/CD module or using Argo CD, create the secret in the following namespaces else, you can skip this step-: + ```bash + kubectl create secret docker-registry devtron-imagepull \ + --namespace devtron-cd \ + --docker-server=$TARGET_REGISTRY \ + --docker-username=$TARGET_REGISTRY_USERNAME \ + --docker-password=$TARGET_REGISTRY_TOKEN + kubectl create secret docker-registry devtron-imagepull \ + --namespace devtron-ci \ + --docker-server=$TARGET_REGISTRY \ + --docker-username=$TARGET_REGISTRY_USERNAME \ + --docker-password=$TARGET_REGISTRY_TOKEN + kubectl create secret docker-registry devtron-imagepull \ + --namespace argo \ + --docker-server=$TARGET_REGISTRY \ + --docker-username=$TARGET_REGISTRY_USERNAME \ + --docker-password=$TARGET_REGISTRY_TOKEN + ``` 3. Navigate to the Devtron Helm chart directory ```bash @@ -241,11 +209,10 @@ Use the below command to install Devtron without any Integrations 2. With `imagePullSecrets`: ```bash - helm install devtron . -n devtroncd --set global.containerRegistry="$TARGET_REGISTRY" --set global.imagePullSecrets[0].name=regcred + helm install devtron . -n devtroncd --set global.containerRegistry="$TARGET_REGISTRY" --set global.imagePullSecrets[0].name=devtron-imagepull ``` -### Install Devtron with CI/CD Module Only - +### Installing Devtron with CI/CD Module Only Use the below command to install Devtron with only the CI/CD module 1. Without `imagePullSecrets`: @@ -255,10 +222,10 @@ Use the below command to install Devtron with only the CI/CD module 2. With `imagePullSecrets`: ```bash - helm install devtron . -n devtroncd --set installer.modules={cicd} --set global.containerRegistry="$TARGET_REGISTRY" --set global.imagePullSecrets[0].name=regcred + helm install devtron . -n devtroncd --set installer.modules={cicd} --set global.containerRegistry="$TARGET_REGISTRY" --set global.imagePullSecrets[0].name=devtron-imagepull ``` -### Install Devtron with Argo CD +### Install Devtron with CICD Mode including Argocd Use the below command to install Devtron with the CI/CD module and Argo CD @@ -269,7 +236,7 @@ Use the below command to install Devtron with the CI/CD module and Argo CD 2. With `imagePullSecrets`: ```bash - helm install devtron . --create-namespace -n devtroncd --set installer.modules={cicd} --set argo-cd.enabled=true --set global.containerRegistry="$TARGET_REGISTRY" --set argo-cd.global.image.repository="${TARGET_REGISTRY}/argocd" --set argo-cd.redis.image.repository="${TARGET_REGISTRY}/redis" --set global.imagePullSecrets[0].name=regcred + helm install devtron . --create-namespace -n devtroncd --set installer.modules={cicd} --set argo-cd.enabled=true --set global.containerRegistry="$TARGET_REGISTRY" --set argo-cd.global.image.repository="${TARGET_REGISTRY}/argocd" --set argo-cd.redis.image.repository="${TARGET_REGISTRY}/redis" --set global.imagePullSecrets[0].name=devtron-imagepull ``` --- From cd1146be6bd91bba6ebcb115c9dbe3e0d4589e83 Mon Sep 17 00:00:00 2001 From: Badal Kumar Prusty Date: Fri, 23 Aug 2024 18:58:41 +0530 Subject: [PATCH 18/18] modified changes --- .../setup/install/install-devtron-in-airgapped-environment.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/setup/install/install-devtron-in-airgapped-environment.md b/docs/setup/install/install-devtron-in-airgapped-environment.md index 1f2b1b8dae..8d705fb77a 100644 --- a/docs/setup/install/install-devtron-in-airgapped-environment.md +++ b/docs/setup/install/install-devtron-in-airgapped-environment.md @@ -198,7 +198,7 @@ Before starting, ensure you have created an image pull secret for your registry ``` -### Install Devtron without any Integrations +### Install Devtron without any Integration Use the below command to install Devtron without any Integrations @@ -212,7 +212,7 @@ Use the below command to install Devtron without any Integrations helm install devtron . -n devtroncd --set global.containerRegistry="$TARGET_REGISTRY" --set global.imagePullSecrets[0].name=devtron-imagepull ``` -### Installing Devtron with CI/CD Module Only +### Installing Devtron with CI/CD Mode Use the below command to install Devtron with only the CI/CD module 1. Without `imagePullSecrets`: