Repository navigation
Conversation
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
The runner group storage backend holds the runners' state files, but neither the AWS nor the Azure runner group module turned on versioning, so an overwritten or deleted state file could not be recovered (the top-level README claimed versioning that did not exist). This makes versioning a fixed part of the storage backend on both clouds, with a retention setting for old versions, and lets a local or self-hosted frontend read logs and artifacts through extra CORS origins.
Changes
storage_backend_versioning.noncurrent_retention_days(default 365,0= keep forever) sets how long old versions are kept. A leftoverenabledkey in existing inputs is ignored.azure_storage.account_tieraccepts onlyStandard. Premium (page-blob) accounts have no blob versioning, and azurerm 4.x could not manage them anyway (403 on the data plane during plan).storage_backend_cors_extra_originsadds origins next to the console origin (e.g.http://localhost:3000). Entries must be bare origins: no wildcard, path, query or fragment. Azure de-duplicates the list.create_storage_backend = falsethe module still leaves the bucket or account alone. Acheckblock warns when extra CORS origins are set but cannot be applied, and the docs say to enable versioning on it yourself.input_schema.json/ui_schema.jsonfor both modules gain the retention and CORS fields; README and DOCUMENTATION cover the new behavior.Testing
tofu testwith mock providers: AWS 11 and Azure 10 cases (versioning always on, leftoverenabled = falseignored, retention 0, existing storage, Premium rejected, CORS validation and de-duplication)eu-north-1): versioning and the 365-day rule applied, CORS withhttp://localhost:3000in placeRisks
account_tier = "Premium"now fail validation instead of failing at plan.