41 lines
2.3 KiB
Bash
41 lines
2.3 KiB
Bash
|
#!/usr/bin/env bash
|
||
|
set -eu
|
||
|
|
||
|
# This script will do some basic processing from k8s-at-home to TrueCharts
|
||
|
nodeport=3700
|
||
|
for chart in input/*; do
|
||
|
if [ -d "${chart}" ]; then
|
||
|
nodeport=$((nodeport+1))
|
||
|
basename=$(basename ${chart})
|
||
|
echo "processing ${chart} using nodeport $nodeport"
|
||
|
mkdir -p output/${basename}
|
||
|
cp -rf placeholder/SCALE output/${basename}/
|
||
|
cp -rf ${chart}/ci output/${basename}/ || echo "no CI folder detected, continuing..."
|
||
|
cp -rf ${chart}/templates output/${basename}/
|
||
|
cp -rf ${chart}/Chart.yaml output/${basename}/Chart.yaml
|
||
|
cp -rf ${chart}/.helmignore output/${basename}/.helmignore || echo "helmignore not detected, continuing..."
|
||
|
cp -rf ${chart}/values.yaml output/${basename}/values.yaml
|
||
|
iconurl=$(cat ${chart}/Chart.yaml | grep -m 1 icon: ) && iconurl=${iconurl/icon: /}
|
||
|
sed -i "s|PLACEHOLDERICON|${iconurl}|g" output/${basename}/SCALE/item.yaml
|
||
|
repo=$(cat ${chart}/values.yaml | grep -m 1 repository: ) && repo=${repo/ repository: /}
|
||
|
tag=$(cat ${chart}/values.yaml | grep -m 1 tag: ) && tag=${tag/ tag: /}
|
||
|
sed -i "s|PLACEHOLDERREPO|${repo}|g" output/${basename}/SCALE/ix_values.yaml
|
||
|
sed -i "s|PLACEHOLDERTAG|${tag}|g" output/${basename}/SCALE/ix_values.yaml
|
||
|
port=$(cat ${chart}/values.yaml | grep -m 1 port: ) && port=${port/ port: /}
|
||
|
sed -i "s|PLACEHOLDERPORT|${port}|g" output/${basename}/SCALE/questions.yaml
|
||
|
sed -i "s|PLACEHOLDERNODEPORT|${nodeport}|g" output/${basename}/SCALE/questions.yaml
|
||
|
sed -i "/^version:/c\version: 1.0.0" output/${basename}/Chart.yaml
|
||
|
sed -i "/^appVersion:/c\appVersion: 'auto'" output/${basename}/Chart.yaml
|
||
|
sed -i "s|library-charts.k8s-at-home.com|truecharts.org|g" output/${basename}/Chart.yaml
|
||
|
sed -i "/name: commonc\- name2: common" output/${basename}/Chart.yaml
|
||
|
sed -i "/- name:/c\- name: truecharts" output/${basename}/Chart.yaml
|
||
|
sed -i "/name2: commonc\- name: common" output/${basename}/Chart.yaml
|
||
|
sed -i "/email:/c\ email: info@truecharts.org
|
||
|
url: https://truecharts.org" output/${basename}/Chart.yaml
|
||
|
sed -i "/ version:/c\ version: 6.4.6" output/${basename}/Chart.yaml
|
||
|
sed -i "s|github.com/k8s-at-home/charts|github.com/truechartsapps|g" output/${basename}/Chart.yaml
|
||
|
sed -i "s|charts/stable|charts/incubator|g" output/${basename}/Chart.yaml
|
||
|
sed -i "s|http:|main:|g" output/${basename}/values.yaml
|
||
|
fi
|
||
|
done
|