Skip to content

Commit b121fad

Browse files
committed
feat: Enterprise API V2 doc updates
1 parent 93f6e3e commit b121fad

21 files changed

Lines changed: 537 additions & 241 deletions

docs/docs.json

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -181,26 +181,27 @@
181181
{
182182
"group": "Running Jobs",
183183
"pages": [
184-
"geneva/jobs/contexts",
185184
"geneva/jobs/backfilling",
186185
"geneva/jobs/bulk-load-columns",
187186
"geneva/jobs/materialized-views",
187+
"geneva/jobs/advanced-job-configuration",
188188
"geneva/jobs/lifecycle",
189189
"geneva/jobs/conflicts",
190190
"geneva/jobs/performance",
191191
"geneva/jobs/job_metrics",
192192
"geneva/jobs/console",
193-
"geneva/jobs/troubleshooting"
193+
"geneva/jobs/troubleshooting",
194+
"geneva/jobs/contexts"
194195
]
195196
},
196197
{
197198
"group": "Deployment",
198199
"pages": [
199-
"geneva/deployment/index",
200200
"geneva/deployment/helm",
201201
"geneva/jobs/startup",
202202
"geneva/deployment/dependency-verification",
203203
"geneva/udfs/advanced-configuration",
204+
"geneva/deployment/index",
204205
"geneva/deployment/troubleshooting"
205206
]
206207
},

docs/geneva/deployment/dependency-verification.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
---
22
title: Dependency Verification
33
sidebarTitle: Dependency Verification
4-
description: Diagnose and resolve package version mismatches between local and Ray worker environments.
4+
description: Diagnose and resolve package version mismatches between local and distributed worker environments.
55
icon: magnifying-glass-chart
66
---
77

88
import { PyQuickFixManifest, PyEnvVarsViaCluster, PyPipManifest, PyCondaClusterPath, PyCondaClusterInline } from '/snippets/geneva_dependency_verification.mdx';
99

10-
When running Geneva UDFs on Ray, your code is serialized locally and executed on remote workers. If the worker environment differs from your local environment, you may encounter subtle and difficult-to-debug errors.
10+
When running Geneva UDFs on distributed workers, your code is serialized locally and executed on remote workers. If the worker environment differs from your local environment, you may encounter subtle and difficult-to-debug errors.
1111

1212
## Example environment mismatch errors
1313

docs/geneva/deployment/helm.mdx

Lines changed: 84 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,14 +64,14 @@ geneva:
6464
6565
azure:
6666
# Azure managed identity client ID for the Geneva client.
67-
# This identity should have a federated credential for the Geneva namespace
67+
# This identity should have a federated credential for the LanceDB namespace
6868
# and Storage Blob Data Contributor role on the storage account.
6969
clientPrincipalId: ""
7070
```
7171

7272
3. Install kuberay operator
7373
```bash
74-
export NAMESPACE=geneva
74+
export NAMESPACE=lancedb
7575

