Merge pull request #926 from tmunsch/patch-8

Update Minio to include update feature
This commit is contained in:
Michael (Parker) Parker 2021-01-27 06:39:39 -05:00 committed by GitHub
commit aeeb1cebe9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 38 additions and 20 deletions

View File

@ -3,6 +3,8 @@
## Features
Auto generate keys on server creation bypassing default minio keys
## Update
Auto update minio to latest version using "update" startup feature
Automatic Key rotation using "rotate" startup feature

View File

@ -1,14 +1,17 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
"version": "PTDL_v1",
"update_url": null
},
"exported_at": "2020-12-14T05:29:26+02:00",
"exported_at": "2021-01-11T15:35:14-05:00",
"name": "Minio S3",
"author": "accounts@bofanodes.io",
"description": "MinIO is a cloud storage server compatible with Amazon S3, released under Apache License v2. As an object store, MinIO can store unstructured data such as photos, videos, log files, backups and container images. The maximum size of an object is 5TB.",
"features": null,
"image": "quay.io\/parkervcp\/pterodactyl-images:ubuntu",
"images": [
"quay.io\/parkervcp\/pterodactyl-images:ubuntu"
],
"startup": ".\/minio.sh",
"config": {
"files": "{}",
@ -26,12 +29,12 @@
"variables": [
{
"name": "Startup Type",
"description": "normal or rotate",
"description": "normal,rotate,update",
"env_variable": "STARTUP_TYPE",
"default_value": "normal",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|in:normal,rotate"
"rules": "required|string|in:normal,rotate,update"
}
]
}

View File

@ -1,39 +1,51 @@
#!/bin/bash
##################################
echo Starting up....
echo "Startup Type: $STARTUP_TYPE"
echo "$(tput setaf 2)Starting up...."
echo "Startup Type: $(tput setaf 2)$STARTUP_TYPE"
if [ -f "keys/key.txt" ]; then
echo "Key file detected..."
echo "$(tput setaf 2)Key file detected..."
export MINIO_ACCESS_KEY=`cat keys/key.txt`
else
echo minioadmin > keys/key.txt
echo "No key file detected...Preparing First Time Boot"
echo "$(tput setaf 3)No key file detected...Preparing First Time Boot"
fi
if [ -f "keys/secret.txt" ]; then
echo "Secret file detected..."
echo "$(tput setaf 2)Secret file detected..."
export MINIO_SECRET_KEY=`cat keys/secret.txt`
else
echo minioadmin > keys/secret.txt
echo "No secret file detected...Preparing First Time Boot"
fi
if [ -f "keys/oldsecret.txt" ]; then
echo "Old secret file detected..."
echo "$(tput setaf 1)Old secret file detected..."
export MINIO_SECRET_KEY_OLD=`cat keys/oldsecret.txt`
fi
if [ -f "keys/oldkey.txt" ]; then
echo "Old key file detected..."
echo "$(tput setaf 1)Old key file detected..."
export MINIO_ACCESS_KEY_OLD=`cat keys/oldkey.txt`
fi
if [ -f "keys/justrotated.txt" ]; then
echo "Previous key rotation detected...."
echo "Clearing the Lanes...."
echo "$(tput setaf 3)Previous key rotation detected...."
echo "$(tput setaf 3)Clearing the Lanes...."
unset MINIO_ACCESS_KEY_OLD
unset MINIO_SECRET_KEY_OLD
echo "$(tput setaf 2)Lanes Cleared!"
STARTUP_TYPE=normal
rm keys/justrotated.txt
rm keys/oldsecret.txt
rm keys/oldkey.txt
fi
##########################################
if [ -z "$STARTUP_TYPE" ] || [ "$STARTUP_TYPE" == "update" ]; then
echo "$(tput setaf 3)Performing update...."
echo "$(tput setaf 1)Removing old minio version"
rm minio
echo "$(tput setaf 3)Downloading new minio version"
wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
echo "$(tput setaf 2)Update Complete"
fi
##########################################
if [ -z "$STARTUP_TYPE" ] || [ "$STARTUP_TYPE" == "rotate" ]; then
touch keys/justrotated.txt
@ -45,12 +57,13 @@ export MINIO_ACCESS_KEY=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | h
echo $MINIO_ACCESS_KEY > keys/key.txt
export MINIO_SECRET_KEY=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)
echo $MINIO_SECRET_KEY > keys/secret.txt
echo Your New Access Key is: $MINIO_ACCESS_KEY
echo Your New Secret Key is: $MINIO_SECRET_KEY
echo Your Old Access Key is: $MINIO_ACCESS_KEY_OLD
echo Your Old Access Key is: $MINIO_SECRET_KEY_OLD
echo Booting...
echo "Your New Access Key is: $(tput setaf 2)$MINIO_ACCESS_KEY"
echo "Your New Secret Key is: $(tput setaf 2)$MINIO_SECRET_KEY"
echo "Your Old Access Key is: $(tput setaf 3)$MINIO_ACCESS_KEY_OLD"
echo "Your Old Access Key is: $(tput setaf 3)$MINIO_SECRET_KEY_OLD"
echo "$(tput setaf 2)Booting..."
./minio server data --address 0.0.0.0:$SERVER_PORT
else
echo "$(tput setaf 2)Booting..."
./minio server data --address 0.0.0.0:$SERVER_PORT
fi