# 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: 1536 # thepeach production width (text-embedding-3-small) — see docs/specs/experiments