Compare commits
13 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1f187bf6ff | ||
|
|
fe950d727e | ||
|
|
b576967efa | ||
|
|
b5cb24fc6c | ||
|
|
aa1d1757a6 | ||
|
|
c11f1658e3 | ||
|
|
e2311100dd | ||
|
|
f28a340403 | ||
|
|
6dff5dc994 | ||
|
|
7b6c259ff2 | ||
|
|
b6394a8a33 | ||
|
|
dbb6dfdf0d | ||
|
|
81b78bd7a0 |
@@ -1,31 +0,0 @@
|
|||||||
version: 2.1
|
|
||||||
|
|
||||||
commands:
|
|
||||||
build:
|
|
||||||
description: "run the build"
|
|
||||||
parameters:
|
|
||||||
python_version:
|
|
||||||
type: string
|
|
||||||
default: "3.7.0"
|
|
||||||
steps:
|
|
||||||
- checkout
|
|
||||||
|
|
||||||
executors:
|
|
||||||
machine:
|
|
||||||
machine:
|
|
||||||
docker_layer_caching: false
|
|
||||||
image: ubuntu-1604:201903-01
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build-master:
|
|
||||||
environment:
|
|
||||||
DOKKU_VERSION: master
|
|
||||||
executor: machine
|
|
||||||
steps:
|
|
||||||
- build
|
|
||||||
|
|
||||||
workflows:
|
|
||||||
version: 2
|
|
||||||
build:
|
|
||||||
jobs:
|
|
||||||
- "build-master"
|
|
||||||
24
.devcontainer/20_init_plugin
Executable file
24
.devcontainer/20_init_plugin
Executable file
@@ -0,0 +1,24 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -eo pipefail
|
||||||
|
|
||||||
|
log-info() {
|
||||||
|
declare desc="Log info formatter"
|
||||||
|
echo " $*" 1>&2
|
||||||
|
}
|
||||||
|
|
||||||
|
log-fail() {
|
||||||
|
declare desc="Log fail formatter"
|
||||||
|
echo "! $*" 1>&2
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
main() {
|
||||||
|
dokku plugin:install
|
||||||
|
|
||||||
|
# built in the Dockerfile
|
||||||
|
PLUGIN_NAME="$(source /tmp/.env && echo "$PLUGIN_NAME")"
|
||||||
|
PLUGIN_VARIABLE="$(source /tmp/.env && echo "$PLUGIN_VARIABLE")"
|
||||||
|
echo "export ${PLUGIN_VARIABLE}_HOST_ROOT=${SERVICE_HOST_ROOT}/$PLUGIN_NAME" > /etc/default/dokku
|
||||||
|
}
|
||||||
|
|
||||||
|
main "$@"
|
||||||
26
.devcontainer/Dockerfile
Normal file
26
.devcontainer/Dockerfile
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
FROM dokku/dokku:latest
|
||||||
|
|
||||||
|
RUN apt-get update
|
||||||
|
RUN apt-get install --no-install-recommends -y build-essential && \
|
||||||
|
apt-get clean autoclean && \
|
||||||
|
apt-get autoremove --yes && \
|
||||||
|
rm -rf /var/lib/apt/lists/* && \
|
||||||
|
mkdir -p /mnt/dokku/home/dokku /mnt/dokku/var/lib/dokku/config /mnt/dokku/var/lib/dokku/data /mnt/dokku/var/lib/dokku/services && \
|
||||||
|
chown -R dokku:dokku /mnt/dokku/home/dokku /mnt/dokku/var/lib/dokku/config /mnt/dokku/var/lib/dokku/data /mnt/dokku/var/lib/dokku/services && \
|
||||||
|
echo "dokku.me" > /home/dokku/VHOST
|
||||||
|
|
||||||
|
ADD https://raw.githubusercontent.com/dokku/dokku/master/tests/dhparam.pem /mnt/dokku/etc/nginx/dhparam.pem
|
||||||
|
|
||||||
|
COPY .devcontainer/20_init_plugin /etc/my_init.d/20_init_plugin
|
||||||
|
COPY .devcontainer/bin/ /usr/local/bin/
|
||||||
|
|
||||||
|
COPY . .
|
||||||
|
|
||||||
|
RUN source /tmp/config && \
|
||||||
|
echo "export ${PLUGIN_DISABLE_PULL_VARIABLE}=true" > /tmp/.env && \
|
||||||
|
echo "export PLUGIN_NAME=${PLUGIN_COMMAND_PREFIX}" >> /tmp/.env && \
|
||||||
|
echo "export PLUGIN_VARIABLE=${PLUGIN_VARIABLE}" >> /tmp/.env
|
||||||
|
|
||||||
|
RUN source /tmp/.env && \
|
||||||
|
dokku plugin:install file:///tmp --name $PLUGIN_NAME && \
|
||||||
|
make ci-dependencies
|
||||||
8
.devcontainer/bin/copy-file
Executable file
8
.devcontainer/bin/copy-file
Executable file
@@ -0,0 +1,8 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
main() {
|
||||||
|
PLUGIN_NAME="$(source /tmp/.env && echo "$PLUGIN_NAME")"
|
||||||
|
cp "$1" "/var/lib/dokku/plugins/enabled/$PLUGIN_NAME/$1"
|
||||||
|
}
|
||||||
|
|
||||||
|
main "$@"
|
||||||
16
.devcontainer/devcontainer.json
Normal file
16
.devcontainer/devcontainer.json
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"build": {
|
||||||
|
"dockerfile": "Dockerfile",
|
||||||
|
"context": ".."
|
||||||
|
},
|
||||||
|
"containerEnv": {
|
||||||
|
"SERVICE_HOST_ROOT": "${localWorkspaceFolder}/tmp/data"
|
||||||
|
},
|
||||||
|
"initializeCommand": ["mkdir", "-p", "tmp/data"],
|
||||||
|
"mounts": [
|
||||||
|
"source=/var/run/docker.sock,target=/var/run/docker.sock,type=bind",
|
||||||
|
"source=${localWorkspaceFolder}/tmp/data/,target=/var/lib/dokku/services/,type=bind"
|
||||||
|
],
|
||||||
|
"overrideCommand": false,
|
||||||
|
"runArgs": ["--init"]
|
||||||
|
}
|
||||||
@@ -1 +1 @@
|
|||||||
FROM mysql:8.0.25
|
FROM mysql:8.0.26
|
||||||
|
|||||||
15
Makefile
15
Makefile
@@ -71,28 +71,15 @@ tmp/xunit-reader:
|
|||||||
tar xf tmp/xunit-reader.tgz -C tmp
|
tar xf tmp/xunit-reader.tgz -C tmp
|
||||||
chmod +x tmp/xunit-reader
|
chmod +x tmp/xunit-reader
|
||||||
|
|
||||||
tmp/xunit-to-github:
|
|
||||||
mkdir -p tmp
|
|
||||||
curl -o tmp/xunit-to-github.tgz -sL https://github.com/josegonzalez/go-xunit-to-github/releases/download/v$(XUNIT_TO_GITHUB_VERSION)/xunit-to-github_$(XUNIT_TO_GITHUB_VERSION)_$(SYSTEM_NAME)_$(HARDWARE).tgz
|
|
||||||
tar xf tmp/xunit-to-github.tgz -C tmp
|
|
||||||
chmod +x tmp/xunit-to-github
|
|
||||||
|
|
||||||
setup:
|
setup:
|
||||||
bash tests/setup.sh
|
bash tests/setup.sh
|
||||||
$(MAKE) ci-dependencies
|
$(MAKE) ci-dependencies
|
||||||
|
|
||||||
test: lint unit-tests
|
test: lint unit-tests
|
||||||
|
|
||||||
report: tmp/xunit-reader tmp/xunit-to-github
|
report: tmp/xunit-reader
|
||||||
tmp/xunit-reader -p 'tmp/test-results/bats/*.xml'
|
tmp/xunit-reader -p 'tmp/test-results/bats/*.xml'
|
||||||
tmp/xunit-reader -p 'tmp/test-results/shellcheck/*.xml'
|
tmp/xunit-reader -p 'tmp/test-results/shellcheck/*.xml'
|
||||||
ifdef TRAVIS_REPO_SLUG
|
|
||||||
ifdef GITHUB_ACCESS_TOKEN
|
|
||||||
ifneq ($(TRAVIS_PULL_REQUEST),false)
|
|
||||||
tmp/xunit-to-github --skip-ok --job-url "$(TRAVIS_JOB_WEB_URL)" --pull-request-id "$(TRAVIS_PULL_REQUEST)" --repository-slug "$(TRAVIS_REPO_SLUG)" --title "DOKKU_VERSION=$(DOKKU_VERSION)" tmp/test-results/bats tmp/test-results/shellcheck
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
.PHONY: clean
|
.PHONY: clean
|
||||||
clean:
|
clean:
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# dokku mysql [](https://circleci.com/gh/dokku/dokku-mysql/tree/master) [](https://webchat.freenode.net/?channels=dokku)
|
# dokku mysql [](https://github.com/dokku/dokku-mysql/actions/workflows/ci.yml?query=branch%3Amaster) [](https://webchat.libera.chat/?channels=dokku)
|
||||||
|
|
||||||
Official mysql plugin for dokku. Currently defaults to installing [mysql 8.0.25](https://hub.docker.com/_/mysql/).
|
Official mysql plugin for dokku. Currently defaults to installing [mysql 8.0.26](https://hub.docker.com/_/mysql/).
|
||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
@@ -653,4 +653,4 @@ dokku mysql:backup-unschedule lolipop
|
|||||||
|
|
||||||
If you wish to disable the `docker pull` calls that the plugin triggers, you may set the `MYSQL_DISABLE_PULL` environment variable to `true`. Once disabled, you will need to pull the service image you wish to deploy as shown in the `stderr` output.
|
If you wish to disable the `docker pull` calls that the plugin triggers, you may set the `MYSQL_DISABLE_PULL` environment variable to `true`. Once disabled, you will need to pull the service image you wish to deploy as shown in the `stderr` output.
|
||||||
|
|
||||||
Please ensure the proper images are in place when `docker pull` is disabled.
|
Please ensure the proper images are in place when `docker pull` is disabled.
|
||||||
|
|||||||
@@ -35,8 +35,8 @@ def header(service):
|
|||||||
return " ".join(
|
return " ".join(
|
||||||
[
|
[
|
||||||
f"# dokku {service}",
|
f"# dokku {service}",
|
||||||
f'[](https://circleci.com/gh/dokku/dokku-{service}/tree/master)',
|
f'[](https://github.com/dokku/dokku-{service}/actions/workflows/ci.yml?query=branch%3Amaster)',
|
||||||
f'[](https://webchat.freenode.net/?channels=dokku)',
|
f'[](https://webchat.libera.chat/?channels=dokku)',
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -511,7 +511,7 @@ def main():
|
|||||||
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")
|
||||||
with open(readme_file, "w") as f:
|
with open(readme_file, "w") as f:
|
||||||
f.write(text)
|
f.write(text + "\n")
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
|||||||
@@ -120,7 +120,7 @@ retry-docker-command() {
|
|||||||
local i=0 success=false
|
local i=0 success=false
|
||||||
until [ $i -ge 100 ]; do
|
until [ $i -ge 100 ]; do
|
||||||
set +e
|
set +e
|
||||||
docker exec -it "$ID" sh -c "$COMMAND" 2>/dev/null
|
suppress_output docker exec "$ID" sh -c "$COMMAND"
|
||||||
exit_code=$?
|
exit_code=$?
|
||||||
set -e
|
set -e
|
||||||
if [[ "$exit_code" == 0 ]]; then
|
if [[ "$exit_code" == 0 ]]; then
|
||||||
|
|||||||
@@ -152,7 +152,11 @@ service_start() {
|
|||||||
elif service_image_exists "$SERVICE" && [[ -n "$ROOTPASSWORD" ]] && [[ -n "$PASSWORD" ]]; then
|
elif service_image_exists "$SERVICE" && [[ -n "$ROOTPASSWORD" ]] && [[ -n "$PASSWORD" ]]; then
|
||||||
service_create_container "$SERVICE"
|
service_create_container "$SERVICE"
|
||||||
else
|
else
|
||||||
dokku_log_verbose_quiet "Neither container nor valid configuration exists for $SERVICE"
|
if ! service_image_exists "$SERVICE"; then
|
||||||
|
dokku_log_verbose_quiet "Missing image $PLUGIN_IMAGE:$PLUGIN_IMAGE_VERSION for $SERVICE"
|
||||||
|
else
|
||||||
|
dokku_log_verbose_quiet "Neither container nor valid configuration exists for $SERVICE"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
[plugin]
|
[plugin]
|
||||||
description = "dokku mysql service plugin"
|
description = "dokku mysql service plugin"
|
||||||
version = "1.14.0"
|
version = "1.14.1"
|
||||||
[plugin.config]
|
[plugin.config]
|
||||||
|
|||||||
@@ -23,10 +23,11 @@ pushd "$(dirname "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)")" >/dev/null
|
|||||||
source "config"
|
source "config"
|
||||||
popd >/dev/null
|
popd >/dev/null
|
||||||
sudo rm -rf "$DOKKU_PLUGINS_ROOT/$PLUGIN_COMMAND_PREFIX"
|
sudo rm -rf "$DOKKU_PLUGINS_ROOT/$PLUGIN_COMMAND_PREFIX"
|
||||||
sudo mkdir -p "$DOKKU_PLUGINS_ROOT/$PLUGIN_COMMAND_PREFIX" "$DOKKU_PLUGINS_ROOT/$PLUGIN_COMMAND_PREFIX/subcommands" "$DOKKU_PLUGINS_ROOT/$PLUGIN_COMMAND_PREFIX/scripts"
|
sudo mkdir -p "$DOKKU_PLUGINS_ROOT/$PLUGIN_COMMAND_PREFIX" "$DOKKU_PLUGINS_ROOT/$PLUGIN_COMMAND_PREFIX/subcommands" "$DOKKU_PLUGINS_ROOT/$PLUGIN_COMMAND_PREFIX/scripts" "$DOKKU_PLUGINS_ROOT/$PLUGIN_COMMAND_PREFIX/templates"
|
||||||
sudo find ./ -maxdepth 1 -type f -exec cp '{}' "$DOKKU_PLUGINS_ROOT/$PLUGIN_COMMAND_PREFIX" \;
|
sudo find ./ -maxdepth 1 -type f -exec cp '{}' "$DOKKU_PLUGINS_ROOT/$PLUGIN_COMMAND_PREFIX" \;
|
||||||
[[ -d "./scripts" ]] && sudo find ./scripts -maxdepth 1 -type f -exec cp '{}' "$DOKKU_PLUGINS_ROOT/$PLUGIN_COMMAND_PREFIX/scripts" \;
|
[[ -d "./scripts" ]] && sudo find ./scripts -maxdepth 1 -type f -exec cp '{}' "$DOKKU_PLUGINS_ROOT/$PLUGIN_COMMAND_PREFIX/scripts" \;
|
||||||
[[ -d "./subcommands" ]] && sudo find ./subcommands -maxdepth 1 -type f -exec cp '{}' "$DOKKU_PLUGINS_ROOT/$PLUGIN_COMMAND_PREFIX/subcommands" \;
|
[[ -d "./subcommands" ]] && sudo find ./subcommands -maxdepth 1 -type f -exec cp '{}' "$DOKKU_PLUGINS_ROOT/$PLUGIN_COMMAND_PREFIX/subcommands" \;
|
||||||
|
[[ -d "./templates" ]] && sudo find ./templates -maxdepth 1 -type f -exec cp '{}' "$DOKKU_PLUGINS_ROOT/$PLUGIN_COMMAND_PREFIX/templates" \;
|
||||||
sudo mkdir -p "$PLUGIN_CONFIG_ROOT" "$PLUGIN_DATA_ROOT"
|
sudo mkdir -p "$PLUGIN_CONFIG_ROOT" "$PLUGIN_DATA_ROOT"
|
||||||
sudo dokku plugin:enable "$PLUGIN_COMMAND_PREFIX"
|
sudo dokku plugin:enable "$PLUGIN_COMMAND_PREFIX"
|
||||||
sudo dokku plugin:install
|
sudo dokku plugin:install
|
||||||
|
|||||||
Reference in New Issue
Block a user