This project implements a pulse/health check capability for Livepeer BYOC (Bring Your Own Compute).
pulse/- Pulse service container (Flask app that returns health status)register-capability/- Container that registers the pulse capability with the orchestratordocker-compose.yml- Orchestrates all services (orchestrator, gateway, pulse, register_capability)
Test the pulse service independently without the full BYOC stack:
docker build -t byoc_pulse ./pulsedocker run --rm -p 5000:5000 byoc_pulseSend a POST request to:
- URL:
http://localhost:5000/pulse - Method: POST
- Headers:
Content-Type: application/json
- Body:
{}(empty JSON object or omit body)
Expected Response:
{
"status": "OK",
"code": 200
}curl -X POST http://localhost:5000/pulse \
-H "Content-Type: application/json" \
-d "{}"- Method: POST
- URL:
http://localhost:5000/pulse - Headers:
Content-Type: application/json
- Body: Select raw → JSON, enter:
{}
Test the complete BYOC stack with orchestrator, gateway, and pulse service:
docker-compose builddocker-compose up -dSend a POST request to the gateway endpoint:
- URL:
http://localhost:9935/process/request/pulse - Method: POST
- Headers:
Content-Type: application/jsonLivepeer: eyJyZXF1ZXN0IjogIntcInJ1blwiOiBcImVjaG9cIn0iLCAiY2FwYWJpbGl0eSI6ICJwdWxzZSIsICJ0aW1lb3V0X3NlY29uZHMiOiAzMCwgInBhcmFtZXRlcnMiOiAie30ifQ==
- Body:
{}(empty JSON object or omit body)
Expected Response:
{
"status": "OK",
"code": 200
}curl -X POST http://localhost:9935/process/request/pulse \
-H "Content-Type: application/json" \
-H "Livepeer: eyJyZXF1ZXN0IjogIntcInJ1blwiOiBcImVjaG9cIn0iLCAiY2FwYWJpbGl0eSI6ICJwdWxzZSIsICJ0aW1lb3V0X3NlY29uZHMiOiAzMCwgInBhcmFtZXRlcnMiOiAie30ifQ==" \
-d "{}"- Method: POST
- URL:
http://localhost:9935/process/request/pulse - Headers:
Content-Type: application/jsonLivepeer: eyJyZXF1ZXN0IjogIntcInJ1blwiOiBcImVjaG9cIn0iLCAiY2FwYWJpbGl0eSI6ICJwdWxzZSIsICJ0aW1lb3V0X3NlY29uZHMiOiAzMCwgInBhcmFtZXRlcnMiOiAie30ifQ==
- Body: Select raw → JSON, enter:
{}
docker-compose ps# All services
docker-compose logs
# Specific service
docker-compose logs pulse
docker-compose logs register_capability
docker-compose logs gateway
docker-compose logs orchestrator
# Follow logs in real-time
docker-compose logs -fdocker-compose downdocker-compose down
docker-compose build
docker-compose up -dIf you get an error that port 5000 is already allocated:
-
Find what's using the port:
netstat -ano | findstr :5000 -
Stop the process or change the port mapping in
docker-compose.yml
If you get "No orchestrators found for capability pulse":
-
Check if the register_capability container is running:
docker-compose ps register_capability
-
Check registration logs:
docker-compose logs register_capability
-
Restart the registration container:
docker-compose restart register_capability
If the gateway endpoint doesn't respond:
-
Verify the gateway is running:
docker-compose ps gateway
-
Check gateway logs for errors:
docker-compose logs gateway
-
Ensure the orchestrator is running and accessible:
docker-compose ps orchestrator