tidaldb/k8s/cluster/schema-configmap.yaml

52 lines
1.7 KiB
YAML

# The tidalDB schema the cluster pods load at startup with `--schema`.
#
# Identical SHAPE to the standalone set's k8s/schema-configmap.yaml (signal types
# + decay, text fields, embedding slots) — every region in the cluster MUST load
# the same schema. Mounting it as a ConfigMap lets you evolve the schema without
# rebuilding the image; the schema is read once at boot, so roll the StatefulSet
# (kubectl rollout restart) to apply changes, and only make backward-compatible
# changes on a populated data dir (see docs/ops/recovery.md § schema mismatch).
#
# Schema format reference: docs/guides/server-deployment.md and API.md.
apiVersion: v1
kind: ConfigMap
metadata:
name: tidaldb-schema
namespace: tidaldb-cluster
labels:
app.kubernetes.io/name: tidaldb
app.kubernetes.io/part-of: tidaldb
data:
schema.yaml: |
signals:
- name: view
entity: item
decay:
exponential:
half_life_seconds: 604800 # 7 days
windows: [one_hour, twenty_four_hours, seven_days]
velocity: true
positive_engagement: true # folds into the user preference vector
- name: like
entity: item
decay:
exponential:
half_life_seconds: 1209600 # 14 days
windows: [twenty_four_hours, seven_days, thirty_days, all_time]
velocity: false
positive_engagement: true
- name: skip
entity: item
decay:
permanent: true
velocity: false
text_fields:
- name: title
kind: text
- name: category
kind: keyword
embedding_slots:
- name: content_vector
entity: item
dimensions: 128