Skip to content

Add support for S3 history archives in parallel catchup v2 - #326

Merged
bboston7 merged 3 commits into
stellar:mainfrom
bboston7:history-mirror
Oct 14, 2025
Merged

Add support for S3 history archives in parallel catchup v2#326
bboston7 merged 3 commits into
stellar:mainfrom
bboston7:history-mirror

Conversation

@bboston7

Copy link
Copy Markdown
Contributor

This PR contains the supercluster changes required to support stellar/ops#4190. It consists of 3 main changes:

  1. Adds a ServiceAccount to the helm chart with configurable annotations. To set these annotations, use the new flag:
--service-account-annotations-pc-v2 <key1>:<val1> <key2>:<val2> ... 
  1. Adds the worker StatefulSet to the new ServiceAccount
  2. Adds support for overriding the history archive get commands to point to S3 with the new flag:
--s3-history-mirror-override-pc-v2 <base S3 url without s3:// prefix>

This is a draft PR because I can't test it without knowing what the right annotations are. However, I've looked at the generated Helm charts and they seem to match what ops is requesting. I'll mark this PR ready once @jacekn confirms these options work as expected.

@bboston7
bboston7 requested review from jacekn and jayz22 October 10, 2025 23:38

@jacekn jacekn left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Thank you @bboston7
I added 2 comments inline. I would not worry about the region too much. But the annotation split doesn't currently work with some types of annotations we may need to set.

Comment thread src/App/Program.fs
Comment thread src/FSLibrary/MissionHistoryPubnetParallelCatchupV2.fs Outdated
This PR contains the supercluster changes required to support
stellar/ops#4190. It consists of 3 main changes:

1. Adds a `ServiceAccount` to the helm chart with configurable
   annotations. To set these annotations, use the new flag:
 ```
 --service-account-annotations-pc-v2 <key1>:<val1> <key2>:<val2> ...
 ```
 2. Adds the worker `StatefulSet` to the new `ServiceAccount`
 3. Adds support for overriding the history archive `get` commands to
    point to S3 with the new flag:
```
--s3-history-mirror-override-pc-v2 <base S3 url without s3:// prefix>
```
…chup_workers.yaml

Co-authored-by: Jay Geng <jay@stellar.org>
@bboston7
bboston7 marked this pull request as ready for review October 14, 2025 20:32
@bboston7
bboston7 merged commit d83cc0a into stellar:main Oct 14, 2025
3 checks passed
@bboston7
bboston7 deleted the history-mirror branch October 14, 2025 20:32
@jayz22

jayz22 commented Oct 14, 2025

Copy link
Copy Markdown
Contributor

As a followup to this work, should we update archive links in other missions to using S3 for cost saving? In that case, perhaps we can drop the "-pc-v2" suffix in the options in the future.

@jacekn

jacekn commented Oct 15, 2025

Copy link
Copy Markdown
Contributor

As a followup to this work, should we update archive links in other missions to using S3 for cost saving? In that case, perhaps we can drop the "-pc-v2" suffix in the options in the future.

Yeah that could be nice. For other missions to use the S3 archive they would need to use a ServiceAccount with annotations. Small challenge with that is that all missions would need to use the same account.

@bboston7

Copy link
Copy Markdown
Contributor Author

I opened #331 to capture that followup work.

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.

3 participants