Compare commits

...

11 Commits
1.8.1 ... 1.9.0

Author SHA1 Message Date
Jose Diaz-Gonzalez
a243d3cec9 Release 1.9.0 2019-07-15 15:00:46 -07:00
Jose Diaz-Gonzalez
312d9298c7 feat: add service:links command
This allows users to script against apps that are linked to a given service
2019-07-15 14:59:05 -07:00
Jose Diaz-Gonzalez
25ad144b54 Merge pull request #134 from dokku/upgrade-version
Upgrade docker image versions
2019-07-15 14:18:00 -07:00
Jose Diaz-Gonzalez
77573a97ff chore: increase vm.max_map_count
This is mainly used for elasticsearch but adding it to the generic test suite for all datastore plugins makes it easier to copy the travis config to each plugin.
2019-07-12 13:43:57 -07:00
Jose Diaz-Gonzalez
5849f1f19f fix: use correct variable for checking for password file 2019-07-12 12:56:37 -07:00
Jose Diaz-Gonzalez
b3eb9ed085 chore: update build targets 2019-07-11 16:35:06 -07:00
Jose Diaz-Gonzalez
86e7d53749 chore: move to helper functions for fetching passwords 2019-07-11 16:34:35 -07:00
Jose Diaz-Gonzalez
ba5b90349b chore: reorder images 2019-07-11 14:32:49 -07:00
Jose Diaz-Gonzalez
46bd7f534f feat: update ambassador, s3backup, and wait images 2019-07-11 14:31:47 -07:00
Jose Diaz-Gonzalez
f2342ed6fc feat: upgrade busybox to 1.31.0-uclibc 2019-07-11 13:36:41 -07:00
Jose Diaz-Gonzalez
b1e5298be0 feat: upgrade to 5.0.5 2019-07-11 13:19:34 -07:00
10 changed files with 73 additions and 24 deletions

View File

@@ -2,8 +2,8 @@ dist: trusty
language: bash
env:
- DOKKU_VERSION=master
- DOKKU_VERSION=v0.14.0
- DOKKU_VERSION=v0.12.0
- DOKKU_VERSION=v0.17.0
install: make setup
before_script: sudo sysctl -w vm.max_map_count=262144
script: make test
after_failure: make report

View File

@@ -1,6 +1,6 @@
# dokku redis [![Build Status](https://img.shields.io/travis/dokku/dokku-redis.svg?branch=master "Build Status")](https://travis-ci.org/dokku/dokku-redis) [![IRC Network](https://img.shields.io/badge/irc-freenode-blue.svg "IRC Freenode")](https://webchat.freenode.net/?channels=dokku)
Official redis plugin for dokku. Currently defaults to installing [redis 5.0.4](https://hub.docker.com/_/redis/).
Official redis plugin for dokku. Currently defaults to installing [redis 5.0.5](https://hub.docker.com/_/redis/).
## requirements

View File

@@ -217,7 +217,7 @@ service_backup() {
fi
# shellcheck disable=SC2086
docker run --rm $BACKUP_PARAMETERS dokku/s3backup:0.9.4
docker run --rm $BACKUP_PARAMETERS dokku/s3backup:0.10.0
}
service_backup_auth() {
@@ -468,7 +468,7 @@ service_link() {
}
service_linked_apps() {
declare desc="Lists all applications linked to a service"
declare desc="Lists all apps linked to a service for info output"
declare SERVICE="$1"
local SERVICE_ROOT="$PLUGIN_DATA_ROOT/$SERVICE"
local LINKS_FILE="$SERVICE_ROOT/LINKS"
@@ -479,6 +479,18 @@ service_linked_apps() {
tr '\n' ' ' <"$LINKS_FILE"
}
service_links() {
declare desc="Lists all apps linked to a service"
declare SERVICE="$1"
local SERVICE_ROOT="$PLUGIN_DATA_ROOT/$SERVICE"
local LINKS_FILE="$SERVICE_ROOT/LINKS"
touch "$LINKS_FILE"
[[ -z $(<"$LINKS_FILE") ]] && return 0
cat "$LINKS_FILE"
}
service_list() {
declare desc="Lists all services and their status"
local SERVICES=$(ls "$PLUGIN_DATA_ROOT" 2>/dev/null)
@@ -586,6 +598,26 @@ service_parse_args() {
shift "$((OPTIND - 1))" # remove options from positional parameters
}
service_password() {
declare desc="Fetch the password for a service"
declare SERVICE="$1"
local SERVICE_ROOT="$PLUGIN_DATA_ROOT/$SERVICE"
local PASSWORD_FILE="$SERVICE_ROOT/PASSWORD"
if [[ -f "$PASSWORD_FILE" ]]; then
cat "$PASSWORD_FILE"
fi
}
service_root_password() {
declare desc="Fetch the root password for a service"
declare SERVICE="$1"
local SERVICE_ROOT="$PLUGIN_DATA_ROOT/$SERVICE"
local PASSWORD_FILE="$SERVICE_ROOT/ROOTPASSWORD"
if [[ -f "$PASSWORD_FILE" ]]; then
cat "$PASSWORD_FILE"
fi
}
service_port_expose() {
declare desc="Wrapper for exposing service ports"
declare SERVICE="$1"
@@ -657,7 +689,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.2.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.0 >/dev/null
if [[ "$LOG_FAIL" == "true" ]]; then
dokku_log_info1 "Service $SERVICE exposed on port(s) [container->host]: $(service_exposed_ports "$SERVICE")"
fi

2
config
View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash
export REDIS_IMAGE=${REDIS_IMAGE:="redis"}
export REDIS_IMAGE_VERSION=${REDIS_IMAGE_VERSION:="5.0.4"}
export REDIS_IMAGE_VERSION=${REDIS_IMAGE_VERSION:="5.0.5"}
export REDIS_ROOT=${REDIS_ROOT:="$DOKKU_LIB_ROOT/services/redis"}
export REDIS_HOST_ROOT=${REDIS_HOST_ROOT:=$REDIS_ROOT}

View File

@@ -80,7 +80,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.3.0 -p "$PLUGIN_DATASTORE_WAIT_PORT" >/dev/null
docker run --rm --link "$SERVICE_NAME:$PLUGIN_COMMAND_PREFIX" dokku/wait:0.4.0 -p "$PLUGIN_DATASTORE_WAIT_PORT" >/dev/null
dokku_log_info2 "$PLUGIN_SERVICE container created: $SERVICE"
service_info "$SERVICE"
@@ -142,13 +142,6 @@ service_start() {
fi
}
service_password() {
local SERVICE="$1"
local SERVICE_ROOT="$PLUGIN_DATA_ROOT/$SERVICE"
local PASSWORD="$(cat "$SERVICE_ROOT/PASSWORD")"
echo "$PASSWORD"
}
service_url() {
local SERVICE="$1"
local PASSWORD="$(service_password "$SERVICE")"

View File

@@ -17,10 +17,10 @@ plugin-install() {
}
pull-docker-image "${PLUGIN_IMAGE}:${PLUGIN_IMAGE_VERSION}"
pull-docker-image "dokku/ambassador:0.2.0"
pull-docker-image "dokku/wait:0.3.0"
pull-docker-image "dokku/s3backup:0.9.4"
pull-docker-image "busybox:1.30.1-uclibc"
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"
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 redis service plugin"
version = "1.8.1"
version = "1.9.0"
[plugin.config]

View File

@@ -45,7 +45,7 @@ service-destroy-cmd() {
service_container_rm "$SERVICE"
dokku_log_verbose_quiet "Removing data"
docker run --rm -v "$SERVICE_HOST_ROOT/data:/data" -v "$SERVICE_HOST_ROOT/config:/config" busybox:1.30.1-uclibc chmod 777 -R /config /data
docker run --rm -v "$SERVICE_HOST_ROOT/data:/data" -v "$SERVICE_HOST_ROOT/config:/config" busybox:1.31.0-uclibc chmod 777 -R /config /data
rm -rf "$SERVICE_ROOT"
dokku_log_info2 "$PLUGIN_SERVICE container deleted: $SERVICE"

24
subcommands/links Executable file
View File

@@ -0,0 +1,24 @@
#!/usr/bin/env bash
source "$(dirname "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)")/config"
set -eo pipefail
[[ $DOKKU_TRACE ]] && set -x
source "$PLUGIN_BASE_PATH/common/functions"
source "$(dirname "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)")/functions"
service-links-cmd() {
#E list all apps linked to the 'lolipop' $PLUGIN_COMMAND_PREFIX service.
#E dokku $PLUGIN_COMMAND_PREFIX:links lolipop
#A service, service to run command against
declare desc="list all apps linked to the $PLUGIN_SERVICE service"
local cmd="$PLUGIN_COMMAND_PREFIX:links" argv=("$@")
[[ ${argv[0]} == "$cmd" ]] && shift 1
declare SERVICE="$1"
local SERVICE_ROOT="$PLUGIN_DATA_ROOT/$SERVICE"
local LINKS_FILE="$SERVICE_ROOT/LINKS"
[[ -z "$SERVICE" ]] && dokku_log_fail "Please specify a valid name for the service"
verify_service_name "$SERVICE"
service_links "$SERVICE"
}
service-links-cmd "$@"

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 redis:5.0.4 running - -"
assert_contains "${lines[*]}" "l redis:5.0.5 running - -"
}
@test "($PLUGIN_COMMAND_PREFIX:list) with exposed ports" {
dokku "$PLUGIN_COMMAND_PREFIX:expose" l 4242
run dokku "$PLUGIN_COMMAND_PREFIX:list"
assert_contains "${lines[*]}" "l redis:5.0.4 running 6379->4242 -"
assert_contains "${lines[*]}" "l redis:5.0.5 running 6379->4242 -"
}
@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 redis:5.0.4 running - my_app"
assert_contains "${lines[*]}" "l redis:5.0.5 running - my_app"
dokku --force apps:destroy my_app
}