Class InternalPipelineWebService

java.lang.Object
ubic.gemma.rest.InternalPipelineWebService

@Service @Path("/internal/pipeline") public class InternalPipelineWebService extends Object
Service-to-service push callback for scheduler-side pipelines reporting progress / terminal state. Distinct from the admin REST surface — auth is a shared bearer secret (gemma.pipeline.callback.token), not curator session.

The scheduler-side pipeline calls POST /internal/pipeline/jobs/{jobId}/events with Authorization: Bearer <secret> on every progress / stage / completion / error event. The endpoint persists the event and updates the job state machine (see PipelineJobBatchService.recordEvent(Long, String, String)).

STUB AUTH: the bearer token validation is a TODO pending an operational decision on whether to share secrets via Gemma.properties, Vault, or mTLS. The handler currently rejects with 401 if no token is configured and accepts any matching token otherwise.