bbgo/doc/deployment/helm-chart.md

2.1 KiB

Helm Chart

Requirement

  • redis (optional, if you need persistence)
  • docker image (you can use the image from docker hub or build one by yourself)

Install

If you need redis:

helm repo add bitnami https://charts.bitnami.com/bitnami
helm install redis bitnami/redis

To get the dynamically generated redis password, you can use the following command:

export REDIS_PASSWORD=$(kubectl get secret --namespace bbgo redis -o jsonpath="{.data.redis-password}" | base64 --decode)

Prepare your docker image locally (you can also use the docker image from docker hub):

make docker DOCKER_TAG=1.16.0

The docker tag version number is from the file Chart.yaml

Choose your instance name:

export INSTANCE=grid

Prepare your secret:

kubectl create secret generic bbgo-$INSTANCE --from-env-file .env.local

Configure your config file, the chart defaults to read config/bbgo.yaml to create a configmap:

cp config/grid.yaml bbgo-$INSTANCE.yaml
vim bbgo-$INSTANCE.yaml

Prepare your configmap:

kubectl create configmap bbgo-$INSTANCE --from-file=bbgo.yaml=bbgo-$INSTANCE.yaml

Install chart with the preferred release name, the release name maps to the previous secret we just created, that is, bbgo-grid:

helm install bbgo-$INSTANCE ./charts/bbgo

By default, the helm chart uses configmap and dotenv secret by the release name, if you have an existing configmap that is not named bbgo-$INSTANCE, you can specify the configmap via the existingConfigmap option:

helm install --set existingConfigmap=bbgo-$INSTANCE bbgo-$INSTANCE ./charts/bbgo

To use the latest version:

helm install --set existingConfigmap=bbgo-$INSTANCE --set image.tag=latest bbgo-$INSTANCE ./charts/bbgo

Or, if you have custom values.yaml to override the default values:

helm install --values deploy/my-bbgo-values.yaml bbgo-$INSTANCE ./charts/bbgo

To upgrade:

helm upgrade bbgo-$INSTANCE ./charts/bbgo
helm upgrade --set image.tag=1.15.2 bbgo-$INSTANCE ./charts/bbgo

Delete an installed chart

helm delete bbgo-$INSTANCE