charts

olvid-bot

Version: 1.0.0 Type: application AppVersion: 2.0.1 Artifact Hub

Note: daemon 1.x to 2.x migration. Upgrading from a chart release older than 0.3.0 jumps the daemon from the 1.x series to 2.x, whose gRPC API changed incompatibly. See Upgrading before touching your bot code.

Olvid bot-daemon — a bridge service that lets you automate interactions with Olvid secure-messaging groups. This Helm chart packages the daemon using the bjw-s common library, so behaviour is driven almost entirely from values.yaml.

TL;DR

helm repo add obeone https://charts.obeone.cloud
helm repo update
helm install olvid-bot obeone/olvid-bot

About

Olvid is an end-to-end encrypted messenger that relies on no central directory of users or phone numbers. The bot daemon runs headless Olvid identities so you can script them: this chart deploys olvid/bot-daemon, whose gRPC API lets your own services send and receive messages as full-fledged Olvid contacts.

Prerequisites

Configuration

This chart is built on the bjw-s-labs common library. Most configuration keys (controllers, service, ingress, persistence, …) follow its schema; see the common library documentation for everything it supports beyond what is spelled out in values.yaml.

Defaults are meant to work out of the box on any cluster. The full list of options lives in values.yaml, is validated by values.schema.json at install time, and is documented in the Values section below. Override it with your own values file:

helm install olvid-bot obeone/olvid-bot -f my-values.yaml

Daemon client keys

Client keys used by your bots to authenticate against the daemon can be provisioned declaratively through the secrets value; see the comments in values.yaml.

Upgrading

Note If you are upgrading from a chart release older than 0.3.0, the daemon image jumps from the 1.x series straight to 2.x. That release changed the gRPC API in incompatible ways: messageSendVoip was replaced by callCommandService, keycloakBind/keycloakUnbind moved to keycloakCommandService, discussionSettingsGet/discussionSettingsSet moved to settingsCommandService, the delete_everywhere parameter was dropped from attachmentDelete and discussionEmpty, the GroupUpdateInProgress/GroupUpdateFinished notifications were removed, identityNew lost its api_key parameter, Identity.invitation_url was removed, and MessageFilter.reactions_filter was renamed to reaction_filters. If your own bot code talks to the daemon over gRPC, it needs to be updated against the 2.x API before you upgrade; this only affects bots that call the daemon, not a fresh install of this chart.

Client connection settings also changed: DAEMON_HOSTNAME, DAEMON_PORT and OLVID_DAEMON_TARGET were replaced by a single OLVID_DAEMON_URL, and the .client_key / .admin_client_key files were replaced by a .env file carrying OLVID_CLIENT_KEY / OLVID_ADMIN_CLIENT_KEY.

This chart’s own settings are unchanged across that boundary (same admin key environment variable, same gRPC port 50051, same /daemon/data volume), so no values edit is needed here. See the official migration guide for the full list of changes.

helm repo update
helm upgrade olvid-bot obeone/olvid-bot

Each release lists its changes in the Artifact Hub changelog; give it a look before jumping across several chart versions.

Uninstalling

helm uninstall olvid-bot

PersistentVolumeClaims created by the chart are kept around: delete them manually if you also want the data gone.

Requirements

Kubernetes: >=1.31.0-0

Repository Name Version
https://bjw-s-labs.github.io/helm-charts common 5.1.0

Values

Key Type Default Description
controllers.main.containers.main.envFrom[0].secret string "admin-credentials"  
controllers.main.containers.main.image.pullPolicy string "IfNotPresent"  
controllers.main.containers.main.image.repository string "olvid/bot-daemon"  
controllers.main.containers.main.image.tag string ""  
ingress.main object {"enabled":false,"hosts":[{"host":"chart-example.local","paths":[{"path":"/","pathType":"Prefix","service":{"identifier":"main","port":"http"}}]}],"tls":[{"hosts":["chart-example.local"],"secretName":"tls-chart-example-local"}]} Enable and configure ingress settings for the chart under this key.
persistence.data.accessMode string "ReadWriteOnce"  
persistence.data.enabled bool true  
persistence.data.globalMounts[0].path string "/daemon/data"  
persistence.data.size string "1Gi"  
persistence.data.type string "persistentVolumeClaim"  
route object {"main":{"enabled":false,"hostnames":["chart-example.local"],"kind":"HTTPRoute","parentRefs":[{"name":"gateway","namespace":"gateway-system","sectionName":"http"}],"rules":[{"backendRefs":[{"identifier":"main"}],"matches":[{"path":{"type":"PathPrefix","value":"/"}}]}]}} Gateway API alternative to the Ingress above, mutually exclusive with it. Disabled by default.
route.main.rules[0].backendRefs[0] object {"identifier":"main"} No port set: common 4.1.2’s route template does not resolve port names (unlike Ingress), so this defaults to the service’s primary port instead of emitting an invalid literal.
secrets object {"admin-credentials":{"enabled":true,"stringData":{"OLVID_ADMIN_CLIENT_KEY_CLI":"eb9uyjbcuiFhmjFCVKdM"}}} ————————————————————————— IMPORTANT: - Replace the placeholder value with a strong random string before deploying. - If you prefer managing the Secret outside the chart, set enabled: false and ensure a Secret with the same name exists in the namespace.
service.main.controller string "main"  
service.main.ports.grpc.port int 50051  
service.main.ports.grpc.protocol string "TCP"  
service.main.ports.grpc.targetPort int 50051  
service.main.type string "ClusterIP"  

Verifying the chart signature

Charts in this repository are signed with GPG and every release ships a provenance file. The public key is available at charts.obeone.cloud/public_key.gpg, fingerprint B9FE852F28888D27F8C9A11CD33E04CD22E335CE.

# Import the signing key into a legacy keyring (helm verifies with GnuPG v1 keyrings)
curl -fsSL https://charts.obeone.cloud/public_key.gpg | gpg --import
gpg --export > ~/.gnupg/pubring.gpg

# Pull the chart and check it against its provenance file
helm pull --verify obeone/olvid-bot

Support

This is a personal chart repository, maintained on a best-effort basis. Bug reports and contributions are welcome on GitHub.


Autogenerated from chart metadata using helm-docs v1.14.2