Skip to content

feat(admin): add GET /admin/v1/services/:id/schema endpoint - #492

Open
fan-tastic-z wants to merge 1 commit into
chaitin:mainfrom
fan-tastic-z:feat-service-schema-endpoint
Open

feat(admin): add GET /admin/v1/services/:id/schema endpoint#492
fan-tastic-z wants to merge 1 commit into
chaitin:mainfrom
fan-tastic-z:feat-service-schema-endpoint

Conversation

@fan-tastic-z

Copy link
Copy Markdown
Contributor

Expose a service's config and secret JSON Schema documents so management clients (fde-admin, the CLI, future UIs) can render typed config forms instead of asking users to hand-write JSON and rely on validation errors.

  • GET /admin/v1/services/:id/schema returns {service_id, config, secret}; a null field means the service declared no such schema
  • only the schema document content is returned, never the daemon-side path
  • schema content is validated as JSON before returning
  • consistent with existing "describe-the-structure" endpoints: catalog exposes method input/output types, and the service object already exposes ConfigSchemaPath

OctoBus still only validates config/secret against these schemas; exposing them does not change the pass-through semantics. The secret schema carries structure (type/required/enum) only, never instance secret values.

Expose a service's config and secret JSON Schema documents so management
clients (fde-admin, the CLI, future UIs) can render typed config forms
instead of asking users to hand-write JSON and rely on validation errors.

- GET /admin/v1/services/:id/schema returns {service_id, config, secret};
  a null field means the service declared no such schema
- only the schema document content is returned, never the daemon-side path
- schema content is validated as JSON before returning
- consistent with existing "describe-the-structure" endpoints: catalog
  exposes method input/output types, and the service object already exposes
  ConfigSchemaPath

OctoBus still only validates config/secret against these schemas; exposing
them does not change the pass-through semantics. The secret schema carries
structure (type/required/enum) only, never instance secret values.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant