Acceldata
Pulse

Last updated: Sep 26, 2026 20:28 UTC

Deploy Pulse with Helm

This page describes how to deploy Pulse by using Helm.


Overview

This umbrella chart consists of three subcharts:

Subchart

Description

Default

pulse-core

Core components: RBAC, Manager Server, Operator

Enabled

optimizer

Optimizer components: Calculator, Webhook

Enabled

pulselogs

Log collection: DaemonSet, ConfigMap

Disabled


Prerequisites

  • Kubernetes 1.19 or later
  • Helm 3.x
  • kubectl configured to communicate with your cluster
  • Cluster admin permissions, required for CRDs and ClusterRoles


Quick start

  • Create Docker registry secret

Before installing, create the image pull secret.

# Create namespace
kubectl create ns pulse-system

# Create docker registry secret
kubectl create secret docker-registry pulse-registry \
 --docker-server=https://191579300362.dkr.ecr.us-east-1.amazonaws.com \
 --docker-username=AWS \
 --docker-password=<AWS_ECR_PASSWORD> \
 -n pulse-system
  • Install the chart
# Basic installation
helm install pulse ./helm \
 --namespace pulse-system \
 --set pulse-core.manager.pulseHostname=pulse.example.com \
 --set pulse-core.manager.adstreamUrl=http://pulse.example.com:31206/streaming

# Or use a values file
helm install pulse ./helm -f my-values.yaml --namespace pulse-system
  • Verify installation
# Check pods
kubectl get pods -n pulse-system

# Expected output:
# NAME                                 READY   STATUS    RESTARTS   AGE
# accelo-manager-xxxx                  1/1     Running   0          2m
# controller-manager-xxxx              1/1     Running   0          2m


Configuration

Global values

These values are shared across all subcharts.

Parameter

Description

Default

global.namespace

Target namespace

pulse-system
global.image.registry

Docker registry

191579300362.dkr.ecr.us-east-1.amazonaws.com/acceldata
global.image.tag

Default image tag for all services

latest
global.imagePullSecrets

Image pull secrets

[{name: pulse-registry}]


Image configuration

The chart uses a global image configuration pattern. Set the tag once, and it applies to all services.

# Set global tag for all images
helm install pulse ./helm --set global.image.tag=v2.0.0

# Override specific service tag
helm install pulse ./helm \
 --set global.image.tag=v2.0.0 \
 --set pulse-core.operator.image.tag=v2.1.0


Pulse-Core Values

Parameter

Description

Default

pulse-core.enabled

Enable pulse-core subchart

true
pulse-core.manager.image.repository

Manager image name

ad-accelo
pulse-core.manager.image.tag

Manager image tag (empty = use global)

""
pulse-core.manager.pulseHostname

Pulse hostname (required)

""
pulse-core.manager.adstreamUrl

AD Stream URL (required)

""
pulse-core.manager.hydraServerUrl

Hydra server URL

http://ad-hydra:19072
pulse-core.manager.hydraBaseUrl

Hydra base URL

""
pulse-core.manager.axnserverUrl

AXN server URL

""
pulse-core.manager.resources

Manager resource limits

See values.yaml

pulse-core.operator.image.repository

Operator image name

ad-pulse-operator
pulse-core.operator.image.tag

Operator image tag (empty = use global)

""
pulse-core.operator.resources

Operator resource limits

See values.yaml

pulse-core.hostAliases

Host aliases for DNS resolution

[]


Optimizer Values

Parameter

Description

Default

optimizer.enabled

Enable optimizer subchart

false
optimizer.calculator.enabled

Enable calculator component

false
optimizer.calculator.image.repository

Calculator image name

ad-pulse-optikube
optimizer.calculator.image.tag

Calculator image tag

""
optimizer.webhook.enabled

Enable webhook component

false
optimizer.webhook.image.repository

Webhook image name

ad-pulse-webhook
optimizer.webhook.image.tag

Webhook image tag

""
optimizer.webhook.tls.crt

Base64-encoded TLS certificate

""
optimizer.webhook.tls.key

Base64-encoded TLS key

""
optimizer.webhook.tls.caBundle

Base64-encoded CA bundle

""


Pulselogs Values

Parameter

Description

Default

pulselogs.enabled

Enable pulselogs subchart

false
pulselogs.namespace

Pulselogs namespace

pulselogs
pulselogs.image.repository

Pulselogs image name

pulselogs
pulselogs.image.tag

Pulselogs image tag

""
pulselogs.elasticsearch.host

Elasticsearch host (required when enabled)

""
pulselogs.elasticsearch.port

Elasticsearch port

19013
pulselogs.elasticsearch.username

Elasticsearch username

pulse
pulselogs.elasticsearch.password

Elasticsearch password

""
pulselogs.pulseClusterName

Pulse cluster name (required when enabled)

""
pulselogs.sparkNamespace

Spark namespace to monitor

spark
pulselogs.resources

Pulselogs resource limits

See values.yaml


Usage Examples

Basic installation

helm install pulse ./helm \
 --namespace pulse-system \
 --create-namespace \
 --set pulse-core.manager.pulseHostname=pulse.example.com \
 --set pulse-core.manager.adstreamUrl=http://pulse.example.com:31206/streaming

Production installation with a custom image tag

helm install pulse ./helm \
 --namespace pulse-prod \
 --create-namespace \
 --set global.image.tag=v2.5.0 \
 --set pulse-core.manager.pulseHostname=pulse.prod.example.com \
 --set pulse-core.manager.adstreamUrl=http://pulse.prod.example.com:31206/streaming \
 --set pulse-core.manager.hydraBaseUrl=http://pulse.prod.example.com:31206/hydra \
 --set pulse-core.manager.axnserverUrl=http://pulse.prod.example.com:31206/axnserver


With host aliases for DNS resolution

helm install pulse ./helm \
 --namespace pulse-system \
 --set pulse-core.manager.pulseHostname=pulse.example.com \
 --set pulse-core.manager.adstreamUrl=http://pulse.example.com:31206/streaming \
 --set 'pulse-core.hostAliases[0].ip=10.100.10.65' \
 --set 'pulse-core.hostAliases[0].hostnames[0]=dbserver1.example.com' \
 --set 'pulse-core.hostAliases[1].ip=10.100.10.66' \
 --set 'pulse-core.hostAliases[1].hostnames[0]=dbserver2.example.com'


Enable Pulselogs

helm install pulse ./helm \
 --namespace pulse-system \
 --set pulse-core.manager.pulseHostname=pulse.example.com \
 --set pulse-core.manager.adstreamUrl=http://pulse.example.com:31206/streaming \
 --set pulselogs.enabled=true \
 --set pulselogs.elasticsearch.host=elasticsearch.example.com \
 --set pulselogs.elasticsearch.password=mypassword \
 --set pulselogs.pulseClusterName=my-cluster


Disable Specific Components

# Disable optimizer webhook
helm install pulse ./helm \
 --namespace pulse-system \
 --set optimizer.webhook.enabled=false \
 --set pulse-core.manager.pulseHostname=pulse.example.com \
 --set pulse-core.manager.adstreamUrl=http://pulse.example.com:31206/streaming

# Disable entire optimizer subchart
helm install pulse ./helm \
 --namespace pulse-system \
 --set optimizer.enabled=false \
 --set pulse-core.manager.pulseHostname=pulse.example.com \
 --set pulse-core.manager.adstreamUrl=http://pulse.example.com:31206/streaming


Using a Values File

Create a my-values.yaml file:

global:
 namespace: pulse
 openshift: true
 image:
 registry: <CONTAINER_REGISTRY>
 tag: 4.1.0-beta
 imagePullSecrets:
 - name: <IMAGE_PULL_SECRET>
 imageCredentials:
 create: true
 name: <IMAGE_PULL_SECRET>
 server: <CONTAINER_REGISTRY>
 username: <USERNAME>
 password: <PASSWORD>

