Compare commits

..

38 Commits

Author SHA1 Message Date
Jose Diaz-Gonzalez
e9fad47842 Release 1.37.0
Some checks failed
tagged-release / tagged-release (push) Has been cancelled
2024-06-30 13:47:39 -04:00
Jose Diaz-Gonzalez
9258d77b12 Merge pull request #318 from dokku/dependabot/docker/postgres-16.3
chore(deps): bump postgres from 16.2 to 16.3
2024-06-30 13:47:31 -04:00
dependabot[bot]
f4698b1e5f chore(deps): bump postgres from 16.2 to 16.3
Bumps postgres from 16.2 to 16.3.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-29 07:51:38 +00:00
Jose Diaz-Gonzalez
f07d950cd9 Merge pull request #320 from dokku/exclude-SC1091
tests: exclude SC1091 from shellcheck rules
2024-06-29 03:49:00 -04:00
Jose Diaz-Gonzalez
7bca464cd6 tests: exclude SC1091 from shellcheck rules 2024-06-29 03:44:58 -04:00
Jose Diaz-Gonzalez
d40e7c7619 Merge pull request #319 from dokku/fix-tests
fix: use .DNSNames instead of .Aliases in tests
2024-06-29 03:41:06 -04:00
Jose Diaz-Gonzalez
5822176870 fix: use .DNSNames instead of .Aliases in tests
Docker has changed their output in an unclear manner, but this is the correct way to check for what dns records are available for usage by apps.
2024-06-29 03:25:41 -04:00
Jose Diaz-Gonzalez
13e46bafcf Release 1.36.4
Some checks failed
tagged-release / tagged-release (push) Has been cancelled
2024-03-06 02:09:58 -05:00
Jose Diaz-Gonzalez
10fa2ebd35 Merge pull request #313 from dokku/dependabot/docker/postgres-16.2
chore(deps): bump postgres from 16.1 to 16.2
2024-03-06 02:09:48 -05:00
dependabot[bot]
151176e142 chore(deps): bump postgres from 16.1 to 16.2
Bumps postgres from 16.1 to 16.2.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-13 02:11:05 +00:00
Jose Diaz-Gonzalez
1110b7a560 Release 1.36.3
Some checks failed
tagged-release / tagged-release (push) Has been cancelled
2024-01-29 10:10:07 -05:00
Jose Diaz-Gonzalez
e907c8c218 fix: use correct repository on arm64 ubuntu image 2024-01-29 10:09:17 -05:00
Jose Diaz-Gonzalez
09a7cb820b Release 1.36.2
Some checks failed
tagged-release / tagged-release (push) Has been cancelled
2024-01-29 10:07:05 -05:00
Jose Diaz-Gonzalez
d6976a5290 Merge pull request #312 from dokku/dependabot/github_actions/actions/upload-artifact-4
chore(deps): bump actions/upload-artifact from 3 to 4
2023-12-19 00:25:07 -05:00
dependabot[bot]
453e4993b9 chore(deps): bump actions/upload-artifact from 3 to 4
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3 to 4.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-15 03:02:33 +00:00
Jose Diaz-Gonzalez
3bac8ed944 Release 1.36.1
Some checks failed
tagged-release / tagged-release (push) Has been cancelled
2023-12-09 23:56:11 -05:00
Jose Diaz-Gonzalez
d956ded91c docs: update docs and generation script 2023-12-09 23:55:46 -05:00
Jose Diaz-Gonzalez
2fd010d955 chore: fix typo 2023-12-09 13:51:12 -05:00
Jose Diaz-Gonzalez
b2eb07f839 chore: fix typo 2023-12-09 13:48:47 -05:00
Jose Diaz-Gonzalez
f8c688cce0 Merge pull request #307 from dokku/dependabot/docker/postgres-16.1
chore(deps): bump postgres from 16.0 to 16.1
2023-12-09 13:48:01 -05:00
Jose Diaz-Gonzalez
f6817bdb3a Merge pull request #310 from dokku/dependabot/github_actions/actions/setup-python-5
chore(deps): bump actions/setup-python from 4 to 5
2023-12-09 13:47:50 -05:00
dependabot[bot]
46eac4e22c chore(deps): bump actions/setup-python from 4 to 5
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4 to 5.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-07 02:13:56 +00:00
dependabot[bot]
9263eb6505 chore(deps): bump postgres from 16.0 to 16.1
Bumps postgres from 16.0 to 16.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-15 02:11:29 +00:00
Jose Diaz-Gonzalez
fb0bcb4921 Release 1.36.0
Some checks failed
tagged-release / tagged-release (push) Has been cancelled
2023-10-04 10:43:01 -04:00
Jose Diaz-Gonzalez
c587d70c49 Merge pull request #304 from dokku/dependabot/docker/postgres-16.0
chore(deps): bump postgres from 15.4 to 16.0
2023-10-04 10:42:36 -04:00
dependabot[bot]
b7f22a3904 chore(deps): bump postgres from 15.4 to 16.0
Bumps postgres from 15.4 to 16.0.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-18 02:35:00 +00:00
Jose Diaz-Gonzalez
777fc95818 Release 1.35.0
Some checks failed
tagged-release / tagged-release (push) Has been cancelled
2023-09-09 22:39:55 -04:00
Jose Diaz-Gonzalez
9bf3b5bb58 Merge pull request #302 from dokku/dependabot/github_actions/actions/checkout-4
chore(deps): bump actions/checkout from 3 to 4
2023-09-07 00:03:19 -04:00
dependabot[bot]
daea399ffd chore(deps): bump actions/checkout from 3 to 4
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-07 03:15:45 +00:00
Jose Diaz-Gonzalez
b81b8d7a00 Merge pull request #303 from dokku/newer-ubuntu
feat: upgrade test suite from ubuntu 20.04 to 22.04
2023-09-06 23:15:25 -04:00
Jose Diaz-Gonzalez
4557c96858 feat: upgrade test suite from ubuntu 20.04 to 22.04 2023-09-06 22:37:21 -04:00
Jose Diaz-Gonzalez
201eac3809 Release 1.34.2
Some checks failed
tagged-release / tagged-release (push) Has been cancelled
2023-08-20 12:27:33 -04:00
Jose Diaz-Gonzalez
965696813b Merge pull request #301 from danielfornarini/fix/postgres-create-with-docker
Fix postgres:create when running inside a docker container
2023-08-20 12:27:22 -04:00
Jose Diaz-Gonzalez
3a676c2549 Release 1.34.1
Some checks failed
tagged-release / tagged-release (push) Has been cancelled
2023-08-16 22:36:09 -04:00
Jose Diaz-Gonzalez
11fef8aec9 Merge pull request #300 from dokku/dependabot/docker/postgres-15.4
chore(deps): bump postgres from 15.3 to 15.4
2023-08-16 22:35:55 -04:00
Piero Dotti
23c11bfddd fix(service_create_container): using SERVICE_ROOT instead of SERVICE_HOST_ROOT when creating the ssl certs
Since the script create_ssl_certs.sh is executed from inside the container, the directory is not the host one, but the container one.
2023-08-16 14:16:58 +02:00
dependabot[bot]
1af6da45e9 chore(deps): bump postgres from 15.3 to 15.4
Bumps postgres from 15.3 to 15.4.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-14 02:41:35 +00:00
Jose Diaz-Gonzalez
bfc0f18759 Release 1.34.0
Some checks failed
tagged-release / tagged-release (push) Has been cancelled
2023-05-28 01:00:01 -04:00
17 changed files with 227 additions and 81 deletions

