refactor(garmin-grafana): use fetch_and_deploy_gh_release for Chronograf, split config blocks
This commit is contained in:
@@ -65,7 +65,7 @@ function update_script() {
|
||||
systemctl start garmin-grafana
|
||||
$STD systemctl restart grafana-server
|
||||
msg_ok "Started Services"
|
||||
msg_ok "Updated Successfully!"
|
||||
msg_ok "Updated successfully!"
|
||||
fi
|
||||
exit
|
||||
}
|
||||
|
||||
@@ -25,10 +25,7 @@ msg_info "Installing InfluxDB"
|
||||
$STD apt install -y influxdb
|
||||
msg_ok "Installed InfluxDB"
|
||||
|
||||
msg_info "Installing Chronograf"
|
||||
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"
|
||||
fetch_and_deploy_gh_release "chronograf" "influxdata/chronograf" "binary"
|
||||
|
||||
msg_info "Configuring InfluxDB"
|
||||
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"
|
||||
|
||||
msg_info "Configuring garmin-grafana"
|
||||
msg_info "Installing Python Dependencies"
|
||||
mkdir -p /opt/garmin-grafana/.garminconnect
|
||||
$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/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
|
||||
@@ -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
|
||||
cp -r /opt/garmin-grafana/Grafana_Datasource/* /etc/grafana/provisioning/datasources
|
||||
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
|
||||
if [[ "${prompt,,}" =~ ^(y|yes)$ ]]; then
|
||||
@@ -85,6 +85,7 @@ else
|
||||
GARMIN_CN="False"
|
||||
fi
|
||||
|
||||
msg_info "Writing Environment Configuration"
|
||||
cat <<EOF >/opt/garmin-grafana/.env
|
||||
INFLUXDB_HOST=localhost
|
||||
INFLUXDB_PORT=8086
|
||||
@@ -97,6 +98,7 @@ TOKEN_DIR=/opt/garmin-grafana/.garminconnect
|
||||
GRAFANA_USER=admin
|
||||
GRAFANA_PASSWORD=${GRAFANA_PASS}
|
||||
EOF
|
||||
msg_ok "Wrote Environment Configuration"
|
||||
|
||||
if [[ -z "$(ls -A /opt/garmin-grafana/.garminconnect)" ]]; then
|
||||
read -r -p "Please enter your Garmin Connect Email: " GARMIN_EMAIL
|
||||
@@ -121,6 +123,7 @@ fi
|
||||
|
||||
$STD systemctl restart grafana-server
|
||||
|
||||
msg_info "Installing Bulk Import Helper"
|
||||
cat <<'EOF' >/usr/local/bin/garmin-bulk-import
|
||||
#!/usr/bin/env bash
|
||||
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
|
||||
EOF
|
||||
chmod +x /usr/local/bin/garmin-bulk-import
|
||||
msg_ok "Configured garmin-grafana"
|
||||
msg_ok "Installed Bulk Import Helper"
|
||||
|
||||
msg_info "Creating Service"
|
||||
cat <<EOF >/etc/systemd/system/garmin-grafana.service
|
||||
|
||||
Reference in New Issue
Block a user