pulse-core:
 enabled: true
 manager:
 image:
 repository: ad-accelo
 pulseHostname: ""
 adstreamUrl: ""
 hydraServerUrl: "http://ad-hydra:19072"
 hydraBaseUrl: ""
 axnserverUrl: ""
 createAcceloManagerRoute: true
 resources:
 limits:
 cpu: 500m
 memory: 1024Mi
 requests:
 cpu: 10m
 memory: 64Mi
 replicas: 1
 operator:
 image:
 repository: ad-pulse-operator
 resources:
 limits:
 cpu: 500m
 memory: 1024Mi
 requests:
 cpu: 10m
 memory: 64Mi
 reconcilerRequeueTimeSeconds: "300"
 maxBackoffTimeSeconds: "30"
 defaultMongodbZoneCount: "100"
 replicas: 1
 ui:
 exposeUI: true
 targetPort: 4100
 streaming:
 exposeRoute: true
 targetPort: 19005
 hydra:
 exposeRoute: true
 targetPort: 19072
 hostAliases: []

Then install:

helm install pulse ./helm -f my-values.yaml --namespace pulse-prod --create-namespace


Upgrading

# Upgrade with new values
helm upgrade pulse ./helm \
 --namespace pulse-system \
 --set global.image.tag=v3.0.0

# Upgrade using values file
helm upgrade pulse ./helm -f my-values.yaml --namespace pulse-system


Uninstalling

# Uninstall the release
helm uninstall pulse --namespace pulse-system

# Note: CRDs are not automatically deleted
# To remove CRDs manually:
kubectl delete crd pulseoperators.pulse.acceldata.com


Upgrading CRDs

CRDs are not automatically upgraded by Helm. To upgrade CRDs:

kubectl apply -f helm/crds/


Troubleshooting

Pods Not Starting

Check whether the image pull secret exists:

kubectl get secret pulse-registry -n pulse-system

CRD already exists

If you are upgrading from a kubectl-based installation:

kubectl delete crd pulseoperators.pulse.acceldata.com
helm install pulse ./helm ...

Webhook certificates not configured

The webhook requires TLS certificates. Provide them with values:

helm install pulse ./helm \
 --set optimizer.webhook.tls.crt=$(base64 -w0 cert.pem) \
 --set optimizer.webhook.tls.key=$(base64 -w0 key.pem) \
 --set optimizer.webhook.tls.caBundle=$(base64 -w0 ca.pem)


Helm Commands

helm install pulse ./helm \
 --namespace pulse \
 --create-namespace \
 --set global.image.tag=testBuild-k8s \
 --set global.namespace=pulse \
 --set global.imagePullSecrets[0].name=adreg \
 --set pulse-core.manager.pulseHostname=platk8s101.acceldata.dvl \
 --set pulse-core.manager.adstreamUrl=http://platk8s101.acceldata.dvl:32382/streaming \
 --set pulse-core.manager.mongoUrl="mongodb://accel:ACCELUSER_01082018@pulse-mongodb-mongos-svc.pulse-mongo.svc.cluster.local" \
 --set pulse-core.manager.vminsertUrl="vminsert-pulse-victoriametrics.pulse-victoriametrics.svc.cluster.local" \
 --set pulse-core.manager.vmselectUrl="vmselect-pulse-victoriametrics.pulse-victoriametrics.svc.cluster.local" \
 --set pulse-core.manager.natsUrl="pulse-nats.pulse-nats.svc.cluster.local" \
 --set pulse-core.manager.pgUrl="pulse-postgresql-rw.pulse-postgres.svc.cluster.local" \
 --set pulse-core.manager.redisUrl="pulse-redis.pulse-redis.svc.cluster.local" \
 --set pulse-core.manager.elasticUrl="pulse-elasticsearch-es-http.pulse-es.svc.cluster.local" \
 --set pulse-core.manager.logstashUrl="pulse-logstash.pulse-logstash.svc.cluster.local" \
 --set pulse-core.manager.enableK8sDb=true
helm install pulse ./helm \
 --namespace pulse \
 --create-namespace \
 --set global.image.tag=testBuild-k8s \
 --set global.namespace=pulse \
 --set global.imagePullSecrets[0].name=adreg \
 --set pulse-core.manager.pulseHostname=platk8s101.acceldata.dvl \
 --set pulse-core.manager.adstreamUrl=http://platk8s101.acceldata.dvl:32382/streaming \
 --set pulse-core.manager.mongoUrl="ZN4v8cuUTXYvdnDJIDp+R8Z+ZsVXXjv8zDOvh8UwQXr2INALLQK+w/QZ3st0+j/He9YL2c4u8dOeFadenflMrbs6VKHW5E8Yymo3LiGvqjEsCVwFX//DWWFBRhq8eMZA" \
 --set pulse-core.manager.vminsertUrl="vminsert-pulse-victoriametrics.pulse-victoriametrics.svc.cluster.local:8480" \
 --set pulse-core.manager.vmselectUrl="vmselect-pulse-victoriametrics.pulse-victoriametrics.svc.cluster.local:8481" \
 --set pulse-core.manager.natsUrl="pulse-nats.pulse-nats.svc.cluster.local:4222" \
 --set pulse-core.manager.pgUrl="pulse-postgresql-rw.pulse-postgres.svc.cluster.local:5432" \
 --set pulse-core.manager.redisUrl="pulse-redis.pulse-redis.svc.cluster.local:6279" \
 --set pulse-core.manager.elasticUrl="http://pulse-elasticsearch-es-http.pulse-es.svc.cluster.local:9200" \
 --set pulse-core.manager.logstashUrl="pulse-logstash.pulse-logstash.svc.cluster.local" \
 --set pulse-core.manager.enableK8sDb=true
helm install pulse ./helm-pulse \
 --namespace pulse \
 --create-namespace \
 --set global.image.tag=testBuild-k8s \
 --set global.namespace=pulse \
 --set global.imagePullSecrets[0].name=adreg \
 --set pulse-core.manager.mongoUrl="ZN4v8cuUTXYvdnDJIDp+R8Z+ZsVXXjv8zDOvh8UwQXr2INALLQK+w/QZ3st0+j/H7FXhrHvNTQaM3TlnkdFgq6OKxJMYQmZwEfJtlsL2CR6GFl1RVjKsafxfZVlqNOR8" \
 --set pulse-core.manager.vminsertUrl="vminsert-pulse-victoriametrics.pulse-vm.svc.cluster.local:8480" \
 --set pulse-core.manager.vmselectUrl="vmselect-pulse-victoriametrics.pulse-vm.svc.cluster.local:8481" \
 --set pulse-core.manager.natsUrl="pulse-nats.pulse-nats.svc.cluster.local:4222" \
 --set pulse-core.manager.pgUrl="pulse-postgresql-rw.pulse-pg.svc.cluster.local:5432" \
 --set pulse-core.manager.redisUrl="redis" \
 --set pulse-core.manager.elasticUrl="pulse-elasticsearch-es-http.pulse-es.svc.cluster.local" \
 --set pulse-core.manager.logstashUrl="pulse-logstash.pulse-logstash.svc.cluster.local" \
 --set pulse-core.manager.createAcceloManagerRoute=true \
 --set pulse-core.ui.exposeUI=true \
 --set pulse-core.streaming.exposeRoute=true \
 --set pulse-core.hydra.exposeRoute=true \
 --set loadBalancerServices.ad-logstash.enabled=true \
 --set pulselogs.rbac.create=true \
 --set pulselogs.scc.create=true \
 --set pulselogs.namespace=pulse \
 --set pulsenode.namespace=pulse \
 --set pulsenode.rbac.create=true \
 --set pulsenode.scc.create=true \
 --set global.routeSuffix="apps.os-pnc.acceldata.tech" \
 --set global.imageCredentials.password='eyJwYXlsb2FkIjoiZFF2RDlRM2RGR3BaVFNScThIb2ZpNW9xVzI4OC9nUjNLdHFaTFhQUllIUEs5N2o4bE55NGFhd1lhL2dzcjRCWWEvUER5VlVuYUp3L0NxUGRYRnY5eWcwNklNZHFNRE95VGd6OFBCaTFFVlY3Rm52NTRhOFhuazVTaXZPYnIrKzdvdFJuTlhOUkF5YVNtYzhHSlp6RWU1Tzl6WEl6ZGQrbWp2Y3VhZXJ5YS9mNExGREwwZ2N4NS9GSy9IcHVnU2cvNzVYc2Q5YStsRjlRZWdvUysvMUswcldBcDNrZDhwU0ZrcXZhU0hiNk1mYlBIYlpldUQ4M2x6YnQzcGxkNnFLdG80QWpJWG52ejluYW9OU1RFdFBNMmNkTVhsWjkySHozcGZsQ3ByT0Ryd29SdGpjV0lNd0kxMHBBUVF5Tmo3WGUyK2lyaFhGS0g2N3U5VGdPSHZlWmxHOXBIQmhFblRhOG5YeTNmOEt4ellEREoxWDlJdFIzVGFVd2o2OEdpMURjKzRudmpwZFdUQzdQL3ZWL1VNcFpCOUcyNWpHNlBrMmlYU3FVWjVoYXRKZFBkLzh4VVhqdVB6Mm5MQnkyY1hqbTZWaVM3eWZwcEd5N0VLN0VBdWNTS2ZpdmxvTVg5OEVtZWdCQi91d3JlTTdpWmxDaUVpKzU5akIraTZlN081MEFiaGdBZ0Z2Qllsc0l3VmdFNEFBdnRMeHpZOXlsTUV2dkxCOFhhSVd3MkZLM3JlTGRzanBlTXNxTVdUNlpUeHc5a0d3MFRxT3dEU0hDdW1IWCtGUHBYUVF2eHhDU05DTm1WdWw0bHVGNVU0UVNQc0dOdmR4YkdOSWo5WEdSd0MyTlJ0N1UycGJTMjEvZmxrU0NKQmhQaldsZ1hHd1AwOXpjRG4ydVl1ZFY0a2ROWTIzZFVSZEIwbno0cXNud2dsTG8xV3c1ZUNsUk1nY3RlM3dIaTZpTFZnVkovOExPdDRFbWlJU21sNFUvNVdIcUxmS2gvYlBmK3ozQ05FMWgvS2dVc0ZvRWhzVUpWR3A5RmgzKzZGaXY4azFlSGs1UXY2ZC9ZSnE5cGlRdWRyTkJqd09xQXYzMktGcnlGSkNScE5QVnV1VWxhVWpmckF5WjlzNTRGdWZud1RSYUhZWXhUSzNDN0piZW81djlGbzZPWXcvNkR2WlhxWmg5eWtOYzBiZEtzNitsVzAwaFQvblVuMnM2cktXdElmWXAyNXdBS09kWUxleU1NNVR0ZFprMzNKRlIxenFzL056a1ZpRVlOYUZEakVWK3RHZS9BU25YZ1VYR3lVcWpKelMzVkx4OUwrN2JhdDlua05qd1hxS3Q0R25NWTFWTzM1SnpESWJRNnl4dG9QNVlVbkd0bkovbSIsImRhdGFrZXkiOiJBUUVCQUhod20wWWFJU0plUnRKbTVuMUc2dXFlZWtYdW9YWFBlNVVGY2U5UnE4LzE0d0FBQUg0d2ZBWUpLb1pJaHZjTkFRY0dvRzh3YlFJQkFEQm9CZ2txaGtpRzl3MEJCd0V3SGdZSllJWklBV1VEQkFFdU1CRUVETGlyOG52VTBURjdKZi9JNndJQkVJQTc3N1V5ekNvV054S0g5TDU5eUpJU2ZtU1FqYngybkFwSm5Vc0syd1FvbU9VZGRtMFFPdWtyclNvSDRMUzlsa0NVVklRZWJRcWtuRkY4U3djPSIsInZlcnNpb24iOiIyIiwidHlwZSI6IkRBVEFfS0VZIiwiZXhwaXJhdGlvbiI6MTc3NDE2MjUwOX0=' \
 --set pulse-core.manager.enableK8sDb=true
