TBD
On startup, an asyncio loop is created and the following tasks are gathered:
- Heartbeat generator
- Platform Event listener
- Platform Event queue processor
- Tenant build monitor
- SFDC emits a new Platform Event after Gamma Signup
- PE is received by events_client listener
- PE is processed and routed to platform event queue
- PE is popped off PEQ and processed by relevant consumer
- Add tenant_id to database with status 'Pending'
- POST to spinnaker create API
- Process result
- Success
- Update database to status 'InProgress'
- POST to SFDC update API to status 'InProgress'
- Push tenant_id to Tenant Monitoring Queue
- Failure
- Update database to status 'Failed'
- POST to SFDC update API to status 'Failed'
- Success