You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Simplify create-batch: replace --replication with repeatable --deal-type (#652)
## Summary
- Replace `--replication dealType=count` flag with simpler repeatable
`--deal-type` flag (market, pdp, ddo) on `create-batch`
- Per-provider differentiation is expressed by running separate
`create-batch` commands with different `--group` labels
- Bump go-synapse to latest (`v0.0.0-20260326143334-8c86c7fc3b17`)
- Update CLI reference docs and guides to match
Per discussion on #651 — this is a simpler UX that avoids encoding
counts in a single invocation while preserving the cross-product
semantics.
## Test plan
- [x] `go build ./...` — compiles clean
- [x] `go vet ./...` — no issues
- [x] `go test ./handler/deal/schedule/...` — passes
---------
Co-authored-by: Arkadiy Kukarkin <parkan@gmail.com>
When you need to replicate multiple preparations across multiple storage providers with a defined replication policy, use `create-batch` to generate all schedules in one command:
48
+
When you need to replicate multiple preparations across multiple storage providers, use `create-batch` to generate all schedules in one command:
49
49
50
50
```sh
51
+
# Cold DDO copies to 2 providers
51
52
singularity deal schedule create-batch \
52
-
--group my-dataset \
53
+
--group dataset-a-cold \
53
54
--preparation prep-a --preparation prep-b \
54
55
--provider f01000 --provider f02000 \
55
-
--replication market=1 --replication pdp=1
56
+
--deal-type ddo
57
+
58
+
# Warm + cold to 1 provider
59
+
singularity deal schedule create-batch \
60
+
--group dataset-a-warm \
61
+
--preparation prep-a \
62
+
--provider f03000 \
63
+
--deal-type ddo --deal-type pdp
56
64
```
57
65
58
-
This creates the full cross-product: for each preparation, for each deal type in the replication policy, a schedule is created for every provider. The example above produces 8 schedules (2 preparations x 2 deal types x 2 providers).
66
+
This creates the full cross-product: for each preparation, for each deal type, a schedule is created for every provider. The first example produces 4 schedules (2 preparations x 1 deal type x 2 providers). The second produces 2 schedules (1 preparation x 2 deal types x 1 provider).
67
+
68
+
### Deal types
59
69
60
-
### Replication policy
70
+
The `--deal-type` flag specifies which deal types to create. Repeat for multiple types:
61
71
62
-
The `--replication` flag specifies deal types and how many schedules of that type to create per provider per preparation:
72
+
-`market` — legacy f05 market deal (default)
73
+
-`pdp` — PDP (Proof of Data Possession) deal
74
+
-`ddo` — DDO (Decentralized Data Onboarding) allocation
63
75
64
-
-`market=1` — one legacy market deal schedule
65
-
-`pdp=2` — two PDP deal schedules
66
-
-`ddo=1` — one DDO allocation schedule
76
+
To express per-provider differentiation (e.g., some providers get cold copies only, one gets warm + cold), run separate `create-batch` commands with different groups.
0 commit comments