Compare commits

...

16 Commits
1.5.0 ... 1.6.2

Author SHA1 Message Date
Jose Diaz-Gonzalez
2e0a9b6c6e Release 1.6.2 2019-04-22 03:49:44 -04:00
Jose Diaz-Gonzalez
4b6ca068e7 Merge pull request #177 from dokku/upgrade-versions
feat: upgrade image version in use
2019-04-19 17:13:12 -04:00
Jose Diaz-Gonzalez
7a3e380c24 feat: upgrade image version in use 2019-04-19 12:47:38 -04:00
Jose Diaz-Gonzalez
b56616cdc7 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
6c2e96b37e Release 1.6.1 2019-03-28 05:25:14 -04:00
Jose Diaz-Gonzalez
d668c50abb fix: update docker-s3backup image to fix backups to s3 2019-03-28 05:23:39 -04:00
Jose Diaz-Gonzalez
c4c9f88c94 Merge pull request #174 from dokku/121-fix-alias
fix: correct issue where aliases were being generated incorrectly
2019-03-28 05:21:37 -04:00
Jose Diaz-Gonzalez
a5c60c2b07 fix: correct issue where aliases were being generated incorrectly 2019-03-27 12:18:18 -04:00
Jose Diaz-Gonzalez
589d28730f docs: update readme install instructions to point to correct dokku version 2019-03-26 11:51:12 -04:00
Jose Diaz-Gonzalez
be5d09776a Release 1.6.0 2019-03-25 14:16:17 -04:00
Jose Diaz-Gonzalez
c105f97ed5 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
dc72b8ac33 fix: pin busybox in run commands to the image we pull down 2019-03-25 13:51:15 -04:00
Jose Diaz-Gonzalez
33fbe15fc6 feat: update to latest dokku/s3backup image 2019-03-25 13:47:03 -04:00
Jose Diaz-Gonzalez
181a1a18fa feat: switch to updated wait image 2019-03-25 12:46:42 -04:00
Jose Diaz-Gonzalez
b74cb9cc9f feat: switch to updated ambassador image 2019-03-25 12:46:01 -04:00
Jose Diaz-Gonzalez
5a541fc340 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:36 -04:00
10 changed files with 89 additions and 22 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 postgres [![Build Status](https://img.shields.io/travis/dokku/dokku-postgres.svg?branch=master "Build Status")](https://travis-ci.org/dokku/dokku-postgres) [![IRC Network](https://img.shields.io/badge/irc-freenode-blue.svg "IRC Freenode")](https://webchat.freenode.net/?channels=dokku)
Official postgres plugin for dokku. Currently defaults to installing [postgres 10.4](https://hub.docker.com/_/postgres/).
Official postgres plugin for dokku. Currently defaults to installing [postgres 11.2](https://hub.docker.com/_/postgres/).
## requirements
@@ -10,7 +10,7 @@ Official postgres plugin for dokku. Currently defaults to installing [postgres 1
## installation
```shell
# on 0.4.x+
# on 0.12.x+
sudo dokku plugin:install https://github.com/dokku/dokku-postgres.git postgres
```
@@ -60,7 +60,7 @@ dokku postgres:create lolipop
# it *must* be compatible with the
# official postgres image
export POSTGRES_IMAGE="postgres"
export POSTGRES_IMAGE_VERSION="10.4"
export POSTGRES_IMAGE_VERSION="11.2"
dokku postgres:create lolipop
# you can also specify custom environment

View File

@@ -113,9 +113,10 @@ service_alternative_alias() {
for COLOR in "${COLORS[@]}"; do
ALIAS="${PLUGIN_ALT_ALIAS}_${COLOR}"
local IN_USE=$(echo "$EXISTING_CONFIG" | grep "${ALIAS}_URL")
if [[ -n $IN_USE ]]; then
unset ALIAS
if [[ -z "$IN_USE" ]]; then
break
fi
unset ALIAS
done
echo "$ALIAS"
}
@@ -185,7 +186,7 @@ service_backup() {
fi
# 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() {
@@ -604,7 +605,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" 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
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 POSTGRES_IMAGE=${POSTGRES_IMAGE:="postgres"}
export POSTGRES_IMAGE_VERSION=${POSTGRES_IMAGE_VERSION:="10.4"}
export POSTGRES_IMAGE_VERSION=${POSTGRES_IMAGE_VERSION:="11.2"}
export POSTGRES_ROOT=${POSTGRES_ROOT:="$DOKKU_LIB_ROOT/services/postgres"}
export POSTGRES_HOST_ROOT=${POSTGRES_HOST_ROOT:=$POSTGRES_ROOT}

View File

@@ -71,7 +71,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" 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_verbose_quiet "Creating container database"
DATABASE_NAME="$(get_database_name "$SERVICE")"
@@ -81,7 +81,7 @@ service_create_container() {
service_stop "$SERVICE" > /dev/null
docker run --rm -i -v "$SERVICE_HOST_ROOT/data:/var/lib/postgresql/data" "$PLUGIN_IMAGE:$PLUGIN_IMAGE_VERSION" bash -s < "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/scripts/enable_ssl.sh" &> /dev/null
PREVIOUS_ID=$(docker ps -f status=exited --no-trunc | grep -e "$SERVICE_NAME$" | awk '{print $1}') || true
PREVIOUS_ID=$(docker ps -aq --no-trunc --filter "status=exited" --filter "name=^/$SERVICE_NAME$" --format '{{ .ID }}') || true
docker start "$PREVIOUS_ID" > /dev/null
service_port_unpause "$SERVICE"
@@ -122,14 +122,14 @@ service_start() {
local QUIET="$2"
local SERVICE_ROOT="$PLUGIN_DATA_ROOT/$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
[[ -z $QUIET ]] && dokku_log_warn "Service is already started"
return 0
fi
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 PASSWORD="$(cat "$SERVICE_ROOT/PASSWORD")"
if [[ -n $PREVIOUS_ID ]]; then

View File

@@ -16,10 +16,10 @@ plugin-install() {
}
pull-docker-image "${PLUGIN_IMAGE}:${PLUGIN_IMAGE_VERSION}"
pull-docker-image "svendowideit/ambassador:latest"
pull-docker-image "dokkupaas/wait:0.2"
pull-docker-image "dokkupaas/s3backup:0.8.0"
pull-docker-image "busybox:latest"
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"
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 postgres service plugin"
version = "1.5.0"
version = "1.6.2"
[plugin.config]

View File

@@ -42,7 +42,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 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"
dokku_log_info2 "$PLUGIN_SERVICE container deleted: $SERVICE"

View File

@@ -3,14 +3,17 @@ load test_helper
setup() {
dokku "$PLUGIN_COMMAND_PREFIX:create" l
dokku "$PLUGIN_COMMAND_PREFIX:create" m
dokku apps:create my_app
}
teardown() {
dokku --force "$PLUGIN_COMMAND_PREFIX:destroy" m
dokku --force "$PLUGIN_COMMAND_PREFIX:destroy" l
dokku --force apps:destroy my_app
}
@test "($PLUGIN_COMMAND_PREFIX:link) error when there are no arguments" {
run dokku "$PLUGIN_COMMAND_PREFIX:link"
echo "output: $output"
@@ -69,8 +72,14 @@ teardown() {
dokku config:set my_app DATABASE_URL=postgres://user:pass@host:5432/db
dokku "$PLUGIN_COMMAND_PREFIX:link" l my_app
run dokku config my_app
assert_contains "${lines[*]}" "DOKKU_POSTGRES_"
assert_contains "${lines[*]}" "DOKKU_POSTGRES_AQUA_URL"
assert_success
dokku "$PLUGIN_COMMAND_PREFIX:link" m my_app
run dokku config my_app
assert_contains "${lines[*]}" "DOKKU_POSTGRES_BLACK_URL"
assert_success
dokku "$PLUGIN_COMMAND_PREFIX:unlink" m 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" {
run dokku "$PLUGIN_COMMAND_PREFIX:list"
assert_contains "${lines[*]}" "l postgres:10.4 running - -"
assert_contains "${lines[*]}" "l postgres:11.2 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 postgres:10.4 running 5432->4242 -"
assert_contains "${lines[*]}" "l postgres:11.2 running 5432->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 postgres:10.4 running - my_app"
assert_contains "${lines[*]}" "l postgres:11.2 running - my_app"
dokku --force apps:destroy my_app
}