mirror of
https://github.com/simonw/datasette.git
synced 2025-12-10 16:51:24 +01:00
Fix escaping of ENV
This commit is contained in:
parent
c207453e03
commit
4e5f6b4d11
5 changed files with 76 additions and 65 deletions
|
|
@ -44,7 +44,8 @@ def add_common_publish_arguments_and_options(subcommand):
|
||||||
click.option(
|
click.option(
|
||||||
"--plugin-secret",
|
"--plugin-secret",
|
||||||
nargs=3,
|
nargs=3,
|
||||||
type=str,
|
type=(str, str, str),
|
||||||
|
callback=validate_plugin_secret,
|
||||||
multiple=True,
|
multiple=True,
|
||||||
help="Secrets to pass to plugins, e.g. --plugin-secret datasette-auth-github client_id xxx",
|
help="Secrets to pass to plugins, e.g. --plugin-secret datasette-auth-github client_id xxx",
|
||||||
),
|
),
|
||||||
|
|
@ -83,3 +84,10 @@ def fail_if_publish_binary_not_installed(binary, publish_target, install_link):
|
||||||
err=True,
|
err=True,
|
||||||
)
|
)
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
|
|
||||||
|
def validate_plugin_secret(ctx, param, value):
|
||||||
|
for plugin_name, plugin_setting, setting_value in value:
|
||||||
|
if "'" in setting_value:
|
||||||
|
raise click.BadParameter("--plugin-secret cannot contain single quotes")
|
||||||
|
return value
|
||||||
|
|
|
||||||
|
|
@ -316,7 +316,7 @@ EXPOSE 8001
|
||||||
CMD {cmd}""".format(
|
CMD {cmd}""".format(
|
||||||
environment_variables="\n".join(
|
environment_variables="\n".join(
|
||||||
[
|
[
|
||||||
"ENV {} {}".format(key, value)
|
"ENV {} '{}'".format(key, value)
|
||||||
for key, value in (environment_variables or {}).items()
|
for key, value in (environment_variables or {}).items()
|
||||||
]
|
]
|
||||||
),
|
),
|
||||||
|
|
|
||||||
|
|
@ -10,8 +10,9 @@ Options:
|
||||||
--plugins-dir DIRECTORY Path to directory containing custom plugins
|
--plugins-dir DIRECTORY Path to directory containing custom plugins
|
||||||
--static STATIC MOUNT mountpoint:path-to-directory for serving static files
|
--static STATIC MOUNT mountpoint:path-to-directory for serving static files
|
||||||
--install TEXT Additional packages (e.g. plugins) to install
|
--install TEXT Additional packages (e.g. plugins) to install
|
||||||
--plugin-secret TEXT... Secrets to pass to plugins, e.g. --plugin-secret datasette-
|
--plugin-secret <TEXT TEXT TEXT>...
|
||||||
auth-github client_id xxx
|
Secrets to pass to plugins, e.g. --plugin-secret
|
||||||
|
datasette-auth-github client_id xxx
|
||||||
--version-note TEXT Additional note to show on /-/versions
|
--version-note TEXT Additional note to show on /-/versions
|
||||||
--title TEXT Title for metadata
|
--title TEXT Title for metadata
|
||||||
--license TEXT License label for metadata
|
--license TEXT License label for metadata
|
||||||
|
|
|
||||||
|
|
@ -10,8 +10,9 @@ Options:
|
||||||
--plugins-dir DIRECTORY Path to directory containing custom plugins
|
--plugins-dir DIRECTORY Path to directory containing custom plugins
|
||||||
--static STATIC MOUNT mountpoint:path-to-directory for serving static files
|
--static STATIC MOUNT mountpoint:path-to-directory for serving static files
|
||||||
--install TEXT Additional packages (e.g. plugins) to install
|
--install TEXT Additional packages (e.g. plugins) to install
|
||||||
--plugin-secret TEXT... Secrets to pass to plugins, e.g. --plugin-secret datasette-
|
--plugin-secret <TEXT TEXT TEXT>...
|
||||||
auth-github client_id xxx
|
Secrets to pass to plugins, e.g. --plugin-secret
|
||||||
|
datasette-auth-github client_id xxx
|
||||||
--version-note TEXT Additional note to show on /-/versions
|
--version-note TEXT Additional note to show on /-/versions
|
||||||
--title TEXT Title for metadata
|
--title TEXT Title for metadata
|
||||||
--license TEXT License label for metadata
|
--license TEXT License label for metadata
|
||||||
|
|
|
||||||
|
|
@ -10,8 +10,9 @@ Options:
|
||||||
--plugins-dir DIRECTORY Path to directory containing custom plugins
|
--plugins-dir DIRECTORY Path to directory containing custom plugins
|
||||||
--static STATIC MOUNT mountpoint:path-to-directory for serving static files
|
--static STATIC MOUNT mountpoint:path-to-directory for serving static files
|
||||||
--install TEXT Additional packages (e.g. plugins) to install
|
--install TEXT Additional packages (e.g. plugins) to install
|
||||||
--plugin-secret TEXT... Secrets to pass to plugins, e.g. --plugin-secret datasette-
|
--plugin-secret <TEXT TEXT TEXT>...
|
||||||
auth-github client_id xxx
|
Secrets to pass to plugins, e.g. --plugin-secret
|
||||||
|
datasette-auth-github client_id xxx
|
||||||
--version-note TEXT Additional note to show on /-/versions
|
--version-note TEXT Additional note to show on /-/versions
|
||||||
--title TEXT Title for metadata
|
--title TEXT Title for metadata
|
||||||
--license TEXT License label for metadata
|
--license TEXT License label for metadata
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue