Compare commits

...

16 Commits
1.5.0 ... 1.6.2

Author SHA1 Message Date
Jose Diaz-Gonzalez
131f6a7351 Release 1.6.2 2019-04-22 03:49:38 -04:00
Jose Diaz-Gonzalez
9ff138dfda Merge pull request #110 from dokku/upgrade-versions
feat: upgrade image version in use
2019-04-19 17:13:02 -04:00
Jose Diaz-Gonzalez
c722fe244a feat: upgrade image version in use 2019-04-19 12:47:38 -04:00
Jose Diaz-Gonzalez
8c893835a2 feat: commit github labels to the repo
This will allow us to apply track what labels are available in the issue tracker using tonglil/labeler.
2019-04-10 03:28:09 -04:00
Jose Diaz-Gonzalez
f5b50bb67f Release 1.6.1 2019-03-28 05:25:05 -04:00
Jose Diaz-Gonzalez
8e5adaed47 fix: update docker-s3backup image to fix backups to s3 2019-03-28 05:23:39 -04:00
Jose Diaz-Gonzalez
90004efade Merge pull request #108 from dokku/121-fix-alias
fix: correct issue where aliases were being generated incorrectly
2019-03-28 05:21:34 -04:00
Jose Diaz-Gonzalez
7788b2edd9 fix: correct issue where aliases were being generated incorrectly 2019-03-27 12:18:18 -04:00
Jose Diaz-Gonzalez
b6f11a7644 docs: update readme install instructions to point to correct dokku version 2019-03-26 11:51:12 -04:00
Jose Diaz-Gonzalez
3f776a70eb Release 1.6.0 2019-03-25 14:16:10 -04:00
Jose Diaz-Gonzalez
a90a0bb0fd feat: pin busybox to an actual version
Rather than dancing around what version of busybox to use, pin it to the latest, known good version of busybox. This will give us confidence in what is being shipped and run on a user's machine.
2019-03-25 14:14:22 -04:00
Jose Diaz-Gonzalez
e82c9d1d21 fix: pin busybox in run commands to the image we pull down 2019-03-25 13:51:15 -04:00
Jose Diaz-Gonzalez
631cc44503 feat: update to latest dokku/s3backup image 2019-03-25 13:47:03 -04:00
Jose Diaz-Gonzalez
686f692cb2 feat: switch to updated wait image 2019-03-25 12:46:42 -04:00
Jose Diaz-Gonzalez
7b90e6283b feat: switch to updated ambassador image 2019-03-25 12:46:01 -04:00
Jose Diaz-Gonzalez
be0dbe5c5c fix: correct handling of container retrieval
In the previous method, if the container was renamed or there were multiple names attached to the container, fetching the container ID would fail as the regex would only match at the end. Instead of using grep, use the docker 'filter' functionality to fetch the container ID as appropriate.
2019-03-25 12:37:35 -04:00
10 changed files with 87 additions and 20 deletions

57
.github/labels.yml vendored Normal file
View File

@@ -0,0 +1,57 @@
labels:
- name: bc-break
color: eb6420
- name: blocks release
color: "000000"
- name: 'difficulty: easy'
color: c5def5
- name: 'difficulty: hard'
color: e99695
- name: 'difficulty: medium'
color: fef2c0
- name: hacktoberfest
color: b0581d
- name: 'needs: documentation'
color: c2e0c6
- name: 'needs: more info'
color: c2e0c6
- name: 'needs: rebase'
color: c2e0c6
- name: 'needs: tests'
color: c2e0c6
- name: 'status: duplicate'
color: cccccc
- name: 'status: fix-provided'
color: c5def5
- name: 'status: future'
color: c5def5
- name: 'status: has plan'
color: c5def5
- name: 'status: invalid'
color: cccccc
- name: 'status: merge for next minor'
color: c5def5
- name: 'status: merge for next patch'
color: c5def5
- name: 'status: wontfix'
color: cccccc
- name: 'type: bug'
color: e01b1b
- name: 'type: documentation'
color: 0052cc
- name: 'type: enhancement'
color: 09ab3c
- name: 'type: question'
color: cc317c
- name: 'type: refactor'
color: 0052cc
- name: 'type: rfc'
color: 0052cc
- name: 'type: roadmap'
color: 0052cc
- name: 'type: service'
color: "5319e7"
- name: 'type: support'
color: cc317c
- name: 'type: tests'
color: 0052cc

