refactor(garmin-grafana): use fetch_and_deploy_gh_release for Chronograf, split config blocks

This commit is contained in:
CanbiZ (MickLesk)
2026-04-30 14:35:52 +02:00
parent b920412247
commit 7dfe23a785
2 changed files with 10 additions and 7 deletions

View File

@@ -65,7 +65,7 @@ function update_script() {
systemctl start garmin-grafana systemctl start garmin-grafana
$STD systemctl restart grafana-server $STD systemctl restart grafana-server
msg_ok "Started Services" msg_ok "Started Services"
msg_ok "Updated Successfully!" msg_ok "Updated successfully!"
fi fi
exit exit
} }

View File

@@ -25,10 +25,7 @@ msg_info "Installing InfluxDB"
$STD apt install -y influxdb $STD apt install -y influxdb
msg_ok "Installed InfluxDB" msg_ok "Installed InfluxDB"
msg_info "Installing Chronograf" fetch_and_deploy_gh_release "chronograf" "influxdata/chronograf" "binary"
CHRONOGRAF_VERSION=$(get_latest_github_release "influxdata/chronograf")
fetch_and_deploy_from_url "https://dl.influxdata.com/chronograf/releases/chronograf_${CHRONOGRAF_VERSION}_amd64.deb" ""
msg_ok "Installed Chronograf"
msg_info "Configuring InfluxDB" msg_info "Configuring InfluxDB"
sed -i 's/# index-version = "inmem"/index-version = "tsi1"/' /etc/influxdb/influxdb.conf sed -i 's/# index-version = "inmem"/index-version = "tsi1"/' /etc/influxdb/influxdb.conf
@@ -66,10 +63,12 @@ msg_ok "Configured Grafana"
fetch_and_deploy_gh_release "garmin-grafana" "arpanghosh8453/garmin-grafana" "tarball" fetch_and_deploy_gh_release "garmin-grafana" "arpanghosh8453/garmin-grafana" "tarball"
msg_info "Configuring garmin-grafana" msg_info "Installing Python Dependencies"
mkdir -p /opt/garmin-grafana/.garminconnect mkdir -p /opt/garmin-grafana/.garminconnect
$STD uv sync --locked --project /opt/garmin-grafana/ $STD uv sync --locked --project /opt/garmin-grafana/
msg_ok "Installed Python Dependencies"
msg_info "Provisioning Grafana Dashboard & Datasource"
sed -i 's/\${DS_GARMIN_STATS}/garmin_influxdb/g' /opt/garmin-grafana/Grafana_Dashboard/Garmin-Grafana-Dashboard.json sed -i 's/\${DS_GARMIN_STATS}/garmin_influxdb/g' /opt/garmin-grafana/Grafana_Dashboard/Garmin-Grafana-Dashboard.json
sed -i 's/influxdb:8086/localhost:8086/' /opt/garmin-grafana/Grafana_Datasource/influxdb.yaml sed -i 's/influxdb:8086/localhost:8086/' /opt/garmin-grafana/Grafana_Datasource/influxdb.yaml
sed -i "s/influxdb_user/${INFLUXDB_USER}/" /opt/garmin-grafana/Grafana_Datasource/influxdb.yaml sed -i "s/influxdb_user/${INFLUXDB_USER}/" /opt/garmin-grafana/Grafana_Datasource/influxdb.yaml
@@ -77,6 +76,7 @@ sed -i "s/influxdb_secret_password/${INFLUXDB_PASSWORD}/" /opt/garmin-grafana/Gr
sed -i "s/GarminStats/${INFLUXDB_NAME}/" /opt/garmin-grafana/Grafana_Datasource/influxdb.yaml sed -i "s/GarminStats/${INFLUXDB_NAME}/" /opt/garmin-grafana/Grafana_Datasource/influxdb.yaml
cp -r /opt/garmin-grafana/Grafana_Datasource/* /etc/grafana/provisioning/datasources cp -r /opt/garmin-grafana/Grafana_Datasource/* /etc/grafana/provisioning/datasources
cp -r /opt/garmin-grafana/Grafana_Dashboard/* /etc/grafana/provisioning/dashboards cp -r /opt/garmin-grafana/Grafana_Dashboard/* /etc/grafana/provisioning/dashboards
msg_ok "Provisioned Grafana Dashboard & Datasource"
read -rp "Are you using Garmin in mainland China? (y/N): " prompt read -rp "Are you using Garmin in mainland China? (y/N): " prompt
if [[ "${prompt,,}" =~ ^(y|yes)$ ]]; then if [[ "${prompt,,}" =~ ^(y|yes)$ ]]; then
@@ -85,6 +85,7 @@ else
GARMIN_CN="False" GARMIN_CN="False"
fi fi
msg_info "Writing Environment Configuration"
cat <<EOF >/opt/garmin-grafana/.env cat <<EOF >/opt/garmin-grafana/.env
INFLUXDB_HOST=localhost INFLUXDB_HOST=localhost
INFLUXDB_PORT=8086 INFLUXDB_PORT=8086
@@ -97,6 +98,7 @@ TOKEN_DIR=/opt/garmin-grafana/.garminconnect
GRAFANA_USER=admin GRAFANA_USER=admin
GRAFANA_PASSWORD=${GRAFANA_PASS} GRAFANA_PASSWORD=${GRAFANA_PASS}
EOF EOF
msg_ok "Wrote Environment Configuration"
if [[ -z "$(ls -A /opt/garmin-grafana/.garminconnect)" ]]; then if [[ -z "$(ls -A /opt/garmin-grafana/.garminconnect)" ]]; then
read -r -p "Please enter your Garmin Connect Email: " GARMIN_EMAIL read -r -p "Please enter your Garmin Connect Email: " GARMIN_EMAIL
@@ -121,6 +123,7 @@ fi
$STD systemctl restart grafana-server $STD systemctl restart grafana-server
msg_info "Installing Bulk Import Helper"
cat <<'EOF' >/usr/local/bin/garmin-bulk-import cat <<'EOF' >/usr/local/bin/garmin-bulk-import
#!/usr/bin/env bash #!/usr/bin/env bash
if [[ -z $1 ]]; then if [[ -z $1 ]]; then
@@ -135,7 +138,7 @@ MANUAL_START_DATE="${START_DATE}" MANUAL_END_DATE="${END_DATE}" uv run --env-fil
systemctl start garmin-grafana systemctl start garmin-grafana
EOF EOF
chmod +x /usr/local/bin/garmin-bulk-import chmod +x /usr/local/bin/garmin-bulk-import
msg_ok "Configured garmin-grafana" msg_ok "Installed Bulk Import Helper"
msg_info "Creating Service" msg_info "Creating Service"
cat <<EOF >/etc/systemd/system/garmin-grafana.service cat <<EOF >/etc/systemd/system/garmin-grafana.service