Compare commits

..

109 Commits

Author SHA1 Message Date
cd5e93ca07 更新 Dockerfile
Some checks failed
CI / unit-tests (push) Has been cancelled
CI / unit-tests-0.19.0 (push) Has been cancelled
2025-11-05 13:44:59 +08:00
8961360419 更新 Dockerfile
Some checks failed
CI / unit-tests (push) Has been cancelled
CI / unit-tests-0.19.0 (push) Has been cancelled
2025-11-05 13:43:11 +08:00
ec3dcfcbb4 更新 Dockerfile
Some checks failed
CI / unit-tests (push) Has been cancelled
CI / unit-tests-0.19.0 (push) Has been cancelled
2025-10-17 00:40:29 +08:00
flowshadow
15b2bf34e1 修改镜像地址
Some checks failed
CI / unit-tests (push) Has been cancelled
CI / unit-tests-0.19.0 (push) Has been cancelled
2025-10-17 00:13:14 +08:00
Jose Diaz-Gonzalez
1806e7a16c Merge pull request #285 from dokku/dependabot/github_actions/softprops/action-gh-release-2.3.4
Some checks failed
CI / unit-tests (push) Has been cancelled
CI / unit-tests-0.19.0 (push) Has been cancelled
chore(deps): bump softprops/action-gh-release from 2.3.3 to 2.3.4
2025-10-07 13:57:18 -04:00
dependabot[bot]
138d065af2 chore(deps): bump softprops/action-gh-release from 2.3.3 to 2.3.4
Bumps [softprops/action-gh-release](https://github.com/softprops/action-gh-release) from 2.3.3 to 2.3.4.
- [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.3.3...v2.3.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-06 15:19:56 +00:00
Jose Diaz-Gonzalez
7530ccdbff Merge pull request #283 from dokku/dependabot/github_actions/softprops/action-gh-release-2.3.3
chore(deps): bump softprops/action-gh-release from 2.3.2 to 2.3.3
2025-09-08 15:03:48 -04:00
dependabot[bot]
65603ccee7 chore(deps): bump softprops/action-gh-release from 2.3.2 to 2.3.3
Bumps [softprops/action-gh-release](https://github.com/softprops/action-gh-release) from 2.3.2 to 2.3.3.
- [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.3.2...v2.3.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-08 15:09:33 +00:00
Jose Diaz-Gonzalez
a150dcc1c5 Merge pull request #282 from dokku/dependabot/github_actions/actions/setup-python-6
chore(deps): bump actions/setup-python from 5 to 6
2025-09-04 14:43:40 -04:00
dependabot[bot]
6ccb6dcdb0 chore(deps): bump actions/setup-python from 5 to 6
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 5 to 6.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v5...v6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-04 15:21:58 +00:00
Jose Diaz-Gonzalez
4ced6bd2e7 Release 1.40.4
Some checks failed
tagged-release / tagged-release (push) Has been cancelled
2025-08-22 03:09:55 -04:00
Jose Diaz-Gonzalez
4e92b82fa9 Merge pull request #281 from dokku/dependabot/docker/redis-8.2.1
chore(deps): bump redis from 8.2.0 to 8.2.1
2025-08-22 03:09:48 -04:00
dependabot[bot]
091e870dac chore(deps): bump redis from 8.2.0 to 8.2.1
Bumps redis from 8.2.0 to 8.2.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-19 22:23:56 +00:00
Jose Diaz-Gonzalez
94aaf2559c Merge pull request #280 from dokku/dependabot/github_actions/actions/checkout-5
chore(deps): bump actions/checkout from 4 to 5
2025-08-12 11:46:39 -04:00
dependabot[bot]
d1936e8756 chore(deps): bump actions/checkout from 4 to 5
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5.
- [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/v4...v5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-11 19:58:19 +00:00
Jose Diaz-Gonzalez
3f90d6ca6b Release 1.40.3
Some checks failed
tagged-release / tagged-release (push) Has been cancelled
2025-08-08 17:05:50 -04:00
Jose Diaz-Gonzalez
603af87bd1 Merge pull request #279 from dokku/dependabot/docker/redis-8.2.0
chore(deps): bump redis from 8.0.3 to 8.2.0
2025-08-08 17:05:42 -04:00
dependabot[bot]
1a6536d398 chore(deps): bump redis from 8.0.3 to 8.2.0
Bumps redis from 8.0.3 to 8.2.0.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-05 16:27:36 +00:00
Jose Diaz-Gonzalez
412b300953 Release 1.40.2
Some checks failed
tagged-release / tagged-release (push) Has been cancelled
2025-07-25 05:11:48 -04:00
Jose Diaz-Gonzalez
05d5e6e1fb Merge pull request #277 from dokku/dependabot/docker/redis-8.0.3
chore(deps): bump redis from 8.0.2 to 8.0.3
2025-07-25 05:11:44 -04:00
dependabot[bot]
707bccbb96 chore(deps): bump redis from 8.0.2 to 8.0.3
Bumps redis from 8.0.2 to 8.0.3.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-08 15:54:50 +00:00
Jose Diaz-Gonzalez
46312ff3df Merge pull request #276 from dokku/dependabot/github_actions/softprops/action-gh-release-2.3.2
chore(deps): bump softprops/action-gh-release from 2.2.2 to 2.3.2
2025-06-12 11:50:29 -04:00
dependabot[bot]
2e2034d4d8 chore(deps): bump softprops/action-gh-release from 2.2.2 to 2.3.2
Bumps [softprops/action-gh-release](https://github.com/softprops/action-gh-release) from 2.2.2 to 2.3.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.2...v2.3.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-11 16:03:46 +00:00
Jose Diaz-Gonzalez
0dc904c85f Release 1.40.1
Some checks failed
tagged-release / tagged-release (push) Has been cancelled
2025-06-01 22:46:20 -04:00
Jose Diaz-Gonzalez
8fa1c65aa5 Merge pull request #274 from dokku/dependabot/docker/redis-8.0.2
chore(deps): bump redis from 8.0.1 to 8.0.2
2025-06-01 22:43:54 -04:00
dependabot[bot]
0fe00ee95b chore(deps): bump redis from 8.0.1 to 8.0.2
Bumps redis from 8.0.1 to 8.0.2.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-01 20:30:26 +00:00
Jose Diaz-Gonzalez
6cccf014ab Merge pull request #273 from palfrey/stripped-down-default-config
Don't download default config
2025-06-01 16:29:19 -04:00
Tom Parker-Shemilt
09f1b1a858 Don't download default config 2025-05-25 19:23:05 +01:00
Jose Diaz-Gonzalez
772f677d0f Release 1.40.0
Some checks failed
tagged-release / tagged-release (push) Has been cancelled
2025-05-22 00:28:28 -04:00
Jose Diaz-Gonzalez
078c2c58d4 Merge pull request #271 from dokku/dependabot/docker/redis-8.0.1
chore(deps): bump redis from 7.4.3 to 8.0.1
2025-05-22 00:27:11 -04:00
dependabot[bot]
6316eb7d7d chore(deps): bump redis from 7.4.3 to 8.0.1
Bumps redis from 7.4.3 to 8.0.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-14 15:03:49 +00:00
Jose Diaz-Gonzalez
7f254ed43e Release 1.39.4
Some checks failed
tagged-release / tagged-release (push) Has been cancelled
2025-04-28 23:56:59 -04:00
Jose Diaz-Gonzalez
07c5006247 Merge pull request #269 from dokku/revert-249-fix/url-checker
Revert "Fix url checker. Old code fail if any variables contain the alias or REDIS_URL"
2025-04-28 23:30:06 -04:00
Jose Diaz-Gonzalez
985ef3d19f Revert "Fix url checker. Old code fail if any variables contain the alias or REDIS_URL" 2025-04-28 23:29:58 -04:00
Jose Diaz-Gonzalez
02e828c6aa docs: update readme 2025-04-28 23:16:51 -04:00
Jose Diaz-Gonzalez
1f8a288d80 Merge pull request #249 from grizmio/fix/url-checker
Fix url checker. Old code fail if any variables contain the alias or REDIS_URL
2025-04-28 23:15:57 -04:00
Jose Diaz-Gonzalez
91734c6a15 Merge pull request #267 from dokku/dependabot/docker/redis-7.4.3
chore(deps): bump redis from 7.4.2 to 7.4.3
2025-04-28 23:13:27 -04:00
Jose Diaz-Gonzalez
6d0637c581 Merge pull request #265 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:13:16 -04:00
Jose Diaz-Gonzalez
0a3a272b5e Merge pull request #268 from dokku/fix-typo
docs: fix typo in generated docs
2025-04-28 23:11:18 -04:00
Jose Diaz-Gonzalez
435ca9f8dc docs: correct typo in generated readme 2025-04-28 23:07:50 -04:00
dependabot[bot]
88ab215473 chore(deps): bump redis from 7.4.2 to 7.4.3
Bumps redis from 7.4.2 to 7.4.3.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-25 15:09:39 +00:00
dependabot[bot]
731429e175 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 16:23:39 +00:00
Jose Diaz-Gonzalez
2211d7a095 Merge pull request #264 from dokku/update-workflows
chore: bump runs-on image from ubuntu-22.04 to ubuntu-24.04
2025-04-17 21:11:36 -04:00
Jose Diaz-Gonzalez
4567903371 fix: use maintained version of python 2025-04-17 20:46:21 -04:00
Jose Diaz-Gonzalez
cd1923eb9f chore: bump runs-on image from ubuntu-22.04 to ubuntu-24.04 2025-04-17 20:43:55 -04:00
Jose Diaz-Gonzalez
a488c74d28 Release 1.39.3
Some checks failed
tagged-release / tagged-release (push) Has been cancelled
2025-04-14 10:42:38 -04:00
Jose Diaz-Gonzalez
fc2e7ef408 Merge pull request #263 from kbuilds/fix-config-file-repo
Download the default redis config file from the official Redis repo
2025-04-14 10:41:28 -04:00
Kurtis Jensen
095eb6f89b Add -f flag to curl command
The `-f` flag will make curl fail if there is an http error. This should prevent this command from silently failing (and adding literal "404 error" string to the config file).
2025-04-09 17:21:26 -04:00
Kurtis Jensen
19a339f943 Download the default redis config file from the official Redis repository 2025-04-07 14:19:55 -04:00
Jose Diaz-Gonzalez
7ded70f338 Merge pull request #258 from dokku/maintained-action
ci: use maintained action for creating automated releases
2025-03-13 18:51:18 -05:00
Jose Diaz-Gonzalez
ff7c58599f ci: use maintained action for creating automated releases 2025-03-13 19:46:51 -04:00
Jose Diaz-Gonzalez
7dddac7059 Release 1.39.2
Some checks failed
tagged-release / tagged-release (push) Has been cancelled
2025-03-09 07:12:11 -04:00
Jose Diaz-Gonzalez
e7f710e40a Merge pull request #257 from dokku/7470-name-argument
docs: ensure --name flag is used in installation docs
2025-03-09 06:05:44 -05:00
Jose Diaz-Gonzalez
65e083a34e docs: ensure --name flag is used in installation docs
Closes dokku/dokku#7470
2025-03-09 07:04:00 -04:00
Jose Diaz-Gonzalez
c6cc9491e2 Release 1.39.1
Some checks failed
tagged-release / tagged-release (push) Has been cancelled
2025-02-02 00:44:41 -05:00
Jose Diaz-Gonzalez
5f3d30d789 Merge pull request #256 from dokku/dependabot/docker/redis-7.4.2
chore(deps): bump redis from 7.4.1 to 7.4.2
2025-02-01 23:44:33 -06:00
dependabot[bot]
7e8c8a13a9 chore(deps): bump redis from 7.4.1 to 7.4.2
Bumps redis from 7.4.1 to 7.4.2.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-07 15:14:37 +00:00
Jose Diaz-Gonzalez
fa170c55b6 Release 1.39.0
Some checks failed
tagged-release / tagged-release (push) Has been cancelled
2024-11-24 22:19:11 -05:00
Jose Diaz-Gonzalez
247561556c Merge pull request #255 from dokku/use-gpg-public-key-encryption
feat: implement GPG Public Key encryption support
2024-11-24 21:18:35 -05:00
Jose Diaz-Gonzalez
437a8be70d feat: implement GPG Public Key encryption support 2024-11-24 20:21:59 -05:00
Jose Diaz-Gonzalez
d9aba028c4 Merge pull request #254 from dokku/enable-image-overrides
feat: enable env overrides for support images and update all to latest
2024-11-24 19:57:34 -05:00
Jose Diaz-Gonzalez
dbaeebb3f8 feat: enable env overrides for support images and update all to latest 2024-11-24 19:15:23 -05:00
Jose Diaz-Gonzalez
13a379f2dd Release 1.38.0
Some checks failed
tagged-release / tagged-release (push) Has been cancelled
2024-10-10 10:47:06 -04:00
Jose Diaz-Gonzalez
003a8f23d9 Merge pull request #253 from dokku/dependabot/docker/redis-7.4.1
chore(deps): bump redis from 7.2.5 to 7.4.1
2024-10-10 10:46:50 -04:00
dependabot[bot]
d7ddc3f1ce chore(deps): bump redis from 7.2.5 to 7.4.1
Bumps redis from 7.2.5 to 7.4.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-08 15:24:51 +00:00
Enzo Macari
62e132ed2d Fix url checker. Old code fail if any variables contain the alias so FOO_REDIS_URL would match and believe its already defined. 2024-08-05 12:54:44 -04:00
Jose Diaz-Gonzalez
4cffb97b38 Release 1.37.6
Some checks failed
tagged-release / tagged-release (push) Has been cancelled
2024-07-18 19:20:47 -04:00
Jose Diaz-Gonzalez
cb8334e8dd Release 1.37.5
Some checks failed
tagged-release / tagged-release (push) Has been cancelled
2024-06-30 13:48:03 -04:00
Jose Diaz-Gonzalez
1c291d68d4 Merge pull request #243 from dokku/dependabot/docker/redis-7.2.5
chore(deps): bump redis from 7.2.4 to 7.2.5
2024-06-30 13:47:54 -04:00
dependabot[bot]
0d171fa06e ---
updated-dependencies:
- dependency-name: redis
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-29 07:50:54 +00:00
Jose Diaz-Gonzalez
38721a896d Merge pull request #246 from dokku/exclude-SC1091
tests: exclude SC1091 from shellcheck rules
2024-06-29 03:49:05 -04:00
Jose Diaz-Gonzalez
c7bce9872a tests: exclude SC1091 from shellcheck rules 2024-06-29 03:45:01 -04:00
Jose Diaz-Gonzalez
61bee552d1 Merge pull request #245 from dokku/fix-tests
fix: use .DNSNames instead of .Aliases in tests
2024-06-29 03:41:16 -04:00
Jose Diaz-Gonzalez
b35f5443f2 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
c3a6e3af3c Release 1.37.4
Some checks failed
tagged-release / tagged-release (push) Has been cancelled
2024-01-29 10:10:11 -05:00
Jose Diaz-Gonzalez
14c0a11f3a Merge pull request #221 from nerg4l/fix/make-ubuntu-arm64
fix: use correct repository on arm64 ubuntu image
2024-01-29 10:05:52 -05:00
Jose Diaz-Gonzalez
944329c818 Release 1.37.3
Some checks failed
tagged-release / tagged-release (push) Has been cancelled
2024-01-29 08:31:26 -05:00
Jose Diaz-Gonzalez
b942ff35f0 Merge pull request #231 from dokku/dependabot/docker/redis-7.2.4
chore(deps): bump redis from 7.2.3 to 7.2.4
2024-01-29 08:31:08 -05:00
dependabot[bot]
4425dc2f29 chore(deps): bump redis from 7.2.3 to 7.2.4
Bumps redis from 7.2.3 to 7.2.4.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-10 15:31:32 +00:00
Jose Diaz-Gonzalez
2295773982 Merge pull request #230 from dokku/dependabot/github_actions/actions/upload-artifact-4
chore(deps): bump actions/upload-artifact from 3 to 4
2023-12-19 00:23:44 -05:00
dependabot[bot]
20c92de6c7 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 15:20:29 +00:00
László GÖRÖG
d90f3bb02a Merge branch 'master' into fix/make-ubuntu-arm64 2023-12-10 10:22:06 +01:00
Jose Diaz-Gonzalez
78a1cb36ed Release 1.37.2
Some checks failed
tagged-release / tagged-release (push) Has been cancelled
2023-12-09 23:56:16 -05:00
Jose Diaz-Gonzalez
a30dd2e727 docs: update docs and generation script 2023-12-09 23:55:46 -05:00
Jose Diaz-Gonzalez
d52e58f623 Merge pull request #229 from dokku/dependabot/github_actions/actions/setup-python-5
chore(deps): bump actions/setup-python from 4 to 5
2023-12-09 13:53:44 -05:00
Jose Diaz-Gonzalez
eb46fc4ae0 Merge pull request #228 from dokku/dependabot/docker/redis-7.2.3
chore(deps): bump redis from 7.2.1 to 7.2.3
2023-12-09 13:53:34 -05:00
Jose Diaz-Gonzalez
99c812fc2f chore: fix typo 2023-12-09 13:51:12 -05:00
Jose Diaz-Gonzalez
0d75a8e46f chore: fix typo 2023-12-09 13:48:37 -05:00
dependabot[bot]
ea92f11ab6 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-06 15:16:41 +00:00
dependabot[bot]
61ed70c5df chore(deps): bump redis from 7.2.1 to 7.2.3
Bumps redis from 7.2.1 to 7.2.3.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-06 15:06:59 +00:00
Jose Diaz-Gonzalez
2c2042535a Release 1.37.1
Some checks failed
tagged-release / tagged-release (push) Has been cancelled
2023-09-09 22:41:22 -04:00
Jose Diaz-Gonzalez
c5139b9169 Release 1.37.0
Some checks failed
tagged-release / tagged-release (push) Has been cancelled
2023-09-09 22:40:00 -04:00
Jose Diaz-Gonzalez
28dbf6bcd9 Merge pull request #225 from dokku/dependabot/docker/redis-7.2.1
chore(deps): bump redis from 7.2.0 to 7.2.1
2023-09-09 22:35:18 -04:00
dependabot[bot]
c4a7504881 chore(deps): bump redis from 7.2.0 to 7.2.1
Bumps redis from 7.2.0 to 7.2.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-08 15:38:16 +00:00
Jose Diaz-Gonzalez
5bbbfd1cc9 Merge pull request #223 from dokku/dependabot/github_actions/actions/checkout-4
chore(deps): bump actions/checkout from 3 to 4
2023-09-06 23:45:02 -04:00
dependabot[bot]
1e2125c800 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 02:55:29 +00:00
Jose Diaz-Gonzalez
afe76f799a Merge pull request #224 from dokku/newer-ubuntu
feat: upgrade test suite from ubuntu 20.04 to 22.04
2023-09-06 22:54:43 -04:00
Jose Diaz-Gonzalez
648d137007 feat: upgrade test suite from ubuntu 20.04 to 22.04 2023-09-06 22:37:22 -04:00
Jose Diaz-Gonzalez
9a95ed8299 Release 1.36.0
Some checks failed
tagged-release / tagged-release (push) Has been cancelled
2023-08-17 19:57:06 -04:00
Jose Diaz-Gonzalez
f66c0d945e Merge pull request #222 from dokku/dependabot/docker/redis-7.2.0
chore(deps): bump redis from 7.0.12 to 7.2.0
2023-08-17 19:56:55 -04:00
dependabot[bot]
8a65d7c1cd chore(deps): bump redis from 7.0.12 to 7.2.0
Bumps redis from 7.0.12 to 7.2.0.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-17 15:58:01 +00:00
László GÖRÖG
3ad35ef009 fix: use correct repository on arm64 ubuntu image 2023-08-07 17:37:30 +02:00
Jose Diaz-Gonzalez
f8b3c5eb42 Release 1.35.0
Some checks failed
tagged-release / tagged-release (push) Has been cancelled
2023-07-11 16:50:04 -04:00
Jose Diaz-Gonzalez
62e24bdb71 Merge pull request #218 from dokku/dependabot/docker/redis-7.0.12
chore(deps): bump redis from 7.0.11 to 7.0.12
2023-07-11 16:49:48 -04:00
dependabot[bot]
d5a87c21f5 chore(deps): bump redis from 7.0.11 to 7.0.12
Bumps redis from 7.0.11 to 7.0.12.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-11 15:38:12 +00:00
Jose Diaz-Gonzalez
9776ebdf6a Release 1.34.0
Some checks failed
tagged-release / tagged-release (push) Has been cancelled
2023-05-28 01:00:06 -04:00
Jose Diaz-Gonzalez
7be49f9bbe Release 1.32.4
Some checks failed
tagged-release / tagged-release (push) Has been cancelled
2023-04-27 21:59:57 -04:00
josegonzalez
5aa50b86e5 Merge pull request #216 from dokku/dependabot/docker/redis-7.0.11
chore(deps): bump redis from 7.0.10 to 7.0.11
2023-04-27 21:59:46 -04:00
dependabot[bot]
6783620cd7 chore(deps): bump redis from 7.0.10 to 7.0.11
Bumps redis from 7.0.10 to 7.0.11.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-18 15:57:49 +00:00
19 changed files with 344 additions and 98 deletions

View File

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

View File

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

View File

@@ -1 +1 @@
FROM redis:7.0.10
FROM ccr.ccs.tencentyun.com/miaogai/redis:8.2.1

View File

@@ -1,5 +1,6 @@
HARDWARE = $(shell uname -m)
SYSTEM_NAME = $(shell uname -s | tr '[:upper:]' '[:lower:]')
ARCH = $(shell dpkg --print-architecture)
SHFMT_VERSION = 3.0.2
XUNIT_TO_GITHUB_VERSION = 0.3.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)
brew install shellcheck
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 apt-get update -qq && sudo apt-get install -qq -y shellcheck
endif

View File

@@ -1,6 +1,6 @@
# dokku redis [![Build Status](https://img.shields.io/github/actions/workflow/status/dokku/dokku-redis/ci.yml?branch=master&style=flat-square "Build Status")](https://github.com/dokku/dokku-redis/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 redis plugin for dokku. Currently defaults to installing [redis 7.0.10](https://hub.docker.com/_/redis/).
Official redis plugin for dokku. Currently defaults to installing [redis 8.2.1](https://hub.docker.com/_/redis/).
## Requirements
@@ -11,7 +11,7 @@ Official redis plugin for dokku. Currently defaults to installing [redis 7.0.10]
```shell
# on 0.19.x+
sudo dokku plugin:install https://github.com/dokku/dokku-redis.git redis
sudo dokku plugin:install https://github.com/dokku/dokku-redis.git --name redis
```
## Commands
@@ -24,8 +24,10 @@ redis:backup-deauth <service> # remove backup authenticatio
redis:backup-schedule <service> <schedule> <bucket-name> [--use-iam] # schedule a backup of the redis service
redis:backup-schedule-cat <service> # cat the contents of the configured backup cronfile for the service
redis:backup-set-encryption <service> <passphrase> # set encryption for all future backups of redis service
redis:backup-set-public-key-encryption <service> <public-key-id> # set GPG Public Key encryption for all future backups of redis service
redis:backup-unschedule <service> # unschedule the backup of the redis service
redis:backup-unset-encryption <service> # unset encryption for future backups of the redis service
redis:backup-unset-public-key-encryption <service> # unset GPG Public Key encryption for future backups of the redis service
redis:clone <service> <new-service> [--clone-flags...] # create container <new-name> then copy data from <name> into <new-name>
redis:connect <service> # connect to the service via the redis connection tool
redis:create <service> [--create-flags...] # create a redis service
@@ -74,9 +76,9 @@ flags:
- `-m|--memory MEMORY`: container memory limit in megabytes (default: unlimited)
- `-N|--initial-network INITIAL_NETWORK`: the initial network to attach the service to
- `-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
- `-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 redis docker container
Create a redis service named lollipop:
@@ -93,7 +95,7 @@ export REDIS_IMAGE_VERSION="${PLUGIN_IMAGE_VERSION}"
dokku redis:create lollipop
```
You can also specify custom environment variables to start the redis service in semi-colon separated form.
You can also specify custom environment variables to start the redis service in semicolon-separated form.
```shell
export REDIS_CUSTOM_ENV="USER=alpha;HOST=beta"
@@ -151,7 +153,7 @@ dokku redis:info lollipop --version
```shell
# usage
dokku redis:list
dokku redis:list
```
List all services:
@@ -343,7 +345,7 @@ Expose the service on the service's normal ports, allowing access to it from the
dokku redis:expose lollipop 6379
```
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 redis:expose lollipop 127.0.0.1:6379
@@ -457,9 +459,9 @@ flags:
- `-i|--image IMAGE`: the image name 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
- `-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)
- `-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 redis docker container
You can upgrade an existing service to a new image or image-version:
@@ -501,9 +503,9 @@ flags:
- `-m|--memory MEMORY`: container memory limit in megabytes (default: unlimited)
- `-N|--initial-network INITIAL_NETWORK`: the initial network to attach the service to
- `-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
- `-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 redis docker container
You can clone an existing service to a new one:
@@ -675,6 +677,19 @@ Set the GPG-compatible passphrase for encrypting backups for backups:
dokku redis:backup-set-encryption lollipop
```
### set GPG Public Key encryption for all future backups of redis service
```shell
# usage
dokku redis:backup-set-public-key-encryption <service> <public-key-id>
```
Set the `GPG` Public Key for encrypting backups:
```shell
dokku redis:backup-set-public-key-encryption lollipop
```
### unset encryption for future backups of the redis service
```shell
@@ -688,6 +703,19 @@ Unset the `GPG` encryption passphrase for backups:
dokku redis:backup-unset-encryption lollipop
```
### unset GPG Public Key encryption for future backups of the redis service
```shell
# usage
dokku redis:backup-unset-public-key-encryption <service>
```
Unset the `GPG` Public Key encryption for backups:
```shell
dokku redis:backup-unset-public-key-encryption lollipop
```
### schedule a backup of the redis service
```shell

2
Vagrantfile vendored
View File

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

View File

@@ -1,15 +1,30 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from __future__ import print_function
import os
import re
def compile(service, version, variable, alias, image, scheme, ports, sponsors, options, unimplemented, dokku_version):
prefix = "\n\n".join([
header(service),
description(service, image, version),
])
def compile(
service,
version,
variable,
alias,
image,
scheme,
ports,
sponsors,
options,
unimplemented,
dokku_version,
):
prefix = "\n\n".join(
[
header(service),
description(service, image, version),
]
)
if len(sponsors) > 0:
prefix += "\n\n"
@@ -21,8 +36,19 @@ def compile(service, version, variable, alias, image, scheme, ports, sponsors, o
prefix,
requirements_section(dokku_version),
installation_section(service, dokku_version),
commands_section(service, variable, alias, image, scheme, ports, unimplemented),
usage_section(service, variable, alias, image, scheme, ports, options, unimplemented),
commands_section(
service, variable, alias, image, scheme, ports, unimplemented
),
usage_section(
service,
variable,
alias,
image,
scheme,
ports,
options,
unimplemented,
),
]
)
.replace("\n\n\n\n\n", "\n")
@@ -55,17 +81,25 @@ def sponsors_section(service, sponsors):
if len(sponsors) == 0:
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])
return "\n".join(
sponsor_data
)
return "\n".join(sponsor_data)
def requirements_section(dokku_version):
return "\n".join(
["## Requirements", "", f"- dokku {dokku_version}", "- docker 1.8.x",]
[
"## Requirements",
"",
f"- dokku {dokku_version}",
"- docker 1.8.x",
]
)
@@ -76,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}",
"```",
]
)
@@ -115,17 +149,31 @@ def commands_section(service, variable, alias, image, scheme, ports, unimplement
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(
[
"## 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.",
usage_intro(service, variable, alias, image, scheme, ports, options, unimplemented),
usage_lifecycle(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),
usage_intro(
service, variable, alias, image, scheme, ports, options, unimplemented
),
usage_lifecycle(
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"]
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 = [
"connect",
"enter",
@@ -160,11 +219,22 @@ def usage_lifecycle(service, variable, alias, image, scheme, ports, options, uni
]
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"]
content = [
"### Service Automation",
@@ -174,11 +244,22 @@ def usage_automation(service, variable, alias, image, scheme, ports, options, un
]
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"]
content = [
"### Data Management",
@@ -188,17 +269,30 @@ def usage_data_management(service, variable, alias, image, scheme, ports, option
]
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 = [
"backup-auth",
"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",
@@ -215,11 +309,22 @@ def usage_backup(service, variable, alias, image, scheme, ports, options, unimpl
]
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()
return "\n".join(
[
@@ -233,11 +338,30 @@ def usage_docker_pull(service, variable, alias, image, scheme, ports, options, u
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
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 == "":
continue
content.append(output)
@@ -275,7 +399,9 @@ def parse_args(line):
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:
return ""
@@ -285,7 +411,7 @@ def command_help(command, service, variable, alias, image, scheme, ports, option
"",
"```shell",
"# usage",
f"dokku {service}:{command} {data['arguments_string']}",
f"dokku {service}:{command} {data['arguments_string']}".strip(),
"```",
]
@@ -442,11 +568,11 @@ def process_sentence(sentence_lines):
parts = []
for word in sentence.strip().split(" "):
if word.isupper() and len(word) > 1:
for ending in [':', '.']:
for ending in [":", "."]:
if word.endswith(ending):
word = '`{0}`{1}'.format(word[:-1], ending)
word = "`{0}`{1}".format(word[:-1], ending)
else:
word = '`{0}`'.format(word)
word = "`{0}`".format(word)
parts.append(word)
text.append(" ".join(parts))
@@ -491,10 +617,10 @@ def main():
with open("Dockerfile") as f:
for line in f.readlines():
if "FROM " in line:
image, version = line.split(" ")[1].split(":")
image = image.strip()
version = version.strip()
if "FROM " in line:
image, version = line.split(" ")[1].split(":")
image = image.strip()
version = version.strip()
with open("config") as f:
for line in f.readlines():
@@ -524,10 +650,22 @@ def main():
with open("plugin.toml") as f:
for line in f.readlines():
if line.startswith("sponsors"):
sponsors = re.search("\[([\"\w\s,_-]+)\]", line).group(1)
sponsors = [s.strip("\"") for s in sponsors.split(",")]
sponsors = re.search('\[(["\w\s,_-]+)\]', line).group(1)
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__)))
readme_file = os.path.join(base_path, "README.md")

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"
@@ -457,7 +480,7 @@ service_container_rm() {
local ID
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...
if [[ -z "$ID" ]] || [[ "$ID" == "true" ]]; then
return 0
@@ -939,7 +962,7 @@ service_pause() {
declare SERVICE="$1"
local SERVICE_ROOT="$PLUGIN_DATA_ROOT/$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
if [[ -n $ID ]]; then

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 REDIS_CONFIG_OPTIONS=${REDIS_CONFIG_OPTIONS:=""}

View File

@@ -47,10 +47,12 @@ service_create() {
mkdir -p "$SERVICE_ROOT/$PLUGIN_CONFIG_SUFFIX" || dokku_log_fail "Unable to create service config directory"
touch "$LINKS_FILE"
REDIS_SERVICE_CONFIG="$SERVICE_ROOT/$PLUGIN_CONFIG_SUFFIX/redis.conf"
if [[ -z $REDIS_CONFIG_PATH ]]; then
curl -sSL "https://raw.githubusercontent.com/antirez/redis/${PLUGIN_IMAGE_VERSION:0:3}/redis.conf" >"$SERVICE_ROOT/$PLUGIN_CONFIG_SUFFIX/redis.conf" || dokku_log_fail "Unable to download the default redis.conf to the config directory"
echo "# requirepass" > $REDIS_SERVICE_CONFIG
else
cp "$REDIS_CONFIG_PATH" "$SERVICE_ROOT/$PLUGIN_CONFIG_SUFFIX/redis.conf" || dokku_log_fail "Unable to copy the ${REDIS_CONFIG_PATH} to the config directory"
cp "$REDIS_CONFIG_PATH" "$REDIS_SERVICE_CONFIG" || dokku_log_fail "Unable to copy the ${REDIS_CONFIG_PATH} to the config directory"
fi
PASSWORD=$(openssl rand -hex 32)
if [[ -n "$SERVICE_PASSWORD" ]]; then
@@ -59,7 +61,7 @@ service_create() {
fi
echo "$PASSWORD" >"$SERVICE_ROOT/PASSWORD"
chmod 640 "$SERVICE_ROOT/PASSWORD"
sed -i.bak "s/# requirepass.*/requirepass ${PASSWORD}/" "$SERVICE_ROOT/$PLUGIN_CONFIG_SUFFIX/redis.conf" && rm "$SERVICE_ROOT/$PLUGIN_CONFIG_SUFFIX/redis.conf.bak"
sed -i.bak "s/# requirepass.*/requirepass ${PASSWORD}/" "$REDIS_SERVICE_CONFIG" && rm "$SERVICE_ROOT/$PLUGIN_CONFIG_SUFFIX/redis.conf.bak"
service_commit_config "$SERVICE"
write_database_name "$SERVICE"
@@ -194,7 +196,7 @@ service_start() {
local QUIET="$2"
local SERVICE_ROOT="$PLUGIN_DATA_ROOT/$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
[[ -z $QUIET ]] && dokku_log_warn "Service is already started"
if [[ ! -f "$SERVICE_ROOT/ID" ]] || [[ "$(cat "$SERVICE_ROOT/ID")" != "$ID" ]]; then
@@ -205,7 +207,7 @@ service_start() {
fi
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
if [[ -n $PREVIOUS_ID ]]; then
"$DOCKER_BIN" container start "$PREVIOUS_ID" >/dev/null

View File

@@ -1,4 +1,4 @@
[plugin]
description = "dokku redis service plugin"
version = "1.32.3"
version = "1.40.4"
[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

@@ -17,9 +17,9 @@ service-clone-cmd() {
#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 -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 -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
declare desc="create container <new-name> then copy data from <name> into <new-name>"
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 dokku $PLUGIN_COMMAND_PREFIX:create lollipop
#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 dokku $PLUGIN_COMMAND_PREFIX:create lollipop
#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 -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|--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 -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
declare desc="create a $PLUGIN_SERVICE service"
local cmd="$PLUGIN_COMMAND_PREFIX:create" argv=("$@")

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

View File

@@ -15,9 +15,9 @@ service-upgrade-cmd() {
#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 -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 -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
declare desc="upgrade service <service> to the specified versions"
local cmd="$PLUGIN_COMMAND_PREFIX:upgrade" argv=("$@")

View File

@@ -48,7 +48,7 @@ teardown() {
assert_output_contains bridge 0
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 "status: $status"
assert_success
@@ -120,7 +120,7 @@ teardown() {
assert_output_contains custom-network
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 "status: $status"
assert_success
@@ -192,7 +192,7 @@ teardown() {
assert_output_contains bridge
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 "status: $status"
assert_success
@@ -258,7 +258,7 @@ teardown() {
assert_output_contains bridge
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 "status: $status"
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
# 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
# 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