Add a ckan alias command for 2.7 and 2.8 so it can be forward-compatible with 2.9

This commit is contained in:
Marko Bocevski 2020-12-16 20:22:35 +01:00
parent 87808189ec
commit 2485af55b0
4 changed files with 34 additions and 0 deletions

View File

@ -166,6 +166,9 @@ RUN rm -rf /srv/app/wheels /srv/app/ext_wheels
# Copy necessary scripts # Copy necessary scripts
COPY setup/app ${APP_DIR} COPY setup/app ${APP_DIR}
# Copy the alias script for paster to be ckan so it's compatible with 2.9
COPY setup/bin/ckan /usr/bin/ckan
# Create entrypoint directory for children image scripts # Create entrypoint directory for children image scripts
ONBUILD RUN mkdir docker-entrypoint.d ONBUILD RUN mkdir docker-entrypoint.d

14
images/ckan/2.7/setup/bin/ckan Executable file
View File

@ -0,0 +1,14 @@
#!/bin/bash
# CKAN <2.9 uses paster and the ckan plugin for paster which expects the configuration to be passed
# to a subcommand, example: paster --plugin=ckan datastore -c /srv/app/production.ini set-permissions
# CKAN >2.9 ckan CLI command expects the configuration option as the second and third parameter
# Example: ckan -c /srv/app/production.ini datastore set-permissions
#
# Shift the two arguments so that we can move them to the end of the argument list
# ckan -c /srv/app/production.ini datastore set-permissions
# becomes
# paster --plugin datastore set-permissions -c /srv/app/production.ini
config_switch=$1
config_file=$2
shift 2
paster --plugin=ckan "$@" "$config_switch" "$config_file"

View File

@ -160,6 +160,9 @@ RUN rm -rf /srv/app/wheels /srv/app/ext_wheels
# Copy necessary scripts # Copy necessary scripts
COPY setup/app ${APP_DIR} COPY setup/app ${APP_DIR}
# Copy the alias script for paster to be ckan so it's compatible with 2.9
COPY setup/bin/ckan /usr/bin/ckan
# Create entrypoint directory for children image scripts # Create entrypoint directory for children image scripts
ONBUILD RUN mkdir docker-entrypoint.d ONBUILD RUN mkdir docker-entrypoint.d

14
images/ckan/2.8/setup/bin/ckan Executable file
View File

@ -0,0 +1,14 @@
#!/bin/bash
# CKAN <2.9 uses paster and the ckan plugin for paster which expects the configuration to be passed
# to a subcommand, example: paster --plugin=ckan datastore -c /srv/app/production.ini set-permissions
# CKAN >2.9 ckan CLI command expects the configuration option as the second and third parameter
# Example: ckan -c /srv/app/production.ini datastore set-permissions
#
# Shift the two arguments so that we can move them to the end of the argument list
# ckan -c /srv/app/production.ini datastore set-permissions
# becomes
# paster --plugin datastore set-permissions -c /srv/app/production.ini
config_switch=$1
config_file=$2
shift 2
paster --plugin=ckan "$@" "$config_switch" "$config_file"