/helm-charts

Support TF for the top Cloud Providers: EKS ✅ GKE 🟨 AKS 🟨

Primary LanguageShell

Harness Helm Charts

This readme provides the basic instructions you need to deploy Harness using a Helm chart. The Helm chart deploys Harness in a production configuration.

Helm Chart for deploying Harness.

Version: 0.3.0 Type: application AppVersion: 1.0.78109

Usage

Harness Helm charts require the installation of Helm. To download and get started with Helm, see the Helm documentation.

Use the following command to add the Harness chart repository to your Helm installation:

$ helm repo add harness https://harness.github.io/helm-charts

Requirements

Install the chart

Use the following process to install the Helm chart.

  1. Create a namespace for your installation.
$ kubectl create namespace <namespace>
  1. Create the override.yaml file using your envirionment settings:

Install the Helm chart:

$  helm install my-release harness/harness-prod -n <namespace> -f override.yaml

Access the application

Verify your installation by accessing the Harness application and creating your Harness account. For basic instructions, see https://docs.harness.io/article/gqoqinkhck-install-harness-self-managed-enterprise-edition-with-helm#create_your_harness_account.

Upgrade the chart

Use the following instructions to upgrade Harness Helm chart to a later version.

  1. Obtain the release-name that identifies the installed release:
$ helm ls -n <namespace>
  1. Retrieve configuration information for the installed release from the old-values.yaml file:
$ helm get values my-release > old_values.yaml
  1. Modify the values of the old_values.yaml file as your configuration requires.

  2. Use the helm upgrade command to update the chart:

Helm Upgrade

$ helm upgrade my-release harness/harness-demo -n <namespace> -f old_values.yaml

Uninstall the chart

The following process uninstalls the Helm chart and removes your Harness deployment.

Uninstall and delete the my-release deployment:

$ helm uninstall my-release -n <namespace>

This command removes the Kubernetes components that are associated with the chart and deletes the release.

Images for disconnected networks

If your cluster is in an air-gapped environment, your deployment requires the following images:

docker.io/harness/gitops-service-signed:v0.61.2
docker.io/harness/learning-engine-onprem-signed:66700
docker.io/bitnami/minio:2022.8.22-debian-11-r0
docker.io/bitnami/mongodb:4.2.19
docker.io/bitnami/postgresql:14.4.0-debian-11-r9
docker.io/harness/accesscontrol-service-signed:77801
docker.io/harness/batch-processing-signed:78200-000
docker.io/harness/cdcdata-signed:78109
docker.io/harness/ce-anomaly-detection-signed:12
docker.io/harness/ce-cloud-info-signed:0.19.0
docker.io/harness/ce-nextgen-signed:78300-000
docker.io/harness/ci-manager-signed:2303
docker.io/harness/ci-scm-signed:release-88-ubi
docker.io/harness/cv-nextgen-signed:78109
docker.io/harness/dashboard-service-signed:v1.52.24
docker.io/harness/delegate-proxy-signed:78108
docker.io/harness/error-tracking-signed:5.7.4
docker.io/harness/et-collector-signed:5.7.2
docker.io/harness/event-service-signed:77317
docker.io/harness/ff-pushpin-signed:1.0.3
docker.io/harness/ff-pushpin-worker-signed:1.738.0
docker.io/harness/ff-server-signed:1.738.0
docker.io/harness/gateway-signed:2000137
docker.io/harness/helm-init-container:latest
docker.io/harness/le-nextgen-signed:67300
docker.io/harness/looker-signed:22.18.18.0
docker.io/harness/manager-signed:78109
docker.io/harness/ng-ce-ui:0.23.8
docker.io/harness/policy-mgmt:v1.49.0
docker.io/harness/stocore-signed:v1.20.5
docker.io/harness/stomanager-signed:78800-000
docker.io/harness/telescopes-signed:10100
docker.io/harness/ti-service-signed:release-149
docker.io/harness/ui-signed:78100
docker.io/harness/verification-service-signed:78109
docker.io/ubuntu:20.04
docker.io/harness/template-service-signed:78109
docker.io/harness/ff-postgres-migration-signed:1.738.0
docker.io/harness/ff-timescale-migration-signed:1.738.0
docker.io/harness/helm-init-container:latest
docker.io/harness/log-service-signed:release-18
docker.io/harness/nextgenui-signed:0.336.3
docker.io/harness/ng-auth-ui-signed:0.45.0
docker.io/harness/ng-manager-signed:78109
docker.io/harness/pipeline-service-signed:1.19.3
docker.io/harness/platform-service-signed:77901
docker.io/harness/redis:6.2.7-alpine
docker.io/harness/ti-service-signed:release-149
docker.io/timescale/timescaledb-ha:pg13-ts2.6-oss-latest
docker.io/harness/ci-addon:1.14.19
docker.io/harness/ci-addon:1.16.1-linux-amd64
docker.io/harness/gitops-agent:v0.42.0
docker.io/haproxy:2.0.25-alpine
docker.io/redis:6.2.6-alpine
docker.io/plugins/artifactory:1.2.0
docker.io/harness/delegate:latest
docker.io/plugins/kaniko:1.6.6
docker.io/plugins/kaniko-ecr:1.6.6
docker.io/plugins/kaniko-gcr:1.6.6
docker.io/plugins/cache:1.4.3
docker.io/plugins/gcs:1.3.0
docker.io/harness/upgrader:latest
docker.io/harness/drone-git:1.2.7-rootless
docker.io/harness/delegate:23.02.78108
docker.io/harness/ci-lite-engine:1.14.22
docker.io/harness/ci-lite-engine:1.16.1-linux-amd64
docker.io/plugins/cache:1.4.3
docker.io/bewithaman/s3:latest
docker.io/plugins/s3:1.1.0
docker.io/harness/sto-plugin:latest
docker.io/harness/sto-plugin:latest
docker.io/harness/upgrader:latest
docker.io/curlimages/curl:latest