View File

@@ -17,16 +17,16 @@ concurrency:
jobs: jobs:
unit-tests-master: unit-tests-master:
name: unit-tests name: unit-tests
runs-on: ubuntu-20.04 runs-on: ubuntu-22.04
env: env:
DOKKU_VERSION: master DOKKU_VERSION: master
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v4
with: with:
fetch-depth: 0 fetch-depth: 0
- uses: actions/setup-python@v4 - uses: actions/setup-python@v5
with: with:
python-version: '3.7.x' python-version: '3.7.x'
@@ -51,7 +51,7 @@ jobs:
- run: make test - run: make test
- uses: actions/upload-artifact@v3 - uses: actions/upload-artifact@v4
if: failure() if: failure()
with: with:
name: tmp/test-results name: tmp/test-results
@@ -59,16 +59,16 @@ jobs:
unit-tests-0_19_0: unit-tests-0_19_0:
name: unit-tests-0.19.0 name: unit-tests-0.19.0
runs-on: ubuntu-20.04 runs-on: ubuntu-22.04
env: env:
DOKKU_TAG: v0.19.0 DOKKU_TAG: v0.19.0
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v4
with: with:
fetch-depth: 0 fetch-depth: 0
- uses: actions/setup-python@v4 - uses: actions/setup-python@v5
with: with:
python-version: '3.7.x' python-version: '3.7.x'
@@ -93,7 +93,7 @@ jobs:
- run: make test - run: make test
- uses: actions/upload-artifact@v3 - uses: actions/upload-artifact@v4
if: failure() if: failure()
with: with:
name: tmp/test-results name: tmp/test-results

View File

@@ -10,7 +10,7 @@ on:
jobs: jobs:
tagged-release: tagged-release:
name: tagged-release name: tagged-release
runs-on: ubuntu-20.04 runs-on: ubuntu-22.04
steps: steps:
- uses: "marvinpinto/action-automatic-releases@v1.2.1" - uses: "marvinpinto/action-automatic-releases@v1.2.1"

View File

@@ -1 +1 @@
FROM postgres:15.3 FROM postgres:16.3

View File