helm upgrade pulse ./helm-pulse \
 --namespace pulse \
 --create-namespace \
 --set global.image.tag=testBuild-k8s \
 --set global.namespace=pulse \
 --set global.imagePullSecrets[0].name=adreg \
 --set pulse-core.manager.pulseHostname=platk8s101.acceldata.dvl \
 --set pulse-core.manager.adstreamUrl=http://platk8s101.acceldata.dvl:32382/streaming \
 --set pulse-core.manager.mongoUrl="ZN4v8cuUTXYvdnDJIDp+R8Z+ZsVXXjv8zDOvh8UwQXr2INALLQK+w/QZ3st0+j/H7FXhrHvNTQaM3TlnkdFgq6OKxJMYQmZwEfJtlsL2CR6GFl1RVjKsafxfZVlqNOR8" \
 --set pulse-core.manager.vminsertUrl="vminsert-pulse-victoriametrics.pulse-vm.svc.cluster.local:8480" \
 --set pulse-core.manager.vmselectUrl="vmselect-pulse-victoriametrics.pulse-vm.svc.cluster.local:8481" \
 --set pulse-core.manager.natsUrl="pulse-nats.pulse-nats.svc.cluster.local:4222" \
 --set pulse-core.manager.pgUrl="pulse-postgresql-rw.pulse-pg.svc.cluster.local:5432" \
 --set pulse-core.manager.redisUrl="redis" \
 --set pulse-core.manager.elasticUrl="pulse-elasticsearch-es-http.pulse-es.svc.cluster.local" \
 --set pulse-core.manager.logstashUrl="pulse-logstash.pulse-logstash.svc.cluster.local" \
 --set pulse-core.manager.createAcceloManagerRoute=true \
 --set pulse-core.ui.exposeUI=true \
 --set global.imageCredentials.password='eyJwYXlsb2FkIjoiSVl4Y2JQQ0ljSVFVSkFwM2ZpRzVoWHgvY1RMU21NaWpyellyM0hSTkFBK2taZm9wR2tTeDZXVitGU3RmNXhDU0hHNThwaUdWZldjRVlhVUloTU9XczhRN3Vsd0NiWmZLQ1hMTjBWVzVJVlFuMmdrekl2b0VaQk5pd1NaN2RvL3J6R2ladlZFREtCZUF6QjJUbElpLzZoWWhncGR5RlpBWEs4N1JJUGUreVdDaTdTbGU3SzRTVXFaWFY5RGEwMlB3Ym1HN3BYaENiWTdTQWFhOXhBQkt1Y09LOVRuanY0NkgyVnlCbkVUMjlEV2dtN1hlb1lhcEFXUUVnTzdncU40ZTFlUTRuZjFGYkw2THBsSjh4R0dEejdJL2s1azFnV1J4aEVUUWVHOXkrUzBXYkt3MGIrTk0rS0dZdWNVaFVJK2xiUTM2T085anlvZlg3bzRCQzZ0akFsUkplUmhSK0UxSFdhYXkvRU9NNFVGRldQeWhNSld2Y09hM09Obk4xZGl4R2hySnhtVWNJWldCRzllRXRvVjZrdGF1U1ZUQTdVcXhHdDdKQXBTTUNveWtQTlA1RDJvSzd0djhQbnRPNTdyZGphaW9YL3Vpckw1UXdxVlRTM0hMdUFYMmJjS2tnb1B4TmJweXZvZk02eU44U3V3TjVLOUJtb3M1MlVObjR4WUtpTTFhOU1CaFNEZUtvSTlNMnJmaWRTalVhNjRJd2RFVUM4a1NBVWd0eFN2aS96dk1YaGd0YVZ4Q1pRYzRSa1RjTWZQMzFtQ2txdzQ1ZGdMVWlZejFibE5Qd21QZlZFZXNNRXV6WWhkeTc3L1M1Tmw1MXpHUko4YWE4eC9tYzVDRkQ2ajhxNTVSS2FOQWtLb1k2Z0lTTFJYcDJsRTVWR2JpMkNzUU42T2FsdVlaQU9rQXlLcGE4RmdRWVJoc3NTQmVwditIL3ZyK3UvSTZoRzhPMjNRNlVVOEtVNTBQVHJlRWJJSk1oaFFGY0prMnlHWkZURzQ0OFBIYzVDTVY5UkZnQjhrM1dFQlc3VldiSnk4c3cwdjQyaElTbXVHeXd1Ykduc3owNDJxSy9nazNqc2NSdWYyL1NDZFBkT2l4UkVSMHhPdWJIWHhHamppMlhrdCs0eWJaVzNUT2YxaWtvSXo2dlF6YjVyTmM2STRRaGdhTGthOUp0aHE4U2s5dlRhR2k4SE11MlprVit0eDVTUEl6SU84QTNaWDU5Nnp2U1pYaE9qenJmSldtc3hJaGxYTnVMbVgrTzYzZ3R3RHBHc0xJYTh2L2pyT1dKMDQ4cWN2cTMxNVliMmVhcVpHWEQ0eGZuWi81QTcxbm5KZUxHMzFkUjVnd1AwWWdxeWVvIiwiZGF0YWtleSI6IkFRRUJBSGh3bTBZYUlTSmVSdEptNW4xRzZ1cWVla1h1b1hYUGU1VUZjZTlScTgvMTR3QUFBSDR3ZkFZSktvWklodmNOQVFjR29HOHdiUUlCQURCb0Jna3Foa2lHOXcwQkJ3RXdIZ1lKWUlaSUFXVURCQUV1TUJFRURMR1VYL3ZSejl0eXFxQmN1UUlCRUlBN085cUFZZnNiVEhHUUk3VkhFYkQvYzhDOGdTK0pHK0U5WVh4Uk5QM1p2cWpMTHJDU2U2c1J3M3V3cVpiTnVweHRUUHhCR3ZkNkYyemtjMFU9IiwidmVyc2lvbiI6IjIiLCJ0eXBlIjoiREFUQV9LRVkiLCJleHBpcmF0aW9uIjoxNzczODAzMjgzfQ==' \
 --set pulse-core.manager.enableK8sDb=true
