You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Implement catalog object validation inside gitstore-api as the authoritative validation layer, now that validation has been removed from gitstore-git-service. The git-service focuses solely on Git hosting and storage; validation is a domain concern that belongs in the API.
Validation will be invoked from git-receive-pack hooks in gitstore-git-service via a gRPC call to this API endpoint. The implementation is schema-driven using the Kubernetes-style frontmatter format introduced by #40.
Scope
In Scope
Define a validation interface and engine inside gitstore-api for catalog object types: Product, Category, and Collection.
Expose a gRPC endpoint (or internal callable) that gitstore-git-service pre-receive hooks can call during git-receive-pack.
Return structured validation errors per file (file path, field, error code, human-readable message) usable by the git-service to relay the rejection reason back to the git client.
Support future callers beyond hooks (admin UI pre-flight, CI pipeline checks, API mutations).
Integration tests covering valid and invalid catalog objects for all three types.
Summary
Implement catalog object validation inside
gitstore-apias the authoritative validation layer, now that validation has been removed fromgitstore-git-service. The git-service focuses solely on Git hosting and storage; validation is a domain concern that belongs in the API.Validation will be invoked from
git-receive-packhooks ingitstore-git-servicevia a gRPC call to this API endpoint. The implementation is schema-driven using the Kubernetes-style frontmatter format introduced by #40.Scope
In Scope
gitstore-apifor catalog object types:Product,Category, andCollection.apiVersion,kind,metadata,spec).gitstore-git-servicepre-receive hooks can call duringgit-receive-pack.Out of Scope
Acceptance Criteria
gitstore-apiexposes a validation entry point for catalog objects callable from git-service hooks.Product,Category, andCollectionper the [Initiative] Kubernetes-style Catalog Frontmatter #40 schema.git pushcontaining invalid catalog files is rejected with human-readable error messages surfaced to the git client.Subtasks
Dependencies
Tracking