Class MutinyPlatformRegistrationServiceGrpc.PlatformRegistrationServiceImplBase

java.lang.Object
ai.pipestream.platform.registration.v1.MutinyPlatformRegistrationServiceGrpc.PlatformRegistrationServiceImplBase
All Implemented Interfaces:
io.grpc.BindableService
Direct Known Subclasses:
PlatformRegistrationService, PlatformRegistrationServiceBean
Enclosing class:
MutinyPlatformRegistrationServiceGrpc

public abstract static class MutinyPlatformRegistrationServiceGrpc.PlatformRegistrationServiceImplBase extends Object implements io.grpc.BindableService
  Unified registration service for all platform services and modules.
 
  Provides centralized service discovery via Consul with health monitoring,
  module schema management via Apicurio Registry, and real-time event streaming
  for registration lifecycle tracking.
 
  • Constructor Details

    • PlatformRegistrationServiceImplBase

      public PlatformRegistrationServiceImplBase()
  • Method Details

    • withCompression

      Set whether the server will try to use a compressed response.
      Parameters:
      compression - the compression, e.g gzip
    • unregister

      public io.smallrye.mutiny.Uni<UnregisterResponse> unregister(UnregisterRequest request)
        Unregister a service or module from Consul and the platform registry.
       
    • listServices

      public io.smallrye.mutiny.Uni<ListServicesResponse> listServices(ListServicesRequest request)
        List all registered services with health status and metadata.
       
    • listModules

      public io.smallrye.mutiny.Uni<ListModulesResponse> listModules(ListModulesRequest request)
        List all registered modules with schema and capability information.
       
    • getService

      public io.smallrye.mutiny.Uni<GetServiceResponse> getService(GetServiceRequest request)
        Get specific service details by name or Consul service ID.
       
    • getModule

      public io.smallrye.mutiny.Uni<GetModuleResponse> getModule(GetModuleRequest request)
        Get specific module details by name or Consul service ID.
       
    • resolveService

      public io.smallrye.mutiny.Uni<ResolveServiceResponse> resolveService(ResolveServiceRequest request)
        Resolve service endpoint for dynamic routing.
       
        Returns the best available instance of a service based on health and load.
        Supports preference criteria like local instances or required capabilities.
       
    • getModuleSchema

      public io.smallrye.mutiny.Uni<GetModuleSchemaResponse> getModuleSchema(GetModuleSchemaRequest request)
        Get module schema from Apicurio Registry.
       
        Retrieves either a specific version or the latest schema for a module.
        Returns JSON Schema used for validating module configuration.
       
    • getModuleSchemaVersions

      public io.smallrye.mutiny.Uni<GetModuleSchemaVersionsResponse> getModuleSchemaVersions(GetModuleSchemaVersionsRequest request)
        List all available schema versions for a module.
       
        Provides detailed version metadata from Apicurio Registry including
        creation timestamps and version-specific descriptions.
       
    • register

      public io.smallrye.mutiny.Multi<RegisterResponse> register(RegisterRequest request)
        Register a service or module with streaming status updates.
       
        Returns a stream of RegistrationEvent messages tracking progress through
        validation, Consul registration, health check configuration, and completion.
        For modules, also includes schema validation and Apicurio registration.
       
    • watchServices

      public io.smallrye.mutiny.Multi<WatchServicesResponse> watchServices(WatchServicesRequest request)
        Watch for real-time updates to the list of all healthy services.
       
        The server will send an initial list, and then send a new full
        list whenever any service is registered, unregistered, or changes
        its health status.
       
    • watchModules

      public io.smallrye.mutiny.Multi<WatchModulesResponse> watchModules(WatchModulesRequest request)
        Watch for real-time updates to the list of all registered modules.
       
        The server will send an initial list, and then send a new full
        list whenever any module is registered, unregistered, or changes
        its health status.
       
    • bindService

      public final io.grpc.ServerServiceDefinition bindService()
      Specified by:
      bindService in interface io.grpc.BindableService