helm upgrade pulse ./helm-pulse \
 --namespace pulse \
 --set global.imageCredentials.password='eyJwYXlsb2FkIjoiSHR6bzR3QUUweUw5MmIrdHFlVFM0cXRJb09BUDJ1bGYyM3ozM3NZVThyNWFZT3RueDhraFRjZGIweERpWGtjN1kybENVSStOT0ZPTDhQYmp5RmhJMWlGaDlwa05pd2RFREl0RmdVdGhhZ2dHay9Ld2ZiS2dHOUVyMzJNVUVJbFhRejlHb0UvV1lpcXNDZDBqSURhWERTditoSlduWHg5NktFNFd0R2JaalUzVFg4OVB4SW9hZ2swMXNqcTdoa3JXQ3U4K0RJMGs3aDVzbHhoTmxWSXRvWjRIOGpaZlJ3M3o1b1J1bi9HOVppWWZtdUFDdXVaUmFZUDVjalBqdktPQ2NQQlhra1BuUUhRcTdFU0JGSHlJaDFaQUh1YnVGSjJMWEx2aFpkYW9adTVSR3NmbDA1K0g5K3hQd3JsK1BUdk9TWTNsY2J1YkF3WjNCWkIzRnBUVDIzaWV5Sm1sdnRuRHdqZzQyYTRyZkdqTDV3Zmw4WVhBMXZMS2M4M3ByUnhsN1Y4ZHFYT0F4NWFyUUUydFZGem5OeEt6d2EvdXBrRkVQaW9QL3l4VDExeHh5UmFvZm9FYjdiVFk1eEFzSzlvekpXSW10bTRHVElUaGNVaENQYmVxcmM0Rk1pU1htWGpGckM0eFJpWXVJeEZZNlV4RDlOWHlGRmdaOGtpcE9BMEQwbWtQcHN5cWExR3BLcDBXYnFYYVROUElxLzVyQlNDSG4rU3NNcUdUNU9EdFp2TkZSZmI5MUJzVFYvdVlYVFVmajV1TWh0bHVoTklwcG1wcTdZQ3cxVkhIWkdlV2c5NWNhbDd3b2c4d1FrV2l2R1NQdkdCYjgvbktEaXN4TUJkTjBjYkhxbEw5b24xU2I2ZFRHclVjdHlhZWkvdzh5a0M0YnVpUHozalA3WDFhZkg5MjZvN1Bxa1hObXFCVnk4ayt6VnExd24zMGo1Y0ZZc3lFN0ZNQ1VIVXk2WnVvNW5JQVlwR1p4SHlFQ1ZBdm51SEVVNU9mVTlmdmpvcUxJNyt2YTZpWmlURjVzYTV5WjNQVWdqNGwwVlVRTWF5a0hMZW5MclBnclUrTXNSc01YZG1ocEJmSWtveFlBNWF1YnZRdk9BYzlEa2tKRXlrMDlNSmZxZGdhY2x5NUZiVTFERHFoQUg1Rjc0ZUw4T2N1MkRRbVBDZy9nRFV5NTgyNU1HOFI3UXZoZEp1aVN4ajdlb1NqYk9MaGpJdFdnTW1hNkdIdXdFdmJRWEE4V1dNRWNia2dzVTllenlvNWxkWEJmOUIwZHoraXFJK0VCNzd3USs4YmNTZkU5T1hQTlRsczB6UVpDMjl4QlF4NjJzL2tSNWJTdGptNFFqaEF0NE84IiwiZGF0YWtleSI6IkFRRUJBSGh3bTBZYUlTSmVSdEptNW4xRzZ1cWVla1h1b1hYUGU1VUZjZTlScTgvMTR3QUFBSDR3ZkFZSktvWklodmNOQVFjR29HOHdiUUlCQURCb0Jna3Foa2lHOXcwQkJ3RXdIZ1lKWUlaSUFXVURCQUV1TUJFRURDQUlYUlNXcGl0Vmt4bVZnd0lCRUlBN3Q2Qk02TERoSGRVMXlSaThhaXNpWW8wZS92R2FSNFgyRzlBV3B1cUhhaXZpOExML1BMalNKYy9BT2UxRXYxQnpNWkdtZitWVHRyeXVRRHM9IiwidmVyc2lvbiI6IjIiLCJ0eXBlIjoiREFUQV9LRVkiLCJleHBpcmF0aW9uIjoxNzczNzgwNzk0fQ==' \
 --reuse-values
helm install pulse-nats ./helm-pulse -n pulse-nats --set loadBalancerServices.nats.enabled=true
helm upgrade --install pulse ./helm-pulse -n pulse \
 --set global.namespace=pulse \
 --set loadBalancerServices.ad-logstash.enabled=true \
 --set loadBalancerServices.ad-streaming.enabled=true