Compare commits
18 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
90698a2e9d | ||
|
|
b76659d914 | ||
|
|
ac4010f12b | ||
|
|
259316d664 | ||
|
|
9a420cc991 | ||
|
|
2da57f1336 | ||
|
|
f5e0d87501 | ||
|
|
2a14c2e914 | ||
|
|
66dda254bf | ||
|
|
6d3cf7a0e5 | ||
|
|
2992132100 | ||
|
|
f218908750 | ||
|
|
fdd9ec0ee4 | ||
|
|
28ade2e348 | ||
|
|
9aa09b3a3f | ||
|
|
07c47e10d3 | ||
|
|
bd809017f2 | ||
|
|
1b1c409369 |
@@ -1,6 +1,6 @@
|
|||||||
# dokku mongo [](https://travis-ci.org/dokku/dokku-mongo) [](https://webchat.freenode.net/?channels=dokku)
|
# dokku mongo [](https://travis-ci.org/dokku/dokku-mongo) [](https://webchat.freenode.net/?channels=dokku)
|
||||||
|
|
||||||
Official mongo plugin for dokku. Currently defaults to installing [mongo 3.6.13](https://hub.docker.com/_/mongo/).
|
Official mongo plugin for dokku. Currently defaults to installing [mongo 3.6.15](https://hub.docker.com/_/mongo/).
|
||||||
|
|
||||||
## requirements
|
## requirements
|
||||||
|
|
||||||
|
|||||||
@@ -217,7 +217,7 @@ service_backup() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# shellcheck disable=SC2086
|
# shellcheck disable=SC2086
|
||||||
docker run --rm $BACKUP_PARAMETERS dokku/s3backup:0.10.0
|
docker run --rm $BACKUP_PARAMETERS dokku/s3backup:0.10.1
|
||||||
}
|
}
|
||||||
|
|
||||||
service_backup_auth() {
|
service_backup_auth() {
|
||||||
@@ -494,19 +494,16 @@ service_links() {
|
|||||||
service_list() {
|
service_list() {
|
||||||
declare desc="Lists all services and their status"
|
declare desc="Lists all services and their status"
|
||||||
local SERVICES=$(ls "$PLUGIN_DATA_ROOT" 2>/dev/null)
|
local SERVICES=$(ls "$PLUGIN_DATA_ROOT" 2>/dev/null)
|
||||||
|
|
||||||
if [[ -z $SERVICES ]]; then
|
if [[ -z $SERVICES ]]; then
|
||||||
dokku_log_warn "There are no $PLUGIN_SERVICE services"
|
dokku_log_warn "There are no $PLUGIN_SERVICE services"
|
||||||
else
|
return
|
||||||
LIST=""
|
|
||||||
if [[ -z "$DOKKU_QUIET_OUTPUT" ]]; then
|
|
||||||
LIST="NAME,VERSION,STATUS,EXPOSED PORTS,LINKS\n"
|
|
||||||
fi
|
|
||||||
|
|
||||||
for SERVICE in $SERVICES; do
|
|
||||||
LIST+="$SERVICE,$(service_version "$SERVICE"),$(service_status "$SERVICE"),$(service_exposed_ports "$SERVICE"),$(service_linked_apps "$SERVICE")\n"
|
|
||||||
done
|
|
||||||
printf "%b" "$LIST" | column -t -s,
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
dokku_log_info2_quiet "$PLUGIN_SERVICE services"
|
||||||
|
for SERVICE in $SERVICES; do
|
||||||
|
echo "$SERVICE"
|
||||||
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
service_logs() {
|
service_logs() {
|
||||||
@@ -689,7 +686,7 @@ service_port_unpause() {
|
|||||||
echo "${PORTS[@]}" >"$PORT_FILE"
|
echo "${PORTS[@]}" >"$PORT_FILE"
|
||||||
|
|
||||||
# shellcheck disable=SC2046
|
# shellcheck disable=SC2046
|
||||||
docker run -d --link "$SERVICE_NAME:$PLUGIN_COMMAND_PREFIX" --name "$EXPOSED_NAME" $(docker_ports_options "${PORTS[@]}") --restart always --label dokku=ambassador --label "dokku.ambassador=$PLUGIN_COMMAND_PREFIX" dokku/ambassador:0.3.0 >/dev/null
|
docker run -d --link "$SERVICE_NAME:$PLUGIN_COMMAND_PREFIX" --name "$EXPOSED_NAME" $(docker_ports_options "${PORTS[@]}") --restart always --label dokku=ambassador --label "dokku.ambassador=$PLUGIN_COMMAND_PREFIX" dokku/ambassador:0.3.1 >/dev/null
|
||||||
if [[ "$LOG_FAIL" == "true" ]]; then
|
if [[ "$LOG_FAIL" == "true" ]]; then
|
||||||
dokku_log_info1 "Service $SERVICE exposed on port(s) [container->host]: $(service_exposed_ports "$SERVICE")"
|
dokku_log_info1 "Service $SERVICE exposed on port(s) [container->host]: $(service_exposed_ports "$SERVICE")"
|
||||||
fi
|
fi
|
||||||
@@ -740,13 +737,7 @@ service_status() {
|
|||||||
local ID="$(cat "$SERVICE_ROOT/ID")"
|
local ID="$(cat "$SERVICE_ROOT/ID")"
|
||||||
local CONTAINER_STATUS
|
local CONTAINER_STATUS
|
||||||
|
|
||||||
is_container_status "$ID" "Dead" && echo "dead" && return 0
|
CONTAINER_STATUS=$(docker inspect -f "{{.State.Status}}" "$ID" 2>/dev/null || true)
|
||||||
is_container_status "$ID" "OOMKilled" && echo "oomkilled" && return 0
|
|
||||||
is_container_status "$ID" "Paused" && echo "paused" && return 0
|
|
||||||
is_container_status "$ID" "Restarting" && echo "restarting" && return 0
|
|
||||||
is_container_status "$ID" "Running" && echo "running" && return 0
|
|
||||||
|
|
||||||
CONTAINER_STATUS=$(docker inspect -f "{{.State.Status}}" "$CID" 2>/dev/null || true)
|
|
||||||
[[ -n "$CONTAINER_STATUS" ]] && echo "$CONTAINER_STATUS" && return 0
|
[[ -n "$CONTAINER_STATUS" ]] && echo "$CONTAINER_STATUS" && return 0
|
||||||
echo "missing" && return 0
|
echo "missing" && return 0
|
||||||
}
|
}
|
||||||
|
|||||||
2
config
2
config
@@ -1,6 +1,6 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
export MONGO_IMAGE=${MONGO_IMAGE:="mongo"}
|
export MONGO_IMAGE=${MONGO_IMAGE:="mongo"}
|
||||||
export MONGO_IMAGE_VERSION=${MONGO_IMAGE_VERSION:="3.6.13"}
|
export MONGO_IMAGE_VERSION=${MONGO_IMAGE_VERSION:="3.6.15"}
|
||||||
export MONGO_ROOT=${MONGO_ROOT:="$DOKKU_LIB_ROOT/services/mongo"}
|
export MONGO_ROOT=${MONGO_ROOT:="$DOKKU_LIB_ROOT/services/mongo"}
|
||||||
export MONGO_HOST_ROOT=${MONGO_HOST_ROOT:=$MONGO_ROOT}
|
export MONGO_HOST_ROOT=${MONGO_HOST_ROOT:=$MONGO_ROOT}
|
||||||
|
|
||||||
|
|||||||
@@ -96,7 +96,7 @@ service_create_container() {
|
|||||||
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"
|
||||||
docker run --rm --link "$SERVICE_NAME:$PLUGIN_COMMAND_PREFIX" dokku/wait:0.4.0 -p "$PLUGIN_DATASTORE_WAIT_PORT" >/dev/null
|
docker run --rm --link "$SERVICE_NAME:$PLUGIN_COMMAND_PREFIX" dokku/wait:0.4.1 -p "$PLUGIN_DATASTORE_WAIT_PORT" >/dev/null
|
||||||
|
|
||||||
echo "db.createUser({user:'admin',pwd:'$ROOTPASSWORD',roles:[{role:'userAdminAnyDatabase',db:'admin'},{role:'__system',db:'admin'},{role:'root',db:'admin'}]})" | docker exec -i "$SERVICE_NAME" mongo admin >/dev/null
|
echo "db.createUser({user:'admin',pwd:'$ROOTPASSWORD',roles:[{role:'userAdminAnyDatabase',db:'admin'},{role:'__system',db:'admin'},{role:'root',db:'admin'}]})" | docker exec -i "$SERVICE_NAME" mongo admin >/dev/null
|
||||||
echo "db.createUser({user:'$SERVICE',pwd:'$PASSWORD',roles:[{role:'readWrite',db:'$DATABASE_NAME'}]})" | docker exec -i "$SERVICE_NAME" mongo -u admin -p "$ROOTPASSWORD" --authenticationDatabase admin "$DATABASE_NAME" >/dev/null
|
echo "db.createUser({user:'$SERVICE',pwd:'$PASSWORD',roles:[{role:'readWrite',db:'$DATABASE_NAME'}]})" | docker exec -i "$SERVICE_NAME" mongo -u admin -p "$ROOTPASSWORD" --authenticationDatabase admin "$DATABASE_NAME" >/dev/null
|
||||||
|
|||||||
6
install
6
install
@@ -18,9 +18,9 @@ plugin-install() {
|
|||||||
|
|
||||||
pull-docker-image "${PLUGIN_IMAGE}:${PLUGIN_IMAGE_VERSION}"
|
pull-docker-image "${PLUGIN_IMAGE}:${PLUGIN_IMAGE_VERSION}"
|
||||||
pull-docker-image "busybox:1.31.0-uclibc"
|
pull-docker-image "busybox:1.31.0-uclibc"
|
||||||
pull-docker-image "dokku/ambassador:0.3.0"
|
pull-docker-image "dokku/ambassador:0.3.1"
|
||||||
pull-docker-image "dokku/s3backup:0.10.0"
|
pull-docker-image "dokku/s3backup:0.10.1"
|
||||||
pull-docker-image "dokku/wait:0.4.0"
|
pull-docker-image "dokku/wait:0.4.1"
|
||||||
|
|
||||||
mkdir -p "$PLUGIN_DATA_ROOT" || echo "Failed to create $PLUGIN_SERVICE data directory"
|
mkdir -p "$PLUGIN_DATA_ROOT" || echo "Failed to create $PLUGIN_SERVICE data directory"
|
||||||
chown dokku:dokku "$PLUGIN_DATA_ROOT"
|
chown dokku:dokku "$PLUGIN_DATA_ROOT"
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
[plugin]
|
[plugin]
|
||||||
description = "dokku mongo service plugin"
|
description = "dokku mongo service plugin"
|
||||||
version = "1.9.0"
|
version = "1.10.1"
|
||||||
[plugin.config]
|
[plugin.config]
|
||||||
|
|||||||
@@ -11,20 +11,20 @@ teardown() {
|
|||||||
|
|
||||||
@test "($PLUGIN_COMMAND_PREFIX:list) with no exposed ports, no linked apps" {
|
@test "($PLUGIN_COMMAND_PREFIX:list) with no exposed ports, no linked apps" {
|
||||||
run dokku "$PLUGIN_COMMAND_PREFIX:list"
|
run dokku "$PLUGIN_COMMAND_PREFIX:list"
|
||||||
assert_contains "${lines[*]}" "l mongo:3.6.13 running - -"
|
assert_contains "${lines[*]}" "l mongo:3.6.15 running - -"
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "($PLUGIN_COMMAND_PREFIX:list) with exposed ports" {
|
@test "($PLUGIN_COMMAND_PREFIX:list) with exposed ports" {
|
||||||
dokku "$PLUGIN_COMMAND_PREFIX:expose" l 4242 4243 4244 4245
|
dokku "$PLUGIN_COMMAND_PREFIX:expose" l 4242 4243 4244 4245
|
||||||
run dokku "$PLUGIN_COMMAND_PREFIX:list"
|
run dokku "$PLUGIN_COMMAND_PREFIX:list"
|
||||||
assert_contains "${lines[*]}" "l mongo:3.6.13 running 27017->4242 27018->4243 27019->4244 28017->4245 -"
|
assert_contains "${lines[*]}" "l mongo:3.6.15 running 27017->4242 27018->4243 27019->4244 28017->4245 -"
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "($PLUGIN_COMMAND_PREFIX:list) with linked app" {
|
@test "($PLUGIN_COMMAND_PREFIX:list) with linked app" {
|
||||||
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
|
||||||
run dokku "$PLUGIN_COMMAND_PREFIX:list"
|
run dokku "$PLUGIN_COMMAND_PREFIX:list"
|
||||||
assert_contains "${lines[*]}" "l mongo:3.6.13 running - my_app"
|
assert_contains "${lines[*]}" "l mongo:3.6.15 running - my_app"
|
||||||
dokku --force apps:destroy my_app
|
dokku --force apps:destroy my_app
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,10 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
set -eo pipefail
|
set -eo pipefail
|
||||||
[[ $TRACE ]] && set -x
|
[[ $TRACE ]] && set -x
|
||||||
|
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 762E3157
|
||||||
|
echo "deb http://nginx.org/packages/ubuntu `lsb_release -cs` nginx" | sudo tee /etc/apt/sources.list.d/nginx.list
|
||||||
|
curl -fsSL https://nginx.org/keys/nginx_signing.key | sudo apt-key add -
|
||||||
|
|
||||||
wget https://raw.githubusercontent.com/dokku/dokku/master/bootstrap.sh
|
wget https://raw.githubusercontent.com/dokku/dokku/master/bootstrap.sh
|
||||||
if [[ "$DOKKU_VERSION" == "master" ]]; then
|
if [[ "$DOKKU_VERSION" == "master" ]]; then
|
||||||
sudo bash bootstrap.sh
|
sudo bash bootstrap.sh
|
||||||
@@ -13,9 +17,10 @@ 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"
|
source "$(dirname "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)")/config"
|
||||||
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"
|
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" \;
|
||||||
sudo find ./subcommands -maxdepth 1 -type f -exec cp '{}' "$DOKKU_PLUGINS_ROOT/$PLUGIN_COMMAND_PREFIX/subcommands" \;
|
[[ -d "./scripts" ]] && sudo find ./scripts -maxdepth 1 -type f -exec cp '{}' "$DOKKU_PLUGINS_ROOT/$PLUGIN_COMMAND_PREFIX/scripts" \;
|
||||||
|
[[ -d "./subcommands" ]] && sudo find ./subcommands -maxdepth 1 -type f -exec cp '{}' "$DOKKU_PLUGINS_ROOT/$PLUGIN_COMMAND_PREFIX/subcommands" \;
|
||||||
sudo mkdir -p "$PLUGIN_CONFIG_ROOT" "$PLUGIN_DATA_ROOT"
|
sudo mkdir -p "$PLUGIN_CONFIG_ROOT" "$PLUGIN_DATA_ROOT"
|
||||||
sudo dokku plugin:enable "$PLUGIN_COMMAND_PREFIX"
|
sudo dokku plugin:enable "$PLUGIN_COMMAND_PREFIX"
|
||||||
sudo dokku plugin:install
|
sudo dokku plugin:install
|
||||||
|
|||||||
Reference in New Issue
Block a user