Compare commits

...

17 Commits

Author SHA1 Message Date
Jose Diaz-Gonzalez
c7231ffb90 Release 1.20.3 2022-07-06 01:49:02 -04:00
Jose Diaz-Gonzalez
20164dca78 fix: ensure the new service does not exist when cloning an existing service 2022-07-06 01:47:31 -04:00
Jose Diaz-Gonzalez
78c2d69811 Release 1.20.2 2022-07-06 01:38:16 -04:00
Jose Diaz-Gonzalez
f311936216 fix: ensure we check if the service exists before entering it 2022-07-06 01:36:40 -04:00
Jose Diaz-Gonzalez
5c5fd31e36 Release 1.20.1 2022-07-05 22:21:06 -04:00
Jose Diaz-Gonzalez
a6a603c571 Release 1.20.0 2022-07-05 22:18:23 -04:00
Jose Diaz-Gonzalez
7d535eedcb Merge pull request #254 from dokku/dependabot/docker/postgres-14.4
chore(deps): bump postgres from 14.2 to 14.4
2022-07-05 22:18:07 -04:00
dependabot[bot]
b6658bd6f3 chore(deps): bump postgres from 14.2 to 14.4
Bumps postgres from 14.2 to 14.4.

---
updated-dependencies:
- dependency-name: postgres
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-22 02:13:35 +00:00
Jose Diaz-Gonzalez
71840d6a65 Merge pull request #247 from erickedji/patch-1
Extend server certificate validity to 1000 years
2022-05-11 22:42:31 -04:00
Jose Diaz-Gonzalez
7ca117f72e Merge pull request #248 from dokku/dependabot/docker/postgres-14.2
chore(deps): bump postgres from 14.1 to 14.2
2022-05-11 22:42:14 -04:00
dependabot[bot]
7a75ce83a1 chore(deps): bump postgres from 14.1 to 14.2
Bumps postgres from 14.1 to 14.2.

---
updated-dependencies:
- dependency-name: postgres
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-14 02:14:06 +00:00
Jose Diaz-Gonzalez
e0e32d268e Release 1.19.3 2022-02-03 10:31:12 -05:00
Jose Diaz-Gonzalez
c22a2c5bca fix: always chown the image files 2022-02-03 10:30:27 -05:00
Jose Diaz-Gonzalez
760c21b044 docs: clarify unit for container memory limit 2022-01-22 04:31:53 -05:00
Jose Diaz-Gonzalez
1f0cdba967 Release 1.19.2 2022-01-22 04:24:34 -05:00
Jose Diaz-Gonzalez
0d4a6bc320 fix: ensure service config files are owned by the dokku system user
Refs dokku/dokku-postgres#245
2022-01-22 04:23:53 -05:00
Komlan Akpédjé KEDJI
6fb12698f1 Extend server certificate validity to 1000 years
It is a self-signed, therefore not providing authentication, only traffic encryption.
The default validity (30 days) is too short.
As there is no auto-renewal mechanism, a longer default period is appropriate.
2022-01-15 10:23:50 +01:00
9 changed files with 25 additions and 10 deletions

View File

@@ -1 +1 @@
FROM postgres:14.1 FROM postgres:14.4

View File

