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
|
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
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user