image: repository: serverlein/tsn-ranksystem-webserver pullPolicy: IfNotPresent tag: latest@sha256:b97cee9b242bba0c792b0fa8c74d66917698725c93145327b1fa39a72ceb953c securityContext: container: readOnlyRootFilesystem: false 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 # remove annoying SSL message (doesnt work with traefik/ingress) sed -i "$(($(wc -l < ${navFile})-4)),$(($(wc -l < ${navFile})))d" ${navFile} 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 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 mariadbUsername: ranksystem mariadbDatabase: ranksystem portal: open: enabled: true