@@ -1,6 +1,6 @@
# dokku postgres [![Build Status](https://img.shields.io/github/workflow/status/dokku/dokku-postgres/CI/master?style=flat-square "Build Status")](https://github.com/dokku/dokku-postgres/actions/workflows/ci.yml?query=branch%3Amaster) [![IRC Network](https://img.shields.io/badge/irc-libera-blue.svg?style=flat-square "IRC Libera")](https://webchat.libera.chat/?channels=dokku) # dokku postgres [![Build Status](https://img.shields.io/github/workflow/status/dokku/dokku-postgres/CI/master?style=flat-square "Build Status")](https://github.com/dokku/dokku-postgres/actions/workflows/ci.yml?query=branch%3Amaster) [![IRC Network](https://img.shields.io/badge/irc-libera-blue.svg?style=flat-square "IRC Libera")](https://webchat.libera.chat/?channels=dokku)
Official postgres plugin for dokku. Currently defaults to installing [postgres 14.1](https://hub.docker.com/_/postgres/). Official postgres plugin for dokku. Currently defaults to installing [postgres 14.4](https://hub.docker.com/_/postgres/).
## Requirements ## Requirements
@@ -69,7 +69,7 @@ flags:
- `-C|--custom-env "USER=alpha;HOST=beta"`: semi-colon delimited environment variables to start the service with - `-C|--custom-env "USER=alpha;HOST=beta"`: semi-colon delimited environment variables to start the service with
- `-i|--image IMAGE`: the image name to start the service with - `-i|--image IMAGE`: the image name to start the service with
- `-I|--image-version IMAGE_VERSION`: the image version to start the service with - `-I|--image-version IMAGE_VERSION`: the image version to start the service with
- `-m|--memory MEMORY`: container memory limit (default: unlimited) - `-m|--memory MEMORY`: container memory limit in megabytes (default: unlimited)
- `-p|--password PASSWORD`: override the user-level service password - `-p|--password PASSWORD`: override the user-level service password
- `-r|--root-password PASSWORD`: override the root-level service password - `-r|--root-password PASSWORD`: override the root-level service password
- `-s|--shm-size SHM_SIZE`: override shared memory size for postgres docker container - `-s|--shm-size SHM_SIZE`: override shared memory size for postgres docker container
@@ -478,7 +478,7 @@ flags:
- `-C|--custom-env "USER=alpha;HOST=beta"`: semi-colon delimited environment variables to start the service with - `-C|--custom-env "USER=alpha;HOST=beta"`: semi-colon delimited environment variables to start the service with
- `-i|--image IMAGE`: the image name to start the service with - `-i|--image IMAGE`: the image name to start the service with
- `-I|--image-version IMAGE_VERSION`: the image version to start the service with - `-I|--image-version IMAGE_VERSION`: the image version to start the service with
- `-m|--memory MEMORY`: container memory limit (default: unlimited) - `-m|--memory MEMORY`: container memory limit in megabytes (default: unlimited)
- `-p|--password PASSWORD`: override the user-level service password - `-p|--password PASSWORD`: override the user-level service password
- `-r|--root-password PASSWORD`: override the root-level service password - `-r|--root-password PASSWORD`: override the root-level service password
- `-s|--shm-size SHM_SIZE`: override shared memory size for postgres docker container - `-s|--shm-size SHM_SIZE`: override shared memory size for postgres docker container

View File

@@ -411,6 +411,14 @@ service_enter() {
docker exec $DOKKU_RUN_OPTS $ID $EXEC_CMD "${@:-/bin/bash}" docker exec $DOKKU_RUN_OPTS $ID $EXEC_CMD "${@:-/bin/bash}"
} }
service_exists() {
declare desc="returns 0 or 1 depending on whether service exists or not"
declare SERVICE="$1"
[[ -z "$SERVICE" ]] && return 1
[[ -d "$PLUGIN_DATA_ROOT/$SERVICE" ]] && return 0
return 1
}
service_exposed_ports() { service_exposed_ports() {
declare desc="list exposed ports for a service" declare desc="list exposed ports for a service"
declare SERVICE="$1" declare SERVICE="$1"

View File

@@ -24,10 +24,10 @@ plugin-install() {
pull-docker-image "$PLUGIN_WAIT_IMAGE" pull-docker-image "$PLUGIN_WAIT_IMAGE"
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_SYSTEM_USER}:${DOKKU_SYSTEM_GROUP}" "$PLUGIN_DATA_ROOT"
mkdir -p "$PLUGIN_CONFIG_ROOT" || echo "Failed to create $PLUGIN_SERVICE config directory" mkdir -p "$PLUGIN_CONFIG_ROOT" || echo "Failed to create $PLUGIN_SERVICE config directory"
chown dokku:dokku "$PLUGIN_CONFIG_ROOT" chown "${DOKKU_SYSTEM_USER}:${DOKKU_SYSTEM_GROUP}" "$PLUGIN_CONFIG_ROOT"
rm -f "/etc/sudoers.d/dokku-${PLUGIN_COMMAND_PREFIX}*" rm -f "/etc/sudoers.d/dokku-${PLUGIN_COMMAND_PREFIX}*"
_SUDOERS_FILE="/etc/sudoers.d/dokku-${PLUGIN_COMMAND_PREFIX}" _SUDOERS_FILE="/etc/sudoers.d/dokku-${PLUGIN_COMMAND_PREFIX}"
@@ -56,8 +56,11 @@ EOL
fi fi
fi fi
chown "${DOKKU_SYSTEM_USER}:${DOKKU_SYSTEM_GROUP}" "$SERVICE_ROOT/IMAGE" "$SERVICE_ROOT/IMAGE_VERSION"
if [[ -f "$SERVICE_ROOT/${PLUGIN_VARIABLE}_CONFIG_OPTIONS" ]]; then if [[ -f "$SERVICE_ROOT/${PLUGIN_VARIABLE}_CONFIG_OPTIONS" ]]; then
mv "$SERVICE_ROOT/${PLUGIN_VARIABLE}_CONFIG_OPTIONS" "$SERVICE_ROOT/CONFIG_OPTIONS" mv "$SERVICE_ROOT/${PLUGIN_VARIABLE}_CONFIG_OPTIONS" "$SERVICE_ROOT/CONFIG_OPTIONS"
chown "${DOKKU_SYSTEM_USER}:${DOKKU_SYSTEM_GROUP}" "$SERVICE_ROOT/CONFIG_OPTIONS"
fi fi
done done
} }

