Compare commits
21 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ee7c7b80c2 | ||
|
|
6e8e37fed1 | ||
|
|
ca0d288282 | ||
|
|
2d8a614c89 | ||
|
|
049718f845 | ||
|
|
5c770e2922 | ||
|
|
2b07ead40b | ||
|
|
8365999a3f | ||
|
|
a309b0d1fe | ||
|
|
b609bcdf31 | ||
|
|
4504fb956f | ||
|
|
74af0482bf | ||
|
|
9d318cf26b | ||
|
|
a81da2b3ae | ||
|
|
b6aec377bc | ||
|
|
d9d44eea45 | ||
|
|
c2e58c773e | ||
|
|
296607be93 | ||
|
|
49c00a0479 | ||
|
|
2405b7ef22 | ||
|
|
c1e8c4d774 |
6
.github/dependabot.yml
vendored
Normal file
6
.github/dependabot.yml
vendored
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
version: 2
|
||||||
|
updates:
|
||||||
|
- package-ecosystem: "docker"
|
||||||
|
directory: "/"
|
||||||
|
schedule:
|
||||||
|
interval: "daily"
|
||||||
1
Dockerfile
Normal file
1
Dockerfile
Normal file
@@ -0,0 +1 @@
|
|||||||
|
FROM mysql:5.7.28
|
||||||
57
bin/generate
57
bin/generate
@@ -5,12 +5,20 @@ import os
|
|||||||
import re
|
import re
|
||||||
|
|
||||||
|
|
||||||
def compile(service, version, variable, alias, image, scheme, ports, unimplemented, dokku_version):
|
def compile(service, version, variable, alias, image, scheme, ports, sponsors, unimplemented, dokku_version):
|
||||||
|
prefix = "\n\n".join([
|
||||||
|
header(service),
|
||||||
|
description(service, image, version),
|
||||||
|
])
|
||||||
|
|
||||||
|
if len(sponsors) > 0:
|
||||||
|
prefix += "\n\n"
|
||||||
|
prefix += sponsors_section(service, sponsors)
|
||||||
|
|
||||||
return (
|
return (
|
||||||
"\n\n".join(
|
"\n\n".join(
|
||||||
[
|
[
|
||||||
header(service),
|
prefix,
|
||||||
description(service, version),
|
|
||||||
requirements_section(dokku_version),
|
requirements_section(dokku_version),
|
||||||
installation_section(service, dokku_version),
|
installation_section(service, dokku_version),
|
||||||
commands_section(service, variable, alias, image, scheme, ports, unimplemented),
|
commands_section(service, variable, alias, image, scheme, ports, unimplemented),
|
||||||
@@ -33,8 +41,26 @@ def header(service):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
def description(service, version):
|
def description(service, full_image, version):
|
||||||
return f"Official {service} plugin for dokku. Currently defaults to installing [{service} {version}](https://hub.docker.com/_/{service}/)."
|
base = "_"
|
||||||
|
image = full_image
|
||||||
|
if "/" in full_image:
|
||||||
|
base = "r/" + full_image.split("/")[0]
|
||||||
|
image = full_image.split("/")[1]
|
||||||
|
|
||||||
|
return f"Official {service} plugin for dokku. Currently defaults to installing [{full_image} {version}](https://hub.docker.com/{base}/{image}/)."
|
||||||
|
|
||||||
|
|
||||||
|
def sponsors_section(service, sponsors):
|
||||||
|
if len(sponsors) == 0:
|
||||||
|
return ""
|
||||||
|
|
||||||
|
sponsor_data = ["## Sponsors", "", f"The {service} plugin was generously sponsored by the following:", ""]
|
||||||
|
sponsor_data.extend([f"- [{s}](https://github.com/{s})" for s in sponsors])
|
||||||
|
|
||||||
|
return "\n".join(
|
||||||
|
sponsor_data
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def requirements_section(dokku_version):
|
def requirements_section(dokku_version):
|
||||||
@@ -448,12 +474,16 @@ def main():
|
|||||||
image = None
|
image = None
|
||||||
alias = None
|
alias = None
|
||||||
unimplemented = []
|
unimplemented = []
|
||||||
|
|
||||||
|
with open("Dockerfile") as f:
|
||||||
|
for line in f.readlines():
|
||||||
|
if "FROM " in line:
|
||||||
|
image, version = line.split(" ")[1].split(":")
|
||||||
|
image = image.strip()
|
||||||
|
version = version.strip()
|
||||||
|
|
||||||
with open("config") as f:
|
with open("config") as f:
|
||||||
for line in f.readlines():
|
for line in f.readlines():
|
||||||
if "IMAGE_VERSION=${" in line:
|
|
||||||
version = re.search('"(.+)"', line).group(1)
|
|
||||||
if "_IMAGE=${" in line:
|
|
||||||
image = re.search('"(.+)"', line).group(1)
|
|
||||||
if "PLUGIN_COMMAND_PREFIX=" in line:
|
if "PLUGIN_COMMAND_PREFIX=" in line:
|
||||||
service = re.search('"(.+)"', line).group(1)
|
service = re.search('"(.+)"', line).group(1)
|
||||||
if "PLUGIN_DEFAULT_ALIAS=" in line:
|
if "PLUGIN_DEFAULT_ALIAS=" in line:
|
||||||
@@ -469,7 +499,14 @@ def main():
|
|||||||
if match is not None:
|
if match is not None:
|
||||||
unimplemented = [s.strip('"') for s in match.group(1).split(" ")]
|
unimplemented = [s.strip('"') for s in match.group(1).split(" ")]
|
||||||
|
|
||||||
text = compile(service, version, variable, alias, image, scheme, ports, unimplemented, "0.12.x+")
|
sponsors = []
|
||||||
|
with open("plugin.toml") as f:
|
||||||
|
for line in f.readlines():
|
||||||
|
if line.startswith("sponsors"):
|
||||||
|
sponsors = re.search("\[([\"\w\s,_-]+)\]", line).group(1)
|
||||||
|
sponsors = [s.strip("\"") for s in sponsors.split(",")]
|
||||||
|
|
||||||
|
text = compile(service, version, variable, alias, image, scheme, ports, sponsors, unimplemented, "0.12.x+")
|
||||||
|
|
||||||
base_path = os.path.dirname(os.path.dirname(os.path.realpath(__file__)))
|
base_path = os.path.dirname(os.path.dirname(os.path.realpath(__file__)))
|
||||||
readme_file = os.path.join(base_path, "README.md")
|
readme_file = os.path.join(base_path, "README.md")
|
||||||
|
|||||||
@@ -188,18 +188,18 @@ service_backup() {
|
|||||||
dokku_log_fail "Provide AWS credentials or use the --use-iam flag"
|
dokku_log_fail "Provide AWS credentials or use the --use-iam flag"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
TMPDIR=$(mktemp -d)
|
BACKUP_TMPDIR=$(mktemp -d --tmpdir)
|
||||||
trap 'rm -rf "$TMPDIR" > /dev/null' RETURN INT TERM EXIT
|
trap 'rm -rf "$BACKUP_TMPDIR" > /dev/null' RETURN INT TERM EXIT
|
||||||
|
|
||||||
docker inspect "$ID" &>/dev/null || dokku_log_fail "Service container does not exist"
|
docker inspect "$ID" &>/dev/null || dokku_log_fail "Service container does not exist"
|
||||||
is_container_status "$ID" "Running" || dokku_log_fail "Service container is not running"
|
is_container_status "$ID" "Running" || dokku_log_fail "Service container is not running"
|
||||||
|
|
||||||
(service_export "$SERVICE" >"${TMPDIR}/export")
|
(service_export "$SERVICE" >"${BACKUP_TMPDIR}/export")
|
||||||
|
|
||||||
# Build parameter list for s3backup tool
|
# Build parameter list for s3backup tool
|
||||||
BACKUP_PARAMETERS="$BACKUP_PARAMETERS -e BUCKET_NAME=$BUCKET_NAME"
|
BACKUP_PARAMETERS="$BACKUP_PARAMETERS -e BUCKET_NAME=$BUCKET_NAME"
|
||||||
BACKUP_PARAMETERS="$BACKUP_PARAMETERS -e BACKUP_NAME=${PLUGIN_COMMAND_PREFIX}-${SERVICE}"
|
BACKUP_PARAMETERS="$BACKUP_PARAMETERS -e BACKUP_NAME=${PLUGIN_COMMAND_PREFIX}-${SERVICE}"
|
||||||
BACKUP_PARAMETERS="$BACKUP_PARAMETERS -v ${TMPDIR}:/backup"
|
BACKUP_PARAMETERS="$BACKUP_PARAMETERS -v ${BACKUP_TMPDIR}:/backup"
|
||||||
|
|
||||||
if [[ -f "$SERVICE_BACKUP_ROOT/AWS_DEFAULT_REGION" ]]; then
|
if [[ -f "$SERVICE_BACKUP_ROOT/AWS_DEFAULT_REGION" ]]; then
|
||||||
BACKUP_PARAMETERS="$BACKUP_PARAMETERS -e AWS_DEFAULT_REGION=$(cat "$SERVICE_BACKUP_ROOT/AWS_DEFAULT_REGION")"
|
BACKUP_PARAMETERS="$BACKUP_PARAMETERS -e AWS_DEFAULT_REGION=$(cat "$SERVICE_BACKUP_ROOT/AWS_DEFAULT_REGION")"
|
||||||
@@ -383,7 +383,7 @@ service_info() {
|
|||||||
local flag key valid_flags
|
local flag key valid_flags
|
||||||
|
|
||||||
local flag_map=(
|
local flag_map=(
|
||||||
"--config-dir: ${SERVICE_ROOT}/config"
|
"--config-dir: ${SERVICE_ROOT}/${PLUGIN_CONFIG_SUFFIX}"
|
||||||
"--data-dir: ${SERVICE_ROOT}/data"
|
"--data-dir: ${SERVICE_ROOT}/data"
|
||||||
"--dsn: ${SERVICE_URL}"
|
"--dsn: ${SERVICE_URL}"
|
||||||
"--exposed-ports: $(service_exposed_ports "$SERVICE")"
|
"--exposed-ports: $(service_exposed_ports "$SERVICE")"
|
||||||
@@ -453,6 +453,7 @@ service_link() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
[[ -n $LINK ]] && dokku_log_fail "Already linked as $LINK"
|
[[ -n $LINK ]] && dokku_log_fail "Already linked as $LINK"
|
||||||
|
plugn trigger service-action pre-link "$SERVICE" "$APP"
|
||||||
touch "$LINKS_FILE"
|
touch "$LINKS_FILE"
|
||||||
echo "$APP" >>"$LINKS_FILE"
|
echo "$APP" >>"$LINKS_FILE"
|
||||||
sort "$LINKS_FILE" -u -o "$LINKS_FILE"
|
sort "$LINKS_FILE" -u -o "$LINKS_FILE"
|
||||||
@@ -465,7 +466,9 @@ service_link() {
|
|||||||
dokku docker-options:add "$APP" build,deploy,run "--link $SERVICE_NAME:$SERVICE_DNS_HOSTNAME"
|
dokku docker-options:add "$APP" build,deploy,run "--link $SERVICE_NAME:$SERVICE_DNS_HOSTNAME"
|
||||||
fi
|
fi
|
||||||
[[ -n "$SERVICE_QUERYSTRING" ]] && SERVICE_URL="${SERVICE_URL}?${SERVICE_QUERYSTRING}"
|
[[ -n "$SERVICE_QUERYSTRING" ]] && SERVICE_URL="${SERVICE_URL}?${SERVICE_QUERYSTRING}"
|
||||||
|
plugn trigger service-action post-link "$SERVICE" "$APP"
|
||||||
config_set "$APP" "${ALIAS}_URL=$SERVICE_URL"
|
config_set "$APP" "${ALIAS}_URL=$SERVICE_URL"
|
||||||
|
plugn trigger service-action post-link-complete "$SERVICE" "$APP"
|
||||||
}
|
}
|
||||||
|
|
||||||
service_linked_apps() {
|
service_linked_apps() {
|
||||||
@@ -771,6 +774,7 @@ service_unlink() {
|
|||||||
local SERVICE_DNS_HOSTNAME=$(service_dns_hostname "$SERVICE")
|
local SERVICE_DNS_HOSTNAME=$(service_dns_hostname "$SERVICE")
|
||||||
local LINK=($(echo "$EXISTING_CONFIG" | grep "$SERVICE_URL" | cut -d: -f1)) || true
|
local LINK=($(echo "$EXISTING_CONFIG" | grep "$SERVICE_URL" | cut -d: -f1)) || true
|
||||||
|
|
||||||
|
plugn trigger service-action pre-unlink "$SERVICE" "$APP"
|
||||||
remove_from_links_file "$SERVICE" "$APP"
|
remove_from_links_file "$SERVICE" "$APP"
|
||||||
|
|
||||||
if declare -f -F add_passed_docker_option >/dev/null; then
|
if declare -f -F add_passed_docker_option >/dev/null; then
|
||||||
@@ -782,7 +786,9 @@ service_unlink() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
[[ -z ${LINK[*]} ]] && dokku_log_fail "Not linked to app $APP"
|
[[ -z ${LINK[*]} ]] && dokku_log_fail "Not linked to app $APP"
|
||||||
|
plugn trigger service-action post-unlink "$SERVICE" "$APP"
|
||||||
config_unset "$APP" "${LINK[*]}"
|
config_unset "$APP" "${LINK[*]}"
|
||||||
|
plugn trigger service-action post-unlink-complete "$SERVICE" "$APP"
|
||||||
}
|
}
|
||||||
|
|
||||||
service_version() {
|
service_version() {
|
||||||
|
|||||||
6
config
6
config
@@ -1,6 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
export MYSQL_IMAGE=${MYSQL_IMAGE:="mysql"}
|
_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||||
export MYSQL_IMAGE_VERSION=${MYSQL_IMAGE_VERSION:="5.7.28"}
|
export MYSQL_IMAGE=${MYSQL_IMAGE:="$(awk -F '[ :]' '{print $2}' "${_DIR}/Dockerfile")"}
|
||||||
|
export MYSQL_IMAGE_VERSION=${MYSQL_IMAGE_VERSION:="$(awk -F '[ :]' '{print $3}' "${_DIR}/Dockerfile")"}
|
||||||
export MYSQL_ROOT=${MYSQL_ROOT:="$DOKKU_LIB_ROOT/services/mysql"}
|
export MYSQL_ROOT=${MYSQL_ROOT:="$DOKKU_LIB_ROOT/services/mysql"}
|
||||||
export MYSQL_HOST_ROOT=${MYSQL_HOST_ROOT:=$MYSQL_ROOT}
|
export MYSQL_HOST_ROOT=${MYSQL_HOST_ROOT:=$MYSQL_ROOT}
|
||||||
|
|
||||||
@@ -21,6 +22,7 @@ export PLUGIN_SCHEME="mysql"
|
|||||||
export PLUGIN_SERVICE="MySQL"
|
export PLUGIN_SERVICE="MySQL"
|
||||||
export PLUGIN_VARIABLE="MYSQL"
|
export PLUGIN_VARIABLE="MYSQL"
|
||||||
export PLUGIN_BASE_PATH="$PLUGIN_PATH"
|
export PLUGIN_BASE_PATH="$PLUGIN_PATH"
|
||||||
|
export PLUGIN_CONFIG_SUFFIX="config"
|
||||||
if [[ -n $DOKKU_API_VERSION ]]; then
|
if [[ -n $DOKKU_API_VERSION ]]; then
|
||||||
export PLUGIN_BASE_PATH="$PLUGIN_ENABLED_PATH"
|
export PLUGIN_BASE_PATH="$PLUGIN_ENABLED_PATH"
|
||||||
fi
|
fi
|
||||||
|
|||||||
13
functions
13
functions
@@ -41,13 +41,14 @@ service_create() {
|
|||||||
docker pull "$PLUGIN_IMAGE:$PLUGIN_IMAGE_VERSION" || dokku_log_fail "$PLUGIN_SERVICE image $PLUGIN_IMAGE:$PLUGIN_IMAGE_VERSION pull failed"
|
docker pull "$PLUGIN_IMAGE:$PLUGIN_IMAGE_VERSION" || dokku_log_fail "$PLUGIN_SERVICE image $PLUGIN_IMAGE:$PLUGIN_IMAGE_VERSION pull failed"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
plugn trigger service-action pre-create "$SERVICE"
|
||||||
mkdir -p "$SERVICE_ROOT" || dokku_log_fail "Unable to create service directory"
|
mkdir -p "$SERVICE_ROOT" || dokku_log_fail "Unable to create service directory"
|
||||||
mkdir -p "$SERVICE_ROOT/data" || dokku_log_fail "Unable to create service data directory"
|
mkdir -p "$SERVICE_ROOT/data" || dokku_log_fail "Unable to create service data directory"
|
||||||
mkdir -p "$SERVICE_ROOT/config" || dokku_log_fail "Unable to create service config directory"
|
mkdir -p "$SERVICE_ROOT/$PLUGIN_CONFIG_SUFFIX" || dokku_log_fail "Unable to create service config directory"
|
||||||
touch "$LINKS_FILE"
|
touch "$LINKS_FILE"
|
||||||
|
|
||||||
echo -e "[mysqld]\nperformance_schema = 0" >"$SERVICE_ROOT/config/disable_performance_schema.cnf"
|
echo -e "[mysqld]\nperformance_schema = 0" >"$SERVICE_ROOT/$PLUGIN_CONFIG_SUFFIX/disable_performance_schema.cnf"
|
||||||
echo -e "[mysqld]\ncharacter-set-server = utf8\ncollation-server = utf8_general_ci" >"$SERVICE_ROOT/config/charset_utf8.cnf"
|
echo -e "[mysqld]\ncharacter-set-server = utf8\ncollation-server = utf8_general_ci" >"$SERVICE_ROOT/$PLUGIN_CONFIG_SUFFIX/charset_utf8.cnf"
|
||||||
ROOTPASSWORD=$(openssl rand -hex 8)
|
ROOTPASSWORD=$(openssl rand -hex 8)
|
||||||
PASSWORD=$(openssl rand -hex 8)
|
PASSWORD=$(openssl rand -hex 8)
|
||||||
if [[ -n "$SERVICE_PASSWORD" ]]; then
|
if [[ -n "$SERVICE_PASSWORD" ]]; then
|
||||||
@@ -70,7 +71,9 @@ service_create() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
write_database_name "$SERVICE"
|
write_database_name "$SERVICE"
|
||||||
|
plugn trigger service-action post-create "$SERVICE"
|
||||||
service_create_container "$SERVICE"
|
service_create_container "$SERVICE"
|
||||||
|
plugn trigger service-action post-create-complete "$SERVICE"
|
||||||
}
|
}
|
||||||
|
|
||||||
service_create_container() {
|
service_create_container() {
|
||||||
@@ -82,7 +85,7 @@ service_create_container() {
|
|||||||
local PASSWORD="$(service_password "$SERVICE")"
|
local PASSWORD="$(service_password "$SERVICE")"
|
||||||
local DATABASE_NAME="$(get_database_name "$SERVICE")"
|
local DATABASE_NAME="$(get_database_name "$SERVICE")"
|
||||||
|
|
||||||
ID=$(docker run --name "$SERVICE_NAME" -v "$SERVICE_HOST_ROOT/data:/var/lib/mysql" -v "$SERVICE_HOST_ROOT/config:/etc/mysql/conf.d" -e "MYSQL_ROOT_PASSWORD=$ROOTPASSWORD" -e MYSQL_USER=mysql -e "MYSQL_PASSWORD=$PASSWORD" -e "MYSQL_DATABASE=$DATABASE_NAME" --env-file="$SERVICE_ROOT/ENV" -d --restart always --label dokku=service --label dokku.service=mysql "$PLUGIN_IMAGE:$PLUGIN_IMAGE_VERSION")
|
ID=$(docker run --name "$SERVICE_NAME" -v "$SERVICE_HOST_ROOT/data:/var/lib/mysql" -v "$SERVICE_HOST_ROOT/$PLUGIN_CONFIG_SUFFIX:/etc/mysql/conf.d" -e "MYSQL_ROOT_PASSWORD=$ROOTPASSWORD" -e MYSQL_USER=mysql -e "MYSQL_PASSWORD=$PASSWORD" -e "MYSQL_DATABASE=$DATABASE_NAME" --env-file="$SERVICE_ROOT/ENV" -d --restart always --label dokku=service --label dokku.service=mysql "$PLUGIN_IMAGE:$PLUGIN_IMAGE_VERSION")
|
||||||
echo "$ID" >"$SERVICE_ROOT/ID"
|
echo "$ID" >"$SERVICE_ROOT/ID"
|
||||||
|
|
||||||
dokku_log_verbose_quiet "Waiting for container to be ready"
|
dokku_log_verbose_quiet "Waiting for container to be ready"
|
||||||
@@ -101,7 +104,7 @@ service_export() {
|
|||||||
|
|
||||||
[[ -n $SSH_TTY ]] && stty -opost
|
[[ -n $SSH_TTY ]] && stty -opost
|
||||||
docker exec "$SERVICE_NAME" bash -c "printf '[client]\npassword=$PASSWORD\n' > /root/credentials.cnf"
|
docker exec "$SERVICE_NAME" bash -c "printf '[client]\npassword=$PASSWORD\n' > /root/credentials.cnf"
|
||||||
docker exec "$SERVICE_NAME" mysqldump --defaults-extra-file=/root/credentials.cnf --user=mysql "$DATABASE_NAME"
|
docker exec "$SERVICE_NAME" mysqldump --defaults-extra-file=/root/credentials.cnf --user=mysql --single-transaction --quick "$DATABASE_NAME"
|
||||||
docker exec "$SERVICE_NAME" rm /root/credentials.cnf
|
docker exec "$SERVICE_NAME" rm /root/credentials.cnf
|
||||||
status=$?
|
status=$?
|
||||||
[[ -n $SSH_TTY ]] && stty opost
|
[[ -n $SSH_TTY ]] && stty opost
|
||||||
|
|||||||
@@ -76,10 +76,10 @@ fn-help-contents() {
|
|||||||
|
|
||||||
fn-help-contents-subcommand() {
|
fn-help-contents-subcommand() {
|
||||||
declare SUBCOMMAND="$1" FULL_OUTPUT="$2"
|
declare SUBCOMMAND="$1" FULL_OUTPUT="$2"
|
||||||
local TMPDIR=$(mktemp -d)
|
local HELP_TMPDIR=$(mktemp -d --tmpdir)
|
||||||
local UNCLEAN_FILE="${TMPDIR}/cmd-unclean" CLEAN_FILE="${TMPDIR}/cmd-clean"
|
local UNCLEAN_FILE="${HELP_TMPDIR}/cmd-unclean" CLEAN_FILE="${HELP_TMPDIR}/cmd-clean"
|
||||||
local BOLD CMD_OUTPUT CYAN EXAMPLE LIGHT_GRAY NORMAL
|
local BOLD CMD_OUTPUT CYAN EXAMPLE LIGHT_GRAY NORMAL
|
||||||
trap 'rm -rf "$TMPDIR" > /dev/null' RETURN INT TERM EXIT
|
trap 'rm -rf "$HELP_TMPDIR" > /dev/null' RETURN INT TERM EXIT
|
||||||
|
|
||||||
rm -rf "$UNCLEAN_FILE" "$CLEAN_FILE"
|
rm -rf "$UNCLEAN_FILE" "$CLEAN_FILE"
|
||||||
cat "$SUBCOMMAND_ROOT/$SUBCOMMAND" >"$UNCLEAN_FILE"
|
cat "$SUBCOMMAND_ROOT/$SUBCOMMAND" >"$UNCLEAN_FILE"
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
[plugin]
|
[plugin]
|
||||||
description = "dokku mysql service plugin"
|
description = "dokku mysql service plugin"
|
||||||
version = "1.11.4"
|
version = "1.13.0"
|
||||||
[plugin.config]
|
[plugin.config]
|
||||||
|
|||||||
@@ -41,13 +41,15 @@ service-destroy-cmd() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
dokku_log_info2_quiet "Deleting $SERVICE"
|
dokku_log_info2_quiet "Deleting $SERVICE"
|
||||||
|
plugn trigger service-action pre-delete "$SERVICE"
|
||||||
service_backup_unschedule "$SERVICE"
|
service_backup_unschedule "$SERVICE"
|
||||||
service_container_rm "$SERVICE"
|
service_container_rm "$SERVICE"
|
||||||
|
|
||||||
dokku_log_verbose_quiet "Removing data"
|
dokku_log_verbose_quiet "Removing data"
|
||||||
docker run --rm -v "$SERVICE_HOST_ROOT/data:/data" -v "$SERVICE_HOST_ROOT/config:/config" "$PLUGIN_BUSYBOX_IMAGE" chmod 777 -R /config /data
|
docker run --rm -v "$SERVICE_HOST_ROOT/data:/data" -v "$SERVICE_HOST_ROOT/$PLUGIN_CONFIG_SUFFIX:/config" "$PLUGIN_BUSYBOX_IMAGE" chmod 777 -R /config /data
|
||||||
rm -rf "$SERVICE_ROOT"
|
rm -rf "$SERVICE_ROOT"
|
||||||
|
|
||||||
|
plugn trigger service-action post-delete "$SERVICE"
|
||||||
dokku_log_info2 "$PLUGIN_SERVICE container deleted: $SERVICE"
|
dokku_log_info2 "$PLUGIN_SERVICE container deleted: $SERVICE"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2,18 +2,18 @@
|
|||||||
load test_helper
|
load test_helper
|
||||||
|
|
||||||
setup() {
|
setup() {
|
||||||
dokku apps:create my_app
|
dokku apps:create my-app
|
||||||
dokku "$PLUGIN_COMMAND_PREFIX:create" l
|
dokku "$PLUGIN_COMMAND_PREFIX:create" l
|
||||||
dokku "$PLUGIN_COMMAND_PREFIX:link" l my_app >&2
|
dokku "$PLUGIN_COMMAND_PREFIX:link" l my-app >&2
|
||||||
}
|
}
|
||||||
|
|
||||||
teardown() {
|
teardown() {
|
||||||
dokku "$PLUGIN_COMMAND_PREFIX:unlink" l my_app >&2
|
dokku "$PLUGIN_COMMAND_PREFIX:unlink" l my-app >&2
|
||||||
dokku --force "$PLUGIN_COMMAND_PREFIX:destroy" l
|
dokku --force "$PLUGIN_COMMAND_PREFIX:destroy" l
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "($PLUGIN_COMMAND_PREFIX:hook:pre-delete) removes app from links file when destroying app" {
|
@test "($PLUGIN_COMMAND_PREFIX:hook:pre-delete) removes app from links file when destroying app" {
|
||||||
[[ -n $(< "$PLUGIN_DATA_ROOT/l/LINKS") ]]
|
[[ -n $(< "$PLUGIN_DATA_ROOT/l/LINKS") ]]
|
||||||
dokku --force apps:destroy my_app
|
dokku --force apps:destroy my-app
|
||||||
[[ -z $(< "$PLUGIN_DATA_ROOT/l/LINKS") ]]
|
[[ -z $(< "$PLUGIN_DATA_ROOT/l/LINKS") ]]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,13 +4,13 @@ load test_helper
|
|||||||
setup() {
|
setup() {
|
||||||
dokku "$PLUGIN_COMMAND_PREFIX:create" l
|
dokku "$PLUGIN_COMMAND_PREFIX:create" l
|
||||||
dokku "$PLUGIN_COMMAND_PREFIX:create" m
|
dokku "$PLUGIN_COMMAND_PREFIX:create" m
|
||||||
dokku apps:create my_app
|
dokku apps:create my-app
|
||||||
}
|
}
|
||||||
|
|
||||||
teardown() {
|
teardown() {
|
||||||
dokku --force "$PLUGIN_COMMAND_PREFIX:destroy" m
|
dokku --force "$PLUGIN_COMMAND_PREFIX:destroy" m
|
||||||
dokku --force "$PLUGIN_COMMAND_PREFIX:destroy" l
|
dokku --force "$PLUGIN_COMMAND_PREFIX:destroy" l
|
||||||
dokku --force apps:destroy my_app
|
dokku --force apps:destroy my-app
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -39,7 +39,7 @@ teardown() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@test "($PLUGIN_COMMAND_PREFIX:link) error when the service does not exist" {
|
@test "($PLUGIN_COMMAND_PREFIX:link) error when the service does not exist" {
|
||||||
run dokku "$PLUGIN_COMMAND_PREFIX:link" not_existing_service my_app
|
run dokku "$PLUGIN_COMMAND_PREFIX:link" not_existing_service my-app
|
||||||
echo "output: $output"
|
echo "output: $output"
|
||||||
echo "status: $status"
|
echo "status: $status"
|
||||||
assert_contains "${lines[*]}" "service not_existing_service does not exist"
|
assert_contains "${lines[*]}" "service not_existing_service does not exist"
|
||||||
@@ -47,73 +47,73 @@ teardown() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@test "($PLUGIN_COMMAND_PREFIX:link) error when the service is already linked to app" {
|
@test "($PLUGIN_COMMAND_PREFIX:link) error when the service is already linked to app" {
|
||||||
dokku "$PLUGIN_COMMAND_PREFIX:link" l my_app
|
dokku "$PLUGIN_COMMAND_PREFIX:link" l my-app
|
||||||
run dokku "$PLUGIN_COMMAND_PREFIX:link" l my_app
|
run dokku "$PLUGIN_COMMAND_PREFIX:link" l my-app
|
||||||
echo "output: $output"
|
echo "output: $output"
|
||||||
echo "status: $status"
|
echo "status: $status"
|
||||||
assert_contains "${lines[*]}" "Already linked as DATABASE_URL"
|
assert_contains "${lines[*]}" "Already linked as DATABASE_URL"
|
||||||
assert_failure
|
assert_failure
|
||||||
|
|
||||||
dokku "$PLUGIN_COMMAND_PREFIX:unlink" l my_app
|
dokku "$PLUGIN_COMMAND_PREFIX:unlink" l my-app
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "($PLUGIN_COMMAND_PREFIX:link) exports DATABASE_URL to app" {
|
@test "($PLUGIN_COMMAND_PREFIX:link) exports DATABASE_URL to app" {
|
||||||
run dokku "$PLUGIN_COMMAND_PREFIX:link" l my_app
|
run dokku "$PLUGIN_COMMAND_PREFIX:link" l my-app
|
||||||
echo "output: $output"
|
echo "output: $output"
|
||||||
echo "status: $status"
|
echo "status: $status"
|
||||||
url=$(dokku config:get my_app DATABASE_URL)
|
url=$(dokku config:get my-app DATABASE_URL)
|
||||||
password="$(sudo cat "$PLUGIN_DATA_ROOT/l/PASSWORD")"
|
password="$(sudo cat "$PLUGIN_DATA_ROOT/l/PASSWORD")"
|
||||||
assert_contains "$url" "mysql://mysql:$password@dokku-mysql-l:3306/l"
|
assert_contains "$url" "mysql://mysql:$password@dokku-mysql-l:3306/l"
|
||||||
assert_success
|
assert_success
|
||||||
dokku "$PLUGIN_COMMAND_PREFIX:unlink" l my_app
|
dokku "$PLUGIN_COMMAND_PREFIX:unlink" l my-app
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "($PLUGIN_COMMAND_PREFIX:link) generates an alternate config url when DATABASE_URL already in use" {
|
@test "($PLUGIN_COMMAND_PREFIX:link) generates an alternate config url when DATABASE_URL already in use" {
|
||||||
dokku config:set my_app DATABASE_URL=mysql://user:pass@host:3306/db
|
dokku config:set my-app DATABASE_URL=mysql://user:pass@host:3306/db
|
||||||
dokku "$PLUGIN_COMMAND_PREFIX:link" l my_app
|
dokku "$PLUGIN_COMMAND_PREFIX:link" l my-app
|
||||||
run dokku config my_app
|
run dokku config my-app
|
||||||
assert_contains "${lines[*]}" "DOKKU_MYSQL_AQUA_URL"
|
assert_contains "${lines[*]}" "DOKKU_MYSQL_AQUA_URL"
|
||||||
assert_success
|
assert_success
|
||||||
|
|
||||||
dokku "$PLUGIN_COMMAND_PREFIX:link" m my_app
|
dokku "$PLUGIN_COMMAND_PREFIX:link" m my-app
|
||||||
run dokku config my_app
|
run dokku config my-app
|
||||||
assert_contains "${lines[*]}" "DOKKU_MYSQL_BLACK_URL"
|
assert_contains "${lines[*]}" "DOKKU_MYSQL_BLACK_URL"
|
||||||
assert_success
|
assert_success
|
||||||
dokku "$PLUGIN_COMMAND_PREFIX:unlink" m my_app
|
dokku "$PLUGIN_COMMAND_PREFIX:unlink" m my-app
|
||||||
dokku "$PLUGIN_COMMAND_PREFIX:unlink" l my_app
|
dokku "$PLUGIN_COMMAND_PREFIX:unlink" l my-app
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "($PLUGIN_COMMAND_PREFIX:link) links to app with docker-options" {
|
@test "($PLUGIN_COMMAND_PREFIX:link) links to app with docker-options" {
|
||||||
dokku "$PLUGIN_COMMAND_PREFIX:link" l my_app
|
dokku "$PLUGIN_COMMAND_PREFIX:link" l my-app
|
||||||
run dokku docker-options:report my_app
|
run dokku docker-options:report my-app
|
||||||
assert_contains "${lines[*]}" "--link dokku.mysql.l:dokku-mysql-l"
|
assert_contains "${lines[*]}" "--link dokku.mysql.l:dokku-mysql-l"
|
||||||
assert_success
|
assert_success
|
||||||
dokku "$PLUGIN_COMMAND_PREFIX:unlink" l my_app
|
dokku "$PLUGIN_COMMAND_PREFIX:unlink" l my-app
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "($PLUGIN_COMMAND_PREFIX:link) uses apps MYSQL_DATABASE_SCHEME variable" {
|
@test "($PLUGIN_COMMAND_PREFIX:link) uses apps MYSQL_DATABASE_SCHEME variable" {
|
||||||
dokku config:set my_app MYSQL_DATABASE_SCHEME=mysql2
|
dokku config:set my-app MYSQL_DATABASE_SCHEME=mysql2
|
||||||
dokku "$PLUGIN_COMMAND_PREFIX:link" l my_app
|
dokku "$PLUGIN_COMMAND_PREFIX:link" l my-app
|
||||||
url=$(dokku config:get my_app DATABASE_URL)
|
url=$(dokku config:get my-app DATABASE_URL)
|
||||||
password="$(sudo cat "$PLUGIN_DATA_ROOT/l/PASSWORD")"
|
password="$(sudo cat "$PLUGIN_DATA_ROOT/l/PASSWORD")"
|
||||||
assert_contains "$url" "mysql2://mysql:$password@dokku-mysql-l:3306/l"
|
assert_contains "$url" "mysql2://mysql:$password@dokku-mysql-l:3306/l"
|
||||||
assert_success
|
assert_success
|
||||||
dokku "$PLUGIN_COMMAND_PREFIX:unlink" l my_app
|
dokku "$PLUGIN_COMMAND_PREFIX:unlink" l my-app
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "($PLUGIN_COMMAND_PREFIX:link) adds a querystring" {
|
@test "($PLUGIN_COMMAND_PREFIX:link) adds a querystring" {
|
||||||
dokku "$PLUGIN_COMMAND_PREFIX:link" l my_app --querystring "pool=5"
|
dokku "$PLUGIN_COMMAND_PREFIX:link" l my-app --querystring "pool=5"
|
||||||
url=$(dokku config:get my_app DATABASE_URL)
|
url=$(dokku config:get my-app DATABASE_URL)
|
||||||
assert_contains "$url" "?pool=5"
|
assert_contains "$url" "?pool=5"
|
||||||
assert_success
|
assert_success
|
||||||
dokku "$PLUGIN_COMMAND_PREFIX:unlink" l my_app
|
dokku "$PLUGIN_COMMAND_PREFIX:unlink" l my-app
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "($PLUGIN_COMMAND_PREFIX:link) uses a specified config url when alias is specified" {
|
@test "($PLUGIN_COMMAND_PREFIX:link) uses a specified config url when alias is specified" {
|
||||||
dokku "$PLUGIN_COMMAND_PREFIX:link" l my_app --alias "ALIAS"
|
dokku "$PLUGIN_COMMAND_PREFIX:link" l my-app --alias "ALIAS"
|
||||||
url=$(dokku config:get my_app ALIAS_URL)
|
url=$(dokku config:get my-app ALIAS_URL)
|
||||||
password="$(sudo cat "$PLUGIN_DATA_ROOT/l/PASSWORD")"
|
password="$(sudo cat "$PLUGIN_DATA_ROOT/l/PASSWORD")"
|
||||||
assert_contains "$url" "mysql://mysql:$password@dokku-mysql-l:3306/l"
|
assert_contains "$url" "mysql://mysql:$password@dokku-mysql-l:3306/l"
|
||||||
assert_success
|
assert_success
|
||||||
dokku "$PLUGIN_COMMAND_PREFIX:unlink" l my_app
|
dokku "$PLUGIN_COMMAND_PREFIX:unlink" l my-app
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,14 +3,14 @@ load test_helper
|
|||||||
|
|
||||||
setup() {
|
setup() {
|
||||||
dokku "$PLUGIN_COMMAND_PREFIX:create" l
|
dokku "$PLUGIN_COMMAND_PREFIX:create" l
|
||||||
dokku apps:create my_app
|
dokku apps:create my-app
|
||||||
dokku "$PLUGIN_COMMAND_PREFIX:link" l my_app
|
dokku "$PLUGIN_COMMAND_PREFIX:link" l my-app
|
||||||
}
|
}
|
||||||
|
|
||||||
teardown() {
|
teardown() {
|
||||||
dokku "$PLUGIN_COMMAND_PREFIX:unlink" l my_app
|
dokku "$PLUGIN_COMMAND_PREFIX:unlink" l my-app
|
||||||
dokku --force "$PLUGIN_COMMAND_PREFIX:destroy" l
|
dokku --force "$PLUGIN_COMMAND_PREFIX:destroy" l
|
||||||
dokku --force apps:destroy my_app
|
dokku --force apps:destroy my-app
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "($PLUGIN_COMMAND_PREFIX:promote) error when there are no arguments" {
|
@test "($PLUGIN_COMMAND_PREFIX:promote) error when there are no arguments" {
|
||||||
@@ -29,35 +29,35 @@ teardown() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@test "($PLUGIN_COMMAND_PREFIX:promote) error when the service does not exist" {
|
@test "($PLUGIN_COMMAND_PREFIX:promote) error when the service does not exist" {
|
||||||
run dokku "$PLUGIN_COMMAND_PREFIX:promote" not_existing_service my_app
|
run dokku "$PLUGIN_COMMAND_PREFIX:promote" not_existing_service my-app
|
||||||
assert_contains "${lines[*]}" "service not_existing_service does not exist"
|
assert_contains "${lines[*]}" "service not_existing_service does not exist"
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "($PLUGIN_COMMAND_PREFIX:promote) error when the service is already promoted" {
|
@test "($PLUGIN_COMMAND_PREFIX:promote) error when the service is already promoted" {
|
||||||
run dokku "$PLUGIN_COMMAND_PREFIX:promote" l my_app
|
run dokku "$PLUGIN_COMMAND_PREFIX:promote" l my-app
|
||||||
assert_contains "${lines[*]}" "already promoted as DATABASE_URL"
|
assert_contains "${lines[*]}" "already promoted as DATABASE_URL"
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "($PLUGIN_COMMAND_PREFIX:promote) changes DATABASE_URL" {
|
@test "($PLUGIN_COMMAND_PREFIX:promote) changes DATABASE_URL" {
|
||||||
password="$(sudo cat "$PLUGIN_DATA_ROOT/l/PASSWORD")"
|
password="$(sudo cat "$PLUGIN_DATA_ROOT/l/PASSWORD")"
|
||||||
dokku config:set my_app "DATABASE_URL=mysql://u:p@host:3306/db" "DOKKU_MYSQL_BLUE_URL=mysql://mysql:$password@dokku-mysql-l:3306/l"
|
dokku config:set my-app "DATABASE_URL=mysql://u:p@host:3306/db" "DOKKU_MYSQL_BLUE_URL=mysql://mysql:$password@dokku-mysql-l:3306/l"
|
||||||
dokku "$PLUGIN_COMMAND_PREFIX:promote" l my_app
|
dokku "$PLUGIN_COMMAND_PREFIX:promote" l my-app
|
||||||
url=$(dokku config:get my_app DATABASE_URL)
|
url=$(dokku config:get my-app DATABASE_URL)
|
||||||
assert_equal "$url" "mysql://mysql:$password@dokku-mysql-l:3306/l"
|
assert_equal "$url" "mysql://mysql:$password@dokku-mysql-l:3306/l"
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "($PLUGIN_COMMAND_PREFIX:promote) creates new config url when needed" {
|
@test "($PLUGIN_COMMAND_PREFIX:promote) creates new config url when needed" {
|
||||||
password="$(sudo cat "$PLUGIN_DATA_ROOT/l/PASSWORD")"
|
password="$(sudo cat "$PLUGIN_DATA_ROOT/l/PASSWORD")"
|
||||||
dokku config:set my_app "DATABASE_URL=mysql://u:p@host:3306/db" "DOKKU_MYSQL_BLUE_URL=mysql://mysql:$password@dokku-mysql-l:3306/l"
|
dokku config:set my-app "DATABASE_URL=mysql://u:p@host:3306/db" "DOKKU_MYSQL_BLUE_URL=mysql://mysql:$password@dokku-mysql-l:3306/l"
|
||||||
dokku "$PLUGIN_COMMAND_PREFIX:promote" l my_app
|
dokku "$PLUGIN_COMMAND_PREFIX:promote" l my-app
|
||||||
run dokku config my_app
|
run dokku config my-app
|
||||||
assert_contains "${lines[*]}" "DOKKU_MYSQL_"
|
assert_contains "${lines[*]}" "DOKKU_MYSQL_"
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "($PLUGIN_COMMAND_PREFIX:promote) uses MYSQL_DATABASE_SCHEME variable" {
|
@test "($PLUGIN_COMMAND_PREFIX:promote) uses MYSQL_DATABASE_SCHEME variable" {
|
||||||
password="$(sudo cat "$PLUGIN_DATA_ROOT/l/PASSWORD")"
|
password="$(sudo cat "$PLUGIN_DATA_ROOT/l/PASSWORD")"
|
||||||
dokku config:set my_app "MYSQL_DATABASE_SCHEME=mysql2" "DATABASE_URL=mysql://u:p@host:3306/db" "DOKKU_MYSQL_BLUE_URL=mysql2://mysql:$password@dokku-mysql-l:3306/l"
|
dokku config:set my-app "MYSQL_DATABASE_SCHEME=mysql2" "DATABASE_URL=mysql://u:p@host:3306/db" "DOKKU_MYSQL_BLUE_URL=mysql2://mysql:$password@dokku-mysql-l:3306/l"
|
||||||
dokku "$PLUGIN_COMMAND_PREFIX:promote" l my_app
|
dokku "$PLUGIN_COMMAND_PREFIX:promote" l my-app
|
||||||
url=$(dokku config:get my_app DATABASE_URL)
|
url=$(dokku config:get my-app DATABASE_URL)
|
||||||
assert_contains "$url" "mysql2://mysql:$password@dokku-mysql-l:3306/l"
|
assert_contains "$url" "mysql2://mysql:$password@dokku-mysql-l:3306/l"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,13 +2,13 @@
|
|||||||
load test_helper
|
load test_helper
|
||||||
|
|
||||||
setup() {
|
setup() {
|
||||||
dokku apps:create my_app
|
dokku apps:create my-app
|
||||||
dokku "$PLUGIN_COMMAND_PREFIX:create" l
|
dokku "$PLUGIN_COMMAND_PREFIX:create" l
|
||||||
}
|
}
|
||||||
|
|
||||||
teardown() {
|
teardown() {
|
||||||
dokku --force "$PLUGIN_COMMAND_PREFIX:destroy" l
|
dokku --force "$PLUGIN_COMMAND_PREFIX:destroy" l
|
||||||
dokku --force apps:destroy my_app
|
dokku --force apps:destroy my-app
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "($PLUGIN_COMMAND_PREFIX:unlink) error when there are no arguments" {
|
@test "($PLUGIN_COMMAND_PREFIX:unlink) error when there are no arguments" {
|
||||||
@@ -27,27 +27,27 @@ teardown() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@test "($PLUGIN_COMMAND_PREFIX:unlink) error when the service does not exist" {
|
@test "($PLUGIN_COMMAND_PREFIX:unlink) error when the service does not exist" {
|
||||||
run dokku "$PLUGIN_COMMAND_PREFIX:unlink" not_existing_service my_app
|
run dokku "$PLUGIN_COMMAND_PREFIX:unlink" not_existing_service my-app
|
||||||
assert_contains "${lines[*]}" "service not_existing_service does not exist"
|
assert_contains "${lines[*]}" "service not_existing_service does not exist"
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "($PLUGIN_COMMAND_PREFIX:unlink) error when service not linked to app" {
|
@test "($PLUGIN_COMMAND_PREFIX:unlink) error when service not linked to app" {
|
||||||
run dokku "$PLUGIN_COMMAND_PREFIX:unlink" l my_app
|
run dokku "$PLUGIN_COMMAND_PREFIX:unlink" l my-app
|
||||||
assert_contains "${lines[*]}" "Not linked to app my_app"
|
assert_contains "${lines[*]}" "Not linked to app my-app"
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "($PLUGIN_COMMAND_PREFIX:unlink) removes link from docker-options" {
|
@test "($PLUGIN_COMMAND_PREFIX:unlink) removes link from docker-options" {
|
||||||
dokku "$PLUGIN_COMMAND_PREFIX:link" l my_app >&2
|
dokku "$PLUGIN_COMMAND_PREFIX:link" l my-app >&2
|
||||||
dokku "$PLUGIN_COMMAND_PREFIX:unlink" l my_app
|
dokku "$PLUGIN_COMMAND_PREFIX:unlink" l my-app
|
||||||
|
|
||||||
check_value="Docker options build: Docker options deploy: --restart=on-failure:10 Docker options run:"
|
check_value="Docker options build: Docker options deploy: --restart=on-failure:10 Docker options run:"
|
||||||
options=$(dokku --quiet docker-options:report my_app | xargs)
|
options=$(dokku --quiet docker-options:report my-app | xargs)
|
||||||
assert_equal "$options" "$check_value"
|
assert_equal "$options" "$check_value"
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "($PLUGIN_COMMAND_PREFIX:unlink) unsets config url from app" {
|
@test "($PLUGIN_COMMAND_PREFIX:unlink) unsets config url from app" {
|
||||||
dokku "$PLUGIN_COMMAND_PREFIX:link" l my_app >&2
|
dokku "$PLUGIN_COMMAND_PREFIX:link" l my-app >&2
|
||||||
dokku "$PLUGIN_COMMAND_PREFIX:unlink" l my_app
|
dokku "$PLUGIN_COMMAND_PREFIX:unlink" l my-app
|
||||||
config=$(dokku config:get my_app DATABASE_URL || true)
|
config=$(dokku config:get my-app DATABASE_URL || true)
|
||||||
assert_equal "$config" ""
|
assert_equal "$config" ""
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,7 +19,9 @@ echo "Dokku version $DOKKU_VERSION"
|
|||||||
|
|
||||||
export DOKKU_LIB_ROOT="/var/lib/dokku"
|
export DOKKU_LIB_ROOT="/var/lib/dokku"
|
||||||
export DOKKU_PLUGINS_ROOT="$DOKKU_LIB_ROOT/plugins/available"
|
export DOKKU_PLUGINS_ROOT="$DOKKU_LIB_ROOT/plugins/available"
|
||||||
source "$(dirname "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)")/config"
|
pushd "$(dirname "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)")" >/dev/null
|
||||||
|
source "config"
|
||||||
|
popd >/dev/null
|
||||||
sudo rm -rf "$DOKKU_PLUGINS_ROOT/$PLUGIN_COMMAND_PREFIX"
|
sudo rm -rf "$DOKKU_PLUGINS_ROOT/$PLUGIN_COMMAND_PREFIX"
|
||||||
sudo mkdir -p "$DOKKU_PLUGINS_ROOT/$PLUGIN_COMMAND_PREFIX" "$DOKKU_PLUGINS_ROOT/$PLUGIN_COMMAND_PREFIX/subcommands" "$DOKKU_PLUGINS_ROOT/$PLUGIN_COMMAND_PREFIX/scripts"
|
sudo mkdir -p "$DOKKU_PLUGINS_ROOT/$PLUGIN_COMMAND_PREFIX" "$DOKKU_PLUGINS_ROOT/$PLUGIN_COMMAND_PREFIX/subcommands" "$DOKKU_PLUGINS_ROOT/$PLUGIN_COMMAND_PREFIX/scripts"
|
||||||
sudo find ./ -maxdepth 1 -type f -exec cp '{}' "$DOKKU_PLUGINS_ROOT/$PLUGIN_COMMAND_PREFIX" \;
|
sudo find ./ -maxdepth 1 -type f -exec cp '{}' "$DOKKU_PLUGINS_ROOT/$PLUGIN_COMMAND_PREFIX" \;
|
||||||
|
|||||||
Reference in New Issue
Block a user