Compare commits
28 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
02aa923464 | ||
|
|
fa10fa6a47 | ||
|
|
dc8001df6e | ||
|
|
ebf18d0506 | ||
|
|
e2e0f1ce3f | ||
|
|
aabc7aeb24 | ||
|
|
4074970748 | ||
|
|
05513fe247 | ||
|
|
8632f05449 | ||
|
|
415c46a1b0 | ||
|
|
bb4ebfd74b | ||
|
|
54e172dc6b | ||
|
|
d81a1bed26 | ||
|
|
f31800ffa7 | ||
|
|
1ddb84f358 | ||
|
|
aa8e145d9b | ||
|
|
33d6f2dc7b | ||
|
|
f4f2ed9961 | ||
|
|
ef34f5ba55 | ||
|
|
474b39cf3c | ||
|
|
0a4ddba4d6 | ||
|
|
57db31f4ed | ||
|
|
8fffd08c9d | ||
|
|
90cd95c1b1 | ||
|
|
d9078421f3 | ||
|
|
723a6cd98d | ||
|
|
17f91e1682 | ||
|
|
6b0964bf9b |
@@ -1 +1 @@
|
||||
FROM mysql:8.0.27
|
||||
FROM mysql:8.0.29
|
||||
|
||||
18
README.md
18
README.md
@@ -1,6 +1,6 @@
|
||||
# dokku mysql [](https://github.com/dokku/dokku-mysql/actions/workflows/ci.yml?query=branch%3Amaster) [](https://webchat.libera.chat/?channels=dokku)
|
||||
|
||||
Official mysql plugin for dokku. Currently defaults to installing [mysql 8.0.27](https://hub.docker.com/_/mysql/).
|
||||
Official mysql plugin for dokku. Currently defaults to installing [mysql 8.0.29](https://hub.docker.com/_/mysql/).
|
||||
|
||||
## Requirements
|
||||
|
||||
@@ -40,7 +40,7 @@ mysql:link <service> <app> [--link-flags...] # link the mysql service to t
|
||||
mysql:linked <service> <app> # check if the mysql service is linked to an app
|
||||
mysql:links <service> # list all apps linked to the mysql service
|
||||
mysql:list # list all mysql services
|
||||
mysql:logs <service> [-t|--tail] # print the most recent log(s) for this service
|
||||
mysql:logs <service> [-t|--tail] <tail-num-optional> # print the most recent log(s) for this service
|
||||
mysql:promote <service> <app> # promote service <service> as DATABASE_URL in <app>
|
||||
mysql:restart <service> # graceful shutdown and restart of the mysql service container
|
||||
mysql:start <service> # start a previously stopped mysql service
|
||||
@@ -69,7 +69,7 @@ flags:
|
||||
- `-C|--custom-env "USER=alpha;HOST=beta"`: semi-colon delimited environment variables to start the service with
|
||||
- `-i|--image IMAGE`: the image name to start the service with
|
||||
- `-I|--image-version IMAGE_VERSION`: the image version to start the service with
|
||||
- `-m|--memory MEMORY`: container memory limit (default: unlimited)
|
||||
- `-m|--memory MEMORY`: container memory limit in megabytes (default: unlimited)
|
||||
- `-p|--password PASSWORD`: override the user-level service password
|
||||
- `-r|--root-password PASSWORD`: override the root-level service password
|
||||
- `-s|--shm-size SHM_SIZE`: override shared memory size for mysql docker container
|
||||
@@ -153,12 +153,12 @@ dokku mysql:list
|
||||
|
||||
```shell
|
||||
# usage
|
||||
dokku mysql:logs <service> [-t|--tail]
|
||||
dokku mysql:logs <service> [-t|--tail] <tail-num-optional>
|
||||
```
|
||||
|
||||
flags:
|
||||
|
||||
- `-t|--tail`: do not stop when end of the logs are reached and wait for additional output
|
||||
- `-t|--tail [<tail-num>]`: do not stop when end of the logs are reached and wait for additional output
|
||||
|
||||
You can tail logs for a particular service:
|
||||
|
||||
@@ -172,6 +172,12 @@ By default, logs will not be tailed, but you can do this with the --tail flag:
|
||||
dokku mysql:logs lollipop --tail
|
||||
```
|
||||
|
||||
The default tail setting is to show all logs, but an initial count can also be specified:
|
||||
|
||||
```shell
|
||||
dokku mysql:logs lollipop --tail 5
|
||||
```
|
||||
|
||||
### link the mysql service to the app
|
||||
|
||||
```shell
|
||||
@@ -435,7 +441,7 @@ flags:
|
||||
- `-C|--custom-env "USER=alpha;HOST=beta"`: semi-colon delimited environment variables to start the service with
|
||||
- `-i|--image IMAGE`: the image name to start the service with
|
||||
- `-I|--image-version IMAGE_VERSION`: the image version to start the service with
|
||||
- `-m|--memory MEMORY`: container memory limit (default: unlimited)
|
||||
- `-m|--memory MEMORY`: container memory limit in megabytes (default: unlimited)
|
||||
- `-p|--password PASSWORD`: override the user-level service password
|
||||
- `-r|--root-password PASSWORD`: override the root-level service password
|
||||
- `-s|--shm-size SHM_SIZE`: override shared memory size for mysql docker container
|
||||
|
||||
2
commands
2
commands
@@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env bash
|
||||
source "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/config"
|
||||
[[ " help $PLUGIN_COMMAND_PREFIX:help $PLUGIN_COMMAND_PREFIX $PLUGIN_COMMAND_PREFIX:default " == *" $1 "* ]] || [[ "$1" == "$PLUGIN_COMMAND_PREFIX:"* ]] || exit "$DOKKU_NOT_IMPLEMENTED_EXIT"
|
||||
source "$PLUGIN_BASE_PATH/common/functions"
|
||||
source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
|
||||
set -eo pipefail
|
||||
[[ $DOKKU_TRACE ]] && set -x
|
||||
|
||||
|
||||
113
common-functions
113
common-functions
@@ -16,6 +16,64 @@ add_to_links_file() {
|
||||
sort "$LINKS_FILE" -u -o "$LINKS_FILE"
|
||||
}
|
||||
|
||||
auth_service_filter() {
|
||||
declare desc="calls user-service plugin trigger"
|
||||
declare SERVICES=("$@")
|
||||
local user_auth_count
|
||||
|
||||
if [[ "${#SERVICES[@]}" -eq 0 ]]; then
|
||||
return
|
||||
fi
|
||||
|
||||
user_auth_count="$(find "$PLUGIN_PATH"/enabled/*/user-auth-service 2>/dev/null | wc -l)"
|
||||
|
||||
# no plugin trigger exists
|
||||
if [[ $user_auth_count == 0 ]]; then
|
||||
# echo out all the services since there is no plugin trigger
|
||||
for SERVICE in "${SERVICES[@]}"; do
|
||||
[[ -n "$SERVICE" ]] && echo "$SERVICE"
|
||||
done
|
||||
return 0
|
||||
fi
|
||||
|
||||
# this plugin trigger exists in the core `20_events` plugin
|
||||
if [[ "$user_auth_count" == 1 ]] && [[ -f "$PLUGIN_PATH"/enabled/20_events/user-auth-service ]]; then
|
||||
# echo out all the services since there is no valid plugin trigger
|
||||
for SERVICE in "${SERVICES[@]}"; do
|
||||
[[ -n "$SERVICE" ]] && echo "$SERVICE"
|
||||
done
|
||||
return 0
|
||||
fi
|
||||
|
||||
export SSH_USER=${SSH_USER:=$USER}
|
||||
export SSH_NAME=${NAME:="default"}
|
||||
# the output of this trigger should be all the services a user has access to
|
||||
plugn trigger user-auth-service "$SSH_USER" "$SSH_NAME" "${SERVICES[@]}"
|
||||
}
|
||||
|
||||
fn-services-list() {
|
||||
declare desc="prints a filtered list of all local apps"
|
||||
declare FILTER="$1"
|
||||
local detected_services filtered_services services
|
||||
|
||||
local detected_services=("$(ls "$PLUGIN_DATA_ROOT" 2>/dev/null)")
|
||||
if [[ "$FILTER" == "false" ]]; then
|
||||
for service in "${detected_services[@]}"; do
|
||||
if [[ -n "$service" ]]; then
|
||||
echo "$service"
|
||||
fi
|
||||
done
|
||||
return
|
||||
fi
|
||||
|
||||
filtered_services="$(auth_service_filter "${detected_services[@]}" 2>/dev/null)"
|
||||
for service in "$filtered_services"; do
|
||||
if [[ -n "$service" ]]; then
|
||||
echo "$service"
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
docker_ports_options() {
|
||||
declare desc="export a list of exposed ports"
|
||||
declare PORTS=("$@")
|
||||
@@ -180,7 +238,8 @@ service_app_links() {
|
||||
local SERVICE LINKED_APP
|
||||
|
||||
pushd "$PLUGIN_DATA_ROOT" >/dev/null
|
||||
for SERVICE in *; do
|
||||
for SERVICE in $(fn-services-list); do
|
||||
[[ -n "$SERVICE" ]] || continue
|
||||
[[ -f "$SERVICE/LINKS" ]] || continue
|
||||
for LINKED_APP in $(<"$SERVICE/LINKS"); do
|
||||
if [[ "$LINKED_APP" == "$APP" ]]; then
|
||||
@@ -411,6 +470,14 @@ service_enter() {
|
||||
docker exec $DOKKU_RUN_OPTS $ID $EXEC_CMD "${@:-/bin/bash}"
|
||||
}
|
||||
|
||||
service_exists() {
|
||||
declare desc="returns 0 or 1 depending on whether service exists or not"
|
||||
declare SERVICE="$1"
|
||||
[[ -z "$SERVICE" ]] && return 1
|
||||
[[ -d "$PLUGIN_DATA_ROOT/$SERVICE" ]] && return 0
|
||||
return 1
|
||||
}
|
||||
|
||||
service_exposed_ports() {
|
||||
declare desc="list exposed ports for a service"
|
||||
declare SERVICE="$1"
|
||||
@@ -451,7 +518,7 @@ service_info() {
|
||||
|
||||
local flag_map=(
|
||||
"--config-dir: ${SERVICE_ROOT}/${PLUGIN_CONFIG_SUFFIX}"
|
||||
"--config-options: $(cat "$SERVICE_ROOT/CONFIG_OPTIONS")"
|
||||
"--config-options: $(cat "$SERVICE_ROOT/CONFIG_OPTIONS" 2>/dev/null || true)"
|
||||
"--data-dir: ${SERVICE_ROOT}/data"
|
||||
"--dsn: ${SERVICE_URL}"
|
||||
"--exposed-ports: $(service_exposed_ports "$SERVICE")"
|
||||
@@ -463,7 +530,7 @@ service_info() {
|
||||
"--version: $(service_version "$SERVICE")"
|
||||
)
|
||||
if [[ -z "$INFO_FLAG" ]]; then
|
||||
dokku_log_info2 "$SERVICE $PLUGIN_COMMAND_PREFIX service information"
|
||||
dokku_log_info2_quiet "$SERVICE $PLUGIN_COMMAND_PREFIX service information"
|
||||
for flag in "${flag_map[@]}"; do
|
||||
key="$(echo "${flag#--}" | cut -f1 -d' ' | tr - ' ')"
|
||||
dokku_log_verbose "$(printf "%-20s %-25s" "${key^}" "${flag#*: }")"
|
||||
@@ -533,7 +600,11 @@ service_link() {
|
||||
fi
|
||||
[[ -n "$SERVICE_QUERYSTRING" ]] && SERVICE_URL="${SERVICE_URL}?${SERVICE_QUERYSTRING}"
|
||||
plugn trigger service-action post-link "$SERVICE" "$APP"
|
||||
if [[ "$DOKKU_GLOBAL_FLAGS" == *"--no-restart"* ]]; then
|
||||
config_set --no-restart "$APP" "${ALIAS}_URL=$SERVICE_URL"
|
||||
else
|
||||
config_set "$APP" "${ALIAS}_URL=$SERVICE_URL"
|
||||
fi
|
||||
plugn trigger service-action post-link-complete "$SERVICE" "$APP"
|
||||
}
|
||||
|
||||
@@ -563,29 +634,29 @@ service_links() {
|
||||
|
||||
service_list() {
|
||||
declare desc="list all services and their status"
|
||||
local SERVICES=$(ls "$PLUGIN_DATA_ROOT" 2>/dev/null)
|
||||
|
||||
if [[ -z $SERVICES ]]; then
|
||||
services=("$(fn-services-list true)")
|
||||
if [[ "${#services[@]}" -eq 0 ]] || [[ -z "$services" ]]; then
|
||||
dokku_log_warn "There are no $PLUGIN_SERVICE services"
|
||||
return
|
||||
fi
|
||||
|
||||
dokku_log_info2_quiet "$PLUGIN_SERVICE services"
|
||||
for SERVICE in $SERVICES; do
|
||||
echo "$SERVICE"
|
||||
for service in "${services[@]}"; do
|
||||
echo "$service"
|
||||
done
|
||||
}
|
||||
|
||||
service_logs() {
|
||||
declare desc="display logs for a service"
|
||||
declare SERVICE="$1" TAIL_FLAG="$2"
|
||||
declare SERVICE="$1" TAIL_FLAG="$2" TAIL_COUNT="$3"
|
||||
local SERVICE_ROOT="$PLUGIN_DATA_ROOT/$SERVICE"
|
||||
local ID=$(cat "$SERVICE_ROOT/ID")
|
||||
local RE_INTEGER='^[0-9]+$'
|
||||
|
||||
DOKKU_LOGS_ARGS="--tail 100"
|
||||
DOKKU_LOGS_ARGS="--tail $TAIL_COUNT"
|
||||
if [[ "$TAIL_FLAG" == "-t" ]] || [[ "$TAIL_FLAG" == "--tail" ]]; then
|
||||
DOKKU_LOGS_ARGS="--follow"
|
||||
DOKKU_LOGS_ARGS+=" --follow"
|
||||
fi
|
||||
|
||||
docker inspect "$ID" &>/dev/null || dokku_log_fail "Service container does not exist"
|
||||
@@ -857,7 +928,11 @@ service_unlink() {
|
||||
|
||||
[[ -z ${LINK[*]} ]] && dokku_log_fail "Not linked to app $APP"
|
||||
plugn trigger service-action post-unlink "$SERVICE" "$APP"
|
||||
if [[ "$DOKKU_GLOBAL_FLAGS" == *"--no-restart"* ]]; then
|
||||
config_unset --no-restart "$APP" "${LINK[@]}"
|
||||
else
|
||||
config_unset "$APP" "${LINK[@]}"
|
||||
fi
|
||||
plugn trigger service-action post-unlink-complete "$SERVICE" "$APP"
|
||||
}
|
||||
|
||||
@@ -879,9 +954,21 @@ update_plugin_scheme_for_app() {
|
||||
|
||||
verify_service_name() {
|
||||
declare desc="verify that a service exists"
|
||||
declare SERVICE="$1"
|
||||
[[ -z "$SERVICE" ]] && dokku_log_fail "(verify_service_name) SERVICE must not be null"
|
||||
[[ ! -d "$PLUGIN_DATA_ROOT/$SERVICE" ]] && dokku_log_fail "$PLUGIN_SERVICE service $SERVICE does not exist"
|
||||
declare SERVICE="$@"
|
||||
|
||||
if [[ -z "$SERVICE" ]]; then
|
||||
dokku_log_fail "SERVICE must not be empty"
|
||||
fi
|
||||
|
||||
if [[ ! -d "$PLUGIN_DATA_ROOT/$SERVICE" ]]; then
|
||||
dokku_log_fail "$PLUGIN_SERVICE service $SERVICE does not exist"
|
||||
fi
|
||||
|
||||
SERVICE="$(auth_service_filter "$SERVICE")"
|
||||
if [[ -z "$SERVICE" ]]; then
|
||||
dokku_log_fail "$PLUGIN_SERVICE service $SERVICE does not exist"
|
||||
fi
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ source "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/config"
|
||||
set -eo pipefail
|
||||
[[ $DOKKU_TRACE ]] && set -x
|
||||
source "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/common-functions"
|
||||
source "$PLUGIN_BASE_PATH/common/functions"
|
||||
source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
|
||||
source "$PLUGIN_AVAILABLE_PATH/config/functions"
|
||||
if [[ -f "$PLUGIN_AVAILABLE_PATH/docker-options/functions" ]]; then
|
||||
source "$PLUGIN_AVAILABLE_PATH/docker-options/functions"
|
||||
|
||||
@@ -202,6 +202,9 @@ fn-help-subcommand-args() {
|
||||
elif [[ "$arg" == *_LIST ]]; then
|
||||
arg=${arg%_*}
|
||||
args+=" <${arg//_/-}...>"
|
||||
elif [[ "$arg" == *_OPTIONAL ]]; then
|
||||
argName="${arg/_OPTIONAL/}"
|
||||
args+=" [<${argName//_/-}>]"
|
||||
else
|
||||
args+=" <${arg//_/-}>"
|
||||
fi
|
||||
|
||||
10
install
10
install
@@ -24,10 +24,10 @@ plugin-install() {
|
||||
pull-docker-image "$PLUGIN_WAIT_IMAGE"
|
||||
|
||||
mkdir -p "$PLUGIN_DATA_ROOT" || echo "Failed to create $PLUGIN_SERVICE data directory"
|
||||
chown dokku:dokku "$PLUGIN_DATA_ROOT"
|
||||
chown "${DOKKU_SYSTEM_USER}:${DOKKU_SYSTEM_GROUP}" "$PLUGIN_DATA_ROOT"
|
||||
|
||||
mkdir -p "$PLUGIN_CONFIG_ROOT" || echo "Failed to create $PLUGIN_SERVICE config directory"
|
||||
chown dokku:dokku "$PLUGIN_CONFIG_ROOT"
|
||||
chown "${DOKKU_SYSTEM_USER}:${DOKKU_SYSTEM_GROUP}" "$PLUGIN_CONFIG_ROOT"
|
||||
|
||||
rm -f "/etc/sudoers.d/dokku-${PLUGIN_COMMAND_PREFIX}*"
|
||||
_SUDOERS_FILE="/etc/sudoers.d/dokku-${PLUGIN_COMMAND_PREFIX}"
|
||||
@@ -44,8 +44,7 @@ EOL
|
||||
|
||||
chmod 0440 "$_SUDOERS_FILE"
|
||||
|
||||
local SERVICES=$(ls "$PLUGIN_DATA_ROOT" 2>/dev/null)
|
||||
for SERVICE in $SERVICES; do
|
||||
for SERVICE in $(fn-services-list false); do
|
||||
local SERVICE_ROOT="$PLUGIN_DATA_ROOT/$SERVICE"
|
||||
|
||||
if [[ ! -f "$SERVICE_ROOT/IMAGE" ]] || [[ ! -f "$SERVICE_ROOT/IMAGE_VERSION" ]]; then
|
||||
@@ -56,8 +55,11 @@ EOL
|
||||
fi
|
||||
fi
|
||||
|
||||
chown "${DOKKU_SYSTEM_USER}:${DOKKU_SYSTEM_GROUP}" "$SERVICE_ROOT/IMAGE" "$SERVICE_ROOT/IMAGE_VERSION"
|
||||
|
||||
if [[ -f "$SERVICE_ROOT/${PLUGIN_VARIABLE}_CONFIG_OPTIONS" ]]; then
|
||||
mv "$SERVICE_ROOT/${PLUGIN_VARIABLE}_CONFIG_OPTIONS" "$SERVICE_ROOT/CONFIG_OPTIONS"
|
||||
chown "${DOKKU_SYSTEM_USER}:${DOKKU_SYSTEM_GROUP}" "$SERVICE_ROOT/CONFIG_OPTIONS"
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
[plugin]
|
||||
description = "dokku mysql service plugin"
|
||||
version = "1.16.2"
|
||||
version = "1.20.0"
|
||||
[plugin.config]
|
||||
|
||||
@@ -8,8 +8,7 @@ set -eo pipefail
|
||||
plugin-post-app-clone-setup() {
|
||||
declare OLD_APP_NAME="$1" NEW_APP_NAME="$2"
|
||||
|
||||
local SERVICES=$(ls "$PLUGIN_DATA_ROOT" 2>/dev/null)
|
||||
for SERVICE in $SERVICES; do
|
||||
for SERVICE in $(fn-services-list false); do
|
||||
if in_links_file "$SERVICE" "$OLD_APP_NAME"; then
|
||||
add_to_links_file "$SERVICE" "$NEW_APP_NAME"
|
||||
fi
|
||||
|
||||
@@ -8,8 +8,7 @@ set -eo pipefail
|
||||
plugin-post-app-rename-setup() {
|
||||
declare OLD_APP_NAME="$1" NEW_APP_NAME="$2"
|
||||
|
||||
local SERVICES=$(ls "$PLUGIN_DATA_ROOT" 2>/dev/null)
|
||||
for SERVICE in $SERVICES; do
|
||||
for SERVICE in $(fn-services-list false); do
|
||||
if in_links_file "$SERVICE" "$OLD_APP_NAME"; then
|
||||
add_to_links_file "$SERVICE" "$NEW_APP_NAME"
|
||||
fi
|
||||
|
||||
16
pre-delete
16
pre-delete
@@ -1,21 +1,13 @@
|
||||
#!/usr/bin/env bash
|
||||
source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
|
||||
source "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/config"
|
||||
source "$PLUGIN_BASE_PATH/common/functions"
|
||||
source "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/functions"
|
||||
set -eo pipefail
|
||||
[[ $DOKKU_TRACE ]] && set -x
|
||||
|
||||
PLUGIN_BASE_PATH="$PLUGIN_PATH"
|
||||
if [[ -n $DOKKU_API_VERSION ]]; then
|
||||
PLUGIN_BASE_PATH="$PLUGIN_ENABLED_PATH"
|
||||
fi
|
||||
source "$PLUGIN_BASE_PATH/common/functions"
|
||||
source "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/functions"
|
||||
|
||||
APP="$1"
|
||||
pushd "$PLUGIN_DATA_ROOT" >/dev/null
|
||||
for SERVICE in *; do
|
||||
for SERVICE in $(fn-services-list false); do
|
||||
[[ -n "$SERVICE" ]] || continue
|
||||
dokku_log_verbose_quiet "Unlinking from $SERVICE"
|
||||
remove_from_links_file "$(basename "$SERVICE")" "$APP"
|
||||
done
|
||||
popd >/dev/null 2>&1 || pushd "/tmp" >/dev/null
|
||||
exit 0
|
||||
|
||||
@@ -7,18 +7,18 @@ set -eo pipefail
|
||||
|
||||
plugin-pre-restore() {
|
||||
declare SCHEDULER="$1" APP="$2"
|
||||
local status
|
||||
|
||||
if [[ "$SCHEDULER" != "docker-local" ]]; then
|
||||
return
|
||||
fi
|
||||
|
||||
local SERVICES=$(ls "$PLUGIN_DATA_ROOT" 2>/dev/null)
|
||||
for SERVICE in $SERVICES; do
|
||||
for SERVICE in $(fn-services-list false); do
|
||||
if ! in_links_file "$SERVICE" "$APP"; then
|
||||
continue
|
||||
fi
|
||||
|
||||
local status="$(service_status "$SERVICE")"
|
||||
status="$(service_status "$SERVICE")"
|
||||
if [[ "$status" == "running" ]]; then
|
||||
continue
|
||||
fi
|
||||
|
||||
@@ -7,14 +7,14 @@ set -eo pipefail
|
||||
|
||||
plugin-pre-start() {
|
||||
declare APP="$1"
|
||||
local status
|
||||
|
||||
local SERVICES=$(ls "$PLUGIN_DATA_ROOT" 2>/dev/null)
|
||||
for SERVICE in $SERVICES; do
|
||||
for SERVICE in $(fn-services-list false); do
|
||||
if ! in_links_file "$SERVICE" "$APP"; then
|
||||
continue
|
||||
fi
|
||||
|
||||
local status="$(service_status "$SERVICE")"
|
||||
status="$(service_status "$SERVICE")"
|
||||
if [[ "$status" == "running" ]]; then
|
||||
continue
|
||||
fi
|
||||
|
||||
@@ -14,7 +14,7 @@ service-clone-cmd() {
|
||||
#F -C|--custom-env "USER=alpha;HOST=beta", semi-colon delimited environment variables to start the service with
|
||||
#F -i|--image IMAGE, the image name to start the service with
|
||||
#F -I|--image-version IMAGE_VERSION, the image version to start the service with
|
||||
#F -m|--memory MEMORY, container memory limit (default: unlimited)
|
||||
#F -m|--memory MEMORY, container memory limit in megabytes (default: unlimited)
|
||||
#F -p|--password PASSWORD, override the user-level service password
|
||||
#F -r|--root-password PASSWORD, override the root-level service password
|
||||
#F -s|--shm-size SHM_SIZE, override shared memory size for $PLUGIN_COMMAND_PREFIX docker container
|
||||
@@ -27,6 +27,9 @@ service-clone-cmd() {
|
||||
[[ -z "$SERVICE" ]] && dokku_log_fail "Please specify a valid name for the service"
|
||||
[[ -z "$NEW_SERVICE" ]] && dokku_log_fail "Please specify a name for the new service"
|
||||
verify_service_name "$SERVICE"
|
||||
if service_exists "$NEW_SERVICE"; then
|
||||
dokku_log_fail "Invalid service name $NEW_SERVICE. Verify the service name is not already in use."
|
||||
fi
|
||||
|
||||
local SERVICE_ROOT="$PLUGIN_DATA_ROOT/$SERVICE"
|
||||
local ID="$(cat "$SERVICE_ROOT/ID")"
|
||||
|
||||
@@ -22,7 +22,7 @@ service-create-cmd() {
|
||||
#F -C|--custom-env "USER=alpha;HOST=beta", semi-colon delimited environment variables to start the service with
|
||||
#F -i|--image IMAGE, the image name to start the service with
|
||||
#F -I|--image-version IMAGE_VERSION, the image version to start the service with
|
||||
#F -m|--memory MEMORY, container memory limit (default: unlimited)
|
||||
#F -m|--memory MEMORY, container memory limit in megabytes (default: unlimited)
|
||||
#F -p|--password PASSWORD, override the user-level service password
|
||||
#F -r|--root-password PASSWORD, override the root-level service password
|
||||
#F -s|--shm-size SHM_SIZE, override shared memory size for $PLUGIN_COMMAND_PREFIX docker container
|
||||
|
||||
@@ -20,6 +20,7 @@ service-enter-cmd() {
|
||||
declare SERVICE="$1"
|
||||
|
||||
dokku_log_info1_quiet "Filesystem changes may not persist after container restarts"
|
||||
verify_service_name "$SERVICE"
|
||||
service_enter "$SERVICE" "${@:2}"
|
||||
}
|
||||
|
||||
|
||||
@@ -10,16 +10,18 @@ service-logs-cmd() {
|
||||
#E dokku $PLUGIN_COMMAND_PREFIX:logs lollipop
|
||||
#E by default, logs will not be tailed, but you can do this with the --tail flag:
|
||||
#E dokku $PLUGIN_COMMAND_PREFIX:logs lollipop --tail
|
||||
#E the default tail setting is to show all logs, but an initial count can also be specified
|
||||
#E dokku $PLUGIN_COMMAND_PREFIX:logs lollipop --tail 5
|
||||
#A service, service to run command against
|
||||
#F -t|--tail, do not stop when end of the logs are reached and wait for additional output
|
||||
#F -t|--tail [<tail-num>], do not stop when end of the logs are reached and wait for additional output
|
||||
declare desc="print the most recent log(s) for this service"
|
||||
local cmd="$PLUGIN_COMMAND_PREFIX:logs" argv=("$@")
|
||||
[[ ${argv[0]} == "$cmd" ]] && shift 1
|
||||
declare SERVICE="$1" TAIL_FLAG="$2"
|
||||
declare SERVICE="$1" TAIL_FLAG="$2" TAIL_NUM_OPTIONAL="${3:-all}"
|
||||
|
||||
[[ -z "$SERVICE" ]] && dokku_log_fail "Please specify a valid name for the service"
|
||||
verify_service_name "$SERVICE"
|
||||
service_logs "$SERVICE" "$TAIL_FLAG"
|
||||
service_logs "$SERVICE" "$TAIL_FLAG" "$TAIL_NUM_OPTIONAL"
|
||||
}
|
||||
|
||||
service-logs-cmd "$@"
|
||||
|
||||
Reference in New Issue
Block a user