Creating Sagas
Via CLI
naos saga create order-fulfillment
Via Configuration
sagas:
order-fulfillment:
steps:
- name: reserve-inventory
agent: inventory-reserve
compensate: inventory-release
- name: charge-payment
agent: payment-charge
compensate: payment-refund
- name: ship-order
agent: shipping-create
compensate: shipping-cancel
Adding Steps
# Add step with compensation
naos saga add-step order-fulfillment reserve-inventory \
--compensate release-inventory
naos saga add-step order-fulfillment charge-payment \
--compensate refund-payment
naos saga add-step order-fulfillment ship-order \
--compensate cancel-shipment
Verify
naos saga status order-fulfillment
# Saga: order-fulfillment
# Steps: 3
# Status: ready
#
# Steps:
# 1. reserve-inventory (compensate: release-inventory)
# 2. charge-payment (compensate: refund-payment)
# 3. ship-order (compensate: cancel-shipment)