Getting started with Raven (Compact)
Prerequisites
Raven should be always installed into kubernetes cluster (it's distributed as a helm chart), that's why you should have it set up. If you want to try it locally, you can use minikube or similar tools
Compact version of Raven needs 3 types of persistence - Postgres, Redis and Clickhouse. To quickly install all of them, add those repositories:
helm repo add cnpg https://cloudnative-pg.github.io/charts
helm repo add altinity https://altinity.github.io/helm-charts
helm repo update
And then simply install corresponding charts with some additional configs:
helm upgrade --install raven-setup-dragonfly oci://ghcr.io/dragonflydb/dragonfly/helm/dragonfly --version v1.33.1
helm install raven-setup-postgresql cnpg/cloudnative-pg
helm install raven-ch altinity/altinity-clickhouse-operator
cat <<EOF | kubectl apply -f -
apiVersion: postgresql.cnpg.io/v1
kind: Cluster
metadata:
name: raven-setup
spec:
instances: 3
storage:
size: 1Gi
EOF
cat <<EOF | kubectl apply -f -
apiVersion: clickhouse-keeper.altinity.com/v1
kind: ClickHouseKeeperInstallation
metadata:
name: ch-keeper
spec:
configuration:
clusters:
- name: default
layout:
replicasCount: 2
templates:
podTemplates:
- name: keeper-template
spec:
containers:
- name: clickhouse-keeper
image: clickhouse/clickhouse-keeper:25.9.2
imagePullPolicy: IfNotPresent
ports:
- name: keeper
containerPort: 2181
---
apiVersion: clickhouse.altinity.com/v1
kind: ClickHouseInstallation
metadata:
name: raven-clickhouse
annotations:
"helm.sh/hook": pre-install
spec:
defaults:
templates:
podTemplate: default
dataVolumeClaimTemplate: default
configuration:
zookeeper:
nodes:
- host: chk-ch-keeper-default-0-0.default.svc.cluster.local
port: 2181
- host: chk-ch-keeper-default-0-1.default.svc.cluster.local
port: 2181
clusters:
- name: default
layout:
replicasCount: 2
users:
default/networks/ip:
- 0.0.0.0/0
templates:
podTemplates:
- name: default
spec:
containers:
- name: clickhouse
image: clickhouse/clickhouse-server:25.9.2
volumeClaimTemplates:
- name: default
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 3Gi
EOF
Those release names are default for Raven, but you can use any other names, it just means you will need to override some defaults in the Raven helm chart. You can use your own existing persistence, but we recommend to always create a separate raven-specific ones.
Installation
Configuration file
First, you need to have a config file (values.yaml), here's a minimal content you need (with latest versions):
raven:
licenseKey: {YOUR LICENCE KEY}
compact:
image:
tag: 1.0.0
dashboard:
image:
tag: 1.0.0
Available versions can be found here: raven-compact, raven-ui
For details about all available config options, see configuration docs
Installing helm chart
Assuming you have kubernetes cluster and persistence set up, you can install Raven (compact) via Helm:
helm repo add raven https://dragonisle.github.io/raven-helm
helm repo update
helm install raven-compact raven/raven-compact -f values.yaml
Verifying installation
You will get 2 basic services: raven-compact-service
- service for application itself,
and raven-dashboard-service
- service for monitoring dashboard.
To access for example dashboard from outside, just run:
kubectl port-forward svc/raven-dashboard-service 5173:5173
and open http://localhost:5173
(for dashboard) in your browser
Usage
To send AI model logs, you need to use this endpoint: http://{RAVEN HOST}/input/ai/log/insert
.
you can just port-forward:
kubectl port-forward svc/raven-compact-service 8080:8080
and run this curl (PLS NOTE that 'timestamp' should not be older than current UTC time - 2 minutes, if it's older - log will be ignored), this will trigger an alert which you can see on dashboard (check Verifying Installation section above to access it)
curl -X 'POST' \
'http://localhost:8080/input/ai/log/insert' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '[
{
"modelId": "model1",
"confidenceScore": 0.69,
"responseTimeMs": 50,
"timestamp": "2025-09-01T09:50:00.413Z",
"numericFeatures": {
"additionalProp1": 0.21
},
"categoricalFeatures": {
"additionalProp2": "value1"
}
}
]'
For more details pls check usage docs