Goal
Decide and prepare Internet Archive mirroring for redistributable KSA mods, the same fallback the bot provides for KSP1.
KSA-CKAN-meta/repositories.json already carries "x_mirror": false with a comment saying it flips to true once mirroring is set up.
Findings (verified in this repo's source)
- IA collections are per-game free-form args (
ia_collections, name=collection pairs) resolved via Game.ia_collection, so config-wise KSA is one more arg.
- BUT the Mirrorer service is currently instantiated with
common.game('ksp').ia_collection (netkan/cli/services.py), i.e. production mirroring is effectively KSP1-only today; KSP2 apparently never got its own collection wired either.
Tasks
Gate / sequencing
Depends on the bot indexing KSA at all (#1 here) and on a CKAN-team decision plus archive.org setup, so this is a post-upstream-merge follow-up, tracked now so it is not forgotten.
Part of KSP-CKAN/CKAN#4457.
Goal
Decide and prepare Internet Archive mirroring for redistributable KSA mods, the same fallback the bot provides for KSP1.
KSA-CKAN-meta/repositories.jsonalready carries"x_mirror": falsewith a comment saying it flips to true once mirroring is set up.Findings (verified in this repo's source)
ia_collections,name=collectionpairs) resolved viaGame.ia_collection, so config-wise KSA is one more arg.common.game('ksp').ia_collection(netkan/cli/services.py), i.e. production mirroring is effectively KSP1-only today; KSP2 apparently never got its own collection wired either.Tasks
ksa=<collection>to theia_collectionsconfig inprod-stack.py, and extend the mirror service to cover multiple games.x_mirrortotruein KSA-CKAN-meta'srepositories.json.Gate / sequencing
Depends on the bot indexing KSA at all (#1 here) and on a CKAN-team decision plus archive.org setup, so this is a post-upstream-merge follow-up, tracked now so it is not forgotten.
Part of KSP-CKAN/CKAN#4457.