132 lines
4.5 KiB
YAML
132 lines
4.5 KiB
YAML
|
image:
|
||
|
repository: serverlein/tsn-ranksystem-webserver
|
||
|
pullPolicy: IfNotPresent
|
||
|
tag: latest@sha256:2056e6c11251da49e1b6d18c5ac3a00905c4031956ac55c4ce7062d9800380c2
|
||
|
|
||
|
securityContext:
|
||
|
container:
|
||
|
readOnlyRootFilesystem: false
|
||
|
|
||
|
ranksystem:
|
||
|
cron_enabled: true
|
||
|
cron_schedule: "*/5 * * * *"
|
||
|
|
||
|
workload:
|
||
|
main:
|
||
|
podSpec:
|
||
|
initContainers:
|
||
|
download-ranksystem:
|
||
|
enabled: true
|
||
|
type: init
|
||
|
imageSelector: "image"
|
||
|
command:
|
||
|
- /bin/sh
|
||
|
- -c
|
||
|
args:
|
||
|
- |
|
||
|
web_location={{ .Values.persistence.web.targetSelector.main.main.mountPath }}
|
||
|
indexFile=${web_location}/index.php
|
||
|
|
||
|
if [ ! -f "${indexFile}" ]; then
|
||
|
# download with curl as git & wget not available
|
||
|
# automatically fetch newest version
|
||
|
LOCATION=$(curl -s https://api.github.com/repos/Newcomer1989/TSN-Ranksystem/releases/latest \
|
||
|
| grep "tarball_url" \
|
||
|
| awk '{ print $2 }' \
|
||
|
| sed 's/,$//' \
|
||
|
| sed 's/"//g' ) \
|
||
|
; curl -sL -o ${web_location}/ranksystem.tar.gz $LOCATION
|
||
|
# unzip file
|
||
|
tar -xzf ${web_location}/ranksystem.tar.gz
|
||
|
# get topfolder
|
||
|
top_folder=$(find ${web_location} -type d -name "Newcomer*" -exec basename \{} .po \;)
|
||
|
# move to topfolder
|
||
|
mv ${top_folder}/* ${web_location}
|
||
|
# delete obsolete folders & files
|
||
|
rm -rf ${web_location}/ranksystem.tar.gz ${top_folder}
|
||
|
|
||
|
webinterface_location=${web_location}/webinterface
|
||
|
navFile=${webinterface_location}/_nav.php
|
||
|
workerFile=${web_location}/worker.php
|
||
|
|
||
|
# remove annoying SSL message (doesnt work with traefik/ingress)
|
||
|
sed -i "$(($(wc -l < ${navFile})-4)),$(($(wc -l < ${navFile})))d" ${navFile}
|
||
|
|
||
|
# change help() to check() in worker.php
|
||
|
sed -i "s/\bhelp();/check();/g" ${workerFile}
|
||
|
echo "Files downloaded and installed."
|
||
|
echo "Folder :$PWD"
|
||
|
echo "Files:"
|
||
|
ls
|
||
|
else
|
||
|
echo "Files Located. No action needed."
|
||
|
fi
|
||
|
containers:
|
||
|
main:
|
||
|
lifecycle:
|
||
|
postStart:
|
||
|
type: exec
|
||
|
command:
|
||
|
- /bin/sh
|
||
|
- -c
|
||
|
- |
|
||
|
web_location={{ .Values.persistence.web.targetSelector.main.main.mountPath }}
|
||
|
if [ -f "${web_location}/install.php" ]; then
|
||
|
curl -v -X POST -d "dbtype=mysql&dbhost={{ .Values.mariadb.creds.plainhost | trimAll "\"" }}&dbname={{ .Values.mariadb.mariadbDatabase }}&dbuser={{ .Values.mariadb.mariadbUsername }}&dbpass={{ .Values.mariadb.creds.mariadbPassword | trimAll "\"" }}&install=&installchecked=" http://localhost/install.php
|
||
|
sleep 1;
|
||
|
curl -v -X POST -d "user=ranksystem&pass=ranksystem&confweb=" http://localhost/install.php
|
||
|
echo "Install script executed."
|
||
|
else
|
||
|
echo "Install script doesnt exists, no further action is needed."
|
||
|
fi
|
||
|
ranksystem-cron:
|
||
|
enabled: "{{ .Values.ranksystem.cron_enabled }}"
|
||
|
type: CronJob
|
||
|
schedule: "{{ .Values.ranksystem.cron_schedule }}"
|
||
|
podSpec:
|
||
|
restartPolicy: OnFailure
|
||
|
containers:
|
||
|
ranksystem-cron:
|
||
|
primary: true
|
||
|
enabled: true
|
||
|
imageSelector: "image"
|
||
|
probes:
|
||
|
liveness:
|
||
|
enabled: false
|
||
|
readiness:
|
||
|
enabled: false
|
||
|
startup:
|
||
|
enabled: false
|
||
|
command:
|
||
|
- /bin/sh
|
||
|
- -c
|
||
|
- |
|
||
|
name={{ include "tc.v1.common.lib.chart.names.fullname" $ }}
|
||
|
port={{ .Values.service.main.ports.main.port }}
|
||
|
while ! curl -s -o -v /dev/null http://${name}:${port}/worker.php; do sleep 1; done && \
|
||
|
curl -v -X GET -d "action=run_command" http://${name}:${port}/worker.php
|
||
|
|
||
|
service:
|
||
|
main:
|
||
|
ports:
|
||
|
main:
|
||
|
targetPort: 80
|
||
|
port: 9300
|
||
|
persistence:
|
||
|
web:
|
||
|
enabled: true
|
||
|
targetSelector:
|
||
|
main:
|
||
|
main:
|
||
|
mountPath: /var/www/html
|
||
|
download-ranksystem:
|
||
|
mountPath: /var/www/html
|
||
|
mariadb:
|
||
|
enabled: true
|
||
|
includeCommon: true
|
||
|
mariadbUsername: ranksystem
|
||
|
mariadbDatabase: ranksystem
|
||
|
portal:
|
||
|
open:
|
||
|
enabled: true
|