@@ -1,5 +1,6 @@
HARDWARE = $(shell uname -m) HARDWARE = $(shell uname -m)
SYSTEM_NAME = $(shell uname -s | tr '[:upper:]' '[:lower:]') SYSTEM_NAME = $(shell uname -s | tr '[:upper:]' '[:lower:]')
ARCH = $(shell dpkg --print-architecture)
SHFMT_VERSION = 3.0.2 SHFMT_VERSION = 3.0.2
XUNIT_TO_GITHUB_VERSION = 0.3.0 XUNIT_TO_GITHUB_VERSION = 0.3.0
XUNIT_READER_VERSION = 0.1.0 XUNIT_READER_VERSION = 0.1.0
@@ -21,7 +22,11 @@ ifneq ($(shell shellcheck --version >/dev/null 2>&1 ; echo $$?),0)
ifeq ($(SYSTEM_NAME),darwin) ifeq ($(SYSTEM_NAME),darwin)
brew install shellcheck brew install shellcheck
else else
sudo add-apt-repository 'deb http://archive.ubuntu.com/ubuntu trusty-backports main restricted universe multiverse' ifeq ($(ARCH),arm64)
sudo add-apt-repository 'deb http://ports.ubuntu.com/ubuntu-ports jammy-backports main restricted universe multiverse'
else
sudo add-apt-repository 'deb http://archive.ubuntu.com/ubuntu jammy-backports main restricted universe multiverse'
endif
sudo rm -rf /var/lib/apt/lists/* && sudo apt-get clean sudo rm -rf /var/lib/apt/lists/* && sudo apt-get clean
sudo apt-get update -qq && sudo apt-get install -qq -y shellcheck sudo apt-get update -qq && sudo apt-get install -qq -y shellcheck
endif endif

View File

@@ -1,6 +1,6 @@
# dokku postgres [![Build Status](https://img.shields.io/github/actions/workflow/status/dokku/dokku-postgres/ci.yml?branch=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/actions/workflow/status/dokku/dokku-postgres/ci.yml?branch=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 15.3](https://hub.docker.com/_/postgres/). Official postgres plugin for dokku. Currently defaults to installing [postgres 16.2](https://hub.docker.com/_/postgres/).
## Requirements ## Requirements
@@ -74,9 +74,9 @@ flags:
- `-m|--memory MEMORY`: container memory limit in megabytes (default: unlimited) - `-m|--memory MEMORY`: container memory limit in megabytes (default: unlimited)
- `-N|--initial-network INITIAL_NETWORK`: the initial network to attach the service to - `-N|--initial-network INITIAL_NETWORK`: the initial network to attach the service to
- `-p|--password PASSWORD`: override the user-level service password - `-p|--password PASSWORD`: override the user-level service password
- `-P|--post-create-network NETWORKS`: a comman-separated list of networks to attach the service container to after service creation - `-P|--post-create-network NETWORKS`: a comma-separated list of networks to attach the service container to after service creation
- `-r|--root-password PASSWORD`: override the root-level service password - `-r|--root-password PASSWORD`: override the root-level service password
- `-S|--post-start-network NETWORKS`: a comman-separated list of networks to attach the service container to after service start - `-S|--post-start-network NETWORKS`: a comma-separated list of networks to attach the service container to after service start
- `-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
Create a postgres service named lollipop: Create a postgres service named lollipop:
@@ -93,7 +93,7 @@ export POSTGRES_IMAGE_VERSION="${PLUGIN_IMAGE_VERSION}"
dokku postgres:create lollipop dokku postgres:create lollipop
``` ```
You can also specify custom environment variables to start the postgres service in semi-colon separated form. You can also specify custom environment variables to start the postgres service in semicolon-separated form.
```shell ```shell
export POSTGRES_CUSTOM_ENV="USER=alpha;HOST=beta" export POSTGRES_CUSTOM_ENV="USER=alpha;HOST=beta"
@@ -463,9 +463,9 @@ flags:
- `-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
- `-N|--initial-network INITIAL_NETWORK`: the initial network to attach the service to - `-N|--initial-network INITIAL_NETWORK`: the initial network to attach the service to
- `-P|--post-create-network NETWORKS`: a comman-separated list of networks to attach the service container to after service creation - `-P|--post-create-network NETWORKS`: a comma-separated list of networks to attach the service container to after service creation
- `-R|--restart-apps "true"`: whether or not to force an app restart (default: false) - `-R|--restart-apps "true"`: whether or not to force an app restart (default: false)
- `-S|--post-start-network NETWORKS`: a comman-separated list of networks to attach the service container to after service start - `-S|--post-start-network NETWORKS`: a comma-separated list of networks to attach the service container to after service start
- `-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
You can upgrade an existing service to a new image or image-version: You can upgrade an existing service to a new image or image-version:
@@ -538,9 +538,9 @@ flags:
- `-m|--memory MEMORY`: container memory limit in megabytes (default: unlimited) - `-m|--memory MEMORY`: container memory limit in megabytes (default: unlimited)
- `-N|--initial-network INITIAL_NETWORK`: the initial network to attach the service to - `-N|--initial-network INITIAL_NETWORK`: the initial network to attach the service to
- `-p|--password PASSWORD`: override the user-level service password - `-p|--password PASSWORD`: override the user-level service password
- `-P|--post-create-network NETWORKS`: a comman-separated list of networks to attach the service container to after service creation - `-P|--post-create-network NETWORKS`: a comma-separated list of networks to attach the service container to after service creation
- `-r|--root-password PASSWORD`: override the root-level service password - `-r|--root-password PASSWORD`: override the root-level service password
- `-S|--post-start-network NETWORKS`: a comman-separated list of networks to attach the service container to after service start - `-S|--post-start-network NETWORKS`: a comma-separated list of networks to attach the service container to after service start
- `-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
You can clone an existing service to a new one: You can clone an existing service to a new one:

2
Vagrantfile vendored
View File

@@ -1,7 +1,7 @@
# -*- mode: ruby -*- # -*- mode: ruby -*-
# vi: set ft=ruby : # vi: set ft=ruby :
BOX_NAME = ENV["BOX_NAME"] || "bento/ubuntu-20.04" BOX_NAME = ENV["BOX_NAME"] || "bento/ubuntu-22.04"
BOX_MEMORY = ENV["BOX_MEMORY"] || "2048" BOX_MEMORY = ENV["BOX_MEMORY"] || "2048"
DOKKU_VERSION = "master" DOKKU_VERSION = "master"

View File

@@ -1,15 +1,30 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
from __future__ import print_function from __future__ import print_function
import os import os
import re import re
def compile(service, version, variable, alias, image, scheme, ports, sponsors, options, unimplemented, dokku_version): def compile(
prefix = "\n\n".join([ service,
version,
variable,
alias,
image,
scheme,
ports,
sponsors,
options,
unimplemented,
dokku_version,
):
prefix = "\n\n".join(
[
header(service), header(service),
description(service, image, version), description(service, image, version),
]) ]
)
if len(sponsors) > 0: if len(sponsors) > 0:
prefix += "\n\n" prefix += "\n\n"
@@ -21,8 +36,19 @@ def compile(service, version, variable, alias, image, scheme, ports, sponsors, o
prefix, prefix,
requirements_section(dokku_version), requirements_section(dokku_version),
installation_section(service, dokku_version), installation_section(service, dokku_version),
commands_section(service, variable, alias, image, scheme, ports, unimplemented), commands_section(
usage_section(service, variable, alias, image, scheme, ports, options, unimplemented), service, variable, alias, image, scheme, ports, unimplemented
),
usage_section(
service,
variable,
alias,
image,
scheme,
ports,
options,
unimplemented,
),
] ]
) )
.replace("\n\n\n\n\n", "\n") .replace("\n\n\n\n\n", "\n")
@@ -55,17 +81,25 @@ def sponsors_section(service, sponsors):
if len(sponsors) == 0: if len(sponsors) == 0:
return "" return ""
sponsor_data = ["## Sponsors", "", f"The {service} plugin was generously sponsored by the following:", ""] sponsor_data = [
"## Sponsors",
"",
f"The {service} plugin was generously sponsored by the following:",
"",
]
sponsor_data.extend([f"- [{s}](https://github.com/{s})" for s in sponsors]) sponsor_data.extend([f"- [{s}](https://github.com/{s})" for s in sponsors])
return "\n".join( return "\n".join(sponsor_data)
sponsor_data
)
def requirements_section(dokku_version): def requirements_section(dokku_version):
return "\n".join( return "\n".join(
["## Requirements", "", f"- dokku {dokku_version}", "- docker 1.8.x",] [
"## Requirements",
"",
f"- dokku {dokku_version}",
"- docker 1.8.x",
]
) )
@@ -115,17 +149,31 @@ def commands_section(service, variable, alias, image, scheme, ports, unimplement
return "\n".join(content) return "\n".join(content)
def usage_section(service, variable, alias, image, scheme, ports, options, unimplemented): def usage_section(
service, variable, alias, image, scheme, ports, options, unimplemented
):
return "\n\n".join( return "\n\n".join(
[ [
"## Usage", "## Usage",
f"Help for any commands can be displayed by specifying the command as an argument to {service}:help. Plugin help output in conjunction with any files in the `docs/` folder is used to generate the plugin documentation. Please consult the `{service}:help` command for any undocumented commands.", f"Help for any commands can be displayed by specifying the command as an argument to {service}:help. Plugin help output in conjunction with any files in the `docs/` folder is used to generate the plugin documentation. Please consult the `{service}:help` command for any undocumented commands.",
usage_intro(service, variable, alias, image, scheme, ports, options, unimplemented), usage_intro(
usage_lifecycle(service, variable, alias, image, scheme, ports, options, unimplemented), service, variable, alias, image, scheme, ports, options, unimplemented
usage_automation(service, variable, alias, image, scheme, ports, options, unimplemented), ),
usage_data_management(service, variable, alias, image, scheme, ports, options, unimplemented), usage_lifecycle(
usage_backup(service, variable, alias, image, scheme, ports, options, unimplemented), service, variable, alias, image, scheme, ports, options, unimplemented
usage_docker_pull(service, variable, alias, image, scheme, ports, options, unimplemented), ),
usage_automation(
service, variable, alias, image, scheme, ports, options, unimplemented
),
usage_data_management(
service, variable, alias, image, scheme, ports, options, unimplemented
),
usage_backup(
service, variable, alias, image, scheme, ports, options, unimplemented
),
usage_docker_pull(
service, variable, alias, image, scheme, ports, options, unimplemented
),
] ]
) )
@@ -135,11 +183,22 @@ def usage_intro(service, variable, alias, image, scheme, ports, options, unimple
content = ["### Basic Usage"] content = ["### Basic Usage"]
return fetch_commands_content( return fetch_commands_content(
service, variable, alias, image, scheme, ports, options, unimplemented, commands, content service,
variable,
alias,
image,
scheme,
ports,
options,
unimplemented,
commands,
content,
) )
def usage_lifecycle(service, variable, alias, image, scheme, ports, options, unimplemented): def usage_lifecycle(
service, variable, alias, image, scheme, ports, options, unimplemented
):
commands = [ commands = [
"connect", "connect",
"enter", "enter",
@@ -160,11 +219,22 @@ def usage_lifecycle(service, variable, alias, image, scheme, ports, options, uni
] ]
return fetch_commands_content( return fetch_commands_content(
service, variable, alias, image, scheme, ports, options, unimplemented, commands, content service,
variable,
alias,
image,
scheme,
ports,
options,
unimplemented,
commands,
content,
) )
def usage_automation(service, variable, alias, image, scheme, ports, options, unimplemented): def usage_automation(
service, variable, alias, image, scheme, ports, options, unimplemented
):
commands = ["app-links", "clone", "exists", "linked", "links"] commands = ["app-links", "clone", "exists", "linked", "links"]
content = [ content = [
"### Service Automation", "### Service Automation",
@@ -174,11 +244,22 @@ def usage_automation(service, variable, alias, image, scheme, ports, options, un
] ]
return fetch_commands_content( return fetch_commands_content(
service, variable, alias, image, scheme, ports, options, unimplemented, commands, content service,
variable,
alias,
image,
scheme,
ports,
options,
unimplemented,
commands,
content,
) )
def usage_data_management(service, variable, alias, image, scheme, ports, options, unimplemented): def usage_data_management(
service, variable, alias, image, scheme, ports, options, unimplemented
):
commands = ["import", "export"] commands = ["import", "export"]
content = [ content = [
"### Data Management", "### Data Management",
@@ -188,11 +269,22 @@ def usage_data_management(service, variable, alias, image, scheme, ports, option
] ]
return fetch_commands_content( return fetch_commands_content(
service, variable, alias, image, scheme, ports, options, unimplemented, commands, content service,
variable,
alias,
image,
scheme,
ports,
options,
unimplemented,
commands,
content,
) )
def usage_backup(service, variable, alias, image, scheme, ports, options, unimplemented): def usage_backup(
service, variable, alias, image, scheme, ports, options, unimplemented
):
commands = [ commands = [
"backup-auth", "backup-auth",
"backup-deauth", "backup-deauth",
@@ -215,11 +307,22 @@ def usage_backup(service, variable, alias, image, scheme, ports, options, unimpl
] ]
return fetch_commands_content( return fetch_commands_content(
service, variable, alias, image, scheme, ports, options, unimplemented, commands, content service,
variable,
alias,
image,
scheme,
ports,
options,
unimplemented,
commands,
content,
) )
def usage_docker_pull(service, variable, alias, image, scheme, ports, options, unimplemented): def usage_docker_pull(
service, variable, alias, image, scheme, ports, options, unimplemented
):
service_prefix = service.upper() service_prefix = service.upper()
return "\n".join( return "\n".join(
[ [
@@ -233,11 +336,30 @@ def usage_docker_pull(service, variable, alias, image, scheme, ports, options, u
def fetch_commands_content( def fetch_commands_content(
service, variable, alias, image, scheme, ports, options, unimplemented, commands, content service,
variable,
alias,
image,
scheme,
ports,
options,
unimplemented,
commands,
content,
): ):
i = 0 i = 0
for command in commands: for command in commands:
output = command_help(command, service, variable, alias, image, scheme, ports, options, unimplemented) output = command_help(
command,
service,
variable,
alias,
image,
scheme,
ports,
options,
unimplemented,
)
if output == "": if output == "":
continue continue
content.append(output) content.append(output)
@@ -275,7 +397,9 @@ def parse_args(line):
return " ".join(arguments) return " ".join(arguments)
def command_help(command, service, variable, alias, image, scheme, ports, options, unimplemented): def command_help(
command, service, variable, alias, image, scheme, ports, options, unimplemented
):
if command in unimplemented: if command in unimplemented:
return "" return ""
@@ -285,7 +409,7 @@ def command_help(command, service, variable, alias, image, scheme, ports, option
"", "",
"```shell", "```shell",
"# usage", "# usage",
f"dokku {service}:{command} {data['arguments_string']}", f"dokku {service}:{command} {data['arguments_string']}".strip(),
"```", "```",
] ]
@@ -442,11 +566,11 @@ def process_sentence(sentence_lines):
parts = [] parts = []
for word in sentence.strip().split(" "): for word in sentence.strip().split(" "):
if word.isupper() and len(word) > 1: if word.isupper() and len(word) > 1:
for ending in [':', '.']: for ending in [":", "."]:
if word.endswith(ending): if word.endswith(ending):
word = '`{0}`{1}'.format(word[:-1], ending) word = "`{0}`{1}".format(word[:-1], ending)
else: else:
word = '`{0}`'.format(word) word = "`{0}`".format(word)
parts.append(word) parts.append(word)
text.append(" ".join(parts)) text.append(" ".join(parts))
@@ -524,10 +648,22 @@ def main():
with open("plugin.toml") as f: with open("plugin.toml") as f:
for line in f.readlines(): for line in f.readlines():
if line.startswith("sponsors"): if line.startswith("sponsors"):
sponsors = re.search("\[([\"\w\s,_-]+)\]", line).group(1) sponsors = re.search('\[(["\w\s,_-]+)\]', line).group(1)
sponsors = [s.strip("\"") for s in sponsors.split(",")] sponsors = [s.strip('"') for s in sponsors.split(",")]
text = compile(service, version, variable, alias, image, scheme, ports, sponsors, options, unimplemented, "0.19.x+") text = compile(
service,
version,
variable,
alias,
image,
scheme,
ports,
sponsors,
options,
unimplemented,
"0.19.x+",
)
base_path = os.path.dirname(os.path.dirname(os.path.realpath(__file__))) base_path = os.path.dirname(os.path.dirname(os.path.realpath(__file__)))
readme_file = os.path.join(base_path, "README.md") readme_file = os.path.join(base_path, "README.md")

View File

@@ -457,7 +457,7 @@ service_container_rm() {
local ID local ID
service_pause "$SERVICE" service_pause "$SERVICE"
ID=$("$DOCKER_BIN" container ps -aq --no-trunc --filter "name=^/$SERVICE_NAME$" --format '{{ .ID }}') || true ID=$("$DOCKER_BIN" container ps -aq --no-trunc --filter "name=^/$SERVICE_NAME$") || true
# this may be 'true' in tests... # this may be 'true' in tests...
if [[ -z "$ID" ]] || [[ "$ID" == "true" ]]; then if [[ -z "$ID" ]] || [[ "$ID" == "true" ]]; then
return 0 return 0
@@ -939,7 +939,7 @@ service_pause() {
declare SERVICE="$1" declare SERVICE="$1"
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_BIN" container ps -aq --no-trunc --filter "name=^/$SERVICE_NAME$" --format '{{ .ID }}') || true local ID=$("$DOCKER_BIN" container ps -aq --no-trunc --filter "name=^/$SERVICE_NAME$") || true
[[ -z $ID ]] && dokku_log_warn "Service is already paused" && return 0 [[ -z $ID ]] && dokku_log_warn "Service is already paused" && return 0
if [[ -n $ID ]]; then if [[ -n $ID ]]; then

View File

@@ -149,7 +149,7 @@ service_create_container() {
dokku_log_verbose_quiet "Securing connection to database" dokku_log_verbose_quiet "Securing connection to database"
service_pause "$SERVICE" >/dev/null service_pause "$SERVICE" >/dev/null
"$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/scripts/create_ssl_certs.sh" "$SERVICE_HOST_ROOT" &>/dev/null "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/scripts/create_ssl_certs.sh" "$SERVICE_ROOT" &>/dev/null
"$DOCKER_BIN" container run --rm -i -v "$SERVICE_HOST_ROOT/data:/var/lib/postgresql/data" -v "$SERVICE_HOST_ROOT/certs:/var/lib/postgresql/certs" "$PLUGIN_IMAGE:$PLUGIN_IMAGE_VERSION" bash -s <"$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/scripts/enable_ssl.sh" &>/dev/null "$DOCKER_BIN" container run --rm -i -v "$SERVICE_HOST_ROOT/data:/var/lib/postgresql/data" -v "$SERVICE_HOST_ROOT/certs:/var/lib/postgresql/certs" "$PLUGIN_IMAGE:$PLUGIN_IMAGE_VERSION" bash -s <"$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/scripts/enable_ssl.sh" &>/dev/null
rm -rf "$SERVICE_HOST_ROOT/certs" rm -rf "$SERVICE_HOST_ROOT/certs"
@@ -193,7 +193,7 @@ 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_BIN" container ps -aq --no-trunc --filter "status=running" --filter "name=^/$SERVICE_NAME$" --format '{{ .ID }}') || true local ID=$("$DOCKER_BIN" container ps -aq --no-trunc --filter "status=running" --filter "name=^/$SERVICE_NAME$") || 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"
if [[ ! -f "$SERVICE_ROOT/ID" ]] || [[ "$(cat "$SERVICE_ROOT/ID")" != "$ID" ]]; then if [[ ! -f "$SERVICE_ROOT/ID" ]] || [[ "$(cat "$SERVICE_ROOT/ID")" != "$ID" ]]; then
@@ -204,7 +204,7 @@ service_start() {
fi fi
dokku_log_info2_quiet "Starting container" dokku_log_info2_quiet "Starting container"
local PREVIOUS_ID=$("$DOCKER_BIN" container ps -aq --no-trunc --filter "status=exited" --filter "name=^/$SERVICE_NAME$" --format '{{ .ID }}') || true local PREVIOUS_ID=$("$DOCKER_BIN" container ps -aq --no-trunc --filter "status=exited" --filter "name=^/$SERVICE_NAME$") || true
local PASSWORD="$(service_password "$SERVICE")" local PASSWORD="$(service_password "$SERVICE")"
if [[ -n $PREVIOUS_ID ]]; then if [[ -n $PREVIOUS_ID ]]; then

View File

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

View File

@@ -1,5 +1,7 @@
#!/bin/sh #!/bin/sh
set -e
postgres_service_dir="$1" postgres_service_dir="$1"
cd "$postgres_service_dir" cd "$postgres_service_dir"

View File

@@ -1,5 +1,7 @@
#!/bin/sh #!/bin/sh
set -e
cd /var/lib/postgresql/data cd /var/lib/postgresql/data
cp ../certs/* . cp ../certs/* .

View File

@@ -17,9 +17,9 @@ service-clone-cmd() {
#F -m|--memory MEMORY, container memory limit in megabytes (default: unlimited) #F -m|--memory MEMORY, container memory limit in megabytes (default: unlimited)
#F -N|--initial-network INITIAL_NETWORK, the initial network to attach the service to #F -N|--initial-network INITIAL_NETWORK, the initial network to attach the service to
#F -p|--password PASSWORD, override the user-level service password #F -p|--password PASSWORD, override the user-level service password
#F -P|--post-create-network NETWORKS, a comman-separated list of networks to attach the service container to after service creation #F -P|--post-create-network NETWORKS, a comma-separated list of networks to attach the service container to after service creation
#F -r|--root-password PASSWORD, override the root-level service password #F -r|--root-password PASSWORD, override the root-level service password
#F -S|--post-start-network NETWORKS, a comman-separated list of networks to attach the service container to after service start #F -S|--post-start-network NETWORKS, a comma-separated list of networks to attach the service container to after service start
#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
declare desc="create container <new-name> then copy data from <name> into <new-name>" declare desc="create container <new-name> then copy data from <name> into <new-name>"
local cmd="$PLUGIN_COMMAND_PREFIX:clone" argv=("$@") local cmd="$PLUGIN_COMMAND_PREFIX:clone" argv=("$@")

View File

@@ -14,7 +14,7 @@ service-create-cmd() {
#E export ${PLUGIN_VARIABLE}_IMAGE_VERSION="${PLUGIN_IMAGE_VERSION}" #E export ${PLUGIN_VARIABLE}_IMAGE_VERSION="${PLUGIN_IMAGE_VERSION}"
#E dokku $PLUGIN_COMMAND_PREFIX:create lollipop #E dokku $PLUGIN_COMMAND_PREFIX:create lollipop
#E you can also specify custom environment variables to start #E you can also specify custom environment variables to start
#E the ${PLUGIN_COMMAND_PREFIX} service in semi-colon separated form. #E the ${PLUGIN_COMMAND_PREFIX} service in semicolon-separated form.
#E export ${PLUGIN_VARIABLE}_CUSTOM_ENV="USER=alpha;HOST=beta" #E export ${PLUGIN_VARIABLE}_CUSTOM_ENV="USER=alpha;HOST=beta"
#E dokku $PLUGIN_COMMAND_PREFIX:create lollipop #E dokku $PLUGIN_COMMAND_PREFIX:create lollipop
#A service, service to run command against #A service, service to run command against
@@ -25,9 +25,9 @@ service-create-cmd() {
#F -m|--memory MEMORY, container memory limit in megabytes (default: unlimited) #F -m|--memory MEMORY, container memory limit in megabytes (default: unlimited)
#F -N|--initial-network INITIAL_NETWORK, the initial network to attach the service to #F -N|--initial-network INITIAL_NETWORK, the initial network to attach the service to
#F -p|--password PASSWORD, override the user-level service password #F -p|--password PASSWORD, override the user-level service password
#F -P|--post-create-network NETWORKS, a comman-separated list of networks to attach the service container to after service creation #F -P|--post-create-network NETWORKS, a comma-separated list of networks to attach the service container to after service creation
#F -r|--root-password PASSWORD, override the root-level service password #F -r|--root-password PASSWORD, override the root-level service password
#F -S|--post-start-network NETWORKS, a comman-separated list of networks to attach the service container to after service start #F -S|--post-start-network NETWORKS, a comma-separated list of networks to attach the service container to after service start
#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
declare desc="create a $PLUGIN_SERVICE service" declare desc="create a $PLUGIN_SERVICE service"
local cmd="$PLUGIN_COMMAND_PREFIX:create" argv=("$@") local cmd="$PLUGIN_COMMAND_PREFIX:create" argv=("$@")

View File

@@ -15,9 +15,9 @@ service-upgrade-cmd() {
#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 -N|--initial-network INITIAL_NETWORK, the initial network to attach the service to #F -N|--initial-network INITIAL_NETWORK, the initial network to attach the service to
#F -P|--post-create-network NETWORKS, a comman-separated list of networks to attach the service container to after service creation #F -P|--post-create-network NETWORKS, a comma-separated list of networks to attach the service container to after service creation
#F -R|--restart-apps "true", whether or not to force an app restart (default: false) #F -R|--restart-apps "true", whether or not to force an app restart (default: false)
#F -S|--post-start-network NETWORKS, a comman-separated list of networks to attach the service container to after service start #F -S|--post-start-network NETWORKS, a comma-separated list of networks to attach the service container to after service start
#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
declare desc="upgrade service <service> to the specified versions" declare desc="upgrade service <service> to the specified versions"
local cmd="$PLUGIN_COMMAND_PREFIX:upgrade" argv=("$@") local cmd="$PLUGIN_COMMAND_PREFIX:upgrade" argv=("$@")

View File

@@ -48,7 +48,7 @@ teardown() {
assert_output_contains bridge 0 assert_output_contains bridge 0
assert_output_contains custom-network assert_output_contains custom-network
run docker inspect dokku.$PLUGIN_COMMAND_PREFIX.ls -f '{{range $net,$v := .NetworkSettings.Networks}}{{range $k,$alias := $v.Aliases}}{{printf "alias:%s\n" $alias}}{{end}}{{end}}' run docker inspect dokku.$PLUGIN_COMMAND_PREFIX.ls -f '{{range $net,$v := .NetworkSettings.Networks}}{{range $k,$alias := $v.DNSNames}}{{printf "alias:%s\n" $alias}}{{end}}{{end}}'
echo "output: $output" echo "output: $output"
echo "status: $status" echo "status: $status"
assert_success assert_success
@@ -120,7 +120,7 @@ teardown() {
assert_output_contains custom-network assert_output_contains custom-network
assert_output_contains bridge assert_output_contains bridge
run docker inspect dokku.$PLUGIN_COMMAND_PREFIX.ls -f '{{range $net,$v := .NetworkSettings.Networks}}{{range $k,$alias := $v.Aliases}}{{printf "alias:%s\n" $alias}}{{end}}{{end}}' run docker inspect dokku.$PLUGIN_COMMAND_PREFIX.ls -f '{{range $net,$v := .NetworkSettings.Networks}}{{range $k,$alias := $v.DNSNames}}{{printf "alias:%s\n" $alias}}{{end}}{{end}}'
echo "output: $output" echo "output: $output"
echo "status: $status" echo "status: $status"
assert_success assert_success
@@ -192,7 +192,7 @@ teardown() {
assert_output_contains bridge assert_output_contains bridge
assert_output_contains custom-network assert_output_contains custom-network
run docker inspect dokku.$PLUGIN_COMMAND_PREFIX.ls -f '{{range $net,$v := .NetworkSettings.Networks}}{{range $k,$alias := $v.Aliases}}{{printf "alias:%s\n" $alias}}{{end}}{{end}}' run docker inspect dokku.$PLUGIN_COMMAND_PREFIX.ls -f '{{range $net,$v := .NetworkSettings.Networks}}{{range $k,$alias := $v.DNSNames}}{{printf "alias:%s\n" $alias}}{{end}}{{end}}'
echo "output: $output" echo "output: $output"
echo "status: $status" echo "status: $status"
assert_success assert_success
@@ -258,7 +258,7 @@ teardown() {
assert_output_contains bridge assert_output_contains bridge
assert_output_contains custom-network assert_output_contains custom-network
run docker inspect dokku.$PLUGIN_COMMAND_PREFIX.lsa -f '{{range $net,$v := .NetworkSettings.Networks}}{{range $k,$alias := $v.Aliases}}{{printf "alias:%s\n" $alias}}{{end}}{{end}}' run docker inspect dokku.$PLUGIN_COMMAND_PREFIX.lsa -f '{{range $net,$v := .NetworkSettings.Networks}}{{range $k,$alias := $v.DNSNames}}{{printf "alias:%s\n" $alias}}{{end}}{{end}}'
echo "output: $output" echo "output: $output"
echo "status: $status" echo "status: $status"
assert_success assert_success

View File

@@ -1,4 +1,5 @@
# SC1090 - Can't follow non-constant source. Use a directive to specify location - https://github.com/koalaman/shellcheck/wiki/SC1090 # SC1090 - Can't follow non-constant source. Use a directive to specify location - https://github.com/koalaman/shellcheck/wiki/SC1090
# SC1091 - Not following - <https://github.com/koalaman/shellcheck/wiki/SC1091>
# SC2034 - Variable appears unused. Verify it or export it - https://github.com/koalaman/shellcheck/wiki/SC2034 # SC2034 - Variable appears unused. Verify it or export it - https://github.com/koalaman/shellcheck/wiki/SC2034
# SC2155 - Declare and assign separately to avoid masking return values - https://github.com/koalaman/shellcheck/wiki/SC2155 # SC2155 - Declare and assign separately to avoid masking return values - https://github.com/koalaman/shellcheck/wiki/SC2155
# SC2206 - Quote to prevent word splitting/globbing, or split robustly with mapfile or read -a - https://github.com/koalaman/shellcheck/wiki/SC2206 # SC2206 - Quote to prevent word splitting/globbing, or split robustly with mapfile or read -a - https://github.com/koalaman/shellcheck/wiki/SC2206