7676
helm repo add kuberay https://ray-project.github.io/kuberay-helm/
7777
helm repo update
@@ -89,4 +89,86 @@ kubectl apply -f nvidia-device-plugin.yml
8989
5. Install Geneva Helm chart
9090
```bash
9191
helm install geneva ./geneva -n $NAMESPACE --create-namespace
92+
```
93+
94+
## Default cluster and manifest
95+
96+
In LanceDB Enterprise, backfill and refresh jobs run on a **default cluster** (the compute
97+
pool jobs run on) and a **default manifest** (the Python dependency environment — image and
98+
packages). Configuring these in the LanceDB Enterprise chart lets jobs run out of the box
99+
without per-job configuration. They are set under `geneva.defaults` in the chart's
100+
`values.yaml`:
101+
102+
```yaml
103+
geneva:
104+
defaults:
105+
cluster:
106+
cluster_type: kuberay
107+
name: deployment-default
108+
kuberay:
109+
namespace: lancedb
110+
config_method: IN_CLUSTER
111+
head_group:
112+
service_account: geneva-service-account
113+
num_cpus: 2
114+
memory: 8Gi
115+
image: rayproject/ray:2.54.0-py312
116+
worker_groups:
117+
- name: cpu
118+
service_account: geneva-service-account
119+
num_cpus: 4
120+
memory: 8Gi
121+
replicas: 2
122+
min_replicas: 0
123+
max_replicas: 4
124+
idle_timeout_seconds: 60
125+
node_selector:
126+
geneva.lancedb.com/ray-worker-cpu: "true"
127+
image: rayproject/ray:2.54.0-py312
128+
manifest:
129+
name: deployment-default
130+
pip: [geneva, pyarrow, lancedb, pylance]
131+
head_image: rayproject/ray:2.54.0-py312
132+
worker_image: rayproject/ray:2.54.0-py312
133+
skip_site_packages: true
134+
```
135+
136+
When set, the chart renders a `geneva-defaults` ConfigMap mounted at `/etc/geneva/defaults/`
137+
in the query node and job pods. If no default is configured, jobs must specify a cluster and
138+
manifest explicitly. Individual jobs can override these defaults per call with the `cluster=`
139+
/ `manifest=` parameters — see [Advanced Job Configuration](/geneva/jobs/advanced-job-configuration).
140+
141+
## Providing a Ray cluster
142+
143+
The lancedb Helm chart can be configured to deploy a static KubeRay cluster, provision KubeRay clusters on demand per job, or
144+
use an existing Ray cluster.
145+
146+
### Use default LanceDB Enterprise Ray cluster (default)
147+
148+
By default, LanceDB Enterprise will use a shared, statically provisioned Ray cluster for job execution.
149+
150+
This can be enabled in the Helm chart by setting the following values.
151+
152+
```yaml
153+
raycluster:
154+
enabled: true
155+
156+
global:
157+
rayclusterUri: "ray://raycluster-kuberay-head-svc.lancedb.svc.cluster.local:10001"
158+
```
159+
160+
Configuration for the Ray cluster can be specified by modifying raycluster.yaml Helm values.
161+
162+
### Provision KubeRay clusters on demand
163+
164+
Set `global.rayclusterUri` to an empty value to provision ephemeral KubeRay clusters on-demand for each execution job.
165+
166+
### Use an external Ray cluster
167+
168+
Self-managed enterprise customers can bring an existing Ray cluster to run Geneva jobs. Simply set the rayclusterUri property in the Helm chart
169+
to a Ray address that can be accessed from the LanceDB Enterprise deployment.
170+
171+
```yaml
172+
global:
173+
rayclusterUri: "ray://my-ray-cluster.my-ns.svc.cluster.local:10001"
92174
```

docs/geneva/deployment/index.mdx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ via the instructions below.
3232
In the following sections we'll use these variables:
3333

3434
```bash
35-
NAMESPACE=geneva # replace with your actual namespace if different
35+
NAMESPACE=lancedb # replace with your actual namespace if different
3636
KSA_NAME=geneva-ray-runner # replace with an identity name
3737
```
3838

@@ -142,7 +142,7 @@ Geneva needs the ability to deploy a KubeRay cluster and submit jobs to Ray. The
142142
In the following sections we'll use these variables:
143143

144144
```bash
145-
NAMESPACE=geneva # replace with your actual namespace if different
145+
NAMESPACE=lancedb # replace with your actual namespace if different
146146
KSA_NAME=geneva-ray-runner # replace with an identity name
147147
PROJECT_ID=... # replace with your google cloud project name
148148
GSA_EMAIL=${KSA_NAME}@${PROJECT_ID}.iam.gserviceaccount.com
@@ -218,7 +218,7 @@ Geneva can be used to provision Ray clusters running in Amazon Web Services (AWS
218218
In the following sections we'll use these variables:
219219

220220
```bash
221-
NAMESPACE=geneva # replace with your actual namespace if different
221+
NAMESPACE=lancedb # replace with your actual namespace if different
222222
CLUSTER=geneva # replace with your actual namespace if different
223223
KSA_NAME=geneva-ray-runner # replace with an identity name
224224
```
@@ -428,7 +428,7 @@ worker_spec = _WorkerGroupSpec(
428428

429429
with ray_cluster(
430430
name="my-ray-cluster",
431-
namespace="geneva",
431+
namespace="lancedb",
432432
cluster_name="geneva",
433433
config_method=K8sConfigMethod.EKS_AUTH,
434434
region="us-east-1",

0 commit comments

Comments
 (0)