opik

A Helm chart for Comet Opik

Run Comet Opik with Helm

Installation Prerequisites for local installation

Run k8s cluster locally

Start your minikube cluster https://minikube.sigs.k8s.io/docs/start/

minikube start

Installing the Chart

Using helm chart from Helm repo

Add Opik Helm repo

helm repo add opik https://comet-ml.github.io/opik/
helm repo update

Set VERSION you want to install and run helm install

VERSION=0.1.0
helm upgrade --install opik -n opik --create-namespace opik/opik \
    --set component.backend.image.tag=$VERSION --set component.frontend.image.tag=$VERSION

Using helm chart from git repository

git clone git@github.com:comet-ml/opik.git

Go to the chart folder, set VERSION you want to install and run helm install

cd deployment/helm_chart/opik
helm repo add bitnami https://charts.bitnami.com/bitnami
helm dependency build
VERSION=0.1.0
helm upgrade --install opik -n opik --create-namespace -f values.yaml \
    --set component.backend.image.tag=$VERSION --set component.frontend.image.tag=$VERSION

Open application

You can port-forward any service you need to your local machine. For Opik Frontend and Backend api run

$ kubectl port-forward -n opik svc/opik-frontend 5173

Open http://localhost:5173 in your browser

Call opik api on http://localhost:5173/api

Helm Chart Details

Requirements

Repository Name Version
https://charts.bitnami.com/bitnami minio 15.0.7
https://charts.bitnami.com/bitnami mysql 11.1.9
https://charts.bitnami.com/bitnami redis 18.19.2
https://charts.bitnami.com/bitnami zookeeper 13.8.3
https://docs.altinity.com/clickhouse-operator/ altinity-clickhouse-operator 0.25.4
oci://registry-1.docker.io/bitnamicharts common 2.x.x

Values

