No description
  • Go 90.7%
  • Makefile 7.1%
  • Dockerfile 2.2%
Find a file
zemdregon 849c78598e
Some checks are pending
CI / lint (push) Waiting to run
CI / test (push) Waiting to run
CI / build (push) Waiting to run
CI / docker (push) Blocked by required conditions
chore(deps): bump docker/setup-buildx-action to v4
Self-hosted CI workflows only.
2026-08-10 18:14:47 -05:00
.github/workflows chore(deps): bump docker/setup-buildx-action to v4 2026-08-10 18:14:47 -05:00
cmd/module feat: add proto contracts, CI/LICENSE, and bootstrap alignment 2026-07-22 19:09:33 -05:00
internal fix(ci): self-hosted runners; packaging v0.1.3 2026-08-10 10:34:14 -05:00
muxcore/inputvalidate/v1 feat: add proto contracts, CI/LICENSE, and bootstrap alignment 2026-07-22 19:09:33 -05:00
proto/muxcore/inputvalidate/v1 feat: add proto contracts, CI/LICENSE, and bootstrap alignment 2026-07-22 19:09:33 -05:00
.env.example feat: add proto contracts, CI/LICENSE, and bootstrap alignment 2026-07-22 19:09:33 -05:00
.gitignore Initial commit 2026-07-03 12:03:08 -05:00
.golangci.yml docs: cut v0.1.0 for JSON Schema / regex validation (#5) 2026-08-09 20:25:09 -05:00
CHANGELOG.md fix(ci): self-hosted runners; packaging v0.1.3 2026-08-10 10:34:14 -05:00
COMPATIBILITY.md docs: list input.validate in COMPATIBILITY (#6) 2026-08-09 20:25:33 -05:00
Dockerfile Initial commit 2026-07-03 12:03:08 -05:00
go.mod Add SettingsProvider for live schema data_dir. (#7) 2026-08-10 03:40:19 -05:00
go.sum Add SettingsProvider for live schema data_dir. (#7) 2026-08-10 03:40:19 -05:00
LICENSE feat: add proto contracts, CI/LICENSE, and bootstrap alignment 2026-07-22 19:09:33 -05:00
Makefile Initial commit 2026-07-03 12:03:08 -05:00
muxcore.json fix(ci): self-hosted runners; packaging v0.1.3 2026-08-10 10:34:14 -05:00
README.md feat: add proto contracts, CI/LICENSE, and bootstrap alignment 2026-07-22 19:09:33 -05:00

Input Validate JSON Schema

JSON Schema and regex based input validation provider for MuxCore.

A gRPC sidecar module that validates JSON payloads against JSON Schema (using santhosh-tekuri/jsonschema/v5) or regex patterns. Supports inline schema strings and file-based schema references. Without this module, core has no structured input validation capability.

Key Features

  • JSON Schema validation — inline json:{…} or named json:<schema-name> (loads {VALIDATE_DATA_DIR}/{schema-name}.json)
  • Named schema safety — names must match ^[a-z][a-z0-9_.:-]{0,127}$; . / / / \ path forms are rejected; files resolve only under VALIDATE_DATA_DIR
  • Regex validationregex:<pattern> for string matching (unchanged)
  • Detailed errors — Returns per-location validation error messages for JSON Schema violations
  • Sanitized output — On success, returns original JSON bytes, or trimmed bytes for regex matches

Configuration

Env var Default Description
VALIDATE_GRPC_ADDR :9660 Module gRPC listen address
VALIDATE_DATA_DIR ./schemas Directory containing JSON Schema files ({name}.json)
MUXCORE_GRPC_ADDR (required) Core mesh gRPC address (SDK; or --muxcore-mesh-addr)
MUXCORE_MODULE_ID input-validate-jsonschema Registration ID override (SDK)
MUXCORE_INSECURE_DISABLE_TLS unset Set to true to disable TLS to core (dev only)

Usage

make build
export MUXCORE_GRPC_ADDR=localhost:9090
export MUXCORE_INSECURE_DISABLE_TLS=true
./input-validate-jsonschema

Contract

Provides InputValidator over gRPC (InputValidateService). Declares capability: input.validate. Min core: 0.4.0.