Safe pass-through queries
Schema-checked filters, object IDs, field selection and deterministic paging. Counts, extents and grouped statistics run in DuckDB with bound values.
P1 capabilities delivered · October 2026
A read-only DuckDB provider for ArcGIS Enterprise Custom Data Feeds. Read spatial files, push supported queries into DuckDB, and connect the results to your ArcGIS layers.
Node.js 22 / 24 · ArcGIS Enterprise 12.1 Linux target · MIT license
Release status: Locally tested on Windows. Production certification still requires ArcGIS 12.1 Linux staging, container execution and real cloud/operational checks. Review the release evidence →
What is available now
The P1 release adds correctness and scale foundations to the hardened provider. Pass-through queries and multiple workers are opt-in; full-fetch and one worker remain the defaults.
Schema-checked filters, object IDs, field selection and deterministic paging. Counts, extents and grouped statistics run in DuckDB with bound values.
Explicit EPSG and XY transformations. Accept ArcGIS points, envelopes, paths and rings, with topology checks and WGS84 feature output.
Approve strict or additive native-field contracts. Detect drift, expose CDF field metadata, and preserve large integer and decimal attributes as strings.
Use TTL, local file identity, immutable snapshot versions or strong HTTPS ETags. Check observed identity before and after reads and cache hits.
Opt into 1–8 exclusive native workers, sharing a total memory and thread budget. Separate scratch paths and interruption keep worker ownership isolated.
Queue, latency, cache, RSS, sampled native spill and source-age metrics. Includes an authenticated ServiceMonitor, configurable alerts and a Grafana dashboard.
Files and cloud access
The provider is read-only. Source geometry and globally unique positive 32-bit feature IDs must satisfy the configured contract.
| Source | Current scope |
|---|---|
| CSV / JSON records | Local reads with an explicit geometry column |
| GeoParquet | Local native geometry or explicit WKB |
| GeoJSON | Local GDAL reader tested; qualify other formats |
| HTTPS / S3 GeoParquet | Readers wired; production endpoints need qualification |
| Iceberg / Delta / streaming / graph | Roadmap and research scope |
The read adapter supports provider credential references and CSV, JSON records and GeoParquet readers. Native loopback agent fixtures pass using an isolated compatible test engine.
Production needs a reviewed, signed build for the pinned DuckDB 1.5.6 engine and real-provider tests. SFTP and remote TLS-agent routing are blocked for the reviewed revision. Delta, Iceberg and COPY TO are not exposed by this app.
From source to layer
Declare geometry, CRS, IDs, schema and freshness. Preflight checks the data before it enters a service.
Full-fetch or the supported pass-through subset, with query deadlines, resource budgets and bounded result caches.
Use the matching Enterprise SDK scaffold to package and register the provider, then certify the service in staging.
The standalone diagnostic API returns GeoJSON and CDF metadata. It is separate from ArcGIS FeatureServer routes and is not an ArcGIS REST replacement.
Try the included sample
# From a cloned repository
npm ci
npm run build
# Check the approved sample source
node scripts/cdf-cli.js preflight \
-f config/examples/pass-through.json -d default
# Start the diagnostic API on loopback
CDF_CONFIG=config/examples/pass-through.json npm start
# In another terminal
curl --get http://127.0.0.1:3000/api/sources/default/query \
--data-urlencode 'where=population > 4000000' \
--data-urlencode 'outFields=id,name,population'First use needs access to the official DuckDB spatial extension repository. Configure a bearer token for production or non-loopback access; terminate TLS at a controlled proxy.
Delivery and next steps
Research modules are excluded from the supported distribution. The roadmap distinguishes implemented foundations from certification work and future features.
Build with the current guidance
Configuration, query contracts, source setup and migration guidance in one place.
Browse the guides →Preflight, capacity tests, freshness assumptions, monitoring and recovery.
Review the runbook →Repository access requires GitLab sign-in. Public guides describe the checks and enhancement roadmap.
Open GitLab →