Key Type Default Description
affinity object {}  
altinity-clickhouse-operator.metrics.enabled bool false  
altinity-clickhouse-operator.serviceMonitor.enabled bool false  
altinity-clickhouse-operator.serviceMonitor.interval string ""  
basicAuth bool false  
caCerts.additionalCACerts list nil Additional Certificate Authority Certificates to trust. Each list entry has two keys: name and content. name should be a unique identifier. content Should be PEM formated Public Certificate contents.
caCerts.additionalCACertsInSecret bool false Certificates are Public Keys + Metadata, but some organizations may still prefer storing these in Secrets.
caCerts.existingAdditionalCACertsRef string nil If there is an existing ConfigMap containing the additional CA Certificates you can provide its name here instead of creatinga a new one. If additionalCACertsInSecret is true we will look for this name in Secrets.
caCerts.overwriteJavaCATrustStore.enabled bool false If enabled we will not inject additional CA Certificates to the Java TrustStore, but instead will mount a given volume containing a Java Trust Store to replace the default one in the containers.
caCerts.overwriteJavaCATrustStore.subPath string "cacerts" The sub-path of the valid Java Trust Store to mount from the volume.
caCerts.overwriteJavaCATrustStore.volume object {} A Kubernetes Volume definition which will contain a valid Java Trust Store. See https://kubernetes.io/docs/reference/kubernetes-api/config-and-storage-resources/volume/ for valid parameters.
clickhouse.adminUser.password string "opik"  
clickhouse.adminUser.useSecret.enabled bool false  
clickhouse.adminUser.username string "opik"  
clickhouse.backup.command[0] string "/bin/bash"  
clickhouse.backup.command[1] string "-cx"  
clickhouse.backup.command[2] string "export backupname=backup$(date +'%Y%m%d%H%M')\necho \"BACKUP ALL EXCEPT DATABASE system TO S3('${CLICKHOUSE_BACKUP_BUCKET}/${backupname}/', '$ACCESS_KEY', '$SECRET_KEY');\" > /tmp/backQuery.sql\nclickhouse-client -h clickhouse-opik-clickhouse --send_timeout 600000 --receive_timeout 600000 --port 9000 --queries-file=/tmp/backQuery.sql"  
clickhouse.backup.enabled bool false  
clickhouse.backup.extraEnv object {}  
clickhouse.backup.schedule string "0 0 * * *"  
clickhouse.backup.serviceAccount.annotations object {}  
clickhouse.backup.serviceAccount.create bool false  
clickhouse.backup.serviceAccount.name string ""  
clickhouse.backup.successfulJobsHistoryLimit int 1  
clickhouse.backupServer.enabled bool false  
clickhouse.backupServer.env.ALLOW_EMPTY_BACKUPS bool true  
clickhouse.backupServer.env.API_CREATE_INTEGRATION_TABLES bool true  
clickhouse.backupServer.env.API_LISTEN string "0.0.0.0:7171"  
clickhouse.backupServer.env.LOG_LEVEL string "info"  
clickhouse.backupServer.image string "altinity/clickhouse-backup:2.6.23"  
clickhouse.backupServer.monitoring.additionalLabels object {}  
clickhouse.backupServer.monitoring.annotations object {}  
clickhouse.backupServer.monitoring.enabled bool false  
clickhouse.backupServer.monitoring.service.ports[0].name string "ch-backup-rest"  
clickhouse.backupServer.monitoring.service.ports[0].port int 80  
clickhouse.backupServer.monitoring.service.ports[0].targetPort int 7171  
clickhouse.backupServer.monitoring.service.type string "ClusterIP"  
clickhouse.backupServer.monitoring.serviceMonitor.additionalLabels object {}  
clickhouse.backupServer.monitoring.serviceMonitor.annotations object {}  
clickhouse.backupServer.monitoring.serviceMonitor.enabled bool false  
clickhouse.backupServer.monitoring.serviceMonitor.honorLabels bool false  
clickhouse.backupServer.monitoring.serviceMonitor.interval string "60s"  
clickhouse.backupServer.monitoring.serviceMonitor.metricRelabelings list []  
clickhouse.backupServer.monitoring.serviceMonitor.namespace string ""  
clickhouse.backupServer.monitoring.serviceMonitor.podTargetLabels list []  
clickhouse.backupServer.monitoring.serviceMonitor.portName string ""  
clickhouse.backupServer.monitoring.serviceMonitor.relabelings list []  
clickhouse.backupServer.monitoring.serviceMonitor.scrapeTimeout string "30s"  
clickhouse.backupServer.port int 7171  
clickhouse.configuration.files.”conf.d/memory.xml” string "<yandex>\n <max_server_memory_usage_to_ram_ratio>0.85</max_server_memory_usage_to_ram_ratio>\n</yandex>\n"  
clickhouse.configuration.files.”conf.d/profiles.xml” string "<clickhouse>\n <profiles>\n <default>\n <max_bytes_ratio_before_external_sort>0.2</max_bytes_ratio_before_external_sort>\n <max_bytes_ratio_before_external_group_by>0.2</max_bytes_ratio_before_external_group_by>\n </default>\n </profiles>\n</clickhouse>\n"  
clickhouse.configuration.files.”conf.d/system_tables.xml” string "<clickhouse>\n <opentelemetry_span_log remove=\"1\"/>\n <asynchronous_metric_log remove=\"1\"/>\n <processors_profile_log remove=\"1\"/>\n <text_log remove=\"1\"/>\n <trace_log remove=\"1\"/>\n <blob_storage_log remove=\"1\"/>\n <error_log>\n <engine>\n ENGINE MergeTree\n PARTITION BY toYYYYMM(event_date)\n ORDER BY (event_date, event_time)\n TTL event_date + toIntervalDay(30)\n SETTINGS index_granularity = 8192\n </engine>\n <database>system</database>\n <table>error_log</table>\n </error_log>\n <latency_log>\n <engine>\n ENGINE = MergeTree\n PARTITION BY toYYYYMM(event_date)\n ORDER BY (event_date, event_time)\n TTL event_date + toIntervalDay(30)\n SETTINGS index_granularity = 8192\n </engine>\n <database>system</database>\n <table>latency_log</table>\n </latency_log>\n <metric_log>\n <engine>\n ENGINE = MergeTree\n PARTITION BY toYYYYMM(event_date)\n ORDER BY (event_date, event_time)\n TTL event_date + toIntervalDay(30)\n SETTINGS index_granularity = 8192\n </engine>\n <database>system</database>\n <table>metric_log</table>\n </metric_log>\n <query_metric_log>\n <engine>\n ENGINE = MergeTree\n PARTITION BY toYYYYMM(event_date)\n ORDER BY (event_date, event_time)\n TTL event_date + toIntervalDay(30)\n SETTINGS index_granularity = 8192\n </engine>\n <database>system</database>\n <table>query_metric_log</table>\n </query_metric_log>\n</clickhouse>\n"  
clickhouse.enabled bool true  
clickhouse.extraPodTemplates list []  
clickhouse.extraServiceTemplates list []  
clickhouse.extraVolumeClaimTemplates list []  
clickhouse.image string "altinity/clickhouse-server:25.3.6.10034.altinitystable"  
clickhouse.livenessProbe.failureThreshold int 10  
clickhouse.livenessProbe.httpGet.path string "/ping"  
clickhouse.livenessProbe.httpGet.port int 8123  
clickhouse.livenessProbe.initialDelaySeconds int 60  
clickhouse.livenessProbe.periodSeconds int 30  
clickhouse.livenessProbe.timeoutSeconds int 5  
clickhouse.logsLevel string "information"  
clickhouse.monitoring.additionalLabels object {}  
clickhouse.monitoring.annotations object {}  
clickhouse.monitoring.enabled bool false  
clickhouse.monitoring.password string "opikmon"  
clickhouse.monitoring.port int 9363  
clickhouse.monitoring.service.ports[0].name string "prometheus-metrics"  
clickhouse.monitoring.service.ports[0].port int 80  
clickhouse.monitoring.service.ports[0].targetPort int 9363  
clickhouse.monitoring.service.type string "ClusterIP"  
clickhouse.monitoring.serviceMonitor.additionalLabels object {}  
clickhouse.monitoring.serviceMonitor.annotations object {}  
clickhouse.monitoring.serviceMonitor.enabled bool false  
clickhouse.monitoring.serviceMonitor.honorLabels bool false  
clickhouse.monitoring.serviceMonitor.interval string "60s"  
clickhouse.monitoring.serviceMonitor.metricRelabelings list []  
clickhouse.monitoring.serviceMonitor.namespace string ""  
clickhouse.monitoring.serviceMonitor.podTargetLabels list []  
clickhouse.monitoring.serviceMonitor.portName string ""  
clickhouse.monitoring.serviceMonitor.relabelings list []  
clickhouse.monitoring.serviceMonitor.scrapeTimeout string "30s"  
clickhouse.monitoring.useSecret.enabled bool false  
clickhouse.monitoring.username string "opikmon"  
clickhouse.readinessProbe.failureThreshold int 30  
clickhouse.readinessProbe.httpGet.path string "/ping"  
clickhouse.readinessProbe.httpGet.port int 8123  
clickhouse.readinessProbe.initialDelaySeconds int 30  
clickhouse.readinessProbe.periodSeconds int 10  
clickhouse.readinessProbe.timeoutSeconds int 5  
clickhouse.replicasCount int 1  
clickhouse.service.serviceTemplate string "clickhouse-cluster-svc-template"  
clickhouse.serviceAccount.annotations object {}  
clickhouse.serviceAccount.create bool false  
clickhouse.serviceAccount.name string ""  
clickhouse.shardsCount int 1  
clickhouse.storage string "50Gi"  
clickhouse.templates.podTemplate string "clickhouse-cluster-pod-template"  
clickhouse.templates.replicaServiceTemplate string "clickhouse-replica-svc-template"  
clickhouse.templates.serviceTemplate string "clickhouse-cluster-svc-template"  
clickhouse.templates.volumeClaimTemplate string "storage-vc-template"  
clickhouse.zookeeper.host string "opik-zookeeper"  
component.backend.autoscaling.enabled bool false  
component.backend.backendConfigMap.enabled bool true  
component.backend.enabled bool true  
component.backend.env.ANALYTICS_DB_DATABASE_NAME string "opik"  
component.backend.env.ANALYTICS_DB_HOST string "clickhouse-opik-clickhouse"  
component.backend.env.ANALYTICS_DB_MIGRATIONS_PASS string "opik"  
component.backend.env.ANALYTICS_DB_MIGRATIONS_URL string "jdbc:clickhouse://clickhouse-opik-clickhouse:8123"  
component.backend.env.ANALYTICS_DB_MIGRATIONS_USER string "opik"  
component.backend.env.ANALYTICS_DB_PASS string "opik"  
component.backend.env.ANALYTICS_DB_PORT string "8123"  
component.backend.env.ANALYTICS_DB_PROTOCOL string "HTTP"  
component.backend.env.ANALYTICS_DB_USERNAME string "opik"  
component.backend.env.JAVA_OPTS string "-Dliquibase.propertySubstitutionEnabled=true -XX:+UseG1GC -XX:MaxRAMPercentage=80.0 -XX:MinRAMPercentage=75"  
component.backend.env.OPIK_OTEL_SDK_ENABLED bool false  
component.backend.env.OTEL_EXPERIMENTAL_EXPORTER_OTLP_RETRY_ENABLED bool true  
component.backend.env.OTEL_EXPERIMENTAL_RESOURCE_DISABLED_KEYS string "process.command_args"  
component.backend.env.OTEL_EXPORTER_OTLP_METRICS_DEFAULT_HISTOGRAM_AGGREGATION string "BASE2_EXPONENTIAL_BUCKET_HISTOGRAM"  
component.backend.env.OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE string "delta"  
component.backend.env.OTEL_PROPAGATORS string "tracecontext,baggage,b3"  
component.backend.env.OTEL_VERSION string "2.12.0"  
component.backend.env.PYTHON_EVALUATOR_URL string "http://opik-python-backend:8000"  
component.backend.env.REDIS_URL string "redis://:wFSuJX9nDBdCa25sKZG7bh@opik-redis-master:6379/"  
component.backend.env.STATE_DB_DATABASE_NAME string "opik"  
component.backend.env.STATE_DB_PASS string "opik"  
component.backend.env.STATE_DB_PROTOCOL string "jdbc:mysql://"  
component.backend.env.STATE_DB_URL string "opik-mysql:3306/opik?rewriteBatchedStatements=true"  
component.backend.env.STATE_DB_USER string "opik"  
component.backend.envFrom[0].configMapRef.name string "opik-backend"  
component.backend.image.pullPolicy string "IfNotPresent"  
component.backend.image.repository string "opik-backend"  
component.backend.image.tag string "latest"  
component.backend.ingress.annotations object {}  
component.backend.ingress.enabled bool false  
component.backend.ingress.hosts list []  
component.backend.ingress.ingressClassName string ""  
component.backend.ingress.tls.enabled bool false  
component.backend.ingress.tls.hosts list []  
component.backend.ingress.tls.secretName string ""  
component.backend.livenessProbe.path string "/health-check?name=all&type=alive"  
component.backend.livenessProbe.port int 8080  
component.backend.metrics.enabled bool false  
component.backend.readinessProbe.initialDelaySeconds int 20  
component.backend.readinessProbe.path string "/health-check?name=all&type=ready"  
component.backend.readinessProbe.port int 8080  
component.backend.replicaCount int 1  
component.backend.resources.requests.ephemeral-storage string "10Gi"  
component.backend.run_migration bool true  
component.backend.service.ports[0].name string "http"  
component.backend.service.ports[0].port int 8080  
component.backend.service.ports[0].protocol string "TCP"  
component.backend.service.ports[0].targetPort int 8080  
component.backend.service.ports[1].name string "swagger"  
component.backend.service.ports[1].port int 3003  
component.backend.service.ports[1].protocol string "TCP"  
component.backend.service.ports[1].targetPort int 3003  
component.backend.service.type string "ClusterIP"  
component.backend.serviceAccount.create bool true  
component.backend.serviceAccount.name string "opik-backend"  
component.backend.waitForClickhouse.clickhouse.host string "clickhouse-opik-clickhouse"  
component.backend.waitForClickhouse.clickhouse.port int 8123  
component.backend.waitForClickhouse.clickhouse.protocol string "http"  
component.backend.waitForClickhouse.image.registry string "docker.io"  
component.backend.waitForClickhouse.image.repository string "curlimages/curl"  
component.backend.waitForClickhouse.image.tag string "8.12.1"  
component.backend.waitForMysql.enabled bool false  
component.backend.waitForMysql.image.registry string "docker.io"  
component.backend.waitForMysql.image.repository string "busybox"  
component.backend.waitForMysql.image.tag float 1.36  
component.backend.waitForMysql.mysql.host string "opik-mysql"  
component.backend.waitForMysql.mysql.port int 3306  
component.frontend.autoscaling.enabled bool false  
component.frontend.awsResolver bool false  
component.frontend.backendConfigMap.enabled bool false  
component.frontend.enabled bool true  
component.frontend.image.pullPolicy string "IfNotPresent"  
component.frontend.image.repository string "opik-frontend"  
component.frontend.image.tag string "latest"  
component.frontend.ingress.annotations object {}  
component.frontend.ingress.enabled bool false  
component.frontend.ingress.hosts list []  
component.frontend.ingress.ingressClassName string ""  
component.frontend.ingress.tls.enabled bool false  
component.frontend.ingress.tls.hosts list []  
component.frontend.ingress.tls.secretName string ""  
component.frontend.logFormat string "logger-json"  
component.frontend.logFormats.logger-json string "escape=json '{ \"body_bytes_sent\": $body_bytes_sent, \"http_referer\": \"$http_referer\", \"http_user_agent\": \"$http_user_agent\", \"remote_addr\": \"$remote_addr\", \"remote_user\": \"$remote_user\", \"request\": \"$request\", \"status\": $status, \"time_local\": \"$time_local\", \"x_forwarded_for\": \"$http_x_forwarded_for\" }'"  
component.frontend.logFormats.logger-json string "escape=json '{'\n ' \"body_bytes_sent\": $body_bytes_sent'\n ', \"comet_workspace\": \"$http_comet_workspace\"'\n ', \"host\": \"$host\"'\n ', \"http_referer\": \"$http_referer\"'\n ', \"http_user_agent\": \"$http_user_agent\"'\n ', \"limit_req_status\": \"$limit_req_status\"'\n ', \"method\": \"$request_method\"'\n ', \"remote_addr\": \"$remote_addr\"'\n ', \"remote_user\": \"$remote_user\"'\n ', \"request_length\": $request_length'\n ', \"request_time\": $request_time'\n ', \"request\": \"$request\"'\n ', \"response\": $status'\n ', \"resp_body_size\": $body_bytes_sent'\n ', \"source\": \"nginx\"'\n ', \"status\": $status'\n ', \"time_local\": \"$time_local\"'\n ', \"time\": $msec'\n ', \"uri\": \"$request_uri\"'\n ', \"user_agent\": \"$http_user_agent\"'\n ', \"x_forwarded_for\": \"$http_x_forwarded_for\"'\n ', \"x_sdk_version\": \"$http_x_opik_debug_sdk_version\"'\n ', \"upstream_connect_time\": \"$upstream_connect_time\", \"upstream_header_time\": \"$upstream_header_time\", \"upstream_response_time\": \"$upstream_response_time\"'\n ', \"upstream_addr\": \"$upstream_addr\", \"upstream_status\": \"$upstream_status\", \"host\": \"$host\"'\n '}'"  
component.frontend.maps list []  
component.frontend.metrics.enabled bool false  
component.frontend.replicaCount int 1  
component.frontend.resources.requests.ephemeral-storage string "10Gi"  
component.frontend.service.ports[0].name string "http"  
component.frontend.service.ports[0].port int 5173  
component.frontend.service.ports[0].protocol string "TCP"  
component.frontend.service.ports[0].targetPort int 5173  
component.frontend.service.type string "ClusterIP"  
component.frontend.serviceAccount.create bool true  
component.frontend.serviceAccount.name string "opik-frontend"  
component.frontend.throttling object {}  
component.frontend.upstreamConfig object {}  
component.frontend.volumeMounts[0].mountPath string "/etc/nginx/conf.d/"  
component.frontend.volumeMounts[0].name string "opik-frontend-nginx"  
component.frontend.volumes[0].configMap.items[0].key string "default.conf"  
component.frontend.volumes[0].configMap.items[0].path string "default.conf"  
component.frontend.volumes[0].configMap.name string "opik-frontend-nginx"  
component.frontend.volumes[0].name string "opik-frontend-nginx"  
component.python-backend.autoscaling.enabled bool false  
component.python-backend.backendConfigMap.enabled bool true  
component.python-backend.enabled bool true  
component.python-backend.env.OPIK_REVERSE_PROXY_URL string "http://opik-frontend:5173/api"  
component.python-backend.env.OTEL_EXPERIMENTAL_EXPORTER_OTLP_RETRY_ENABLED bool true  
component.python-backend.env.OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE string "cumulative"  
component.python-backend.env.OTEL_METRIC_EXPORT_INTERVAL string "60000"  
component.python-backend.env.OTEL_PROPAGATORS string "tracecontext,baggage"  
component.python-backend.env.OTEL_SERVICE_NAME string "opik-python-backend"  
component.python-backend.env.PYTHON_CODE_EXECUTOR_ALLOW_NETWORK string "false"  
component.python-backend.env.PYTHON_CODE_EXECUTOR_EXEC_TIMEOUT_IN_SECS string "3"  
component.python-backend.env.PYTHON_CODE_EXECUTOR_IMAGE_NAME string "opik-sandbox-executor-python"  
component.python-backend.env.PYTHON_CODE_EXECUTOR_IMAGE_REGISTRY string "ghcr.io/comet-ml/opik"  
component.python-backend.env.PYTHON_CODE_EXECUTOR_IMAGE_TAG string "latest"  
component.python-backend.env.PYTHON_CODE_EXECUTOR_PARALLEL_NUM string "5"  
component.python-backend.env.PYTHON_CODE_EXECUTOR_STRATEGY string "process"  
component.python-backend.envFrom[0].configMapRef.name string "opik-python-backend"  
component.python-backend.image.pullPolicy string "IfNotPresent"  
component.python-backend.image.repository string "opik-python-backend"  
component.python-backend.image.tag string "latest"  
component.python-backend.ingress.annotations object {}  
component.python-backend.ingress.enabled bool false  
component.python-backend.ingress.hosts list []  
component.python-backend.ingress.ingressClassName string ""  
component.python-backend.ingress.tls.enabled bool false  
component.python-backend.ingress.tls.hosts list []  
component.python-backend.ingress.tls.secretName string ""  
component.python-backend.metrics.enabled bool false  
component.python-backend.networkPolicy.enabled bool true  
component.python-backend.networkPolicy.engineEgress.except[0] string "10.0.0.0/8"  
component.python-backend.networkPolicy.engineEgress.except[1] string "100.64.0.0/10"  
component.python-backend.networkPolicy.engineEgress.except[2] string "172.16.0.0/12"  
component.python-backend.networkPolicy.engineEgress.except[3] string "192.0.0.0/24"  
component.python-backend.networkPolicy.engineEgress.except[4] string "198.18.0.0/15"  
component.python-backend.networkPolicy.engineEgress.except[5] string "192.168.0.0/16"  
component.python-backend.networkPolicy.engineEgress.ipBlock string "0.0.0.0/0"  
component.python-backend.replicaCount int 1  
component.python-backend.secretRefs list []  
component.python-backend.securityContext.privileged bool true  
component.python-backend.service.ports[0].name string "http"  
component.python-backend.service.ports[0].port int 8000  
component.python-backend.service.ports[0].protocol string "TCP"  
component.python-backend.service.ports[0].targetPort int 8000  
component.python-backend.service.type string "ClusterIP"  
component.python-backend.serviceAccount.create bool true  
component.python-backend.serviceAccount.name string "opik-python-backend"  
demoDataJob.enabled bool true  
fullnameOverride string ""  
global.argocd bool false  
global.security.allowInsecureImages bool true  
global.useHelmHooks bool true  
localFE bool false  
localFEAddress string "host.minikube.internal:5174"  
minio.auth.rootPassword string "LESlrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"  
minio.auth.rootUser string "THAAIOSFODNN7EXAMPLE"  
minio.disableWebUI bool true  
minio.enabled bool true  
minio.fullnameOverride string "opik-minio"  
minio.image.repository string "bitnamilegacy/minio"  
minio.mode string "standalone"  
minio.persistence.enabled bool true  
minio.persistence.size string "50Gi"  
minio.provisioning.enabled bool true  
minio.provisioning.extraCommands[0] string "mc alias set s3 http://opik-minio:9000 THAAIOSFODNN7EXAMPLE LESlrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY --api S3v4"  
minio.provisioning.extraCommands[1] string "mc mb --ignore-existing s3/public"  
minio.provisioning.extraCommands[2] string "mc anonymous set download s3/public/"  
minio.volumePermissions.image.repository string "bitnamilegacy/os-shell"  
mysql.auth.rootPassword string "opik"  
mysql.enabled bool true  
mysql.fullnameOverride string "opik-mysql"  
mysql.image.repository string "bitnamilegacy/mysql"  
mysql.initdbScripts.”createdb.sql” string "CREATE DATABASE IF NOT EXISTS opik DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;\nCREATE USER IF NOT EXISTS 'opik'@'%' IDENTIFIED BY 'opik';\nGRANT ALL ON opik.* TO 'opik'@'%';\nFLUSH PRIVILEGES;"  
nameOverride string "opik"  
nodeSelector object {}  
redis.architecture string "standalone"  
redis.auth.password string "wFSuJX9nDBdCa25sKZG7bh"  
redis.enabled bool true  
redis.extraDeploy[0].apiVersion string "v1"  
redis.extraDeploy[0].data.”start-master.sh” string "#!/usr/bin/dumb-init /bin/bash\n### docker entrypoint script, for starting redis stack\nBASEDIR=/opt/redis-stack\ncd ${BASEDIR}\nCMD=${BASEDIR}/bin/redis-server\nif [ -z \"${REDISEARCH_ARGS}\" ]; then\nREDISEARCH_ARGS=\"MAXSEARCHRESULTS 10000 MAXAGGREGATERESULTS 10000\"\nfi\n[[ -f $REDIS_PASSWORD_FILE ]] && export REDIS_PASSWORD=\"$(< \"${REDIS_PASSWORD_FILE}\")\"\nif [[ -f /opt/bitnami/redis/mounted-etc/master.conf ]];then\n cp /opt/bitnami/redis/mounted-etc/master.conf /opt/bitnami/redis/etc/master.conf\nfi\nif [[ -f /opt/bitnami/redis/mounted-etc/redis.conf ]];then\n cp /opt/bitnami/redis/mounted-etc/redis.conf /opt/bitnami/redis/etc/redis.conf\nfi\n${CMD} \\\n--port \"${REDIS_PORT}\" \\\n--requirepass \"${REDIS_PASSWORD}\" \\\n--masterauth \"${REDIS_PASSWORD}\" \\\n--include \"/opt/bitnami/redis/etc/redis.conf\" \\\n--include \"/opt/bitnami/redis/etc/master.conf\" \\\n--loadmodule ${BASEDIR}/lib/redisearch.so ${REDISEARCH_ARGS} \\\n--loadmodule ${BASEDIR}/lib/redistimeseries.so ${REDISTIMESERIES_ARGS} \\\n--loadmodule ${BASEDIR}/lib/rejson.so ${REDISJSON_ARGS} \\\n--loadmodule ${BASEDIR}/lib/redisbloom.so ${REDISBLOOM_ARGS}\n"  
redis.extraDeploy[0].kind string "ConfigMap"  
redis.extraDeploy[0].metadata.name string "bitnami-redis-stack-server-merged"  
redis.fullnameOverride string "opik-redis"  
redis.image.repository string "redis/redis-stack-server"  
redis.image.tag string "7.2.0-v10"  
redis.master.args[0] string "-c"  
redis.master.args[1] string "/opt/bitnami/scripts/merged-start-scripts/start-master.sh"  
redis.master.configuration string "maxmemory 105M"  
redis.master.extraVolumeMounts[0].mountPath string "/opt/bitnami/scripts/merged-start-scripts"  
redis.master.extraVolumeMounts[0].name string "merged-start-scripts"  
redis.master.extraVolumes[0].configMap.defaultMode int 493  
redis.master.extraVolumes[0].configMap.name string "bitnami-redis-stack-server-merged"  
redis.master.extraVolumes[0].name string "merged-start-scripts"  
redis.master.resources.limits.memory string "1Gi"  
redis.master.resources.requests.cpu string "15m"  
redis.master.resources.requests.memory string "105M"  
redis.metrics.enabled bool false  
redis.ssl bool false  
registry string "ghcr.io/comet-ml/opik"  
serviceAccount.annotations object {}  
serviceAccount.create bool false  
serviceAccount.name string ""  
standalone bool true  
tolerations list []  
zookeeper.enabled bool true  
zookeeper.env.ZK_HEAP_SIZE string "512M"  
zookeeper.fullnameOverride string "opik-zookeeper"  
zookeeper.headless.publishNotReadyAddresses bool true  
zookeeper.image.repository string "bitnamilegacy/zookeeper"  
zookeeper.image.tag string "3.9.3-debian-12-r16"  
zookeeper.persistence.enabled bool true  
zookeeper.persistence.size string "50Gi"  
zookeeper.podDisruptionBudget.enabled bool true  
zookeeper.replicaCount int 1  

Autogenerated from chart metadata using helm-docs v1.14.2