feat: dedicated storage class and nodepool for archive nodes#85
Merged
feat: dedicated storage class and nodepool for archive nodes#85
Conversation
Archive nodes require io2 storage (25TB+) and memory-optimized instances (256GB+ RAM) that differ fundamentally from other node types. This adds archive-specific infrastructure routing: - New platform config fields: StorageClassArchive, NodepoolArchive - Archive nodes route to io2-archive StorageClass (25TB, Retain) - Archive pods schedule on sei-archive Karpenter NodePool via mode-aware tolerations and node affinity - Bootstrap Jobs get the same nodepool affinity as StatefulSet pods - Removes unused TolerationVal (toleration value now derived from nodepool name via NodepoolForMode) - Ships gp3-10k-750 and io2-archive StorageClasses in config/storage/ (independent of config/default namePrefix) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…routing Tests verify: - Archive PVC uses io2-archive StorageClass at 25TB - Archive pods schedule on sei-archive nodepool with correct tolerations - Full node pods schedule on sei-node nodepool (regression) - defaultStorageForMode routes archive vs full correctly - defaultResourcesForMode returns archive-specific resources Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
io2-archive) and Karpenter NodePool (sei-archive)reclaimPolicy: Retainat 25TB (up from 4TB gp3)config/storage/(independent ofconfig/defaultnamePrefix)TolerationValfield (toleration value now derived from nodepool name)Changes
platform.goNodepoolArchive,StorageClassArchive,NodepoolForMode(). RemoveTolerationVal.cmd/main.goSEI_TOLERATION_VALUEsizing.goStorageClassArchiveresources.gobootstrap_resources.goplatformtest/config.gomanager.yamlconfig/storage/gp3-10k-750andio2-archiveStorageClassesTide team review findings addressed
namePrefixno longer applies to StorageClasses (moved to independent kustomization)karpenter.sh/nodepoolnode affinity (was missing)NodepoolForModeuses named constant, not string literalTolerationValremovedTest plan
sei-archiveNodePool andio2-archiveStorageClass🤖 Generated with Claude Code