View File

@@ -1,6 +1,6 @@
# dokku mysql [![Build Status](https://img.shields.io/travis/dokku/dokku-mysql.svg?branch=master "Build Status")](https://travis-ci.org/dokku/dokku-mysql) [![IRC Network](https://img.shields.io/badge/irc-freenode-blue.svg "IRC Freenode")](https://webchat.freenode.net/?channels=dokku) # dokku mysql [![Build Status](https://img.shields.io/travis/dokku/dokku-mysql.svg?branch=master "Build Status")](https://travis-ci.org/dokku/dokku-mysql) [![IRC Network](https://img.shields.io/badge/irc-freenode-blue.svg "IRC Freenode")](https://webchat.freenode.net/?channels=dokku)
Official mysql plugin for dokku. Currently defaults to installing [mysql 5.7.12](https://hub.docker.com/_/mysql/). Official mysql plugin for dokku. Currently defaults to installing [mysql 5.7.25](https://hub.docker.com/_/mysql/).
## requirements ## requirements
@@ -10,7 +10,7 @@ Official mysql plugin for dokku. Currently defaults to installing [mysql 5.7.12]
## installation ## installation
```shell ```shell
# on 0.4.x+ # on 0.12.x+
sudo dokku plugin:install https://github.com/dokku/dokku-mysql.git mysql sudo dokku plugin:install https://github.com/dokku/dokku-mysql.git mysql
``` ```

View File

@@ -113,9 +113,10 @@ service_alternative_alias() {
for COLOR in "${COLORS[@]}"; do for COLOR in "${COLORS[@]}"; do
ALIAS="${PLUGIN_ALT_ALIAS}_${COLOR}" ALIAS="${PLUGIN_ALT_ALIAS}_${COLOR}"
local IN_USE=$(echo "$EXISTING_CONFIG" | grep "${ALIAS}_URL") local IN_USE=$(echo "$EXISTING_CONFIG" | grep "${ALIAS}_URL")
if [[ -n $IN_USE ]]; then if [[ -z "$IN_USE" ]]; then
unset ALIAS break
fi fi
unset ALIAS
done done
echo "$ALIAS" echo "$ALIAS"
} }
@@ -185,7 +186,7 @@ service_backup() {
fi fi
# shellcheck disable=SC2086 # shellcheck disable=SC2086
docker run --rm $BACKUP_PARAMETERS dokkupaas/s3backup:0.8.0 docker run --rm $BACKUP_PARAMETERS dokku/s3backup:0.9.4
} }
service_backup_auth() { service_backup_auth() {
@@ -604,7 +605,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" svendowideit/ambassador > /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.2.0 > /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

2
config
View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
export MYSQL_IMAGE=${MYSQL_IMAGE:="mysql"} export MYSQL_IMAGE=${MYSQL_IMAGE:="mysql"}
export MYSQL_IMAGE_VERSION=${MYSQL_IMAGE_VERSION:="5.7.12"} export MYSQL_IMAGE_VERSION=${MYSQL_IMAGE_VERSION:="5.7.25"}
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}

View File

@@ -80,7 +80,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" dokkupaas/wait:0.2 -p "$PLUGIN_DATASTORE_WAIT_PORT" > /dev/null docker run --rm --link "$SERVICE_NAME:$PLUGIN_COMMAND_PREFIX" dokku/wait:0.3.0 -p "$PLUGIN_DATASTORE_WAIT_PORT" > /dev/null
dokku_log_info2 "$PLUGIN_SERVICE container created: $SERVICE" dokku_log_info2 "$PLUGIN_SERVICE container created: $SERVICE"
service_info "$SERVICE" service_info "$SERVICE"
@@ -119,14 +119,14 @@ service_start() {
local QUIET="$2" local QUIET="$2"
local SERVICE_ROOT="$PLUGIN_DATA_ROOT/$SERVICE" local SERVICE_ROOT="$PLUGIN_DATA_ROOT/$SERVICE"
local SERVICE_NAME="$(get_service_name "$SERVICE")" local SERVICE_NAME="$(get_service_name "$SERVICE")"
local ID=$(docker ps -f status=running --no-trunc | grep -e "$SERVICE_NAME$" | awk '{print $1}') || true local ID=$(docker ps -aq --no-trunc --filter "status=running" --filter "name=^/$SERVICE_NAME$" --format '{{ .ID }}') || true
if [[ -n $ID ]]; then if [[ -n $ID ]]; then
[[ -z $QUIET ]] && dokku_log_warn "Service is already started" [[ -z $QUIET ]] && dokku_log_warn "Service is already started"
return 0 return 0
fi fi
dokku_log_info2_quiet "Starting container" dokku_log_info2_quiet "Starting container"
local PREVIOUS_ID=$(docker ps -f status=exited --no-trunc | grep -e "$SERVICE_NAME$" | awk '{print $1}') || true local PREVIOUS_ID=$(docker ps -aq --no-trunc --filter "status=exited" --filter "name=^/$SERVICE_NAME$" --format '{{ .ID }}') || true
local ROOTPASSWORD="$(cat "$SERVICE_ROOT/ROOTPASSWORD")" local ROOTPASSWORD="$(cat "$SERVICE_ROOT/ROOTPASSWORD")"
local PASSWORD="$(cat "$SERVICE_ROOT/PASSWORD")" local PASSWORD="$(cat "$SERVICE_ROOT/PASSWORD")"

View File

@@ -16,10 +16,10 @@ plugin-install() {
} }
pull-docker-image "${PLUGIN_IMAGE}:${PLUGIN_IMAGE_VERSION}" pull-docker-image "${PLUGIN_IMAGE}:${PLUGIN_IMAGE_VERSION}"
pull-docker-image "svendowideit/ambassador:latest" pull-docker-image "dokku/ambassador:0.2.0"
pull-docker-image "dokkupaas/wait:0.2" pull-docker-image "dokku/wait:0.3.0"
pull-docker-image "dokkupaas/s3backup:0.8.0" pull-docker-image "dokku/s3backup:0.9.4"
pull-docker-image "busybox:latest" pull-docker-image "busybox:1.30.1-uclibc"
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"

View File

@@ -1,4 +1,4 @@
[plugin] [plugin]
description = "dokku mysql service plugin" description = "dokku mysql service plugin"
version = "1.5.0" version = "1.6.2"
[plugin.config] [plugin.config]

View File

@@ -42,7 +42,7 @@ service-destroy-cmd() {
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" busybox chmod 777 -R /config /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
rm -rf "$SERVICE_ROOT" rm -rf "$SERVICE_ROOT"
dokku_log_info2 "$PLUGIN_SERVICE container deleted: $SERVICE" dokku_log_info2 "$PLUGIN_SERVICE container deleted: $SERVICE"

View File

@@ -3,14 +3,17 @@ load test_helper
setup() { setup() {
dokku "$PLUGIN_COMMAND_PREFIX:create" l dokku "$PLUGIN_COMMAND_PREFIX:create" l
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" l dokku --force "$PLUGIN_COMMAND_PREFIX:destroy" l
dokku --force apps:destroy my_app dokku --force apps:destroy my_app
} }
@test "($PLUGIN_COMMAND_PREFIX:link) error when there are no arguments" { @test "($PLUGIN_COMMAND_PREFIX:link) error when there are no arguments" {
run dokku "$PLUGIN_COMMAND_PREFIX:link" run dokku "$PLUGIN_COMMAND_PREFIX:link"
echo "output: $output" echo "output: $output"
@@ -69,8 +72,14 @@ teardown() {
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_" assert_contains "${lines[*]}" "DOKKU_MYSQL_AQUA_URL"
assert_success assert_success
dokku "$PLUGIN_COMMAND_PREFIX:link" m my_app
run dokku config my_app
assert_contains "${lines[*]}" "DOKKU_MYSQL_BLACK_URL"
assert_success
dokku "$PLUGIN_COMMAND_PREFIX:unlink" m my_app
dokku "$PLUGIN_COMMAND_PREFIX:unlink" l my_app dokku "$PLUGIN_COMMAND_PREFIX:unlink" l my_app
} }

View File

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