#!/usr/bin/env bash
# 文件名: install-chartmuseum.sh

source $(realpath ..)/.vars.conf

chartmuseum_port=38080
chartmuseum_data_dir=/data/chartmuseum
chartmuseum_ver=v0.16.0
chartmuseum_user=admin
chartmuseum_pass=Abcd3.14159
chart_repo_name=local-chartmuseum


# 安装依赖工具
cd ../scripts && bash tools-install.sh >/dev/null

# 判断服务是否已安装
if [[ "$(systemctl is-enabled chartmuseum.service)" != "enabled" ]]
then
    # 创建所需目录
    install -d ${chartmuseum_data_dir} >/dev/null

    # 文件解压
    tar axvf ../files/chartmuseum-${chartmuseum_ver}-${ARCH}.tar.xz -C /usr/sbin >/dev/null

    # 创建服务配置文件
    cat > /etc/sysconfig/chartmuseum<<EOF
ARGS=--debug --port=${chartmuseum_port} --storage="local" --storage-local-rootdir="${chartmuseum_data_dir}" --log-json --basic-auth-user="${chartmuseum_user}" --basic-auth-pass="${chartmuseum_pass}"
EOF
    # 创建服务启动文件
    cat > /etc/systemd/system/chartmuseum.service<<EOF
[Unit]
Description=Chart Center Service
Requires=network-online.target
After=network-online.target

[Service]
Type=simple
EnvironmentFile=/etc/sysconfig/chartmuseum
ExecStart=/usr/sbin/chartmuseum \$ARGS
ExecStop=/usr/bin/chartmuseum step-down
User=root
Restart=Always

[Install]
WantedBy=multi-user.target
EOF

    systemctl daemon-reload
    systemctl enable chartmuseum.service --now
fi

sleep 3
helm repo list | grep ${chart_repo_name} >/dev/null 2 >/dev/null || helm repo add ${chart_repo_name} http://localhost:${chartmuseum_port} --username ${chartmuseum_user} --password ${chartmuseum_pass}
