Compare commits

..

34 Commits

Author SHA1 Message Date
Jose Diaz-Gonzalez
827f94ff95 Release 1.38.6
Some checks failed
tagged-release / tagged-release (push) Has been cancelled
2025-04-28 23:56:47 -04:00
Jose Diaz-Gonzalez
49ae733f70 Merge pull request #225 from dokku/fix-typo
docs: fix typo in generated docs
2025-04-28 23:42:25 -04:00
Jose Diaz-Gonzalez
ccdbe3ce41 docs: regenerate readme 2025-04-28 23:41:15 -04:00
Jose Diaz-Gonzalez
2a5e5195d3 Merge pull request #224 from dokku/dependabot/github_actions/softprops/action-gh-release-2.2.2
chore(deps): bump softprops/action-gh-release from 2.2.1 to 2.2.2
2025-04-28 23:17:56 -04:00
Jose Diaz-Gonzalez
56b886cd62 docs: correct typo in generated readme 2025-04-28 23:07:49 -04:00
dependabot[bot]
080b961bc2 chore(deps): bump softprops/action-gh-release from 2.2.1 to 2.2.2
Bumps [softprops/action-gh-release](https://github.com/softprops/action-gh-release) from 2.2.1 to 2.2.2.
- [Release notes](https://github.com/softprops/action-gh-release/releases)
- [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md)
- [Commits](https://github.com/softprops/action-gh-release/compare/v2.2.1...v2.2.2)

---
updated-dependencies:
- dependency-name: softprops/action-gh-release
  dependency-version: 2.2.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-21 14:32:34 +00:00
Jose Diaz-Gonzalez
f8f515ac31 Merge pull request #223 from dokku/update-workflows
chore: bump runs-on image from ubuntu-22.04 to ubuntu-24.04
2025-04-17 21:11:05 -04:00
Jose Diaz-Gonzalez
93e438e9f1 fix: use maintained version of python 2025-04-17 20:46:19 -04:00
Jose Diaz-Gonzalez
54b363a1f1 chore: bump runs-on image from ubuntu-22.04 to ubuntu-24.04 2025-04-17 20:43:55 -04:00
Jose Diaz-Gonzalez
e12ec526e4 Release 1.38.5
Some checks failed
tagged-release / tagged-release (push) Has been cancelled
2025-04-16 16:26:44 -04:00
Jose Diaz-Gonzalez
2a2b7111b7 Merge pull request #222 from dokku/dependabot/docker/mongo-8.0.8
chore(deps): bump mongo from 8.0.6 to 8.0.8
2025-04-16 16:26:28 -04:00
dependabot[bot]
f12cb7ba8f chore(deps): bump mongo from 8.0.6 to 8.0.8
Bumps mongo from 8.0.6 to 8.0.8.

---
updated-dependencies:
- dependency-name: mongo
  dependency-version: 8.0.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-15 14:00:03 +00:00
Jose Diaz-Gonzalez
4376521a80 Release 1.38.4
Some checks failed
tagged-release / tagged-release (push) Has been cancelled
2025-03-30 14:02:53 -04:00
Jose Diaz-Gonzalez
7f2a572810 Merge pull request #221 from dokku/dependabot/docker/mongo-8.0.6
chore(deps): bump mongo from 8.0.5 to 8.0.6
2025-03-30 14:02:49 -04:00
dependabot[bot]
f0ccd7491a chore(deps): bump mongo from 8.0.5 to 8.0.6
Bumps mongo from 8.0.5 to 8.0.6.

---
updated-dependencies:
- dependency-name: mongo
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-25 13:06:07 +00:00
Jose Diaz-Gonzalez
1db4b7b041 Merge pull request #220 from dokku/maintained-action
ci: use maintained action for creating automated releases
2025-03-13 18:51:01 -05:00
Jose Diaz-Gonzalez
62cbfea79e ci: use maintained action for creating automated releases 2025-03-13 19:46:50 -04:00
Jose Diaz-Gonzalez
60a38d9c14 Release 1.38.3
Some checks failed
tagged-release / tagged-release (push) Has been cancelled
2025-03-09 07:11:54 -04:00
Jose Diaz-Gonzalez
23d30b8d68 Merge pull request #219 from dokku/7470-name-argument
docs: ensure --name flag is used in installation docs
2025-03-09 06:05:31 -05:00
Jose Diaz-Gonzalez
544b5dc18b docs: ensure --name flag is used in installation docs
Closes dokku/dokku#7470
2025-03-09 07:03:59 -04:00
Jose Diaz-Gonzalez
f5262cd605 Release 1.38.2
Some checks failed
tagged-release / tagged-release (push) Has been cancelled
2025-03-05 20:27:30 -05:00
Jose Diaz-Gonzalez
e734a57679 Merge pull request #218 from dokku/dependabot/docker/mongo-8.0.5
chore(deps): bump mongo from 8.0.4 to 8.0.5
2025-03-05 19:27:22 -06:00
dependabot[bot]
4e1174f259 chore(deps): bump mongo from 8.0.4 to 8.0.5
Bumps mongo from 8.0.4 to 8.0.5.

---
updated-dependencies:
- dependency-name: mongo
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-25 13:47:03 +00:00
Jose Diaz-Gonzalez
b720c3977e Release 1.38.1
Some checks failed
tagged-release / tagged-release (push) Has been cancelled
2024-12-11 09:37:31 -05:00
Jose Diaz-Gonzalez
537df32822 Merge pull request #217 from dokku/dependabot/docker/mongo-8.0.4
chore(deps): bump mongo from 8.0.3 to 8.0.4
2024-12-11 09:36:48 -05:00
dependabot[bot]
c74caffd06 chore(deps): bump mongo from 8.0.3 to 8.0.4
Bumps mongo from 8.0.3 to 8.0.4.

---
updated-dependencies:
- dependency-name: mongo
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-10 13:18:18 +00:00
Jose Diaz-Gonzalez
fd57944bd3 Release 1.38.0
Some checks failed
tagged-release / tagged-release (push) Has been cancelled
2024-11-24 22:18:59 -05:00
Jose Diaz-Gonzalez
86156712f6 Merge pull request #216 from dokku/use-gpg-public-key-encryption
feat: implement GPG Public Key encryption support
2024-11-24 20:59:13 -05:00
Jose Diaz-Gonzalez
a668a12049 feat: implement GPG Public Key encryption support 2024-11-24 20:21:59 -05:00
Jose Diaz-Gonzalez
0aa0c7e242 Merge pull request #215 from dokku/enable-image-overrides
feat: enable env overrides for support images and update all to latest
2024-11-24 19:58:35 -05:00
Jose Diaz-Gonzalez
da11b65a68 feat: enable env overrides for support images and update all to latest 2024-11-24 19:15:23 -05:00
Jose Diaz-Gonzalez
fc965d7890 Release 1.37.2
Some checks failed
tagged-release / tagged-release (push) Has been cancelled
2024-11-02 23:25:56 -04:00
Jose Diaz-Gonzalez
eb22ab9123 Merge pull request #214 from dokku/dependabot/docker/mongo-8.0.3
chore(deps): bump mongo from 8.0.1 to 8.0.3
2024-11-02 23:25:42 -04:00
dependabot[bot]
5e56529fd7 chore(deps): bump mongo from 8.0.1 to 8.0.3
Bumps mongo from 8.0.1 to 8.0.3.

---
updated-dependencies:
- dependency-name: mongo
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-28 13:53:47 +00:00
12 changed files with 124 additions and 22 deletions

View File

@@ -5,7 +5,7 @@ name: CI
on:
pull_request:
branches:
- '*'
- "*"
push:
branches:
- master
@@ -17,7 +17,7 @@ concurrency:
jobs:
unit-tests-master:
name: unit-tests
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
env:
DOKKU_VERSION: master
@@ -28,7 +28,7 @@ jobs:
- uses: actions/setup-python@v5
with:
python-version: '3.7.x'
python-version: "3.13"
- run: make setup
@@ -59,7 +59,7 @@ jobs:
unit-tests-0_19_0:
name: unit-tests-0.19.0
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
env:
DOKKU_TAG: v0.19.0
@@ -70,7 +70,7 @@ jobs:
- uses: actions/setup-python@v5
with:
python-version: '3.7.x'
python-version: "3.13"
- run: make setup

View File

@@ -5,15 +5,16 @@ name: "tagged-release"
on:
push:
tags:
- '*'
- "*"
jobs:
tagged-release:
name: tagged-release
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
steps:
- uses: "marvinpinto/action-automatic-releases@v1.2.1"
- name: Release
uses: softprops/action-gh-release@v2.2.2
with:
repo_token: "${{ secrets.GITHUB_TOKEN }}"
prerelease: false
generate_release_notes: true
make_latest: "true"

View File

@@ -1 +1 @@
FROM mongo:8.0.1
FROM mongo:8.0.8

View File

@@ -1,6 +1,6 @@
# dokku mongo [![Build Status](https://img.shields.io/github/actions/workflow/status/dokku/dokku-mongo/ci.yml?branch=master&style=flat-square "Build Status")](https://github.com/dokku/dokku-mongo/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 mongo plugin for dokku. Currently defaults to installing [mongo 8.0.1](https://hub.docker.com/_/mongo/).
Official mongo plugin for dokku. Currently defaults to installing [mongo 8.0.8](https://hub.docker.com/_/mongo/).
## Requirements
@@ -11,7 +11,7 @@ Official mongo plugin for dokku. Currently defaults to installing [mongo 8.0.1](
```shell
# on 0.19.x+
sudo dokku plugin:install https://github.com/dokku/dokku-mongo.git mongo
sudo dokku plugin:install https://github.com/dokku/dokku-mongo.git --name mongo
```
## Commands
@@ -24,8 +24,10 @@ mongo:backup-deauth <service> # remove backup authenticatio
mongo:backup-schedule <service> <schedule> <bucket-name> [--use-iam] # schedule a backup of the mongo service
mongo:backup-schedule-cat <service> # cat the contents of the configured backup cronfile for the service
mongo:backup-set-encryption <service> <passphrase> # set encryption for all future backups of mongo service
mongo:backup-set-public-key-encryption <service> <public-key-id> # set GPG Public Key encryption for all future backups of mongo service
mongo:backup-unschedule <service> # unschedule the backup of the mongo service
mongo:backup-unset-encryption <service> # unset encryption for future backups of the mongo service
mongo:backup-unset-public-key-encryption <service> # unset GPG Public Key encryption for future backups of the mongo service
mongo:clone <service> <new-service> [--clone-flags...] # create container <new-name> then copy data from <name> into <new-name>
mongo:connect <service> # connect to the service via the mongo connection tool
mongo:connect-admin <service> # connect via mongo to a mongo service as admin user
@@ -344,7 +346,7 @@ Expose the service on the service's normal ports, allowing access to it from the
dokku mongo:expose lollipop 27017 27018 27019 28017
```
Expose the service on the service's normal ports, with the first on a specified ip adddress (127.0.0.1):
Expose the service on the service's normal ports, with the first on a specified ip address (127.0.0.1):
```shell
dokku mongo:expose lollipop 127.0.0.1:27017 27018 27019 28017
@@ -676,6 +678,19 @@ Set the GPG-compatible passphrase for encrypting backups for backups:
dokku mongo:backup-set-encryption lollipop
```
### set GPG Public Key encryption for all future backups of mongo service
```shell
# usage
dokku mongo:backup-set-public-key-encryption <service> <public-key-id>
```
Set the `GPG` Public Key for encrypting backups:
```shell
dokku mongo:backup-set-public-key-encryption lollipop
```
### unset encryption for future backups of the mongo service
```shell
@@ -689,6 +704,19 @@ Unset the `GPG` encryption passphrase for backups:
dokku mongo:backup-unset-encryption lollipop
```
### unset GPG Public Key encryption for future backups of the mongo service
```shell
# usage
dokku mongo:backup-unset-public-key-encryption <service>
```
Unset the `GPG` Public Key encryption for backups:
```shell
dokku mongo:backup-unset-public-key-encryption lollipop
```
### schedule a backup of the mongo service
```shell

2
Vagrantfile vendored
View File

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

View File

@@ -110,7 +110,7 @@ def installation_section(service, dokku_version):
"",
"```shell",
f"# on {dokku_version}",
f"sudo dokku plugin:install https://github.com/dokku/dokku-{service}.git {service}",
f"sudo dokku plugin:install https://github.com/dokku/dokku-{service}.git --name {service}",
"```",
]
)
@@ -290,7 +290,9 @@ def usage_backup(
"backup-deauth",
"backup",
"backup-set-encryption",
"backup-set-public-key-encryption",
"backup-unset-encryption",
"backup-unset-public-key-encryption",
"backup-schedule",
"backup-schedule-cat",
"backup-unschedule",

View File

@@ -308,6 +308,10 @@ service_backup() {
BACKUP_PARAMETERS="$BACKUP_PARAMETERS -e ENCRYPTION_KEY=$(cat "$BACKUP_ENCRYPTION_CONFIG_ROOT/ENCRYPTION_KEY")"
fi
if [[ -f "$BACKUP_ENCRYPTION_CONFIG_ROOT/ENCRYPT_WITH_PUBLIC_KEY_ID" ]]; then
BACKUP_PARAMETERS="$BACKUP_PARAMETERS -e ENCRYPT_WITH_PUBLIC_KEY_ID=$(cat "$BACKUP_ENCRYPTION_CONFIG_ROOT/ENCRYPT_WITH_PUBLIC_KEY_ID")"
fi
# shellcheck disable=SC2086
"$DOCKER_BIN" container run --rm $BACKUP_PARAMETERS "$PLUGIN_S3BACKUP_IMAGE"
}
@@ -433,6 +437,16 @@ service_backup_set_encryption() {
echo "$ENCRYPTION_KEY" >"${SERVICE_BACKUP_ENCRYPTION_ROOT}/ENCRYPTION_KEY"
}
service_backup_set_public_key_encryption() {
declare desc="set up backup GPG Public Key encryption"
declare SERVICE="$1" ENCRYPT_WITH_PUBLIC_KEY_ID="$2"
local SERVICE_ROOT="${PLUGIN_DATA_ROOT}/${SERVICE}"
local SERVICE_BACKUP_ENCRYPTION_ROOT="${SERVICE_ROOT}/backup-encryption/"
mkdir "$SERVICE_BACKUP_ENCRYPTION_ROOT"
echo "$ENCRYPT_WITH_PUBLIC_KEY_ID" >"${SERVICE_BACKUP_ENCRYPTION_ROOT}/ENCRYPT_WITH_PUBLIC_KEY_ID"
}
service_backup_unschedule() {
declare desc="unschedule the backup of the service"
declare SERVICE="$1"
@@ -450,6 +464,15 @@ service_backup_unset_encryption() {
rm -rf "$SERVICE_BACKUP_ENCRYPTION_ROOT"
}
service_backup_unset_encryption() {
declare desc="remove backup encryption"
declare SERVICE="$1"
local SERVICE_ROOT="${PLUGIN_DATA_ROOT}/${SERVICE}"
local SERVICE_BACKUP_ENCRYPTION_ROOT="${SERVICE_ROOT}/backup-encryption/"
rm -rf "$SERVICE_BACKUP_ENCRYPTION_ROOT"
}
service_container_rm() {
declare desc="stop a service and remove the running container"
declare SERVICE="$1"

8
config
View File

@@ -28,9 +28,9 @@ if [[ -n $DOKKU_API_VERSION ]]; then
export PLUGIN_BASE_PATH="$PLUGIN_ENABLED_PATH"
fi
export PLUGIN_BUSYBOX_IMAGE="busybox:1.34.1-uclibc"
export PLUGIN_AMBASSADOR_IMAGE="dokku/ambassador:0.5.0"
export PLUGIN_S3BACKUP_IMAGE="dokku/s3backup:0.14.0"
export PLUGIN_WAIT_IMAGE="dokku/wait:0.6.0"
export PLUGIN_BUSYBOX_IMAGE=${PLUGIN_BUSYBOX_IMAGE:=busybox:1.37.0-uclibc}
export PLUGIN_AMBASSADOR_IMAGE=${PLUGIN_AMBASSADOR_IMAGE:=dokku/ambassador:0.8.2}
export PLUGIN_S3BACKUP_IMAGE=${PLUGIN_S3BACKUP_IMAGE:=dokku/s3backup:0.18.0}
export PLUGIN_WAIT_IMAGE=${PLUGIN_WAIT_IMAGE:=dokku/wait:0.9.3}
export MONGO_CONFIG_OPTIONS=${MONGO_CONFIG_OPTIONS:=" --storageEngine wiredTiger --auth "}

View File

@@ -1,4 +1,4 @@
[plugin]
description = "dokku mongo service plugin"
version = "1.37.1"
version = "1.38.6"
[plugin.config]

View File

@@ -0,0 +1,25 @@
#!/usr/bin/env bash
source "$(dirname "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)")/config"
set -eo pipefail
[[ $DOKKU_TRACE ]] && set -x
source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
source "$(dirname "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)")/functions"
service-backup-set-public-key-encryption-cmd() {
#E set the GPG Public Key for encrypting backups
#E dokku $PLUGIN_COMMAND_PREFIX:backup-set-public-key-encryption lollipop
#A service, service to run command against
#A public-key-id, a GPG Public Key ID (or fingerprint) to use for encryption. Must be uploaded to the GPG keyserver beforehand.
declare desc="set GPG Public Key encryption for all future backups of $PLUGIN_SERVICE service"
local cmd="$PLUGIN_COMMAND_PREFIX:backup-set-public-key-encryption" argv=("$@")
[[ ${argv[0]} == "$cmd" ]] && shift 1
declare SERVICE="$1" PUBLIC_KEY_ID="$2"
is_implemented_command "$cmd" || dokku_log_fail "Not yet implemented"
[[ -z "$SERVICE" ]] && dokku_log_fail "Please specify a valid name for the service"
[[ -z "$PUBLIC_KEY_ID" ]] && dokku_log_fail "Please specify a valid GPG Public Key ID (or fingerprint)"
verify_service_name "$SERVICE"
service_backup_set_public_key_encryption "$SERVICE" "$PUBLIC_KEY_ID"
}
service-backup-set-public-key-encryption-cmd "$@"

View File

@@ -0,0 +1,23 @@
#!/usr/bin/env bash
source "$(dirname "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)")/config"
set -eo pipefail
[[ $DOKKU_TRACE ]] && set -x
source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
source "$(dirname "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)")/functions"
service-backup-unset-public-key-encryption-cmd() {
#E unset the GPG Public Key encryption for backups
#E dokku $PLUGIN_COMMAND_PREFIX:backup-unset-public-key-encryption lollipop
#A service, service to run command against
declare desc="unset GPG Public Key encryption for future backups of the $PLUGIN_SERVICE service"
local cmd="$PLUGIN_COMMAND_PREFIX:backup-unset-public-key-encryption" argv=("$@")
[[ ${argv[0]} == "$cmd" ]] && shift 1
declare SERVICE="$1"
is_implemented_command "$cmd" || dokku_log_fail "Not yet implemented" # TODO: [22.03.2024 by Mykola]
[[ -z "$SERVICE" ]] && dokku_log_fail "Please specify a valid name for the service"
verify_service_name "$SERVICE"
service_backup_unset_public_key_encryption "$SERVICE" # TODO: [22.03.2024 by Mykola]
}
service-backup-unset-encryption-cmd "$@"

View File

@@ -8,7 +8,7 @@ source "$(dirname "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)")/functions"
service-expose-cmd() {
#E expose the service on the service's normal ports, allowing access to it from the public interface (0.0.0.0)
#E dokku $PLUGIN_COMMAND_PREFIX:expose lollipop ${PLUGIN_DATASTORE_PORTS[@]}
#E expose the service on the service's normal ports, with the first on a specified ip adddress (127.0.0.1)
#E expose the service on the service's normal ports, with the first on a specified ip address (127.0.0.1)
#E dokku $PLUGIN_COMMAND_PREFIX:expose lollipop 127.0.0.1:${PLUGIN_DATASTORE_PORTS[@]}
#A service, service to run command against
#A ports, a list of ports to run against