Skip to content

BM-2474: set minio TTL to 1 day, enable max order expiry config#1660

Merged
austinabell merged 4 commits intomainfrom
austin/ttl_inputs
Feb 19, 2026
Merged

BM-2474: set minio TTL to 1 day, enable max order expiry config#1660
austinabell merged 4 commits intomainfrom
austin/ttl_inputs

Conversation

@austinabell
Copy link
Contributor

aws/minio TTL is a bit tricky to test, but confirmed that running this sets the policy with:

docker compose exec minio mc ilm rule ls local/workflow
...
┌────────────────────────────────────────────────────────────────────────────────────────┐
│ Expiration for latest version (Expiration)                                             │
├──────────────────────┬─────────┬─────────┬──────┬────────────────┬─────────────────────┤
│ ID                   │ STATUS  │ PREFIX  │ TAGS │ DAYS TO EXPIRE │ EXPIRE DELETEMARKER │
├──────────────────────┼─────────┼─────────┼──────┼────────────────┼─────────────────────┤
│ d6ailbe6vpls76nmb770 │ Enabled │ inputs/ │ -    │              1 │ false               │
└──────────────────────┴─────────┴─────────┴──────┴────────────────┴─────────────────────┘

Setting the policy through aws sdk APIs are broken with minio, which is why mc CLI is used -- so this wouldn't set a TTL if not using minio

Alternative to this is having a script run on some interval, similar to #1244 (comment) -- but this is intended to avoid having an extra process running (at the cost that expiries can only be configured based on number of days). Do not feel strongly about this, if we want to have more granular control over the cleanup deletions, happy to swap this to a loop script.

@github-actions github-actions bot changed the title set minio TTL to 1 day, enable max order expiry config BM-2474: set minio TTL to 1 day, enable max order expiry config Feb 18, 2026
@linear
Copy link

linear bot commented Feb 18, 2026

}

// Check if the order expiry exceeds the max allowed duration
if let Some(max_expiry) = config.max_order_expiry_secs {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm a bit worried on its potential misuses. Do we know looking at the market how long the expiration is? I mean is a day enough for instance? I feel this type of information would be useful to provide to educate the user on how to set this and what values are safe/recommended

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

and potentially we could warn if it gets set to a uncommon value?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On the requestor side, it would warn if a request expiry is past that deadline because it runs this function now.

I do get the concern, that there may be a reason for an order with expiries (lock timeout and expiry) longer than a day, but at least to me seems like a more reasonable default than allowing unbounded on the prover

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

or do you mean user being a prover and what they should override this config to if they want?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes that, It could also just live on the docs

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

boundless-xyz/docs#40 sufficient?

@austinabell austinabell enabled auto-merge (squash) February 19, 2026 22:56
@austinabell austinabell merged commit e02b358 into main Feb 19, 2026
29 checks passed
@austinabell austinabell deleted the austin/ttl_inputs branch February 19, 2026 23:17
austinabell added a commit that referenced this pull request Feb 20, 2026
aws/minio TTL is a bit tricky to test, but confirmed that running this
sets the policy with:

```
docker compose exec minio mc ilm rule ls local/workflow
...
┌────────────────────────────────────────────────────────────────────────────────────────┐
│ Expiration for latest version (Expiration)                                             │
├──────────────────────┬─────────┬─────────┬──────┬────────────────┬─────────────────────┤
│ ID                   │ STATUS  │ PREFIX  │ TAGS │ DAYS TO EXPIRE │ EXPIRE DELETEMARKER │
├──────────────────────┼─────────┼─────────┼──────┼────────────────┼─────────────────────┤
│ d6ailbe6vpls76nmb770 │ Enabled │ inputs/ │ -    │              1 │ false               │
└──────────────────────┴─────────┴─────────┴──────┴────────────────┴─────────────────────┘
```

Setting the policy through aws sdk APIs are broken with minio, which is
why `mc` CLI is used -- so this wouldn't set a TTL if not using minio

Alternative to this is having a script run on some interval, similar to
#1244 (comment)
-- but this is intended to avoid having an extra process running (at the
cost that expiries can only be configured based on number of days). Do
not feel strongly about this, if we want to have more granular control
over the cleanup deletions, happy to swap this to a loop script.
austinabell added a commit that referenced this pull request Feb 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants