Compare commits

...

16 Commits

Author SHA1 Message Date
Jose Diaz-Gonzalez
ac4010f12b Release 1.10.0 2020-03-03 16:05:13 -05:00
Jose Diaz-Gonzalez
259316d664 refactor: drop full info from :list command
This can be fetched from :info if necessary, and slows down the list quite a bit.
2020-03-03 16:02:51 -05:00
Jose Diaz-Gonzalez
9a420cc991 fix: speed up service_status by reducing container status calls 2020-03-03 15:57:20 -05:00
Jose Diaz-Gonzalez
2da57f1336 Release 1.9.5 2019-12-27 16:57:39 -05:00
Jose Diaz-Gonzalez
f5e0d87501 chore: update dokku/wait version 2019-12-27 16:57:13 -05:00
Jose Diaz-Gonzalez
2a14c2e914 Release 1.9.4 2019-12-27 16:56:00 -05:00
Jose Diaz-Gonzalez
66dda254bf chore: update dokku/ambassador version 2019-12-27 16:55:25 -05:00
Jose Diaz-Gonzalez
6d3cf7a0e5 Release 1.9.3 2019-12-27 16:54:05 -05:00
Jose Diaz-Gonzalez
2992132100 chore: update dokku/s3backup version 2019-12-27 16:53:23 -05:00
Jose Diaz-Gonzalez
f218908750 Release 1.9.2 2019-11-22 19:20:05 -05:00
Jose Diaz-Gonzalez
fdd9ec0ee4 feat: update patch release of mongo 2019-11-22 19:20:04 -05:00
Jose Diaz-Gonzalez
28ade2e348 Release 1.9.1 2019-09-19 15:17:30 -04:00
Jose Diaz-Gonzalez
9aa09b3a3f fix: install updated gpg key and nginx apt repository 2019-09-19 13:30:46 -04:00
Jose Diaz-Gonzalez
07c47e10d3 fix: add missing ampersands 2019-07-30 10:51:51 -04:00
Jose Diaz-Gonzalez
bd809017f2 chore: create scripts directory as necessary 2019-07-30 10:46:00 -04:00
Jose Diaz-Gonzalez
1b1c409369 feat: skip subcommand copy if no subcommands directory exists 2019-07-29 22:03:01 -04:00
8 changed files with 27 additions and 31 deletions

View File

@@ -1,6 +1,6 @@
# dokku mongo [![Build Status](https://img.shields.io/travis/dokku/dokku-mongo.svg?branch=master "Build Status")](https://travis-ci.org/dokku/dokku-mongo) [![IRC Network](https://img.shields.io/badge/irc-freenode-blue.svg "IRC Freenode")](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

View File

@@ -217,7 +217,7 @@ service_backup() {
fi
# 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() {
@@ -494,19 +494,16 @@ service_links() {
service_list() {
declare desc="Lists all services and their status"
local SERVICES=$(ls "$PLUGIN_DATA_ROOT" 2>/dev/null)
if [[ -z $SERVICES ]]; then
dokku_log_warn "There are no $PLUGIN_SERVICE services"
else
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,
return
fi
dokku_log_info2_quiet "Postgres services"
for SERVICE in $SERVICES; do
echo "$SERVICE"
done
}
service_logs() {
@@ -689,7 +686,7 @@ service_port_unpause() {
echo "${PORTS[@]}" >"$PORT_FILE"
# 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
dokku_log_info1 "Service $SERVICE exposed on port(s) [container->host]: $(service_exposed_ports "$SERVICE")"
fi
@@ -740,13 +737,7 @@ service_status() {
local ID="$(cat "$SERVICE_ROOT/ID")"
local CONTAINER_STATUS
is_container_status "$ID" "Dead" && echo "dead" && return 0
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)
CONTAINER_STATUS=$(docker inspect -f "{{.State.Status}}" "$ID" 2>/dev/null || true)
[[ -n "$CONTAINER_STATUS" ]] && echo "$CONTAINER_STATUS" && return 0
echo "missing" && return 0
}

2
config
View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash
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_HOST_ROOT=${MONGO_HOST_ROOT:=$MONGO_ROOT}

View File

@@ -96,7 +96,7 @@ service_create_container() {
echo "$ID" >"$SERVICE_ROOT/ID"
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:'$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

View File

@@ -18,9 +18,9 @@ plugin-install() {
pull-docker-image "${PLUGIN_IMAGE}:${PLUGIN_IMAGE_VERSION}"
pull-docker-image "busybox:1.31.0-uclibc"
pull-docker-image "dokku/ambassador:0.3.0"
pull-docker-image "dokku/s3backup:0.10.0"
pull-docker-image "dokku/wait:0.4.0"
pull-docker-image "dokku/ambassador:0.3.1"
pull-docker-image "dokku/s3backup:0.10.1"
pull-docker-image "dokku/wait:0.4.1"
mkdir -p "$PLUGIN_DATA_ROOT" || echo "Failed to create $PLUGIN_SERVICE data directory"
chown dokku:dokku "$PLUGIN_DATA_ROOT"

View File

@@ -1,4 +1,4 @@
[plugin]
description = "dokku mongo service plugin"
version = "1.9.0"
version = "1.10.0"
[plugin.config]

View File

@@ -11,20 +11,20 @@ teardown() {
@test "($PLUGIN_COMMAND_PREFIX:list) with no exposed ports, no linked apps" {
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" {
dokku "$PLUGIN_COMMAND_PREFIX:expose" l 4242 4243 4244 4245
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" {
dokku apps:create my_app
dokku "$PLUGIN_COMMAND_PREFIX:link" l my_app
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
}

View File

@@ -1,6 +1,10 @@
#!/usr/bin/env bash
set -eo pipefail
[[ $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
if [[ "$DOKKU_VERSION" == "master" ]]; then
sudo bash bootstrap.sh
@@ -13,9 +17,10 @@ export DOKKU_LIB_ROOT="/var/lib/dokku"
export DOKKU_PLUGINS_ROOT="$DOKKU_LIB_ROOT/plugins/available"
source "$(dirname "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)")/config"
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 ./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 dokku plugin:enable "$PLUGIN_COMMAND_PREFIX"
sudo dokku plugin:install