View File

@@ -1,4 +1,4 @@
[plugin] [plugin]
description = "dokku postgres service plugin" description = "dokku postgres service plugin"
version = "1.19.1" version = "1.20.3"
[plugin.config] [plugin.config]

View File

@@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash
pushd /var/lib/postgresql/data >/dev/null pushd /var/lib/postgresql/data >/dev/null
openssl req -new -newkey rsa:4096 -x509 -nodes -out server.crt -keyout server.key -batch openssl req -new -newkey rsa:4096 -x509 -days 365000 -nodes -out server.crt -keyout server.key -batch
chmod 600 server.key chmod 600 server.key
sed -i "s/^#ssl = off/ssl = on/" postgresql.conf sed -i "s/^#ssl = off/ssl = on/" postgresql.conf
sed -i "s/^#ssl_ciphers =.*/ssl_ciphers = 'AES256+EECDH:AES256+EDH'/" postgresql.conf sed -i "s/^#ssl_ciphers =.*/ssl_ciphers = 'AES256+EECDH:AES256+EDH'/" postgresql.conf

View File

@@ -14,7 +14,7 @@ service-clone-cmd() {
#F -C|--custom-env "USER=alpha;HOST=beta", semi-colon delimited environment variables to start the service with #F -C|--custom-env "USER=alpha;HOST=beta", semi-colon delimited environment variables to start the service with
#F -i|--image IMAGE, the image name to start the service with #F -i|--image IMAGE, the image name to start the service with
#F -I|--image-version IMAGE_VERSION, the image version to start the service with #F -I|--image-version IMAGE_VERSION, the image version to start the service with
#F -m|--memory MEMORY, container memory limit (default: unlimited) #F -m|--memory MEMORY, container memory limit in megabytes (default: unlimited)
#F -p|--password PASSWORD, override the user-level service password #F -p|--password PASSWORD, override the user-level service password
#F -r|--root-password PASSWORD, override the root-level service password #F -r|--root-password PASSWORD, override the root-level service password
#F -s|--shm-size SHM_SIZE, override shared memory size for $PLUGIN_COMMAND_PREFIX docker container #F -s|--shm-size SHM_SIZE, override shared memory size for $PLUGIN_COMMAND_PREFIX docker container
@@ -27,6 +27,9 @@ service-clone-cmd() {
[[ -z "$SERVICE" ]] && dokku_log_fail "Please specify a valid name for the service" [[ -z "$SERVICE" ]] && dokku_log_fail "Please specify a valid name for the service"
[[ -z "$NEW_SERVICE" ]] && dokku_log_fail "Please specify a name for the new service" [[ -z "$NEW_SERVICE" ]] && dokku_log_fail "Please specify a name for the new service"
verify_service_name "$SERVICE" verify_service_name "$SERVICE"
if service_exists "$NEW_SERVICE"; then
dokku_log_fail "Invalid service name $NEW_SERVICE. Verify the service name is not already in use."
fi
local SERVICE_ROOT="$PLUGIN_DATA_ROOT/$SERVICE" local SERVICE_ROOT="$PLUGIN_DATA_ROOT/$SERVICE"
local ID="$(cat "$SERVICE_ROOT/ID")" local ID="$(cat "$SERVICE_ROOT/ID")"

View File

@@ -22,7 +22,7 @@ service-create-cmd() {
#F -C|--custom-env "USER=alpha;HOST=beta", semi-colon delimited environment variables to start the service with #F -C|--custom-env "USER=alpha;HOST=beta", semi-colon delimited environment variables to start the service with
#F -i|--image IMAGE, the image name to start the service with #F -i|--image IMAGE, the image name to start the service with
#F -I|--image-version IMAGE_VERSION, the image version to start the service with #F -I|--image-version IMAGE_VERSION, the image version to start the service with
#F -m|--memory MEMORY, container memory limit (default: unlimited) #F -m|--memory MEMORY, container memory limit in megabytes (default: unlimited)
#F -p|--password PASSWORD, override the user-level service password #F -p|--password PASSWORD, override the user-level service password
#F -r|--root-password PASSWORD, override the root-level service password #F -r|--root-password PASSWORD, override the root-level service password
#F -s|--shm-size SHM_SIZE, override shared memory size for $PLUGIN_COMMAND_PREFIX docker container #F -s|--shm-size SHM_SIZE, override shared memory size for $PLUGIN_COMMAND_PREFIX docker container

View File

@@ -20,6 +20,7 @@ service-enter-cmd() {
declare SERVICE="$1" declare SERVICE="$1"
dokku_log_info1_quiet "Filesystem changes may not persist after container restarts" dokku_log_info1_quiet "Filesystem changes may not persist after container restarts"
verify_service_name "$SERVICE"
service_enter "$SERVICE" "${@:2}" service_enter "$SERVICE" "${@:2}"
} }