docs(caching): stale-if-error is not a supported directive, and --cache-control takes only cache/no-cache (#2129)
* fix(caching): stale-if-error is not a supported Cache-Control directive, and --cache-control takes only cache/no-cache
The Caching page listed `stale-if-error` among the supported HTTP
`Cache-Control` request directives, and claimed the `spice sql` /
`spice search` `--cache-control` flag "supports all cache-control
directives". Neither is true in any released version.
`CacheControl::from_headers` parses exactly four directives — `no-cache`,
`only-if-cached`, `min-fresh`, `max-stale` — and falls through to the
default `Cache` variant for anything else. `stale-if-error` has never
appeared in that parser. The only `stale_if_error` in the runtime is the
`caching_stale_if_error` *acceleration* param for `refresh_mode: caching`
datasets, a different layer with a different spelling.
The CLI flag is narrower still: `spice search --cache-control` is
declared with `value_parser = ["cache", "no-cache"]` and hard-errors on
anything else, and `spice sql` matches only the literal `"no-cache"`,
silently collapsing every other value to `cache`. The 1.5.x–1.8.x
snapshots already documented just `cache`/`no-cache`; the extra
directives were extrapolated from the HTTP table when the 1.9 docs were
written.
Removes the fabricated directive and its examples, corrects the CLI
claim, and fixes the same `stale-if-error` claim in the cluster+sidecar
deployment partial.
* docs(caching): describe --cache-control by its two behaviors, per release
"only turns the cache on or off" contradicted the directive table two sections
above, which already says no-cache skips the lookup for the current request and
still stores the result. Describe the two behaviors instead.
The 1.9.x and 1.10.x releases also behave differently from the note: there the
CLI forwards --cache-control verbatim to the runtime, whose two-value enum
rejects anything else, so an unsupported value fails rather than falling back to
cache. The silent fallback starts with the 1.11.x CLI, which parses the flag as a
plain string.
---------
Co-authored-by: claudespice <270518434+claudespice@users.noreply.github.com>
2 months ago
Add cluster-sidecar hybrid architecture (#1387)
* Refactor deployment architecture documentation to use MDX components for better modularity and maintainability
- Updated microservice, sharded, sidecar, tiered, cluster, hosted, and hybrid architecture documentation to import content from MDX partials.
- Removed inline content in favor of centralized MDX files for each architecture type.
- Added new hybrid architecture documentation to support sidecar caching backed by a centralized cluster.
* Update image formatting in deployment architecture documentation for consistency
8 months ago
Add cluster-sidecar hybrid architecture (#1387)
* Refactor deployment architecture documentation to use MDX components for better modularity and maintainability
- Updated microservice, sharded, sidecar, tiered, cluster, hosted, and hybrid architecture documentation to import content from MDX partials.
- Removed inline content in favor of centralized MDX files for each architecture type.
- Added new hybrid architecture documentation to support sidecar caching backed by a centralized cluster.
* Update image formatting in deployment architecture documentation for consistency
8 months ago
docs: Expand deployment guide (CI/CD, GCP, read/write separation, cluster-sidecar) (#1651)
* docs: Add CI/CD deployment section with GitHub Actions guide
Adds a starter CI/CD page covering the spice-cloud-deploy-action GitHub
Action for Spice Cloud Platform deployments and pointers to the existing
Argo CD and Flux GitOps guides for self-hosted Kubernetes.
Refs #1049
* ci: trigger fresh CI run
* Add GCP integrations documentation and deployment guides
- Introduced a new document for GCP integrations detailing data connectors, AI models, embeddings, and authentication methods.
- Updated the main deployment guide to include GCP as a deployment target and outlined deployment architectures.
- Added a new guide for read/write separation to optimize data ingestion and querying workloads.
- Created a cluster-sidecar architecture document to explain the benefits and considerations of this deployment model.
- Updated snapshots documentation to reference the new read/write separation guide and clarified configuration options.
* fix: update tags in read/write separation documentation to reflect Kubernetes and Helm
* fix: update links in GCP deployment and read/write separation documentation for consistency
* fix: remove unnecessary semicolon in hybrid architecture documentation
---------
Co-authored-by: claudespice <claudespice@users.noreply.github.com>
Co-authored-by: Luke Kim <80174+lukekim@users.noreply.github.com>
5 months ago
docs: Sync the cookbook page and recipe links with spiceai/cookbook (#2318)
* Sync the cookbook page with the current spiceai/cookbook recipes
List all 122 current recipes (up from 79) and leave out evals, llm-judge, and websearch, which the cookbook marks deprecated in v2.0+.
- Correct entries that pointed at the wrong recipe or described an old version: Results Caching linked the Caching Accelerator recipe, Nvidia NIM on Kubernetes linked the EC2 recipe, Hashed Partitioning now uses Cayenne, and Federated SQL Query no longer uses Dremio.
- Add the missing recipes, including Cayenne, async queries, native PostgreSQL/MySQL/MongoDB CDC, DynamoDB Streams, HTTP, Redshift, ScyllaDB, SMB, the catalog connectors, full-text search, distributed query, and Spice as an MCP server.
- Add Change Data Capture and Advanced Topics sections. Local Dataset Replication was tagged for no rendered section, so it never appeared.
- Show guides in Sample Applications and Guides instead of Security.
- Align Core Features with the cookbook's core scenarios and feature Cayenne as the data accelerator.
- Label recipes that need Spice.ai Enterprise.
- Remove forbidden words (enhance, leverage, utilize, robust) from section intros.
* Fix broken and stale cookbook recipe references across doc versions
Every version links to the recipes on cookbook trunk, so these corrections apply to each version that carries them.
- Query Federation: replace the walkthrough with the current Federated SQL Query recipe, which joins NYC taxi trips in S3 with taxi zones in PostgreSQL. The old walkthrough logged in to a demo Dremio, ran 'spice add spiceai/fed-demo' (that Spicepod no longer exists on Spicerack), and ran 'cd demo' twice. The new steps and output come from a run of the recipe on Spice v2.3.2.
- FAQ: the RAG recipe link (cookbook/tree/trunk/rag) never existed; link the RAG use-case page instead.
- Use cases: fix duckdb/accelerator/README and federation/README links that were missing the .md extension.
- PostgreSQL connector: link the connector recipe instead of the accelerator recipe, and fix 'configure Supabase a data connector'.
- ODBC connector: the recipe now connects to MySQL with the MariaDB driver, not Postgres.
- Glue catalog connector: its recipe configures the Glue Catalog Connector, not the Data Connector.
- Release notes: fix three recipe links that pointed at moved or malformed paths.
* Link docs pages to their cookbook recipes
49 cookbook recipes had no link from any docs page. Add a Cookbook section, or a bullet in an existing one, on the matching page in vNext and 2.3.x. Covered pages include CDC (PostgreSQL, MySQL, Aurora MySQL, MongoDB), the catalog connectors (DuckLake, MySQL, SQL Server, Unity Catalog, Databricks, Iceberg Hadoop, PostgreSQL CDC), acceleration (partitioning, snapshots, indexes, constraints, views, caching, cron refresh, dual-dataset registration), search, distributed query and async queries, MCP, LLM memory, text-to-SQL, the ai() function, models (OpenAI, DeepSeek, filesystem, xAI, NVIDIA NIM on Kubernetes), API keys, ADBC, JDBC, the SDKs, and Cloud Connect. The sidecar and microservice architecture partials, which every version shares, link their recipes too.
Related updates:
- The docs landing page lists Cayenne among the accelerators and links the Cayenne recipe.
- The Cayenne Transactions intro also covers tables configured for durable write-back, matching the section's own requirements.
- The FAQ says the cookbook has over 120 recipes, up from over 65.
7 days ago
docs: Comprehensive partitioning, partition transforms, and pruning rules
Rewrite the partitioning page with full coverage of supported
partition transforms (bucket, truncate, date_part, date_trunc,
modulo), composite partitioning, pruning matrix per filter shape,
engine-specific behavior (Arrow / DuckDB files-mode / DuckDB tables-mode
/ Cayenne), validation rules, and worked examples.
Verified against the Rust source: bucket return type matches the
num_buckets literal (Int8..Int64 / UInt8..UInt64) — not always Int64
as previously documented in scalar_functions.md. Truncate accepts
Utf8 and Binary in addition to numeric types. date_part filter
pruning is not yet implemented; equality on the partition expression
still prunes correctly.
Also:
- Cross-link from data-acceleration index to the new partitioning page
- Distinguish deployment-level sharding from acceleration partitioning
in the sharded architecture page
- Correct bucket return type and truncate input type list in scalar_functions.md
5 months ago
docs: Sync the cookbook page and recipe links with spiceai/cookbook (#2318)
* Sync the cookbook page with the current spiceai/cookbook recipes
List all 122 current recipes (up from 79) and leave out evals, llm-judge, and websearch, which the cookbook marks deprecated in v2.0+.
- Correct entries that pointed at the wrong recipe or described an old version: Results Caching linked the Caching Accelerator recipe, Nvidia NIM on Kubernetes linked the EC2 recipe, Hashed Partitioning now uses Cayenne, and Federated SQL Query no longer uses Dremio.
- Add the missing recipes, including Cayenne, async queries, native PostgreSQL/MySQL/MongoDB CDC, DynamoDB Streams, HTTP, Redshift, ScyllaDB, SMB, the catalog connectors, full-text search, distributed query, and Spice as an MCP server.
- Add Change Data Capture and Advanced Topics sections. Local Dataset Replication was tagged for no rendered section, so it never appeared.
- Show guides in Sample Applications and Guides instead of Security.
- Align Core Features with the cookbook's core scenarios and feature Cayenne as the data accelerator.
- Label recipes that need Spice.ai Enterprise.
- Remove forbidden words (enhance, leverage, utilize, robust) from section intros.
* Fix broken and stale cookbook recipe references across doc versions
Every version links to the recipes on cookbook trunk, so these corrections apply to each version that carries them.
- Query Federation: replace the walkthrough with the current Federated SQL Query recipe, which joins NYC taxi trips in S3 with taxi zones in PostgreSQL. The old walkthrough logged in to a demo Dremio, ran 'spice add spiceai/fed-demo' (that Spicepod no longer exists on Spicerack), and ran 'cd demo' twice. The new steps and output come from a run of the recipe on Spice v2.3.2.
- FAQ: the RAG recipe link (cookbook/tree/trunk/rag) never existed; link the RAG use-case page instead.
- Use cases: fix duckdb/accelerator/README and federation/README links that were missing the .md extension.
- PostgreSQL connector: link the connector recipe instead of the accelerator recipe, and fix 'configure Supabase a data connector'.
- ODBC connector: the recipe now connects to MySQL with the MariaDB driver, not Postgres.
- Glue catalog connector: its recipe configures the Glue Catalog Connector, not the Data Connector.
- Release notes: fix three recipe links that pointed at moved or malformed paths.
* Link docs pages to their cookbook recipes
49 cookbook recipes had no link from any docs page. Add a Cookbook section, or a bullet in an existing one, on the matching page in vNext and 2.3.x. Covered pages include CDC (PostgreSQL, MySQL, Aurora MySQL, MongoDB), the catalog connectors (DuckLake, MySQL, SQL Server, Unity Catalog, Databricks, Iceberg Hadoop, PostgreSQL CDC), acceleration (partitioning, snapshots, indexes, constraints, views, caching, cron refresh, dual-dataset registration), search, distributed query and async queries, MCP, LLM memory, text-to-SQL, the ai() function, models (OpenAI, DeepSeek, filesystem, xAI, NVIDIA NIM on Kubernetes), API keys, ADBC, JDBC, the SDKs, and Cloud Connect. The sidecar and microservice architecture partials, which every version shares, link their recipes too.
Related updates:
- The docs landing page lists Cayenne among the accelerators and links the Cayenne recipe.
- The Cayenne Transactions intro also covers tables configured for durable write-back, matching the section's own requirements.
- The FAQ says the cookbook has over 120 recipes, up from over 65.
7 days ago
Add cluster-sidecar hybrid architecture (#1387)
* Refactor deployment architecture documentation to use MDX components for better modularity and maintainability
- Updated microservice, sharded, sidecar, tiered, cluster, hosted, and hybrid architecture documentation to import content from MDX partials.
- Removed inline content in favor of centralized MDX files for each architecture type.
- Added new hybrid architecture documentation to support sidecar caching backed by a centralized cluster.
* Update image formatting in deployment architecture documentation for consistency
8 months ago