A system that transitions input from its current state into a desired state. The system is robust enough to handle failures at any phase of the transition including both automatic recovery and notifying appropriate stakeholders when manual intervention is required. Also, robust enough to survive a natural disaster, accidental destruction by its maintainer, and resistant to malicious actors.
Very intuitive high-level tooling. We can build fast and be confident in our solutions.
TODO need better example once I implement this for real
Status queue database pattern:
Get latest status SELECT ds.*, slot.env, slot.max_slot_id FROM deployment_status ds JOIN ( SELECT env, max(deployment_slot_id) AS max_slot_id FROM deployment_slot GROUP BY env ) slot ON ds.id = slot.??? WHERE ds.status = 'completed';
Get anchor status (completed) SELECT ds.*, slot.env, slot.max_slot_id FROM deployment_status ds JOIN ( SELECT env, max(deployment_slot_id) AS max_slot_id FROM deployment_slot GROUP BY env ) slot ON ds.id = slot.???;
INSERT INTO deployment_status (id, env, status, time_stamp, deployment_slot_id);
benefits of deployment_slot table would be 1 id instead of 3 (product_type, bom_type, channel, status, bom_id) second table deployment_status (id, env, status, time_stamp, deployment_slot_id);