Values

Key Type Default Description
ccm object {"batch-processing":{"awsAccountTagsCollectionJobConfig":{"enabled":true},"clickhouse":{"enabled":false},"cloudProviderConfig":{"CLUSTER_DATA_GCS_BACKUP_BUCKET":"placeHolder","CLUSTER_DATA_GCS_BUCKET":"placeHolder","DATA_PIPELINE_CONFIG_GCS_BASE_PATH":"placeHolder","GCP_PROJECT_ID":"placeHolder","S3_SYNC_CONFIG_BUCKET_NAME":"placeHolder","S3_SYNC_CONFIG_REGION":"placeHolder"},"stackDriverLoggingEnabled":false},"clickhouse":{"enabled":false},"event-service":{"stackDriverLoggingEnabled":false},"nextgen-ce":{"clickhouse":{"enabled":false},"cloudProviderConfig":{"GCP_PROJECT_ID":"placeHolder"},"stackDriverLoggingEnabled":false}} Set ccm.nextgen-ce.stackDriverLoggingEnabled to true for GCP infrastructure
ci.ci-manager.affinity object {}
ci.ci-manager.nodeSelector object {}
ci.ci-manager.tolerations list []
global.airgap string "false"
global.ccm object {"enabled":false} Enable to install CCM(beta)
global.cd.enabled bool false
global.cg.enabled bool false
global.ci object {"enabled":false} Enable to install CI
global.ff object {"enabled":false} Enable to install FF
global.gitops object {"enabled":false} Enable to install gitops(beta)
global.ha bool true
global.imageRegistry string "" This private Docker image registry will override any registries that are defined in subcharts.
global.ingress object {"className":"harness","defaultbackend":{"create":false,"image":{"digest":"","pullPolicy":"IfNotPresent","registry":"k8s.gcr.io","repository":"defaultbackend-amd64","tag":"1.5"}},"enabled":false,"hosts":["myhost.example.com"],"loadBalancerEnabled":false,"loadBalancerIP":"0.0.0.0","nginx":{"controller":{"annotations":{}},"create":false,"image":{"digest":"","pullPolicy":"IfNotPresent","registry":"us.gcr.io","repository":"k8s-artifacts-prod/ingress-nginx/controller","tag":"v1.0.0-alpha.2"},"objects":{"annotations":{}}},"tls":{"enabled":true,"secretName":"harness-cert"}} - Set ingress.enabled to true to create Kubernetes Ingress objects for Nginx.
global.ingress.defaultbackend.create bool false Create will deploy a default backend into your cluster
global.ingress.nginx.controller.annotations object {} annotations to be addded to ingress Controller
global.ingress.nginx.create bool false Create Nginx Controller. True will deploy a controller into your cluster
global.ingress.nginx.objects.annotations object {} annotations to be added to ingress Objects
global.istio object {"enabled":false,"gateway":{"create":true,"port":443,"protocol":"HTTPS"},"hosts":["*"],"strict":false,"tls":{"credentialName":"harness-cert","minProtocolVersion":"TLSV1_2","mode":"SIMPLE"},"virtualService":{"hosts":["myhostname.example.com"]}} Istio Ingress Settings
global.license.cg string ""
global.license.ng string ""
global.loadbalancerURL string "https://myhostname.example.com"
global.mongoSSL bool false
global.ng.enabled bool true
global.ngGitSync.enabled bool false
global.ngcustomdashboard object {"enabled":false} Enable to install CDB
global.opa object {"enabled":false} Enable to install opa(beta)
global.saml object {"autoaccept":false} Enabled will not send invites to email and autoaccepts
global.smtpCreateSecret.enabled bool false
global.srm object {"enabled":false} Enable to install SRM
global.sto object {"enabled":false} Enable to install STO
global.storageClassName string ""
global.useImmutableDelegate string "false"
ng-manager.ceGcpSetupConfigGcpProjectId string "placeHolder"
ngcustomdashboard.looker.affinity object {}
ngcustomdashboard.looker.nodeSelector object {}
ngcustomdashboard.looker.tolerations list []
ngcustomdashboard.ng-custom-dashboards.affinity object {}
ngcustomdashboard.ng-custom-dashboards.nodeSelector object {}
ngcustomdashboard.ng-custom-dashboards.tolerations list []
platform.access-control object {"affinity":{},"nodeSelector":{},"tolerations":[]} Access control settings (taints, tolerations, and so on)
platform.change-data-capture object {"affinity":{},"nodeSelector":{},"tolerations":[]} change-data-capture settings (taints, tolerations, and so on)
platform.cv-nextgen object {"affinity":{},"nodeSelector":{},"tolerations":[]} cv-nextgen settings (taints, tolerations, and so on)
platform.delegate-proxy object {"affinity":{},"nodeSelector":{},"tolerations":[]} delegate proxy settings (taints, tolerations, and so on)
platform.gateway object {"affinity":{},"nodeSelector":{},"tolerations":[]} gateway settings (taints, tolerations, and so on)
platform.harness-manager object {"affinity":{},"nodeSelector":{},"tolerations":[]} harness-manager (taints, tolerations, and so on)
platform.le-nextgen object {"affinity":{},"nodeSelector":{},"tolerations":[]} le-nextgen (taints, tolerations, and so on)
platform.log-service object {"affinity":{},"nodeSelector":{},"tolerations":[]} log-service (taints, tolerations, and so on)
platform.minio object {"affinity":{},"nodeSelector":{},"tolerations":[]} minio (taints, tolerations, and so on)
platform.mongodb.affinity object {}
platform.mongodb.nodeSelector object {}
platform.mongodb.tolerations list []
platform.next-gen-ui.affinity object {}
platform.next-gen-ui.nodeSelector object {}
platform.next-gen-ui.tolerations list []
platform.ng-auth-ui.affinity object {}
platform.ng-auth-ui.nodeSelector object {}
platform.ng-auth-ui.tolerations list []
platform.ng-manager.affinity object {}
platform.ng-manager.nodeSelector object {}
platform.ng-manager.tolerations list []
platform.pipeline-service.affinity object {}
platform.pipeline-service.nodeSelector object {}
platform.pipeline-service.tolerations list []
platform.platform-service.affinity object {}
platform.platform-service.nodeSelector object {}
platform.platform-service.tolerations list []
platform.redis.affinity object {}
platform.redis.nodeSelector object {}
platform.redis.tolerations list []
platform.scm-service.affinity object {}
platform.scm-service.nodeSelector object {}
platform.scm-service.tolerations list []
platform.template-service.affinity object {}
platform.template-service.nodeSelector object {}
platform.template-service.tolerations list []
platform.ti-service.affinity object {}
platform.ti-service.nodeSelector object {}
platform.ti-service.tolerations list []
platform.timescaledb.affinity object {}
platform.timescaledb.nodeSelector object {}
platform.timescaledb.tolerations list []
srm.enable-receivers bool false
srm.et-collector.affinity object {}
srm.et-collector.nodeSelector object {}
srm.et-collector.tolerations list []
srm.et-receiver-agent.affinity object {}
srm.et-receiver-agent.nodeSelector object {}
srm.et-receiver-agent.tolerations list []
srm.et-receiver-decompile.affinity object {}
srm.et-receiver-decompile.nodeSelector object {}
srm.et-receiver-decompile.tolerations list []
srm.et-receiver-hit.affinity object {}
srm.et-receiver-hit.nodeSelector object {}
srm.et-receiver-hit.tolerations list []
srm.et-receiver-sql.affinity object {}
srm.et-receiver-sql.nodeSelector object {}
srm.et-receiver-sql.tolerations list []
srm.et-service.affinity object {}
srm.et-service.nodeSelector object {}
srm.et-service.tolerations list []
sto.sto-core.affinity object {}
sto.sto-core.autoscaling.enabled bool false
sto.sto-core.nodeSelector object {}
sto.sto-core.tolerations list []
sto.sto-manager.affinity object {}
sto.sto-manager.autoscaling.enabled bool false
sto.sto-manager.nodeSelector object {}
sto.sto-manager.tolerations list []

Autogenerated from chart metadata using helm-docs v1.11.0