The ckan update command retrieves fresh metadata from repositories, but currently it requires a game instance to work. Since #3904, repositories and game instances have been decoupled somewhat, so this should not be strictly necessary anymore.
Motivation
For https://github.com/KSP-CKAN/CKAN-ModInstaller, it would be nice to be able to pre-load the Docker image with metadata so a mod's build wouldn't have to wait for a ckan update command to run. Ideally we could do this without creating a temporary game instance during the docker build.
Changes
Now the ckan update command has several new flags:
-g KSP -u URL [URL2 ...] will update the repos with the given URLs, using the -g parameter to determine the game to use
-g KSP / -g KSP2 without -u will update the default repo for the given game (limit one per command)
-f will force an update to be performed even if the repo's ETags haven't changed
-l is now an alias for --list-changes
This will allow us to add these commands to the ModInstaller's Dockerfile to pre-load it with metadata:
Background
The
ckan update
command retrieves fresh metadata from repositories, but currently it requires a game instance to work. Since #3904, repositories and game instances have been decoupled somewhat, so this should not be strictly necessary anymore.Motivation
For https://github.com/KSP-CKAN/CKAN-ModInstaller, it would be nice to be able to pre-load the Docker image with metadata so a mod's build wouldn't have to wait for a
ckan update
command to run. Ideally we could do this without creating a temporary game instance during the docker build.Changes
Now the
ckan update
command has several new flags:-g KSP -u URL [URL2 ...]
will update the repos with the given URLs, using the-g
parameter to determine the game to use-g KSP
/-g KSP2
without-u
will update the default repo for the given game (limit one per command)-f
will force an update to be performed even if the repo's ETags haven't changed-l
is now an alias for--list-changes
This will allow us to add these commands to the ModInstaller's Dockerfile to pre-load it with metadata: