API v1: public search and watch-safe stats #110
No reviewers
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
nsaspy/starintel-server!110
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "agent/issue-109-public-api-stats"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #109
RAGE slice
Implements the public/private authority split requested for the API overhaul while preserving the existing authenticated legacy/control plane.
Deployment mode
*public-mode*is an init-file setting and defaults toTSTAR_PUBLIC_MODE=falsecan also provide the pre-init defaultexample_configs/init.lispsets*public-mode* texplicitlyT,/api/v1/searchand/api/v1/statsare anonymous read endpointsNIL, those same versioned routes remain mounted but require authenticationpublic_modeand the effective search/stats authorityPublic read plane
GET /api/v1/searchpublic_readerauthorization contextauthorized-search-queryso configured dataset scope is applied before backend retrievalSTAR_PUBLIC_SEARCH_DATASETScontrols server-owned visible datasets; defaults to*for the public-server deployment modeldataset/tenantscope overridesGET /api/v1/statsdata/total+data/count_by_dtypeviewsProtected plane remains protected
No target, document-create, bulk-ingest, deletion, admin, credential, or lease path becomes anonymous. Existing route-level capability checks remain authoritative.
Contract/discovery
public.search.getandstats.getto the canonical HTTP contract/OpenAPI/client manifestTDD / review trail
bdf763bCurrent exact head:
118fc8ce725d84e067d423384719920cda021740Do not merge unless exact-head unit/integration/contract/CI gates are green.
RAGE/TDD diagnostic update for #109:
8e209ca24ae469e815a668dc45305ab1262fee00changed CI only to retain the service-backed integration log as an artifact; it did not alter production behavior.test-public-mode-defaults-enabledused invalid FiveAM syntax ((is star::*public-mode*)), so the test itself failed at compile time. Second, the public search request successfully passed the syntheticpublic_readerauthorization boundary but the stockcouchdb:3.5.2CI service returned 503Search is not availablefrom_design/search/_search/fts.public_scope_is_server_owned. Anonymous document ingest and target dispatch remained 401.c5e1e2f08ebeb3ef1c4c07d663cda8ceecba4a6awithout weakening the assertion._searchrequires an external Clouseau service. Therefore the remaining RED is a service-backed CI topology deficiency, not evidence to weaken the public-search contract or bypass the authorization test. The next realization slice must provision compatible Clouseau for the integration gate while preserving the existing Dreyfus/Clouseau StarIntel search interface.Do not merge until the exact current head proves real public-search success against a search-capable backend plus all existing authority-isolation gates.