From 3ba65b93c0b38234a7347630dbdf0bdc05c80c73 Mon Sep 17 00:00:00 2001 From: Manjari Srivastav Date: Wed, 24 Jan 2024 12:22:35 +0530 Subject: [PATCH 1/4] Add files via upload --- drive-health/Dockerfile | 65 ++++++++ drive-health/LICENSE | 13 ++ drive-health/README.md | 98 ++++++++++++ drive-health/build.sh | 50 ++++++ drive-health/deploy.sh | 65 ++++++++ drive-health/docker-compose.dev.yml | 14 ++ drive-health/docker-compose.prod.yml | 17 ++ drive-health/go.mod | 45 ++++++ drive-health/go.sum | 141 +++++++++++++++++ drive-health/lib/config/config.go | 95 ++++++++++++ drive-health/lib/hardware/logic.go | 198 ++++++++++++++++++++++++ drive-health/lib/hardware/models.go | 94 +++++++++++ drive-health/lib/svc/service.go | 186 ++++++++++++++++++++++ drive-health/lib/svc/service_cleanup.go | 45 ++++++ drive-health/lib/web/api.go | 95 ++++++++++++ drive-health/lib/web/auth_middleware.go | 11 ++ drive-health/lib/web/frontend.go | 66 ++++++++ drive-health/lib/web/health.go | 16 ++ drive-health/lib/web/net.go | 29 ++++ drive-health/main.go | 63 ++++++++ drive-health/media/design_v1.webp | Bin 0 -> 182436 bytes drive-health/media/old-look.png | Bin 0 -> 86093 bytes drive-health/static/main.js | 55 +++++++ drive-health/static/style.css | 188 ++++++++++++++++++++++ drive-health/templates/index.html | 121 +++++++++++++++ 25 files changed, 1770 insertions(+) create mode 100644 drive-health/Dockerfile create mode 100644 drive-health/LICENSE create mode 100644 drive-health/README.md create mode 100644 drive-health/build.sh create mode 100644 drive-health/deploy.sh create mode 100644 drive-health/docker-compose.dev.yml create mode 100644 drive-health/docker-compose.prod.yml create mode 100644 drive-health/go.mod create mode 100644 drive-health/go.sum create mode 100644 drive-health/lib/config/config.go create mode 100644 drive-health/lib/hardware/logic.go create mode 100644 drive-health/lib/hardware/models.go create mode 100644 drive-health/lib/svc/service.go create mode 100644 drive-health/lib/svc/service_cleanup.go create mode 100644 drive-health/lib/web/api.go create mode 100644 drive-health/lib/web/auth_middleware.go create mode 100644 drive-health/lib/web/frontend.go create mode 100644 drive-health/lib/web/health.go create mode 100644 drive-health/lib/web/net.go create mode 100644 drive-health/main.go create mode 100644 drive-health/media/design_v1.webp create mode 100644 drive-health/media/old-look.png create mode 100644 drive-health/static/main.js create mode 100644 drive-health/static/style.css create mode 100644 drive-health/templates/index.html diff --git a/drive-health/Dockerfile b/drive-health/Dockerfile new file mode 100644 index 0000000..13a6f44 --- /dev/null +++ b/drive-health/Dockerfile @@ -0,0 +1,65 @@ +# === Build Stage === +FROM debian:bullseye-slim AS builder +ENV IS_DOCKER TRUE + +LABEL org.opencontainers.image.source https://github.com/JustKato/drive-health + +# Install build dependencies and runtime dependencies +RUN apt-get update && apt-get install -y \ + gcc \ + musl-dev \ + libsqlite3-dev \ + libsqlite3-0 \ + wget \ + && rm -rf /var/lib/apt/lists/* + +# Manually install Go 1.21 +ENV GOLANG_VERSION 1.21.0 +RUN wget https://golang.org/dl/go${GOLANG_VERSION}.linux-amd64.tar.gz -O go.tgz \ + && tar -C /usr/local -xzf go.tgz \ + && rm go.tgz +ENV PATH /usr/local/go/bin:$PATH + +# Set the environment variable for Go +ENV GOPATH=/go +ENV PATH=$GOPATH/bin:$PATH +ENV GO111MODULE=on + +# Create the directory and set it as the working directory +WORKDIR /app + +# Copy the Go files and download dependencies +COPY go.mod go.sum ./ +RUN go mod download + +# Copy the source from the current directory to the Working Directory inside the container +COPY . . + +# Build the Go app +RUN go build -o drive-health + +# Cleanup build dependencies to reduce image size +RUN apt-get purge -y gcc musl-dev libsqlite3-dev wget \ + && apt-get autoremove -y \ + && apt-get clean + +# === Final Stage === +FROM debian:bullseye-slim AS final + +# Set the environment variable +ENV IS_DOCKER TRUE + +# Create the directory and set it as the working directory +WORKDIR /app + +# Copy only the necessary files from the builder stage +COPY --from=builder /app/drive-health . + +# Expose the necessary port +EXPOSE 8080 + +# Volume for external data +VOLUME [ "/data" ] + +# Command to run the executable +CMD ["./drive-health"] diff --git a/drive-health/LICENSE b/drive-health/LICENSE new file mode 100644 index 0000000..f738181 --- /dev/null +++ b/drive-health/LICENSE @@ -0,0 +1,13 @@ +Copyright [2024] [Daniel Legt] + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. \ No newline at end of file diff --git a/drive-health/README.md b/drive-health/README.md new file mode 100644 index 0000000..3cdc5ad --- /dev/null +++ b/drive-health/README.md @@ -0,0 +1,98 @@ +## 📖 About +Drive Health is a program written in golang to help with tracking and monitoring of your hardware's temperature. + +This tool had been conceived with the purpose of installing it on different servers I own with different configurations to help keep track of the temperature of hard-disks, ssds, nvme drives, etc... + +### Features +- Disk Listing +- Temperature Graphing +- Disk activity logging +- [API](./lib/web/api.go) + +![UI Example](./media/design_v1.webp) + +## ❗ Disclaimer +I'm not exactly a linux hardware wizard, so I honestly have no clue about a lot of things and I myself can tell there's a lot to improve upon and that there's a lot of other things missing that are a little bit more obscure, I personally don't currently own any m.2 sata drives to test the code on, or many of the other drive types, I have only tested on HDD, SSD and NVMe drives, any issues opened would help me so much! + +## ❗ Requirements +1. A linux machine, this will NOT work on macOS or on Windows, it's meant to be ran on servers as a service with which administrators can privately connect to for temperature logging. + +2. Please make sure you have the [**drivetemp kernel drive**](https://docs.kernel.org/hwmon/drivetemp.html) you can check this by running `sudo modprobe drivetemp`. +The program depends on this to be able to log the temperature of your devices. + + +## 📖 How to use +1. Follow the `Deployment` section instrcutions to launch the program + +2. Once the program has launched, access it in your browser + +3. Enter the administrative username and password for the simple HTTP Auth + +4. You now have access to the application, you can monitor your disk's temperature over a period of time. + +## 🐦 Deployment +To deploy the application you have multiple choices, the preffered method should be one which runs the binary directly and not containerization, the `docker` image is taking up a wopping `1Gb+` because I have to include sqlite3-dev and musl-dev dependencies, which sucks, so I whole heartedly recommend just installing this on your system as a binary either with `SystemD` or whichever service manager you are using. + +Download binaries from [the releases page](https://github.com/JustKato/drive-health/releases) + +### 🐋 Docker +In the project there's a `docker-compose.prod.yml` which you can deploy on your server, you will notice that there's also a "dev" version, this version simply has a `build` instead of `image` property, so feel free to use either. + +Please do take notice that I have just fed the `environment file` directly to the service via docker-compose, and I recommend you do the same but please feel free to pass in `environment` variables straight to the process as well. + +[Docker Compose File](./docker-compose.prod.yml) +```yaml +version: "3.8" + +services: + drive-health: + # Latest image pull, mention the specific version here please. + image: ghcr.io/justkato/drive-health:latest + # Restart in case of crashing + restart: unless-stopped + # Load environment variables from .env file + env_file: + - .env + # Mount the volume to the local drive + volumes: + - ./data:/data + # Setup application ports + ports: + - 5003:8080 +``` + +### 💾 SystemD +When running with SystemD or any other service manager, please make sure you have a `.env` inside the `WorkingDirectory` of your runner, in the below example I will simply put my env in `/home/daniel/services/drive-health/.env` + +```ini +[Unit] +Description=Drive Health Service +After=network.target + +[Service] +Type=simple +User=daniel # Your user here +WorkingDirectory=/home/daniel/services/drive-health # The path to the service's directory +ExecStart=/home/daniel/services/drive-health/drive-health # The path to the binary +Restart=on-failure + +[Install] +WantedBy=multi-user.target +``` + +## ❔ FAQ + +### How does it work? +Currently the program does not depend on any go library for hardware detection as I couldn't find anything that would not require root access while giving me the possibility to interrogate the temperature of the drives. + +I chose not to depend on `lsblk` either, so how does the program work? +The program currently looks in `/sys/block` and then tries to make sense of the devices, I have had limited testing with my hardware specs, any issues being open in regards to different kinds of hardware would be highly appreciated + +### Why not just run as root? +I really, REALLY, **REALLY** want to avoid asking people to run **ANY** program I write as root and even try and prevent that from happening since that's how things can go bad, especially because I am running actions over hardware devices. + +## Support & Contribution +For support, bug reports, or feature requests, please open an issue on the [GitHub repository](https://github.com/JustKato/drive-health/issues). Contributions are welcome! Fork the repository, make your changes, and submit a pull request. + +## License +This project is licensed under the [Apache License 2.0](./LICENSE). \ No newline at end of file diff --git a/drive-health/build.sh b/drive-health/build.sh new file mode 100644 index 0000000..0906293 --- /dev/null +++ b/drive-health/build.sh @@ -0,0 +1,50 @@ +#!/usr/bin/env bash + +set -o pipefail +set -u + +# Function to display messages in color +echo_color() { + color=$1 + text=$2 + case $color in + "green") echo -e "\033[0;32m$text\033[0m" ;; + "yellow") echo -e "\033[0;33m$text\033[0m" ;; + "red") echo -e "\033[0;31m$text\033[0m" ;; + *) echo "$text" ;; + esac +} + +# Getting GIT_VERSION from the most recent tag or commit hash +GIT_VERSION=$(git describe --tags --always) +if [ -z "$GIT_VERSION" ]; then + echo_color red "Error: Unable to determine GIT_VERSION." + exit 1 +fi + +APP_NAME="drive-health" +DIST_DIR="${DIST_DIR:-dist}" +SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) + +# make sure we are in the source dir +cd $SCRIPT_DIR; + +# Create the dist directory if it doesn't exist +mkdir -p $DIST_DIR + +# Build the application +echo_color yellow "[🦝] Building the application..." +GOOS=linux CGO_ENABLED=1 GOARCH=amd64 go build -o $DIST_DIR/$APP_NAME + +# Copying additional resources... +cp -r static templates $DIST_DIR/ + +echo_color yellow "[🦝] Compilation and packaging completed, archiving..." + +cd $DIST_DIR/ + +zip "drive-health_$GIT_VERSION.zip" -r . + +# TODO: Add reliable method of cleaning up the compiled files optionally + +cd $SCRIPT_DIR; \ No newline at end of file diff --git a/drive-health/deploy.sh b/drive-health/deploy.sh new file mode 100644 index 0000000..51a0b85 --- /dev/null +++ b/drive-health/deploy.sh @@ -0,0 +1,65 @@ +#!/bin/bash + +# Function to display messages in color +echo_color() { + color=$1 + text=$2 + case $color in + "green") echo -e "\033[0;32m$text\033[0m" ;; + "yellow") echo -e "\033[0;33m$text\033[0m" ;; + "red") echo -e "\033[0;31m$text\033[0m" ;; + *) echo "$text" ;; + esac +} + +# Getting GIT_VERSION from the most recent tag or commit hash +GIT_VERSION=$(git describe --tags --always) +if [ -z "$GIT_VERSION" ]; then + echo_color red "Error: Unable to determine GIT_VERSION." + exit 1 +fi + +# Run tests before proceeding +echo_color yellow "Running tests..." +if ! go test; then + echo_color red "Tests failed. Cancelling build process." + exit 1 +fi +echo_color green "All tests passed successfully." + +echo_color green "Starting the Docker build process with version $GIT_VERSION..." + +LATEST_IMAGE_NAME="ghcr.io/justkato/drive-health:latest" +IMAGE_NAME="ghcr.io/justkato/drive-health:$GIT_VERSION" +echo_color yellow "Image to be built: $IMAGE_NAME" + +# Confirmation to build +read -p "Are you sure you want to build an image? (y/N) " response +if [[ "$response" =~ ^([yY][eE][sS]|[yY])$ ]]; then + # Building the Docker image + echo "Building Docker image: $IMAGE_NAME" + docker build --no-cache -t $IMAGE_NAME . + + # Also tag this build as 'latest' + echo "Tagging image as latest: $LATEST_IMAGE_NAME" + docker tag $IMAGE_NAME $LATEST_IMAGE_NAME +else + echo_color red "Build cancelled." + exit 1 +fi + +# Prompt to push the image +read -p "Push image to repository? (y/N) " push_response +if [[ "$push_response" =~ ^([yY][eE][sS]|[yY])$ ]]; then + # Pushing the image + echo "Pushing image: $IMAGE_NAME" + docker push $IMAGE_NAME + + # Pushing the 'latest' image + echo "Pushing latest image: $LATEST_IMAGE_NAME" + docker push $LATEST_IMAGE_NAME +else + echo_color red "Push cancelled." +fi + +echo_color green "Ending the Docker build process..." \ No newline at end of file diff --git a/drive-health/docker-compose.dev.yml b/drive-health/docker-compose.dev.yml new file mode 100644 index 0000000..62bc990 --- /dev/null +++ b/drive-health/docker-compose.dev.yml @@ -0,0 +1,14 @@ +version: "3.8" + +services: + drive-health: + # Build the current image + build: . + # Read straight from the .env file, or use the environment path + env_file: + - .env + volumes: + - ./dev_data:/data + # Setup application ports + ports: + - 8080:8080 \ No newline at end of file diff --git a/drive-health/docker-compose.prod.yml b/drive-health/docker-compose.prod.yml new file mode 100644 index 0000000..bb00926 --- /dev/null +++ b/drive-health/docker-compose.prod.yml @@ -0,0 +1,17 @@ +version: "3.8" + +services: + drive-health: + # Latest image pull, mention the specific version here please. + image: ghcr.io/justkato/drive-health:latest + # Restart in case of crashing + restart: unless-stopped + # Load environment variables from .env file + env_file: + - .env + # Mount the volume to the local drive + volumes: + - ./data:/data + # Setup application ports + ports: + - 5003:8080 \ No newline at end of file diff --git a/drive-health/go.mod b/drive-health/go.mod new file mode 100644 index 0000000..e45c300 --- /dev/null +++ b/drive-health/go.mod @@ -0,0 +1,45 @@ +module github.com/JustKato/drive-health + +go 1.21.6 + +require ( + github.com/gin-gonic/gin v1.9.1 + github.com/joho/godotenv v1.5.1 + github.com/wcharczuk/go-chart/v2 v2.1.1 + gorm.io/driver/sqlite v1.5.4 + gorm.io/gorm v1.25.5 +) + +require ( + github.com/blend/go-sdk v1.20220411.3 // indirect + github.com/bytedance/sonic v1.10.2 // indirect + github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d // indirect + github.com/chenzhuoyu/iasm v0.9.1 // indirect + github.com/gabriel-vasile/mimetype v1.4.3 // indirect + github.com/gin-contrib/sse v0.1.0 // indirect + github.com/go-playground/locales v0.14.1 // indirect + github.com/go-playground/universal-translator v0.18.1 // indirect + github.com/go-playground/validator/v10 v10.17.0 // indirect + github.com/goccy/go-json v0.10.2 // indirect + github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 // indirect + github.com/jinzhu/inflection v1.0.0 // indirect + github.com/jinzhu/now v1.1.5 // indirect + github.com/json-iterator/go v1.1.12 // indirect + github.com/klauspost/cpuid/v2 v2.2.6 // indirect + github.com/leodido/go-urn v1.2.4 // indirect + github.com/mattn/go-isatty v0.0.20 // indirect + github.com/mattn/go-sqlite3 v1.14.19 // indirect + github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect + github.com/modern-go/reflect2 v1.0.2 // indirect + github.com/pelletier/go-toml/v2 v2.1.1 // indirect + github.com/twitchyliquid64/golang-asm v0.15.1 // indirect + github.com/ugorji/go/codec v1.2.12 // indirect + golang.org/x/arch v0.7.0 // indirect + golang.org/x/crypto v0.18.0 // indirect + golang.org/x/image v0.11.0 // indirect + golang.org/x/net v0.20.0 // indirect + golang.org/x/sys v0.16.0 // indirect + golang.org/x/text v0.14.0 // indirect + google.golang.org/protobuf v1.32.0 // indirect + gopkg.in/yaml.v3 v3.0.1 // indirect +) diff --git a/drive-health/go.sum b/drive-health/go.sum new file mode 100644 index 0000000..da6a1ef --- /dev/null +++ b/drive-health/go.sum @@ -0,0 +1,141 @@ +github.com/blend/go-sdk v1.20220411.3 h1:GFV4/FQX5UzXLPwWV03gP811pj7B8J2sbuq+GJQofXc= +github.com/blend/go-sdk v1.20220411.3/go.mod h1:7lnH8fTi6U4i1fArEXRyOIY2E1X4MALg09qsQqY1+ak= +github.com/bytedance/sonic v1.5.0/go.mod h1:ED5hyg4y6t3/9Ku1R6dU/4KyJ48DZ4jPhfY1O2AihPM= +github.com/bytedance/sonic v1.10.0-rc/go.mod h1:ElCzW+ufi8qKqNW0FY314xriJhyJhuoJ3gFZdAHF7NM= +github.com/bytedance/sonic v1.10.2 h1:GQebETVBxYB7JGWJtLBi07OVzWwt+8dWA00gEVW2ZFE= +github.com/bytedance/sonic v1.10.2/go.mod h1:iZcSUejdk5aukTND/Eu/ivjQuEL0Cu9/rf50Hi0u/g4= +github.com/chenzhuoyu/base64x v0.0.0-20211019084208-fb5309c8db06/go.mod h1:DH46F32mSOjUmXrMHnKwZdA8wcEefY7UVqBKYGjpdQY= +github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311/go.mod h1:b583jCggY9gE99b6G5LEC39OIiVsWj+R97kbl5odCEk= +github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d h1:77cEq6EriyTZ0g/qfRdp61a3Uu/AWrgIq2s0ClJV1g0= +github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d/go.mod h1:8EPpVsBuRksnlj1mLy4AWzRNQYxauNi62uWcE3to6eA= +github.com/chenzhuoyu/iasm v0.9.0/go.mod h1:Xjy2NpN3h7aUqeqM+woSuuvxmIe6+DDsiNLIrkAmYog= +github.com/chenzhuoyu/iasm v0.9.1 h1:tUHQJXo3NhBqw6s33wkGn9SP3bvrWLdlVIJ3hQBL7P0= +github.com/chenzhuoyu/iasm v0.9.1/go.mod h1:Xjy2NpN3h7aUqeqM+woSuuvxmIe6+DDsiNLIrkAmYog= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/gabriel-vasile/mimetype v1.4.3 h1:in2uUcidCuFcDKtdcBxlR0rJ1+fsokWf+uqxgUFjbI0= +github.com/gabriel-vasile/mimetype v1.4.3/go.mod h1:d8uq/6HKRL6CGdk+aubisF/M5GcPfT7nKyLpA0lbSSk= +github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= +github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= +github.com/gin-gonic/gin v1.9.1 h1:4idEAncQnU5cB7BeOkPtxjfCSye0AAm1R0RVIqJ+Jmg= +github.com/gin-gonic/gin v1.9.1/go.mod h1:hPrL7YrpYKXt5YId3A/Tnip5kqbEAP+KLuI3SUcPTeU= +github.com/go-playground/assert/v2 v2.2.0 h1:JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s= +github.com/go-playground/assert/v2 v2.2.0/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= +github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA= +github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY= +github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY= +github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY= +github.com/go-playground/validator/v10 v10.17.0 h1:SmVVlfAOtlZncTxRuinDPomC2DkXJ4E5T9gDA0AIH74= +github.com/go-playground/validator/v10 v10.17.0/go.mod h1:9iXMNT7sEkjXb0I+enO7QXmzG6QCsPWY4zveKFVRSyU= +github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU= +github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= +github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 h1:DACJavvAHhabrF08vX0COfcOBJRhZ8lUbR+ZWIs0Y5g= +github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= +github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU= +github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E= +github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= +github.com/jinzhu/now v1.1.5 h1:/o9tlHleP7gOFmsnYNz3RGnqzefHA47wQpKrrdTIwXQ= +github.com/jinzhu/now v1.1.5/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= +github.com/joho/godotenv v1.5.1 h1:7eLL/+HRGLY0ldzfGMeQkb7vMd0as4CfYvUVzLqw0N0= +github.com/joho/godotenv v1.5.1/go.mod h1:f4LDr5Voq0i2e/R5DDNOoa2zzDfwtkZa6DnEwAbqwq4= +github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= +github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= +github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= +github.com/klauspost/cpuid/v2 v2.2.6 h1:ndNyv040zDGIDh8thGkXYjnFtiN02M1PVVF+JE/48xc= +github.com/klauspost/cpuid/v2 v2.2.6/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= +github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M= +github.com/leodido/go-urn v1.2.4 h1:XlAE/cm/ms7TE/VMVoduSpNBoyc2dOxHs5MZSwAN63Q= +github.com/leodido/go-urn v1.2.4/go.mod h1:7ZrI8mTSeBSHl/UaRyKQW1qZeMgak41ANeCNaVckg+4= +github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= +github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= +github.com/mattn/go-sqlite3 v1.14.19 h1:fhGleo2h1p8tVChob4I9HpmVFIAkKGpiukdrgQbWfGI= +github.com/mattn/go-sqlite3 v1.14.19/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= +github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= +github.com/pelletier/go-toml/v2 v2.1.1 h1:LWAJwfNvjQZCFIDKWYQaM62NcYeYViCmWIwmOStowAI= +github.com/pelletier/go-toml/v2 v2.1.1/go.mod h1:tJU2Z3ZkXwnxa4DPO899bsyIoywizdUvyaeZurnPPDc= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= +github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= +github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= +github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/twitchyliquid64/golang-asm v0.15.1 h1:SU5vSMR7hnwNxj24w34ZyCi/FmDZTkS4MhqMhdFk5YI= +github.com/twitchyliquid64/golang-asm v0.15.1/go.mod h1:a1lVb/DtPvCB8fslRZhAngC2+aY1QWCk3Cedj/Gdt08= +github.com/ugorji/go/codec v1.2.12 h1:9LC83zGrHhuUA9l16C9AHXAqEV/2wBQ4nkvumAE65EE= +github.com/ugorji/go/codec v1.2.12/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg= +github.com/wcharczuk/go-chart/v2 v2.1.1 h1:2u7na789qiD5WzccZsFz4MJWOJP72G+2kUuJoSNqWnE= +github.com/wcharczuk/go-chart/v2 v2.1.1/go.mod h1:CyCAUt2oqvfhCl6Q5ZvAZwItgpQKZOkCJGb+VGv6l14= +github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= +golang.org/x/arch v0.0.0-20210923205945-b76863e36670/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8= +golang.org/x/arch v0.7.0 h1:pskyeJh/3AmoQ8CPE95vxHLqp1G1GfGNXTmcl9NEKTc= +golang.org/x/arch v0.7.0/go.mod h1:FEVrYAQjsQXMVJ1nsMoVVXPZg6p2JE2mx8psSWTDQys= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.18.0 h1:PGVlW0xEltQnzFZ55hkuX5+KLyrMYhHld1YHO4AKcdc= +golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg= +golang.org/x/image v0.11.0 h1:ds2RoQvBvYTiJkwpSFDwCcDFNX7DqjL2WsUgTNk0Ooo= +golang.org/x/image v0.11.0/go.mod h1:bglhjqbqVuEb9e9+eNR45Jfu7D+T4Qan+NhQk8Ck2P8= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= +golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.20.0 h1:aCL9BSgETF1k+blQaYUBx9hJ9LOGP3gAVemcZlf1Kpo= +golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.16.0 h1:xWw16ngr6ZMtmxDyKyIgsE93KNKz5HKmMa3b8ALHidU= +golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= +golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= +golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= +golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= +google.golang.org/protobuf v1.32.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gorm.io/driver/sqlite v1.5.4 h1:IqXwXi8M/ZlPzH/947tn5uik3aYQslP9BVveoax0nV0= +gorm.io/driver/sqlite v1.5.4/go.mod h1:qxAuCol+2r6PannQDpOP1FP6ag3mKi4esLnB/jHed+4= +gorm.io/gorm v1.25.5 h1:zR9lOiiYf09VNh5Q1gphfyia1JpiClIWG9hQaxB/mls= +gorm.io/gorm v1.25.5/go.mod h1:hbnx/Oo0ChWMn1BIhpy1oYozzpM15i4YPuHDmfYtwg8= +nullprogram.com/x/optparse v1.0.0/go.mod h1:KdyPE+Igbe0jQUrVfMqDMeJQIJZEuyV7pjYmp6pbG50= +rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= diff --git a/drive-health/lib/config/config.go b/drive-health/lib/config/config.go new file mode 100644 index 0000000..2794b37 --- /dev/null +++ b/drive-health/lib/config/config.go @@ -0,0 +1,95 @@ +package config + +import ( + "os" + "strconv" +) + +type DHConfig struct { + CleanupServiceFrequency int `json:"cleanupServiceFrequency"` + DiskFetchFrequency int `json:"diskFetchFrequency"` + MaxHistoryAge int `json:"maxHistoryAge"` + + DatabaseFilePath string `json:"databaseFilePath"` + + Listen string `json:"listen"` + + IdentityUsername string `json:"identityUsername"` + IdentityPassword string `json:"identityPassword"` + + IsDocker bool `json:isDocker` + + DebugMode bool `json:"debugMode"` +} + +var config *DHConfig = nil + +func GetConfiguration() *DHConfig { + + if config != nil { + return config + } + + config = &DHConfig{ + DiskFetchFrequency: 5, + CleanupServiceFrequency: 3600, + MaxHistoryAge: 2592000, + DatabaseFilePath: "./data.sqlite", + IdentityUsername: "admin", + IdentityPassword: "admin", + + IsDocker: false, + + Listen: ":8080", + } + + if val, exists := os.LookupEnv("DISK_FETCH_FREQUENCY"); exists { + if intValue, err := strconv.Atoi(val); err == nil { + config.DiskFetchFrequency = intValue + } + } + + if val, exists := os.LookupEnv("CLEANUP_SERVICE_FREQUENCY"); exists { + if intValue, err := strconv.Atoi(val); err == nil { + config.CleanupServiceFrequency = intValue + } + } + + if val, exists := os.LookupEnv("MAX_HISTORY_AGE"); exists { + if intValue, err := strconv.Atoi(val); err == nil { + config.MaxHistoryAge = intValue + } + } + + if val, exists := os.LookupEnv("LISTEN"); exists { + config.Listen = val + } + + if val, exists := os.LookupEnv("DATABASE_FILE_PATH"); exists { + config.DatabaseFilePath = val + } + + if val, exists := os.LookupEnv("IDENTITY_USERNAME"); exists { + config.IdentityUsername = val + } + + if val, exists := os.LookupEnv("IDENTITY_PASSWORD"); exists { + config.IdentityPassword = val + } + + if val, exists := os.LookupEnv("DEBUG_MODE"); exists { + if isDebug, err := strconv.ParseBool(val); err == nil { + config.DebugMode = isDebug + } + } + + if val, exists := os.LookupEnv("IS_DOCKER"); exists { + if isDocker, err := strconv.ParseBool(val); err == nil { + config.IsDocker = isDocker + + config.DatabaseFilePath = "/data/data.sqlite" + } + } + + return config +} diff --git a/drive-health/lib/hardware/logic.go b/drive-health/lib/hardware/logic.go new file mode 100644 index 0000000..afad9b1 --- /dev/null +++ b/drive-health/lib/hardware/logic.go @@ -0,0 +1,198 @@ +package hardware + +import ( + "fmt" + "os" + "path/filepath" + "strconv" + "strings" + "time" + + "github.com/JustKato/drive-health/lib/config" + "gorm.io/gorm" +) + +func GetSystemHardDrives(db *gorm.DB, olderThan *time.Time, newerThan *time.Time) ([]*HardDrive, error) { + var systemHardDrives []*HardDrive + + // List all block devices + devices, err := os.ReadDir("/sys/block/") + if err != nil { + return nil, fmt.Errorf("failed to list block devices: %w", err) + } + + for _, device := range devices { + deviceName := device.Name() + + // Skip non-physical devices (like loop and ram devices) + // TODO: Read more about this, there might be some other devices we should or should not skip + if strings.HasPrefix(deviceName, "loop") || strings.HasPrefix(deviceName, "ram") { + continue + } + + // Read device details + model, _ := os.ReadFile(fmt.Sprintf("/sys/block/%s/device/model", deviceName)) + serial, _ := os.ReadFile(fmt.Sprintf("/sys/block/%s/device/serial", deviceName)) + sizeBytes, _ := os.ReadFile(fmt.Sprintf("/sys/block/%s/size", deviceName)) + + size := convertSizeToString(sizeBytes) + transport := getTransportType(deviceName) + + // TODO: Maybe find a better way? + if size == "0 Bytes" { + // This looks like an invalid device, skip it. + if config.GetConfiguration().DebugMode { + fmt.Printf("[🟨] Igoring device:[/dev/%s], reported size of 0\n", deviceName) + } + continue + } + + hwid, err := getHardwareID(deviceName) + if err != nil { + if config.GetConfiguration().DebugMode { + fmt.Printf("[🟨] No unique identifier found for device:[/dev/%s] unique identifier\n", deviceName) + } + continue + } + + hd := &HardDrive{ + Name: deviceName, + Transport: transport, + Model: strings.TrimSpace(string(model)), + Serial: strings.TrimSpace(string(serial)), + Size: size, + Type: getDriveType(deviceName), + HWID: hwid, + } + + systemHardDrives = append(systemHardDrives, hd) + } + + var updatedHardDrives []*HardDrive + + for _, sysHDD := range systemHardDrives { + var existingHD HardDrive + q := db.Where("hw_id = ?", sysHDD.HWID) + + if newerThan != nil && olderThan != nil { + q = q.Preload("Temperatures", "time_stamp < ? AND time_stamp > ?", newerThan, olderThan) + } + + result := q.First(&existingHD) + + if result.Error == gorm.ErrRecordNotFound { + // Hard drive not found, create new + db.Create(&sysHDD) + updatedHardDrives = append(updatedHardDrives, sysHDD) + } else { + // Hard drive found, update existing + existingHD.Name = sysHDD.Name + existingHD.Transport = sysHDD.Transport + existingHD.Size = sysHDD.Size + existingHD.Model = sysHDD.Model + existingHD.Type = sysHDD.Type + db.Save(&existingHD) + updatedHardDrives = append(updatedHardDrives, &existingHD) + } + } + + return updatedHardDrives, nil +} + +func getTransportType(deviceName string) string { + transportLink, err := filepath.EvalSymlinks(fmt.Sprintf("/sys/block/%s/device", deviceName)) + if err != nil { + return "Unknown" + } + + if strings.Contains(transportLink, "/usb/") { + return "USB" + } else if strings.Contains(transportLink, "/ata") { + return "SATA" + } else if strings.Contains(transportLink, "/nvme/") { + return "NVMe" + } + + return "Other" +} + +func convertSizeToString(sizeBytes []byte) string { + // Convert the size from a byte slice to a string, then to an integer + sizeStr := strings.TrimSpace(string(sizeBytes)) + sizeSectors, err := strconv.ParseInt(sizeStr, 10, 64) + if err != nil { + return "Unknown" + } + + // Convert from 512-byte sectors to bytes + sizeInBytes := sizeSectors * 512 + + // Define size units + const ( + _ = iota // ignore first value by assigning to blank identifier + KB float64 = 1 << (10 * iota) + MB + GB + TB + ) + + var size float64 = float64(sizeInBytes) + var unit string + + // Determine the unit to use + switch { + case size >= TB: + size /= TB + unit = "TB" + case size >= GB: + size /= GB + unit = "GB" + case size >= MB: + size /= MB + unit = "MB" + case size >= KB: + size /= KB + unit = "KB" + default: + unit = "Bytes" + } + + // Return the formatted size + return fmt.Sprintf("%.2f %s", size, unit) +} + +// Look throug /sys/block/device/ and try and find the unique identifier of the device. +func getHardwareID(deviceName string) (string, error) { + // Define potential ID file paths + idFilePaths := []string{ + "/sys/block/" + deviceName + "/device/wwid", + "/sys/block/" + deviceName + "/device/wwn", + "/sys/block/" + deviceName + "/device/serial", + } + + // Try to read each file and return the first successful read + for _, path := range idFilePaths { + if idBytes, err := os.ReadFile(path); err == nil { + return strings.TrimSpace(string(idBytes)), nil + } + } + + // Return an empty string if no ID is found + return "", fmt.Errorf("could not find unique identifier for %s", deviceName) +} + +// Figure out what kind of device this is by reading if it's rotational or not +func getDriveType(deviceName string) string { + // Check if the drive is rotational (HDD) + if isRotational, _ := os.ReadFile(fmt.Sprintf("/sys/block/%s/queue/rotational", deviceName)); string(isRotational) == "1\n" { + return "HDD" + } + + // Check if the drive is NVMe + if strings.HasPrefix(deviceName, "nvme") { + return "NVMe" + } + + // Default to SSD for non-rotational and non-NVMe drives + return "SSD" +} diff --git a/drive-health/lib/hardware/models.go b/drive-health/lib/hardware/models.go new file mode 100644 index 0000000..cebf906 --- /dev/null +++ b/drive-health/lib/hardware/models.go @@ -0,0 +1,94 @@ +package hardware + +import ( + "fmt" + "os" + "path/filepath" + "strconv" + "strings" + "time" + + "gorm.io/gorm" +) + +type HardDrive struct { + ID uint `gorm:"primarykey"` + CreatedAt time.Time + UpdatedAt time.Time + DeletedAt gorm.DeletedAt `gorm:"index"` + Name string + Transport string + Size string + Model string + Serial string + Type string + HWID string + Temperatures []HardDriveTemperature `gorm:"foreignKey:HardDriveID"` +} + +type HardDriveTemperature struct { + gorm.Model + HardDriveID uint + TimeStamp time.Time + Temperature int +} + +// A snapshot in time of the current state of the harddrives +type HardwareSnapshot struct { + TimeStamp time.Time + HDD []*HardDrive +} + +type Snapshots struct { + List []*HardwareSnapshot +} + +func (h *HardDrive) GetTemperature() int { + + possiblePaths := []string{ + "/sys/block/" + h.Name + "/device/hwmon/", + "/sys/block/" + h.Name + "/device/", + "/sys/block/" + h.Name + "/device/generic/device/", + } + + for _, path := range possiblePaths { + // Try HDD/SSD path + temp, found := h.getTemperatureFromPath(path) + if found { + return temp + } + } + + fmt.Printf("[🛑] Failed to get temperature for %s\n", h.Name) + return -1 +} + +func (h *HardDrive) getTemperatureFromPath(basePath string) (int, bool) { + hwmonDirs, err := os.ReadDir(basePath) + if err != nil { + return 0, false + } + + for _, dir := range hwmonDirs { + if strings.HasPrefix(dir.Name(), "hwmon") { + tempPath := filepath.Join(basePath, dir.Name(), "temp1_input") + if _, err := os.Stat(tempPath); err == nil { + tempBytes, err := os.ReadFile(tempPath) + if err != nil { + continue + } + + tempStr := strings.TrimSpace(string(tempBytes)) + temperature, err := strconv.Atoi(tempStr) + if err != nil { + continue + } + + // Convert millidegree Celsius to degree Celsius + return temperature / 1000, true + } + } + } + + return 0, false +} diff --git a/drive-health/lib/svc/service.go b/drive-health/lib/svc/service.go new file mode 100644 index 0000000..3c4c76c --- /dev/null +++ b/drive-health/lib/svc/service.go @@ -0,0 +1,186 @@ +package svc + +import ( + "bytes" + "fmt" + "time" + + "github.com/JustKato/drive-health/lib/config" + "github.com/JustKato/drive-health/lib/hardware" + "github.com/wcharczuk/go-chart/v2" + "gorm.io/driver/sqlite" + "gorm.io/gorm" +) + +var db *gorm.DB + +// Initialize the database connection +func InitDB() { + var err error + dbPath := config.GetConfiguration().DatabaseFilePath + + db, err = gorm.Open(sqlite.Open(dbPath), &gorm.Config{}) + if err != nil { + // This should basically never happen, unless the path to the database + // is inaccessible, doesn't exist or there's no permission to it, which + // should and will crash the program + panic("failed to connect database") + } + + // Migrate the schema + db.AutoMigrate(&hardware.HardDrive{}, &hardware.HardDriveTemperature{}) +} + +// Fetch the open database pointer +func GetDatabaseRef() *gorm.DB { + return db +} + +// Log the temperature of the disks +func LogDriveTemps() error { + drives, err := hardware.GetSystemHardDrives(db, nil, nil) + if err != nil { + return err + } + + for _, hdd := range drives { + temp := hdd.GetTemperature() + db.Create(&hardware.HardDriveTemperature{ + HardDriveID: hdd.ID, + TimeStamp: time.Now(), + Temperature: temp, + }) + } + + return nil +} + +// Run the logging service, this will periodically log the temperature of the disks with the LogDriveTemps function +func RunLoggerService() { + fmt.Println("[🦝] Initializing Temperature Logging Service...") + + tickTime := time.Duration(config.GetConfiguration().DiskFetchFrequency) * time.Second + + // Snapshot taking routine + go func() { + for { + time.Sleep(tickTime) + err := LogDriveTemps() + if err != nil { + fmt.Printf("[🛑] Temperature logging failed: %s\n", err) + } + } + }() +} + +// Generate a PNG based upon a HDD id and a date range +func GetDiskGraphImage(hddID int, newerThan *time.Time, olderThan *time.Time) (*bytes.Buffer, error) { + var hdd hardware.HardDrive + // Fetch by a combination of fields + q := db.Where("id = ?", hddID) + + if newerThan == nil || olderThan == nil { + q = q.Preload("Temperatures") + } else { + q = q.Preload("Temperatures", "time_stamp < ? AND time_stamp > ?", newerThan, olderThan) + } + + // Query for the instance + result := q.First(&hdd) + if result.Error != nil { + return nil, result.Error + } + + // Prepare slices for X (time) and Y (temperature) values + var xValues []time.Time + var yValues []float64 + for _, temp := range hdd.Temperatures { + xValues = append(xValues, temp.TimeStamp) + yValues = append(yValues, float64(temp.Temperature)) + } + + // Allocate a buffer for the graph image + graphImageBuffer := bytes.NewBuffer([]byte{}) + + // TODO: Graph dark theme + + // Generate the chart + graph := chart.Chart{ + Title: fmt.Sprintf("%s:%s[%s]", hdd.Name, hdd.Serial, hdd.Size), + TitleStyle: chart.Style{ + FontSize: 14, + }, + + // TODO: Implement customizable sizing + Width: 1280, + + Background: chart.Style{ + Padding: chart.Box{ + Top: 20, Right: 20, Bottom: 20, Left: 20, + }, + }, + + XAxis: chart.XAxis{ + Name: "Time", + ValueFormatter: func(v interface{}) string { + if ts, isValidTime := v.(float64); isValidTime { + t := time.Unix(int64(ts/1e9), 0) + + return t.Format("Jan 2 2006, 15:04") + } + + return "" + }, + Style: chart.Style{}, + GridMajorStyle: chart.Style{ + StrokeColor: chart.ColorAlternateGray, + StrokeWidth: 0.5, + }, + GridMinorStyle: chart.Style{ + StrokeColor: chart.ColorAlternateGray.WithAlpha(64), + StrokeWidth: 0.25, + }, + }, + YAxis: chart.YAxis{ + Name: "Temperature (C)", + Style: chart.Style{}, + GridMajorStyle: chart.Style{ + StrokeColor: chart.ColorAlternateGray, + StrokeWidth: 0.5, + }, + GridMinorStyle: chart.Style{ + StrokeColor: chart.ColorAlternateGray.WithAlpha(64), + StrokeWidth: 0.25, + }, + }, + Series: []chart.Series{ + chart.TimeSeries{ + Name: "Temperature", + XValues: xValues, + YValues: yValues, + Style: chart.Style{ + StrokeColor: chart.ColorCyan, + StrokeWidth: 2.0, + }, + }, + }, + } + + // Add a legend to the chart + graph.Elements = []chart.Renderable{ + chart.Legend(&graph, chart.Style{ + Padding: chart.Box{ + Top: 5, Right: 5, Bottom: 5, Left: 5, + }, + FontSize: 10, + }), + } + + // Render the chart into the byte buffer + err := graph.Render(chart.PNG, graphImageBuffer) + if err != nil { + return nil, err + } + + return graphImageBuffer, nil +} diff --git a/drive-health/lib/svc/service_cleanup.go b/drive-health/lib/svc/service_cleanup.go new file mode 100644 index 0000000..79261ac --- /dev/null +++ b/drive-health/lib/svc/service_cleanup.go @@ -0,0 +1,45 @@ +package svc + +import ( + "fmt" + "time" + + "github.com/JustKato/drive-health/lib/config" + "github.com/JustKato/drive-health/lib/hardware" +) + +// Delete all thermal entries that are older than X amount of seconds +func CleanupOldData() error { + cfg := config.GetConfiguration() + + beforeDate := time.Now().Add(-1 * time.Duration(cfg.MaxHistoryAge) * time.Second) + + deleteResult := db.Where("time_stamp < ?", beforeDate).Delete(&hardware.HardDriveTemperature{}) + if deleteResult.Error != nil { + fmt.Printf("[🛑] Error during cleanup: %s\n", deleteResult.Error) + return db.Error + } + + if deleteResult.RowsAffected > 0 { + fmt.Printf("[🛑] Cleaned up %v entries before %s\n", deleteResult.RowsAffected, beforeDate) + } + + return nil +} + +func RunCleanupService() { + fmt.Println("[🦝] Initializing Log Cleanup Service...") + + tickTime := time.Duration(config.GetConfiguration().CleanupServiceFrequency) * time.Second + + // Snapshot taking routine + go func() { + for { + time.Sleep(tickTime) + err := CleanupOldData() + if err != nil { + fmt.Printf("🛑 Cleanup process failed: %s\n", err) + } + } + }() +} diff --git a/drive-health/lib/web/api.go b/drive-health/lib/web/api.go new file mode 100644 index 0000000..fd506b1 --- /dev/null +++ b/drive-health/lib/web/api.go @@ -0,0 +1,95 @@ +package web + +import ( + "net/http" + "strconv" + "time" + + "github.com/JustKato/drive-health/lib/hardware" + "github.com/JustKato/drive-health/lib/svc" + "github.com/gin-gonic/gin" +) + +func setupApi(r *gin.Engine) { + api := r.Group("/api/v1") + + // Fetch the chart image for the disk's temperature + api.GET("/disks/:diskid/chart", func(ctx *gin.Context) { + diskIDString := ctx.Param("diskid") + diskId, err := strconv.Atoi(diskIDString) + if err != nil { + ctx.AbortWithStatusJSON(400, gin.H{ + "error": err.Error(), + "message": "Invalid Disk ID", + }) + + return + } + + var olderThan, newerThan *time.Time + + if ot := ctx.Query("older"); ot != "" { + if otInt, err := strconv.ParseInt(ot, 10, 64); err == nil { + otTime := time.UnixMilli(otInt) + olderThan = &otTime + } + } + + if nt := ctx.Query("newer"); nt != "" { + if ntInt, err := strconv.ParseInt(nt, 10, 64); err == nil { + ntTime := time.UnixMilli(ntInt) + newerThan = &ntTime + } + } + + graphData, err := svc.GetDiskGraphImage(diskId, newerThan, olderThan) + if err != nil { + ctx.AbortWithStatusJSON(500, gin.H{ + "error": err.Error(), + "message": "Graph generation issue", + }) + + return + } + + // Set the content type header + ctx.Writer.Header().Set("Content-Type", "image/png") + + // Write the image data to the response + ctx.Writer.WriteHeader(http.StatusOK) + _, err = graphData.WriteTo(ctx.Writer) + if err != nil { + ctx.AbortWithStatusJSON(500, gin.H{ + "error": err.Error(), + "message": "Write error", + }) + + return + } + }) + + // Get a list of all the disks + api.GET("/disks", func(ctx *gin.Context) { + + olderThan := time.Now().Add(time.Minute * time.Duration(10) * -1) + newerThan := time.Now() + + // Fetch the disk list + disks, err := hardware.GetSystemHardDrives(svc.GetDatabaseRef(), &olderThan, &newerThan) + if err != nil { + ctx.Error(err) + } + + if ctx.Request.URL.Query().Get("temp") != "" { + for _, d := range disks { + d.GetTemperature() + } + } + + ctx.JSON(http.StatusOK, gin.H{ + "message": "Disk List", + "disks": disks, + }) + }) + +} diff --git a/drive-health/lib/web/auth_middleware.go b/drive-health/lib/web/auth_middleware.go new file mode 100644 index 0000000..ce27d00 --- /dev/null +++ b/drive-health/lib/web/auth_middleware.go @@ -0,0 +1,11 @@ +package web + +import "github.com/gin-gonic/gin" + +func BasicAuthMiddleware(username, password string) gin.HandlerFunc { + authorized := gin.Accounts{ + username: password, + } + + return gin.BasicAuth(authorized) +} diff --git a/drive-health/lib/web/frontend.go b/drive-health/lib/web/frontend.go new file mode 100644 index 0000000..f0f65cf --- /dev/null +++ b/drive-health/lib/web/frontend.go @@ -0,0 +1,66 @@ +package web + +import ( + "fmt" + "net/http" + "strconv" + "time" + + "github.com/JustKato/drive-health/lib/hardware" + "github.com/JustKato/drive-health/lib/svc" + "github.com/gin-gonic/gin" +) + +func setupFrontend(r *gin.Engine) { + r.LoadHTMLGlob("templates/*") + r.Static("/static", "./static") + + // Set up a route for the root URL + r.GET("/", func(ctx *gin.Context) { + hardDrives, err := hardware.GetSystemHardDrives(svc.GetDatabaseRef(), nil, nil) + if err != nil { + ctx.AbortWithStatus(500) + } + + for _, hdd := range hardDrives { + hdd.GetTemperature() + } + + var olderThan, newerThan *time.Time + + if ot := ctx.Query("older"); ot != "" { + fmt.Printf("ot = %s\n", ot) + if otInt, err := strconv.ParseInt(ot, 10, 64); err == nil { + otTime := time.UnixMilli(otInt) + olderThan = &otTime + } + } + + if nt := ctx.Query("newer"); nt != "" { + fmt.Printf("nt = %s\n", nt) + if ntInt, err := strconv.ParseInt(nt, 10, 64); err == nil { + ntTime := time.UnixMilli(ntInt) + newerThan = &ntTime + } + } + + if olderThan == nil { + genTime := time.Now().Add(time.Hour * -1) + + olderThan = &genTime + } + + if newerThan == nil { + genTime := time.Now() + + newerThan = &genTime + } + + // Render the HTML template + ctx.HTML(http.StatusOK, "index.html", gin.H{ + "drives": hardDrives, + "older": olderThan.UnixMilli(), + "newer": newerThan.UnixMilli(), + }) + }) +} diff --git a/drive-health/lib/web/health.go b/drive-health/lib/web/health.go new file mode 100644 index 0000000..adcd54a --- /dev/null +++ b/drive-health/lib/web/health.go @@ -0,0 +1,16 @@ +package web + +import ( + "net/http" + + "github.com/gin-gonic/gin" +) + +func setupHealth(r *gin.Engine) { + + r.GET("/ping", func(c *gin.Context) { + c.JSON(http.StatusOK, gin.H{ + "status": "Pong", + }) + }) +} diff --git a/drive-health/lib/web/net.go b/drive-health/lib/web/net.go new file mode 100644 index 0000000..5e667d9 --- /dev/null +++ b/drive-health/lib/web/net.go @@ -0,0 +1,29 @@ +package web + +import ( + "github.com/JustKato/drive-health/lib/config" + "github.com/gin-gonic/gin" +) + +func SetupRouter() *gin.Engine { + cfg := config.GetConfiguration() + + if !cfg.DebugMode { + // Set gin to release + gin.SetMode(gin.ReleaseMode) + } + + // Initialize the Gin engine + r := gin.Default() + + r.Use(BasicAuthMiddleware(cfg.IdentityUsername, cfg.IdentityPassword)) + + // Setup Health Pings + setupHealth(r) + // Setup Api + setupApi(r) + // Setup Frontend + setupFrontend(r) + + return r +} diff --git a/drive-health/main.go b/drive-health/main.go new file mode 100644 index 0000000..886aeaa --- /dev/null +++ b/drive-health/main.go @@ -0,0 +1,63 @@ +package main + +import ( + "context" + "log" + "net/http" + "os" + "os/signal" + "syscall" + "time" + + "github.com/JustKato/drive-health/lib/config" + "github.com/JustKato/drive-health/lib/svc" + "github.com/JustKato/drive-health/lib/web" + "github.com/joho/godotenv" +) + +func main() { + // Load .env file if it exists + if err := godotenv.Load(); err != nil { + log.Println("[🟨] No .env file found") + } + + // Init the database + svc.InitDB() + cfg := config.GetConfiguration() + + router := web.SetupRouter() + + srv := &http.Server{ + Addr: cfg.Listen, + Handler: router, + } + + // Run the server in a goroutine + go func() { + if err := srv.ListenAndServe(); err != nil && err != http.ErrServerClosed { + log.Fatalf("[🛑] listening failed: %s\n", err) + } + }() + + // Run the hardware service + svc.RunLoggerService() + // Run the cleanup service + svc.RunCleanupService() + + // Setting up signal capturing + quit := make(chan os.Signal, 1) + signal.Notify(quit, syscall.SIGINT, syscall.SIGTERM) + + // Block until a signal is received + <-quit + log.Println("[🦝] Shutting down server...") + + // Graceful shutdown + ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second) + defer cancel() + if err := srv.Shutdown(ctx); err != nil { + log.Fatal("[🛑] Server forced to shutdown:", err) + } + + log.Println("[🦝] Server exiting") +} diff --git a/drive-health/media/design_v1.webp b/drive-health/media/design_v1.webp new file mode 100644 index 0000000000000000000000000000000000000000..9f4434ab081dd6fb61a945a9c35e991d66400b8d GIT binary patch literal 182436 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 lP6 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 bYH7&E0LE;8s2FG2w+;vR2e&TAGTsHD38m} zDLZtDSX6P&P=r`Ic6e$DS7>K&!GFGkYmsLdozSs$^hjoTZV%~iQnuW$ePSsCIfL>q zE`DMOcM#WiV=C8fM%2^33R%s@8NbG=q*HHqmlxvsA0df$2|x3dh0Iriy4lOG$42^j z*=PN{I|qBE-f+{GoLi8*JGk@%A1y)=;6S#pR;>g1|B$v27GApaLG%%N7P7uv4y__oXEc~#lOc2_L}_3shieMJDb`7{W+ggoD}w24`%DKp=)6?cci z^nzJg;c+{yF1YajJ|A(BlaZ2JX>~J(JKhd(PD0-1wloDadu#+aUq}Hxh&vpmtoiYJ zh*n73LW_!^+eu~C*~Ymw{Bjlf*+$XDGEaA)QfR2rvJl50XYzj_0{;WC_z#5gY@-?6 z4P*ml` zZ|2zs4MC^l^8BN9Q#<6va;OCBCSfLTuLvr!|ln`BLdjL(j1F5w~xaycb zy$M7k1ftCW(VBs1agSGq-q!_L@8%yFza8fw77Z3!cARu|E{?u=L@Bv|{1yO3vihG$ zXSOq#R09PEf4!T)t4Y;wF)NW*t;-pUVF|+jxlU^Um#X3a>6m|NL8XBHukXc{{qoAA zb%vv6ZS~WR;=$~Hdylox6!UEem=(7#+4>^^ToBFLZ6=OPfvE!Im$05LF;1Vp=~R2$ zZc*8%$fcqB_q8+dKv>3@)2xvjcTDExgi9Z+RoFDoyh$zY$_^OJD{-xf5bwEjalKs9))#ECH#=!t7V_Y&sUfkP8p5MYmAc87T2N_f>zRG3*?Jqb<( zJ}h*_2XJtS`AY-!@2;1fUX1dsIdJ*^{wmbJk0=xZCltHLRB2kzd;R z<^POdE^yK2p)ePHmfk)zn6s^U4(ONTFTdc=mq5EJK)#nwBcVHEgZMGeQC0ZqI&_h< zDTZYK32CCDJeB;`kf?vZ5*Q>xCvxsUJx*IthxepgBro^)>(ayea6Nyz?I*k1fA-#( zZ1j>+!3DNBJk+>5@(aH_$M|IhDEV;zfg%3b^$hJ)`~n6@ucn?`)BkP8S{7f(Kqu|h zO8osF_nytR31{s!`G06BbWS5NpZ}K1lo2Fv

j0r&azQ%f-Uq6{RfAUyi%{8rpYE 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

(# z<3x0fKEO$lAfNtm{`-J|bYI66nrjn4vj5)Q0cCrB17V8UEblBUcA=-bXC@7&07Bu% z0>+1QEEsMzoaI-aRPiOAomeMtg^Qp?jJioh<-9)_+a95W35u{Ju^D3_9#k(JG8wiy z^q@8ve2%NCzj=Ox1ahLmuXIOjA1bDj2R2OO2KoMPZ<2O&4=*hd<~aLw;;VSp*ij)~ z7dA+)*%lu$mu9#Tjq0cJc9sQl{`*!vqv2gS<-Ul^$oc|-yBqZp&Ew9~#c%EAd)HfY zz=<8KsYxb$MgqK5Snn?V4Q&06%BN)xxW6}bMR)A{aZR3LE=Vg zP(fK?QD&q}gUIOG8f*2ps2&`XkUu=3bdC6cMgh!lRXbHkaDU9NSS<%;BFHLH?fq&^ ztMD~jmMSE&lgp_AS2igNF=^XzSV80>a1EBQjxfRUgjvmhF4O*%uuouNcRUUv1m}bz z8SFe|7fn%kp|xi&quPJ2SMtDhJExn?A}(R7n6oVkuhk7 z`xLxdN?v}N%1U5KEpH$3S0%k9_jJCWj|BSr8b2wPX!5gS&$8_)THciK{FG*VR9Uv2 z2JyV1WQqYX34$2awT04I;;Oa>?!1z506nC)*fIm93*8j2A-g?mYbG@5EE51>jo~ zRTTLzupiadT*3>GTS~s@MWl=;P3#K&1I#Y0mzF`}_frLNRIfig+!BA?3oS8wYoYAO z?6)>^pMuk}-v&xU|CoMLpxE0R+<0BbH3sbt{6jl*as2nl$K<^hAx#Ynm~5tHLF#pE z1wV}CWB4={IJ`zvu^Dqv^nZ>XF#qICWJQp7J+d@+k_B2xO?}uF`?v0t4c|mmQKf{J zfWqgv=0ckiVl)!Z%_cUX2{Xpq;DPdX8UxOj8&6M1ZA?T{=t+amP>FGgnVpMAd^qwZ z-$7V13k~;-J&i!#T~tX1=PkrCF`#5jY3_CW5QRTL`myhjI(^qoBjhw5Dm@44L@}zm zEdRd;5jvY?P+WG?%Kz|Z^8Bj32hYRza-$VnVSXiWQ_hlwu&Q=935%VQp zS-wIA^5JYlyNB<>Z#F7>Y#hpp~+lcFgBEcwssVJy`#_3NBa!xQ$=E?ht2E6vZ zZKh~Svfs`FDGZ%!gIr=5XD5y`s?BZLwkOi>`-?AA-=Q=3rH%1|ex#eqFq3^kJ!SGn z>0cwkFAd?;PD{hgz<(Hwr_Ch7Agc7KuyOQfay>#SB*@n$Y?iN%@1?GykyG7}t;JhJ>eUE*SzgsyiW|EfHC#l~&Yc`k za2a*{``v5+WAdwUp@G}6n! @l?;jj%9`)UP!!nEZfLijiVCbHE&b(IHGSa`)pI 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

d*Sk2*ko!i02lxWu8j$O?HmIL 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
7CQ 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%0ABL{P2}H`t^$j_v;_>KIfPEIS>41 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

){$fBG_b) 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 literal 0 HcmV?d00001 diff --git a/drive-health/media/old-look.png b/drive-health/media/old-look.png new file mode 100644 index 0000000000000000000000000000000000000000..192f7b23d55d572f0a5cafcde98d1557618e5a4d GIT binary patch literal 86093 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 Q;0q9jdL}1JbRDkzA23&vTL1t6 literal 0 HcmV?d00001 diff --git a/drive-health/static/main.js b/drive-health/static/main.js new file mode 100644 index 0000000..56d815a --- /dev/null +++ b/drive-health/static/main.js @@ -0,0 +1,55 @@ +/** + * @typedef {number} + */ +var initialInputOlder = 0; // miliseconds Unix TimeStamp +/** + * @typedef {number} + */ +var initialInputNewer = 0; // miliseconds Unix TimeStamp + + +/** + * @typedef {HTMLInputElement} + */ +var olderThanInputElement; +/** + * @typedef {HTMLInputElement} + */ +var newerThanInputElement; + +document.addEventListener(`DOMContentLoaded`, initializePage) + +function initializePage() { + + // Update the page's time filter + initialInputOlder = Number(document.getElementById(`inp-older`).textContent.trim()) + initialInputNewer = Number(document.getElementById(`inp-newer`).textContent.trim()) + + // Bind the date elements + olderThanInputElement = document.getElementById(`olderThan`); + newerThanInputElement = document.getElementById(`newerThan`); + + olderThanInputElement.value = convertTimestampToDateTimeLocal(initialInputOlder); + newerThanInputElement.value = convertTimestampToDateTimeLocal(initialInputNewer); + +} + +// Handle one of the date elements having their value changed. +function applyDateInterval() { + const olderTimeStamp = new Date(olderThanInputElement.value).getTime() + const newerTimeStamp = new Date(newerThanInputElement.value).getTime() + + window.location.href = `/?older=${olderTimeStamp}&newer=${newerTimeStamp}`; +} + +/** + * Converts a Unix timestamp to a standard datetime string + * @param {number} timestamp - The Unix timestamp in milliseconds. + * @returns {string} - A normal string with Y-m-d H:i:s format + */ +function convertTimestampToDateTimeLocal(timestamp) { + const date = new Date(timestamp); + const offset = date.getTimezoneOffset() * 60000; // offset in milliseconds + const localDate = new Date(date.getTime() - offset); + return localDate.toISOString().slice(0, 19); +} diff --git a/drive-health/static/style.css b/drive-health/static/style.css new file mode 100644 index 0000000..afae1d9 --- /dev/null +++ b/drive-health/static/style.css @@ -0,0 +1,188 @@ +@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+Mono:wght@100..900&family=Roboto:wght@100;300;400&display=swap'); + +:root { + --bg0: #202327; + --bg1: #282d33; + --bg2: #31373f; + --bg3: #3e4248; + --bg4: #1a1c1f; + + --fg0: #bbc0ca; + --fg1: #434c56; + + --acc1: #2aa3f4; + --acc1BG0: #2aa3f450; + --acc1BG1: #2aa3f430; + + --acc2: #2af488; + --acc2BG0: #2af48850; + --acc2BG1: #2af48830; + + --acc3: #f4e02a; + --acc3BG0: #f4e02a50; + --acc3BG1: #f4e02a30; +} + +:root { + color: var(--fg0); + font-family: "Noto Sans Mono", "Roboto", sans-serif; +} + +html, body { + margin: 0; + padding: 0; + + width: 100vw; + + overflow: auto; + + background-color: var(--bg0); +} + +.container { + margin: 1rem auto; + max-width: 768px; + + border-radius: 8px; + border: 1px solid var(--fg1); + + background-color: var(--bg1); + overflow: hidden; +} + +.container-titlebar { + width: 100%; + + background-color: var(--bg2); +} + +.container .pad { + padding: .5rem 1rem; +} + +.container-titlebar h4 { + padding: 0; + margin: 0; +} + +.badge { + font-size: 12px; + font-weight: bold; + padding: .1rem .4rem; + + display: inline-block; + border-radius: 3px; + + color: var(--acc1); + background-color: var(--acc1BG0); + border: 1px solid var(--acc1BG1); +} + +.badge[type="HDD"] { + color: var(--acc2); + background-color: var(--acc2BG0); + border: 1px solid var(--acc2BG1); +} + +.badge[type="NVMe"] { + color: var(--acc3); + background-color: var(--acc3BG0); + border: 1px solid var(--acc3BG1); +} + +.grooved { + background-color: var(--bg0); + border: 1px solid var(--bg1); + + font-size: 12px; + padding: .1rem .3rem; + + border-radius: 4px; +} + + +/* Table */ + +table { + width: 100%; + border-collapse: collapse; +} + +table thead tr { + border-bottom: 1px solid var(--bg2); +} + +.graph-image { + max-width: 100%; +} + +.disk-graph-entry { + background-color: var(--bg3); + + border-radius: 8px; + + padding: .3rem .5rem; +} + + +/* Controls */ + +input { + padding: .25rem .5rem; + font-size: 16px; + background-color: var(--bg3); + color: var(--fg0); + + border: 1px solid var(--fg1); + border-radius: 4px; +} + +.btn { + font-size: 16px; + + padding: .5rem 1rem; + + border: 1px solid var(--fg1); + border-radius: 6px; + + background-color: var(--bg4); + color: var(--fg0); + + cursor: pointer; +} + +.btn:hover { + background-color: var(--bg3); +} + +.input-grp { + display: flex; + flex-flow: column; +} + +.input-grp label { + margin-bottom: .25rem; + font-weight: bold; +} + +.graph-controls { + display: flex; + flex-flow: wrap; + + width: 100%; +} + +.graph-controls input:nth-child(0) { + margin-right: 1rem; +} + +.controls-panel { + display: flex; + flex-flow: column; + + padding: 1rem 0; + + border-bottom: 1px solid var(--fg1); + margin-bottom: 1rem; + +} \ No newline at end of file diff --git a/drive-health/templates/index.html b/drive-health/templates/index.html new file mode 100644 index 0000000..bd9707a --- /dev/null +++ b/drive-health/templates/index.html @@ -0,0 +1,121 @@ + + + + + + + Drive Health Dashboard + + +{{ $older := .older }} +{{ $newer := .newer }} + + +

+ + + + + + From 4aaa187156a6963933436227a04c331f27556391 Mon Sep 17 00:00:00 2001 From: Manjari Srivastav Date: Wed, 24 Jan 2024 12:27:49 +0530 Subject: [PATCH 2/4] Delete drive-health directory --- drive-health/Dockerfile | 65 -------- drive-health/LICENSE | 13 -- drive-health/README.md | 98 ------------ drive-health/build.sh | 50 ------ drive-health/deploy.sh | 65 -------- drive-health/docker-compose.dev.yml | 14 -- drive-health/docker-compose.prod.yml | 17 -- drive-health/go.mod | 45 ------ drive-health/go.sum | 141 ----------------- drive-health/lib/config/config.go | 95 ------------ drive-health/lib/hardware/logic.go | 198 ------------------------ drive-health/lib/hardware/models.go | 94 ----------- drive-health/lib/svc/service.go | 186 ---------------------- drive-health/lib/svc/service_cleanup.go | 45 ------ drive-health/lib/web/api.go | 95 ------------ drive-health/lib/web/auth_middleware.go | 11 -- drive-health/lib/web/frontend.go | 66 -------- drive-health/lib/web/health.go | 16 -- drive-health/lib/web/net.go | 29 ---- drive-health/main.go | 63 -------- drive-health/media/design_v1.webp | Bin 182436 -> 0 bytes drive-health/media/old-look.png | Bin 86093 -> 0 bytes drive-health/static/main.js | 55 ------- drive-health/static/style.css | 188 ---------------------- drive-health/templates/index.html | 121 --------------- 25 files changed, 1770 deletions(-) delete mode 100644 drive-health/Dockerfile delete mode 100644 drive-health/LICENSE delete mode 100644 drive-health/README.md delete mode 100644 drive-health/build.sh delete mode 100644 drive-health/deploy.sh delete mode 100644 drive-health/docker-compose.dev.yml delete mode 100644 drive-health/docker-compose.prod.yml delete mode 100644 drive-health/go.mod delete mode 100644 drive-health/go.sum delete mode 100644 drive-health/lib/config/config.go delete mode 100644 drive-health/lib/hardware/logic.go delete mode 100644 drive-health/lib/hardware/models.go delete mode 100644 drive-health/lib/svc/service.go delete mode 100644 drive-health/lib/svc/service_cleanup.go delete mode 100644 drive-health/lib/web/api.go delete mode 100644 drive-health/lib/web/auth_middleware.go delete mode 100644 drive-health/lib/web/frontend.go delete mode 100644 drive-health/lib/web/health.go delete mode 100644 drive-health/lib/web/net.go delete mode 100644 drive-health/main.go delete mode 100644 drive-health/media/design_v1.webp delete mode 100644 drive-health/media/old-look.png delete mode 100644 drive-health/static/main.js delete mode 100644 drive-health/static/style.css delete mode 100644 drive-health/templates/index.html diff --git a/drive-health/Dockerfile b/drive-health/Dockerfile deleted file mode 100644 index 13a6f44..0000000 --- a/drive-health/Dockerfile +++ /dev/null @@ -1,65 +0,0 @@ -# === Build Stage === -FROM debian:bullseye-slim AS builder -ENV IS_DOCKER TRUE - -LABEL org.opencontainers.image.source https://github.com/JustKato/drive-health - -# Install build dependencies and runtime dependencies -RUN apt-get update && apt-get install -y \ - gcc \ - musl-dev \ - libsqlite3-dev \ - libsqlite3-0 \ - wget \ - && rm -rf /var/lib/apt/lists/* - -# Manually install Go 1.21 -ENV GOLANG_VERSION 1.21.0 -RUN wget https://golang.org/dl/go${GOLANG_VERSION}.linux-amd64.tar.gz -O go.tgz \ - && tar -C /usr/local -xzf go.tgz \ - && rm go.tgz -ENV PATH /usr/local/go/bin:$PATH - -# Set the environment variable for Go -ENV GOPATH=/go -ENV PATH=$GOPATH/bin:$PATH -ENV GO111MODULE=on - -# Create the directory and set it as the working directory -WORKDIR /app - -# Copy the Go files and download dependencies -COPY go.mod go.sum ./ -RUN go mod download - -# Copy the source from the current directory to the Working Directory inside the container -COPY . . - -# Build the Go app -RUN go build -o drive-health - -# Cleanup build dependencies to reduce image size -RUN apt-get purge -y gcc musl-dev libsqlite3-dev wget \ - && apt-get autoremove -y \ - && apt-get clean - -# === Final Stage === -FROM debian:bullseye-slim AS final - -# Set the environment variable -ENV IS_DOCKER TRUE - -# Create the directory and set it as the working directory -WORKDIR /app - -# Copy only the necessary files from the builder stage -COPY --from=builder /app/drive-health . - -# Expose the necessary port -EXPOSE 8080 - -# Volume for external data -VOLUME [ "/data" ] - -# Command to run the executable -CMD ["./drive-health"] diff --git a/drive-health/LICENSE b/drive-health/LICENSE deleted file mode 100644 index f738181..0000000 --- a/drive-health/LICENSE +++ /dev/null @@ -1,13 +0,0 @@ -Copyright [2024] [Daniel Legt] - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. \ No newline at end of file diff --git a/drive-health/README.md b/drive-health/README.md deleted file mode 100644 index 3cdc5ad..0000000 --- a/drive-health/README.md +++ /dev/null @@ -1,98 +0,0 @@ -## 📖 About -Drive Health is a program written in golang to help with tracking and monitoring of your hardware's temperature. - -This tool had been conceived with the purpose of installing it on different servers I own with different configurations to help keep track of the temperature of hard-disks, ssds, nvme drives, etc... - -### Features -- Disk Listing -- Temperature Graphing -- Disk activity logging -- [API](./lib/web/api.go) - -![UI Example](./media/design_v1.webp) - -## ❗ Disclaimer -I'm not exactly a linux hardware wizard, so I honestly have no clue about a lot of things and I myself can tell there's a lot to improve upon and that there's a lot of other things missing that are a little bit more obscure, I personally don't currently own any m.2 sata drives to test the code on, or many of the other drive types, I have only tested on HDD, SSD and NVMe drives, any issues opened would help me so much! - -## ❗ Requirements -1. A linux machine, this will NOT work on macOS or on Windows, it's meant to be ran on servers as a service with which administrators can privately connect to for temperature logging. - -2. Please make sure you have the [**drivetemp kernel drive**](https://docs.kernel.org/hwmon/drivetemp.html) you can check this by running `sudo modprobe drivetemp`. -The program depends on this to be able to log the temperature of your devices. - - -## 📖 How to use -1. Follow the `Deployment` section instrcutions to launch the program - -2. Once the program has launched, access it in your browser - -3. Enter the administrative username and password for the simple HTTP Auth - -4. You now have access to the application, you can monitor your disk's temperature over a period of time. - -## 🐦 Deployment -To deploy the application you have multiple choices, the preffered method should be one which runs the binary directly and not containerization, the `docker` image is taking up a wopping `1Gb+` because I have to include sqlite3-dev and musl-dev dependencies, which sucks, so I whole heartedly recommend just installing this on your system as a binary either with `SystemD` or whichever service manager you are using. - -Download binaries from [the releases page](https://github.com/JustKato/drive-health/releases) - -### 🐋 Docker -In the project there's a `docker-compose.prod.yml` which you can deploy on your server, you will notice that there's also a "dev" version, this version simply has a `build` instead of `image` property, so feel free to use either. - -Please do take notice that I have just fed the `environment file` directly to the service via docker-compose, and I recommend you do the same but please feel free to pass in `environment` variables straight to the process as well. - -[Docker Compose File](./docker-compose.prod.yml) -```yaml -version: "3.8" - -services: - drive-health: - # Latest image pull, mention the specific version here please. - image: ghcr.io/justkato/drive-health:latest - # Restart in case of crashing - restart: unless-stopped - # Load environment variables from .env file - env_file: - - .env - # Mount the volume to the local drive - volumes: - - ./data:/data - # Setup application ports - ports: - - 5003:8080 -``` - -### 💾 SystemD -When running with SystemD or any other service manager, please make sure you have a `.env` inside the `WorkingDirectory` of your runner, in the below example I will simply put my env in `/home/daniel/services/drive-health/.env` - -```ini -[Unit] -Description=Drive Health Service -After=network.target - -[Service] -Type=simple -User=daniel # Your user here -WorkingDirectory=/home/daniel/services/drive-health # The path to the service's directory -ExecStart=/home/daniel/services/drive-health/drive-health # The path to the binary -Restart=on-failure - -[Install] -WantedBy=multi-user.target -``` - -## ❔ FAQ - -### How does it work? -Currently the program does not depend on any go library for hardware detection as I couldn't find anything that would not require root access while giving me the possibility to interrogate the temperature of the drives. - -I chose not to depend on `lsblk` either, so how does the program work? -The program currently looks in `/sys/block` and then tries to make sense of the devices, I have had limited testing with my hardware specs, any issues being open in regards to different kinds of hardware would be highly appreciated - -### Why not just run as root? -I really, REALLY, **REALLY** want to avoid asking people to run **ANY** program I write as root and even try and prevent that from happening since that's how things can go bad, especially because I am running actions over hardware devices. - -## Support & Contribution -For support, bug reports, or feature requests, please open an issue on the [GitHub repository](https://github.com/JustKato/drive-health/issues). Contributions are welcome! Fork the repository, make your changes, and submit a pull request. - -## License -This project is licensed under the [Apache License 2.0](./LICENSE). \ No newline at end of file diff --git a/drive-health/build.sh b/drive-health/build.sh deleted file mode 100644 index 0906293..0000000 --- a/drive-health/build.sh +++ /dev/null @@ -1,50 +0,0 @@ -#!/usr/bin/env bash - -set -o pipefail -set -u - -# Function to display messages in color -echo_color() { - color=$1 - text=$2 - case $color in - "green") echo -e "\033[0;32m$text\033[0m" ;; - "yellow") echo -e "\033[0;33m$text\033[0m" ;; - "red") echo -e "\033[0;31m$text\033[0m" ;; - *) echo "$text" ;; - esac -} - -# Getting GIT_VERSION from the most recent tag or commit hash -GIT_VERSION=$(git describe --tags --always) -if [ -z "$GIT_VERSION" ]; then - echo_color red "Error: Unable to determine GIT_VERSION." - exit 1 -fi - -APP_NAME="drive-health" -DIST_DIR="${DIST_DIR:-dist}" -SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) - -# make sure we are in the source dir -cd $SCRIPT_DIR; - -# Create the dist directory if it doesn't exist -mkdir -p $DIST_DIR - -# Build the application -echo_color yellow "[🦝] Building the application..." -GOOS=linux CGO_ENABLED=1 GOARCH=amd64 go build -o $DIST_DIR/$APP_NAME - -# Copying additional resources... -cp -r static templates $DIST_DIR/ - -echo_color yellow "[🦝] Compilation and packaging completed, archiving..." - -cd $DIST_DIR/ - -zip "drive-health_$GIT_VERSION.zip" -r . - -# TODO: Add reliable method of cleaning up the compiled files optionally - -cd $SCRIPT_DIR; \ No newline at end of file diff --git a/drive-health/deploy.sh b/drive-health/deploy.sh deleted file mode 100644 index 51a0b85..0000000 --- a/drive-health/deploy.sh +++ /dev/null @@ -1,65 +0,0 @@ -#!/bin/bash - -# Function to display messages in color -echo_color() { - color=$1 - text=$2 - case $color in - "green") echo -e "\033[0;32m$text\033[0m" ;; - "yellow") echo -e "\033[0;33m$text\033[0m" ;; - "red") echo -e "\033[0;31m$text\033[0m" ;; - *) echo "$text" ;; - esac -} - -# Getting GIT_VERSION from the most recent tag or commit hash -GIT_VERSION=$(git describe --tags --always) -if [ -z "$GIT_VERSION" ]; then - echo_color red "Error: Unable to determine GIT_VERSION." - exit 1 -fi - -# Run tests before proceeding -echo_color yellow "Running tests..." -if ! go test; then - echo_color red "Tests failed. Cancelling build process." - exit 1 -fi -echo_color green "All tests passed successfully." - -echo_color green "Starting the Docker build process with version $GIT_VERSION..." - -LATEST_IMAGE_NAME="ghcr.io/justkato/drive-health:latest" -IMAGE_NAME="ghcr.io/justkato/drive-health:$GIT_VERSION" -echo_color yellow "Image to be built: $IMAGE_NAME" - -# Confirmation to build -read -p "Are you sure you want to build an image? (y/N) " response -if [[ "$response" =~ ^([yY][eE][sS]|[yY])$ ]]; then - # Building the Docker image - echo "Building Docker image: $IMAGE_NAME" - docker build --no-cache -t $IMAGE_NAME . - - # Also tag this build as 'latest' - echo "Tagging image as latest: $LATEST_IMAGE_NAME" - docker tag $IMAGE_NAME $LATEST_IMAGE_NAME -else - echo_color red "Build cancelled." - exit 1 -fi - -# Prompt to push the image -read -p "Push image to repository? (y/N) " push_response -if [[ "$push_response" =~ ^([yY][eE][sS]|[yY])$ ]]; then - # Pushing the image - echo "Pushing image: $IMAGE_NAME" - docker push $IMAGE_NAME - - # Pushing the 'latest' image - echo "Pushing latest image: $LATEST_IMAGE_NAME" - docker push $LATEST_IMAGE_NAME -else - echo_color red "Push cancelled." -fi - -echo_color green "Ending the Docker build process..." \ No newline at end of file diff --git a/drive-health/docker-compose.dev.yml b/drive-health/docker-compose.dev.yml deleted file mode 100644 index 62bc990..0000000 --- a/drive-health/docker-compose.dev.yml +++ /dev/null @@ -1,14 +0,0 @@ -version: "3.8" - -services: - drive-health: - # Build the current image - build: . - # Read straight from the .env file, or use the environment path - env_file: - - .env - volumes: - - ./dev_data:/data - # Setup application ports - ports: - - 8080:8080 \ No newline at end of file diff --git a/drive-health/docker-compose.prod.yml b/drive-health/docker-compose.prod.yml deleted file mode 100644 index bb00926..0000000 --- a/drive-health/docker-compose.prod.yml +++ /dev/null @@ -1,17 +0,0 @@ -version: "3.8" - -services: - drive-health: - # Latest image pull, mention the specific version here please. - image: ghcr.io/justkato/drive-health:latest - # Restart in case of crashing - restart: unless-stopped - # Load environment variables from .env file - env_file: - - .env - # Mount the volume to the local drive - volumes: - - ./data:/data - # Setup application ports - ports: - - 5003:8080 \ No newline at end of file diff --git a/drive-health/go.mod b/drive-health/go.mod deleted file mode 100644 index e45c300..0000000 --- a/drive-health/go.mod +++ /dev/null @@ -1,45 +0,0 @@ -module github.com/JustKato/drive-health - -go 1.21.6 - -require ( - github.com/gin-gonic/gin v1.9.1 - github.com/joho/godotenv v1.5.1 - github.com/wcharczuk/go-chart/v2 v2.1.1 - gorm.io/driver/sqlite v1.5.4 - gorm.io/gorm v1.25.5 -) - -require ( - github.com/blend/go-sdk v1.20220411.3 // indirect - github.com/bytedance/sonic v1.10.2 // indirect - github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d // indirect - github.com/chenzhuoyu/iasm v0.9.1 // indirect - github.com/gabriel-vasile/mimetype v1.4.3 // indirect - github.com/gin-contrib/sse v0.1.0 // indirect - github.com/go-playground/locales v0.14.1 // indirect - github.com/go-playground/universal-translator v0.18.1 // indirect - github.com/go-playground/validator/v10 v10.17.0 // indirect - github.com/goccy/go-json v0.10.2 // indirect - github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 // indirect - github.com/jinzhu/inflection v1.0.0 // indirect - github.com/jinzhu/now v1.1.5 // indirect - github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/cpuid/v2 v2.2.6 // indirect - github.com/leodido/go-urn v1.2.4 // indirect - github.com/mattn/go-isatty v0.0.20 // indirect - github.com/mattn/go-sqlite3 v1.14.19 // indirect - github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect - github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/pelletier/go-toml/v2 v2.1.1 // indirect - github.com/twitchyliquid64/golang-asm v0.15.1 // indirect - github.com/ugorji/go/codec v1.2.12 // indirect - golang.org/x/arch v0.7.0 // indirect - golang.org/x/crypto v0.18.0 // indirect - golang.org/x/image v0.11.0 // indirect - golang.org/x/net v0.20.0 // indirect - golang.org/x/sys v0.16.0 // indirect - golang.org/x/text v0.14.0 // indirect - google.golang.org/protobuf v1.32.0 // indirect - gopkg.in/yaml.v3 v3.0.1 // indirect -) diff --git a/drive-health/go.sum b/drive-health/go.sum deleted file mode 100644 index da6a1ef..0000000 --- a/drive-health/go.sum +++ /dev/null @@ -1,141 +0,0 @@ -github.com/blend/go-sdk v1.20220411.3 h1:GFV4/FQX5UzXLPwWV03gP811pj7B8J2sbuq+GJQofXc= -github.com/blend/go-sdk v1.20220411.3/go.mod h1:7lnH8fTi6U4i1fArEXRyOIY2E1X4MALg09qsQqY1+ak= -github.com/bytedance/sonic v1.5.0/go.mod h1:ED5hyg4y6t3/9Ku1R6dU/4KyJ48DZ4jPhfY1O2AihPM= -github.com/bytedance/sonic v1.10.0-rc/go.mod h1:ElCzW+ufi8qKqNW0FY314xriJhyJhuoJ3gFZdAHF7NM= -github.com/bytedance/sonic v1.10.2 h1:GQebETVBxYB7JGWJtLBi07OVzWwt+8dWA00gEVW2ZFE= -github.com/bytedance/sonic v1.10.2/go.mod h1:iZcSUejdk5aukTND/Eu/ivjQuEL0Cu9/rf50Hi0u/g4= -github.com/chenzhuoyu/base64x v0.0.0-20211019084208-fb5309c8db06/go.mod h1:DH46F32mSOjUmXrMHnKwZdA8wcEefY7UVqBKYGjpdQY= -github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311/go.mod h1:b583jCggY9gE99b6G5LEC39OIiVsWj+R97kbl5odCEk= -github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d h1:77cEq6EriyTZ0g/qfRdp61a3Uu/AWrgIq2s0ClJV1g0= -github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d/go.mod h1:8EPpVsBuRksnlj1mLy4AWzRNQYxauNi62uWcE3to6eA= -github.com/chenzhuoyu/iasm v0.9.0/go.mod h1:Xjy2NpN3h7aUqeqM+woSuuvxmIe6+DDsiNLIrkAmYog= -github.com/chenzhuoyu/iasm v0.9.1 h1:tUHQJXo3NhBqw6s33wkGn9SP3bvrWLdlVIJ3hQBL7P0= -github.com/chenzhuoyu/iasm v0.9.1/go.mod h1:Xjy2NpN3h7aUqeqM+woSuuvxmIe6+DDsiNLIrkAmYog= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/gabriel-vasile/mimetype v1.4.3 h1:in2uUcidCuFcDKtdcBxlR0rJ1+fsokWf+uqxgUFjbI0= -github.com/gabriel-vasile/mimetype v1.4.3/go.mod h1:d8uq/6HKRL6CGdk+aubisF/M5GcPfT7nKyLpA0lbSSk= -github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= -github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= -github.com/gin-gonic/gin v1.9.1 h1:4idEAncQnU5cB7BeOkPtxjfCSye0AAm1R0RVIqJ+Jmg= -github.com/gin-gonic/gin v1.9.1/go.mod h1:hPrL7YrpYKXt5YId3A/Tnip5kqbEAP+KLuI3SUcPTeU= -github.com/go-playground/assert/v2 v2.2.0 h1:JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s= -github.com/go-playground/assert/v2 v2.2.0/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= -github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA= -github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY= -github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY= -github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY= -github.com/go-playground/validator/v10 v10.17.0 h1:SmVVlfAOtlZncTxRuinDPomC2DkXJ4E5T9gDA0AIH74= -github.com/go-playground/validator/v10 v10.17.0/go.mod h1:9iXMNT7sEkjXb0I+enO7QXmzG6QCsPWY4zveKFVRSyU= -github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU= -github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= -github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 h1:DACJavvAHhabrF08vX0COfcOBJRhZ8lUbR+ZWIs0Y5g= -github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= -github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E= -github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= -github.com/jinzhu/now v1.1.5 h1:/o9tlHleP7gOFmsnYNz3RGnqzefHA47wQpKrrdTIwXQ= -github.com/jinzhu/now v1.1.5/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= -github.com/joho/godotenv v1.5.1 h1:7eLL/+HRGLY0ldzfGMeQkb7vMd0as4CfYvUVzLqw0N0= -github.com/joho/godotenv v1.5.1/go.mod h1:f4LDr5Voq0i2e/R5DDNOoa2zzDfwtkZa6DnEwAbqwq4= -github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= -github.com/klauspost/cpuid/v2 v2.2.6 h1:ndNyv040zDGIDh8thGkXYjnFtiN02M1PVVF+JE/48xc= -github.com/klauspost/cpuid/v2 v2.2.6/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= -github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M= -github.com/leodido/go-urn v1.2.4 h1:XlAE/cm/ms7TE/VMVoduSpNBoyc2dOxHs5MZSwAN63Q= -github.com/leodido/go-urn v1.2.4/go.mod h1:7ZrI8mTSeBSHl/UaRyKQW1qZeMgak41ANeCNaVckg+4= -github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= -github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= -github.com/mattn/go-sqlite3 v1.14.19 h1:fhGleo2h1p8tVChob4I9HpmVFIAkKGpiukdrgQbWfGI= -github.com/mattn/go-sqlite3 v1.14.19/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/pelletier/go-toml/v2 v2.1.1 h1:LWAJwfNvjQZCFIDKWYQaM62NcYeYViCmWIwmOStowAI= -github.com/pelletier/go-toml/v2 v2.1.1/go.mod h1:tJU2Z3ZkXwnxa4DPO899bsyIoywizdUvyaeZurnPPDc= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= -github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/twitchyliquid64/golang-asm v0.15.1 h1:SU5vSMR7hnwNxj24w34ZyCi/FmDZTkS4MhqMhdFk5YI= -github.com/twitchyliquid64/golang-asm v0.15.1/go.mod h1:a1lVb/DtPvCB8fslRZhAngC2+aY1QWCk3Cedj/Gdt08= -github.com/ugorji/go/codec v1.2.12 h1:9LC83zGrHhuUA9l16C9AHXAqEV/2wBQ4nkvumAE65EE= -github.com/ugorji/go/codec v1.2.12/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg= -github.com/wcharczuk/go-chart/v2 v2.1.1 h1:2u7na789qiD5WzccZsFz4MJWOJP72G+2kUuJoSNqWnE= -github.com/wcharczuk/go-chart/v2 v2.1.1/go.mod h1:CyCAUt2oqvfhCl6Q5ZvAZwItgpQKZOkCJGb+VGv6l14= -github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -golang.org/x/arch v0.0.0-20210923205945-b76863e36670/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8= -golang.org/x/arch v0.7.0 h1:pskyeJh/3AmoQ8CPE95vxHLqp1G1GfGNXTmcl9NEKTc= -golang.org/x/arch v0.7.0/go.mod h1:FEVrYAQjsQXMVJ1nsMoVVXPZg6p2JE2mx8psSWTDQys= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.18.0 h1:PGVlW0xEltQnzFZ55hkuX5+KLyrMYhHld1YHO4AKcdc= -golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg= -golang.org/x/image v0.11.0 h1:ds2RoQvBvYTiJkwpSFDwCcDFNX7DqjL2WsUgTNk0Ooo= -golang.org/x/image v0.11.0/go.mod h1:bglhjqbqVuEb9e9+eNR45Jfu7D+T4Qan+NhQk8Ck2P8= -golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.20.0 h1:aCL9BSgETF1k+blQaYUBx9hJ9LOGP3gAVemcZlf1Kpo= -golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.16.0 h1:xWw16ngr6ZMtmxDyKyIgsE93KNKz5HKmMa3b8ALHidU= -golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= -golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= -golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= -google.golang.org/protobuf v1.32.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gorm.io/driver/sqlite v1.5.4 h1:IqXwXi8M/ZlPzH/947tn5uik3aYQslP9BVveoax0nV0= -gorm.io/driver/sqlite v1.5.4/go.mod h1:qxAuCol+2r6PannQDpOP1FP6ag3mKi4esLnB/jHed+4= -gorm.io/gorm v1.25.5 h1:zR9lOiiYf09VNh5Q1gphfyia1JpiClIWG9hQaxB/mls= -gorm.io/gorm v1.25.5/go.mod h1:hbnx/Oo0ChWMn1BIhpy1oYozzpM15i4YPuHDmfYtwg8= -nullprogram.com/x/optparse v1.0.0/go.mod h1:KdyPE+Igbe0jQUrVfMqDMeJQIJZEuyV7pjYmp6pbG50= -rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= diff --git a/drive-health/lib/config/config.go b/drive-health/lib/config/config.go deleted file mode 100644 index 2794b37..0000000 --- a/drive-health/lib/config/config.go +++ /dev/null @@ -1,95 +0,0 @@ -package config - -import ( - "os" - "strconv" -) - -type DHConfig struct { - CleanupServiceFrequency int `json:"cleanupServiceFrequency"` - DiskFetchFrequency int `json:"diskFetchFrequency"` - MaxHistoryAge int `json:"maxHistoryAge"` - - DatabaseFilePath string `json:"databaseFilePath"` - - Listen string `json:"listen"` - - IdentityUsername string `json:"identityUsername"` - IdentityPassword string `json:"identityPassword"` - - IsDocker bool `json:isDocker` - - DebugMode bool `json:"debugMode"` -} - -var config *DHConfig = nil - -func GetConfiguration() *DHConfig { - - if config != nil { - return config - } - - config = &DHConfig{ - DiskFetchFrequency: 5, - CleanupServiceFrequency: 3600, - MaxHistoryAge: 2592000, - DatabaseFilePath: "./data.sqlite", - IdentityUsername: "admin", - IdentityPassword: "admin", - - IsDocker: false, - - Listen: ":8080", - } - - if val, exists := os.LookupEnv("DISK_FETCH_FREQUENCY"); exists { - if intValue, err := strconv.Atoi(val); err == nil { - config.DiskFetchFrequency = intValue - } - } - - if val, exists := os.LookupEnv("CLEANUP_SERVICE_FREQUENCY"); exists { - if intValue, err := strconv.Atoi(val); err == nil { - config.CleanupServiceFrequency = intValue - } - } - - if val, exists := os.LookupEnv("MAX_HISTORY_AGE"); exists { - if intValue, err := strconv.Atoi(val); err == nil { - config.MaxHistoryAge = intValue - } - } - - if val, exists := os.LookupEnv("LISTEN"); exists { - config.Listen = val - } - - if val, exists := os.LookupEnv("DATABASE_FILE_PATH"); exists { - config.DatabaseFilePath = val - } - - if val, exists := os.LookupEnv("IDENTITY_USERNAME"); exists { - config.IdentityUsername = val - } - - if val, exists := os.LookupEnv("IDENTITY_PASSWORD"); exists { - config.IdentityPassword = val - } - - if val, exists := os.LookupEnv("DEBUG_MODE"); exists { - if isDebug, err := strconv.ParseBool(val); err == nil { - config.DebugMode = isDebug - } - } - - if val, exists := os.LookupEnv("IS_DOCKER"); exists { - if isDocker, err := strconv.ParseBool(val); err == nil { - config.IsDocker = isDocker - - config.DatabaseFilePath = "/data/data.sqlite" - } - } - - return config -} diff --git a/drive-health/lib/hardware/logic.go b/drive-health/lib/hardware/logic.go deleted file mode 100644 index afad9b1..0000000 --- a/drive-health/lib/hardware/logic.go +++ /dev/null @@ -1,198 +0,0 @@ -package hardware - -import ( - "fmt" - "os" - "path/filepath" - "strconv" - "strings" - "time" - - "github.com/JustKato/drive-health/lib/config" - "gorm.io/gorm" -) - -func GetSystemHardDrives(db *gorm.DB, olderThan *time.Time, newerThan *time.Time) ([]*HardDrive, error) { - var systemHardDrives []*HardDrive - - // List all block devices - devices, err := os.ReadDir("/sys/block/") - if err != nil { - return nil, fmt.Errorf("failed to list block devices: %w", err) - } - - for _, device := range devices { - deviceName := device.Name() - - // Skip non-physical devices (like loop and ram devices) - // TODO: Read more about this, there might be some other devices we should or should not skip - if strings.HasPrefix(deviceName, "loop") || strings.HasPrefix(deviceName, "ram") { - continue - } - - // Read device details - model, _ := os.ReadFile(fmt.Sprintf("/sys/block/%s/device/model", deviceName)) - serial, _ := os.ReadFile(fmt.Sprintf("/sys/block/%s/device/serial", deviceName)) - sizeBytes, _ := os.ReadFile(fmt.Sprintf("/sys/block/%s/size", deviceName)) - - size := convertSizeToString(sizeBytes) - transport := getTransportType(deviceName) - - // TODO: Maybe find a better way? - if size == "0 Bytes" { - // This looks like an invalid device, skip it. - if config.GetConfiguration().DebugMode { - fmt.Printf("[🟨] Igoring device:[/dev/%s], reported size of 0\n", deviceName) - } - continue - } - - hwid, err := getHardwareID(deviceName) - if err != nil { - if config.GetConfiguration().DebugMode { - fmt.Printf("[🟨] No unique identifier found for device:[/dev/%s] unique identifier\n", deviceName) - } - continue - } - - hd := &HardDrive{ - Name: deviceName, - Transport: transport, - Model: strings.TrimSpace(string(model)), - Serial: strings.TrimSpace(string(serial)), - Size: size, - Type: getDriveType(deviceName), - HWID: hwid, - } - - systemHardDrives = append(systemHardDrives, hd) - } - - var updatedHardDrives []*HardDrive - - for _, sysHDD := range systemHardDrives { - var existingHD HardDrive - q := db.Where("hw_id = ?", sysHDD.HWID) - - if newerThan != nil && olderThan != nil { - q = q.Preload("Temperatures", "time_stamp < ? AND time_stamp > ?", newerThan, olderThan) - } - - result := q.First(&existingHD) - - if result.Error == gorm.ErrRecordNotFound { - // Hard drive not found, create new - db.Create(&sysHDD) - updatedHardDrives = append(updatedHardDrives, sysHDD) - } else { - // Hard drive found, update existing - existingHD.Name = sysHDD.Name - existingHD.Transport = sysHDD.Transport - existingHD.Size = sysHDD.Size - existingHD.Model = sysHDD.Model - existingHD.Type = sysHDD.Type - db.Save(&existingHD) - updatedHardDrives = append(updatedHardDrives, &existingHD) - } - } - - return updatedHardDrives, nil -} - -func getTransportType(deviceName string) string { - transportLink, err := filepath.EvalSymlinks(fmt.Sprintf("/sys/block/%s/device", deviceName)) - if err != nil { - return "Unknown" - } - - if strings.Contains(transportLink, "/usb/") { - return "USB" - } else if strings.Contains(transportLink, "/ata") { - return "SATA" - } else if strings.Contains(transportLink, "/nvme/") { - return "NVMe" - } - - return "Other" -} - -func convertSizeToString(sizeBytes []byte) string { - // Convert the size from a byte slice to a string, then to an integer - sizeStr := strings.TrimSpace(string(sizeBytes)) - sizeSectors, err := strconv.ParseInt(sizeStr, 10, 64) - if err != nil { - return "Unknown" - } - - // Convert from 512-byte sectors to bytes - sizeInBytes := sizeSectors * 512 - - // Define size units - const ( - _ = iota // ignore first value by assigning to blank identifier - KB float64 = 1 << (10 * iota) - MB - GB - TB - ) - - var size float64 = float64(sizeInBytes) - var unit string - - // Determine the unit to use - switch { - case size >= TB: - size /= TB - unit = "TB" - case size >= GB: - size /= GB - unit = "GB" - case size >= MB: - size /= MB - unit = "MB" - case size >= KB: - size /= KB - unit = "KB" - default: - unit = "Bytes" - } - - // Return the formatted size - return fmt.Sprintf("%.2f %s", size, unit) -} - -// Look throug /sys/block/device/ and try and find the unique identifier of the device. -func getHardwareID(deviceName string) (string, error) { - // Define potential ID file paths - idFilePaths := []string{ - "/sys/block/" + deviceName + "/device/wwid", - "/sys/block/" + deviceName + "/device/wwn", - "/sys/block/" + deviceName + "/device/serial", - } - - // Try to read each file and return the first successful read - for _, path := range idFilePaths { - if idBytes, err := os.ReadFile(path); err == nil { - return strings.TrimSpace(string(idBytes)), nil - } - } - - // Return an empty string if no ID is found - return "", fmt.Errorf("could not find unique identifier for %s", deviceName) -} - -// Figure out what kind of device this is by reading if it's rotational or not -func getDriveType(deviceName string) string { - // Check if the drive is rotational (HDD) - if isRotational, _ := os.ReadFile(fmt.Sprintf("/sys/block/%s/queue/rotational", deviceName)); string(isRotational) == "1\n" { - return "HDD" - } - - // Check if the drive is NVMe - if strings.HasPrefix(deviceName, "nvme") { - return "NVMe" - } - - // Default to SSD for non-rotational and non-NVMe drives - return "SSD" -} diff --git a/drive-health/lib/hardware/models.go b/drive-health/lib/hardware/models.go deleted file mode 100644 index cebf906..0000000 --- a/drive-health/lib/hardware/models.go +++ /dev/null @@ -1,94 +0,0 @@ -package hardware - -import ( - "fmt" - "os" - "path/filepath" - "strconv" - "strings" - "time" - - "gorm.io/gorm" -) - -type HardDrive struct { - ID uint `gorm:"primarykey"` - CreatedAt time.Time - UpdatedAt time.Time - DeletedAt gorm.DeletedAt `gorm:"index"` - Name string - Transport string - Size string - Model string - Serial string - Type string - HWID string - Temperatures []HardDriveTemperature `gorm:"foreignKey:HardDriveID"` -} - -type HardDriveTemperature struct { - gorm.Model - HardDriveID uint - TimeStamp time.Time - Temperature int -} - -// A snapshot in time of the current state of the harddrives -type HardwareSnapshot struct { - TimeStamp time.Time - HDD []*HardDrive -} - -type Snapshots struct { - List []*HardwareSnapshot -} - -func (h *HardDrive) GetTemperature() int { - - possiblePaths := []string{ - "/sys/block/" + h.Name + "/device/hwmon/", - "/sys/block/" + h.Name + "/device/", - "/sys/block/" + h.Name + "/device/generic/device/", - } - - for _, path := range possiblePaths { - // Try HDD/SSD path - temp, found := h.getTemperatureFromPath(path) - if found { - return temp - } - } - - fmt.Printf("[🛑] Failed to get temperature for %s\n", h.Name) - return -1 -} - -func (h *HardDrive) getTemperatureFromPath(basePath string) (int, bool) { - hwmonDirs, err := os.ReadDir(basePath) - if err != nil { - return 0, false - } - - for _, dir := range hwmonDirs { - if strings.HasPrefix(dir.Name(), "hwmon") { - tempPath := filepath.Join(basePath, dir.Name(), "temp1_input") - if _, err := os.Stat(tempPath); err == nil { - tempBytes, err := os.ReadFile(tempPath) - if err != nil { - continue - } - - tempStr := strings.TrimSpace(string(tempBytes)) - temperature, err := strconv.Atoi(tempStr) - if err != nil { - continue - } - - // Convert millidegree Celsius to degree Celsius - return temperature / 1000, true - } - } - } - - return 0, false -} diff --git a/drive-health/lib/svc/service.go b/drive-health/lib/svc/service.go deleted file mode 100644 index 3c4c76c..0000000 --- a/drive-health/lib/svc/service.go +++ /dev/null @@ -1,186 +0,0 @@ -package svc - -import ( - "bytes" - "fmt" - "time" - - "github.com/JustKato/drive-health/lib/config" - "github.com/JustKato/drive-health/lib/hardware" - "github.com/wcharczuk/go-chart/v2" - "gorm.io/driver/sqlite" - "gorm.io/gorm" -) - -var db *gorm.DB - -// Initialize the database connection -func InitDB() { - var err error - dbPath := config.GetConfiguration().DatabaseFilePath - - db, err = gorm.Open(sqlite.Open(dbPath), &gorm.Config{}) - if err != nil { - // This should basically never happen, unless the path to the database - // is inaccessible, doesn't exist or there's no permission to it, which - // should and will crash the program - panic("failed to connect database") - } - - // Migrate the schema - db.AutoMigrate(&hardware.HardDrive{}, &hardware.HardDriveTemperature{}) -} - -// Fetch the open database pointer -func GetDatabaseRef() *gorm.DB { - return db -} - -// Log the temperature of the disks -func LogDriveTemps() error { - drives, err := hardware.GetSystemHardDrives(db, nil, nil) - if err != nil { - return err - } - - for _, hdd := range drives { - temp := hdd.GetTemperature() - db.Create(&hardware.HardDriveTemperature{ - HardDriveID: hdd.ID, - TimeStamp: time.Now(), - Temperature: temp, - }) - } - - return nil -} - -// Run the logging service, this will periodically log the temperature of the disks with the LogDriveTemps function -func RunLoggerService() { - fmt.Println("[🦝] Initializing Temperature Logging Service...") - - tickTime := time.Duration(config.GetConfiguration().DiskFetchFrequency) * time.Second - - // Snapshot taking routine - go func() { - for { - time.Sleep(tickTime) - err := LogDriveTemps() - if err != nil { - fmt.Printf("[🛑] Temperature logging failed: %s\n", err) - } - } - }() -} - -// Generate a PNG based upon a HDD id and a date range -func GetDiskGraphImage(hddID int, newerThan *time.Time, olderThan *time.Time) (*bytes.Buffer, error) { - var hdd hardware.HardDrive - // Fetch by a combination of fields - q := db.Where("id = ?", hddID) - - if newerThan == nil || olderThan == nil { - q = q.Preload("Temperatures") - } else { - q = q.Preload("Temperatures", "time_stamp < ? AND time_stamp > ?", newerThan, olderThan) - } - - // Query for the instance - result := q.First(&hdd) - if result.Error != nil { - return nil, result.Error - } - - // Prepare slices for X (time) and Y (temperature) values - var xValues []time.Time - var yValues []float64 - for _, temp := range hdd.Temperatures { - xValues = append(xValues, temp.TimeStamp) - yValues = append(yValues, float64(temp.Temperature)) - } - - // Allocate a buffer for the graph image - graphImageBuffer := bytes.NewBuffer([]byte{}) - - // TODO: Graph dark theme - - // Generate the chart - graph := chart.Chart{ - Title: fmt.Sprintf("%s:%s[%s]", hdd.Name, hdd.Serial, hdd.Size), - TitleStyle: chart.Style{ - FontSize: 14, - }, - - // TODO: Implement customizable sizing - Width: 1280, - - Background: chart.Style{ - Padding: chart.Box{ - Top: 20, Right: 20, Bottom: 20, Left: 20, - }, - }, - - XAxis: chart.XAxis{ - Name: "Time", - ValueFormatter: func(v interface{}) string { - if ts, isValidTime := v.(float64); isValidTime { - t := time.Unix(int64(ts/1e9), 0) - - return t.Format("Jan 2 2006, 15:04") - } - - return "" - }, - Style: chart.Style{}, - GridMajorStyle: chart.Style{ - StrokeColor: chart.ColorAlternateGray, - StrokeWidth: 0.5, - }, - GridMinorStyle: chart.Style{ - StrokeColor: chart.ColorAlternateGray.WithAlpha(64), - StrokeWidth: 0.25, - }, - }, - YAxis: chart.YAxis{ - Name: "Temperature (C)", - Style: chart.Style{}, - GridMajorStyle: chart.Style{ - StrokeColor: chart.ColorAlternateGray, - StrokeWidth: 0.5, - }, - GridMinorStyle: chart.Style{ - StrokeColor: chart.ColorAlternateGray.WithAlpha(64), - StrokeWidth: 0.25, - }, - }, - Series: []chart.Series{ - chart.TimeSeries{ - Name: "Temperature", - XValues: xValues, - YValues: yValues, - Style: chart.Style{ - StrokeColor: chart.ColorCyan, - StrokeWidth: 2.0, - }, - }, - }, - } - - // Add a legend to the chart - graph.Elements = []chart.Renderable{ - chart.Legend(&graph, chart.Style{ - Padding: chart.Box{ - Top: 5, Right: 5, Bottom: 5, Left: 5, - }, - FontSize: 10, - }), - } - - // Render the chart into the byte buffer - err := graph.Render(chart.PNG, graphImageBuffer) - if err != nil { - return nil, err - } - - return graphImageBuffer, nil -} diff --git a/drive-health/lib/svc/service_cleanup.go b/drive-health/lib/svc/service_cleanup.go deleted file mode 100644 index 79261ac..0000000 --- a/drive-health/lib/svc/service_cleanup.go +++ /dev/null @@ -1,45 +0,0 @@ -package svc - -import ( - "fmt" - "time" - - "github.com/JustKato/drive-health/lib/config" - "github.com/JustKato/drive-health/lib/hardware" -) - -// Delete all thermal entries that are older than X amount of seconds -func CleanupOldData() error { - cfg := config.GetConfiguration() - - beforeDate := time.Now().Add(-1 * time.Duration(cfg.MaxHistoryAge) * time.Second) - - deleteResult := db.Where("time_stamp < ?", beforeDate).Delete(&hardware.HardDriveTemperature{}) - if deleteResult.Error != nil { - fmt.Printf("[🛑] Error during cleanup: %s\n", deleteResult.Error) - return db.Error - } - - if deleteResult.RowsAffected > 0 { - fmt.Printf("[🛑] Cleaned up %v entries before %s\n", deleteResult.RowsAffected, beforeDate) - } - - return nil -} - -func RunCleanupService() { - fmt.Println("[🦝] Initializing Log Cleanup Service...") - - tickTime := time.Duration(config.GetConfiguration().CleanupServiceFrequency) * time.Second - - // Snapshot taking routine - go func() { - for { - time.Sleep(tickTime) - err := CleanupOldData() - if err != nil { - fmt.Printf("🛑 Cleanup process failed: %s\n", err) - } - } - }() -} diff --git a/drive-health/lib/web/api.go b/drive-health/lib/web/api.go deleted file mode 100644 index fd506b1..0000000 --- a/drive-health/lib/web/api.go +++ /dev/null @@ -1,95 +0,0 @@ -package web - -import ( - "net/http" - "strconv" - "time" - - "github.com/JustKato/drive-health/lib/hardware" - "github.com/JustKato/drive-health/lib/svc" - "github.com/gin-gonic/gin" -) - -func setupApi(r *gin.Engine) { - api := r.Group("/api/v1") - - // Fetch the chart image for the disk's temperature - api.GET("/disks/:diskid/chart", func(ctx *gin.Context) { - diskIDString := ctx.Param("diskid") - diskId, err := strconv.Atoi(diskIDString) - if err != nil { - ctx.AbortWithStatusJSON(400, gin.H{ - "error": err.Error(), - "message": "Invalid Disk ID", - }) - - return - } - - var olderThan, newerThan *time.Time - - if ot := ctx.Query("older"); ot != "" { - if otInt, err := strconv.ParseInt(ot, 10, 64); err == nil { - otTime := time.UnixMilli(otInt) - olderThan = &otTime - } - } - - if nt := ctx.Query("newer"); nt != "" { - if ntInt, err := strconv.ParseInt(nt, 10, 64); err == nil { - ntTime := time.UnixMilli(ntInt) - newerThan = &ntTime - } - } - - graphData, err := svc.GetDiskGraphImage(diskId, newerThan, olderThan) - if err != nil { - ctx.AbortWithStatusJSON(500, gin.H{ - "error": err.Error(), - "message": "Graph generation issue", - }) - - return - } - - // Set the content type header - ctx.Writer.Header().Set("Content-Type", "image/png") - - // Write the image data to the response - ctx.Writer.WriteHeader(http.StatusOK) - _, err = graphData.WriteTo(ctx.Writer) - if err != nil { - ctx.AbortWithStatusJSON(500, gin.H{ - "error": err.Error(), - "message": "Write error", - }) - - return - } - }) - - // Get a list of all the disks - api.GET("/disks", func(ctx *gin.Context) { - - olderThan := time.Now().Add(time.Minute * time.Duration(10) * -1) - newerThan := time.Now() - - // Fetch the disk list - disks, err := hardware.GetSystemHardDrives(svc.GetDatabaseRef(), &olderThan, &newerThan) - if err != nil { - ctx.Error(err) - } - - if ctx.Request.URL.Query().Get("temp") != "" { - for _, d := range disks { - d.GetTemperature() - } - } - - ctx.JSON(http.StatusOK, gin.H{ - "message": "Disk List", - "disks": disks, - }) - }) - -} diff --git a/drive-health/lib/web/auth_middleware.go b/drive-health/lib/web/auth_middleware.go deleted file mode 100644 index ce27d00..0000000 --- a/drive-health/lib/web/auth_middleware.go +++ /dev/null @@ -1,11 +0,0 @@ -package web - -import "github.com/gin-gonic/gin" - -func BasicAuthMiddleware(username, password string) gin.HandlerFunc { - authorized := gin.Accounts{ - username: password, - } - - return gin.BasicAuth(authorized) -} diff --git a/drive-health/lib/web/frontend.go b/drive-health/lib/web/frontend.go deleted file mode 100644 index f0f65cf..0000000 --- a/drive-health/lib/web/frontend.go +++ /dev/null @@ -1,66 +0,0 @@ -package web - -import ( - "fmt" - "net/http" - "strconv" - "time" - - "github.com/JustKato/drive-health/lib/hardware" - "github.com/JustKato/drive-health/lib/svc" - "github.com/gin-gonic/gin" -) - -func setupFrontend(r *gin.Engine) { - r.LoadHTMLGlob("templates/*") - r.Static("/static", "./static") - - // Set up a route for the root URL - r.GET("/", func(ctx *gin.Context) { - hardDrives, err := hardware.GetSystemHardDrives(svc.GetDatabaseRef(), nil, nil) - if err != nil { - ctx.AbortWithStatus(500) - } - - for _, hdd := range hardDrives { - hdd.GetTemperature() - } - - var olderThan, newerThan *time.Time - - if ot := ctx.Query("older"); ot != "" { - fmt.Printf("ot = %s\n", ot) - if otInt, err := strconv.ParseInt(ot, 10, 64); err == nil { - otTime := time.UnixMilli(otInt) - olderThan = &otTime - } - } - - if nt := ctx.Query("newer"); nt != "" { - fmt.Printf("nt = %s\n", nt) - if ntInt, err := strconv.ParseInt(nt, 10, 64); err == nil { - ntTime := time.UnixMilli(ntInt) - newerThan = &ntTime - } - } - - if olderThan == nil { - genTime := time.Now().Add(time.Hour * -1) - - olderThan = &genTime - } - - if newerThan == nil { - genTime := time.Now() - - newerThan = &genTime - } - - // Render the HTML template - ctx.HTML(http.StatusOK, "index.html", gin.H{ - "drives": hardDrives, - "older": olderThan.UnixMilli(), - "newer": newerThan.UnixMilli(), - }) - }) -} diff --git a/drive-health/lib/web/health.go b/drive-health/lib/web/health.go deleted file mode 100644 index adcd54a..0000000 --- a/drive-health/lib/web/health.go +++ /dev/null @@ -1,16 +0,0 @@ -package web - -import ( - "net/http" - - "github.com/gin-gonic/gin" -) - -func setupHealth(r *gin.Engine) { - - r.GET("/ping", func(c *gin.Context) { - c.JSON(http.StatusOK, gin.H{ - "status": "Pong", - }) - }) -} diff --git a/drive-health/lib/web/net.go b/drive-health/lib/web/net.go deleted file mode 100644 index 5e667d9..0000000 --- a/drive-health/lib/web/net.go +++ /dev/null @@ -1,29 +0,0 @@ -package web - -import ( - "github.com/JustKato/drive-health/lib/config" - "github.com/gin-gonic/gin" -) - -func SetupRouter() *gin.Engine { - cfg := config.GetConfiguration() - - if !cfg.DebugMode { - // Set gin to release - gin.SetMode(gin.ReleaseMode) - } - - // Initialize the Gin engine - r := gin.Default() - - r.Use(BasicAuthMiddleware(cfg.IdentityUsername, cfg.IdentityPassword)) - - // Setup Health Pings - setupHealth(r) - // Setup Api - setupApi(r) - // Setup Frontend - setupFrontend(r) - - return r -} diff --git a/drive-health/main.go b/drive-health/main.go deleted file mode 100644 index 886aeaa..0000000 --- a/drive-health/main.go +++ /dev/null @@ -1,63 +0,0 @@ -package main - -import ( - "context" - "log" - "net/http" - "os" - "os/signal" - "syscall" - "time" - - "github.com/JustKato/drive-health/lib/config" - "github.com/JustKato/drive-health/lib/svc" - "github.com/JustKato/drive-health/lib/web" - "github.com/joho/godotenv" -) - -func main() { - // Load .env file if it exists - if err := godotenv.Load(); err != nil { - log.Println("[🟨] No .env file found") - } - - // Init the database - svc.InitDB() - cfg := config.GetConfiguration() - - router := web.SetupRouter() - - srv := &http.Server{ - Addr: cfg.Listen, - Handler: router, - } - - // Run the server in a goroutine - go func() { - if err := srv.ListenAndServe(); err != nil && err != http.ErrServerClosed { - log.Fatalf("[🛑] listening failed: %s\n", err) - } - }() - - // Run the hardware service - svc.RunLoggerService() - // Run the cleanup service - svc.RunCleanupService() - - // Setting up signal capturing - quit := make(chan os.Signal, 1) - signal.Notify(quit, syscall.SIGINT, syscall.SIGTERM) - - // Block until a signal is received - <-quit - log.Println("[🦝] Shutting down server...") - - // Graceful shutdown - ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second) - defer cancel() - if err := srv.Shutdown(ctx); err != nil { - log.Fatal("[🛑] Server forced to shutdown:", err) - } - - log.Println("[🦝] Server exiting") -} diff --git a/drive-health/media/design_v1.webp b/drive-health/media/design_v1.webp deleted file mode 100644 index 9f4434ab081dd6fb61a945a9c35e991d66400b8d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 182436 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 lP6 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 bYH7&E0LE;8s2FG2w+;vR2e&TAGTsHD38m} zDLZtDSX6P&P=r`Ic6e$DS7>K&!GFGkYmsLdozSs$^hjoTZV%~iQnuW$ePSsCIfL>q zE`DMOcM#WiV=C8fM%2^33R%s@8NbG=q*HHqmlxvsA0df$2|x3dh0Iriy4lOG$42^j z*=PN{I|qBE-f+{GoLi8*JGk@%A1y)=;6S#pR;>g1|B$v27GApaLG%%N7P7uv4y__oXEc~#lOc2_L}_3shieMJDb`7{W+ggoD}w24`%DKp=)6?cci z^nzJg;c+{yF1YajJ|A(BlaZ2JX>~J(JKhd(PD0-1wloDadu#+aUq}Hxh&vpmtoiYJ zh*n73LW_!^+eu~C*~Ymw{Bjlf*+$XDGEaA)QfR2rvJl50XYzj_0{;WC_z#5gY@-?6 z4P*ml` zZ|2zs4MC^l^8BN9Q#<6va;OCBCSfLTuLvr!|ln`BLdjL(j1F5w~xaycb zy$M7k1ftCW(VBs1agSGq-q!_L@8%yFza8fw77Z3!cARu|E{?u=L@Bv|{1yO3vihG$ zXSOq#R09PEf4!T)t4Y;wF)NW*t;-pUVF|+jxlU^Um#X3a>6m|NL8XBHukXc{{qoAA zb%vv6ZS~WR;=$~Hdylox6!UEem=(7#+4>^^ToBFLZ6=OPfvE!Im$05LF;1Vp=~R2$ zZc*8%$fcqB_q8+dKv>3@)2xvjcTDExgi9Z+RoFDoyh$zY$_^OJD{-xf5bwEjalKs9))#ECH#=!t7V_Y&sUfkP8p5MYmAc87T2N_f>zRG3*?Jqb<( zJ}h*_2XJtS`AY-!@2;1fUX1dsIdJ*^{wmbJk0=xZCltHLRB2kzd;R z<^POdE^yK2p)ePHmfk)zn6s^U4(ONTFTdc=mq5EJK)#nwBcVHEgZMGeQC0ZqI&_h< zDTZYK32CCDJeB;`kf?vZ5*Q>xCvxsUJx*IthxepgBro^)>(ayea6Nyz?I*k1fA-#( zZ1j>+!3DNBJk+>5@(aH_$M|IhDEV;zfg%3b^$hJ)`~n6@ucn?`)BkP8S{7f(Kqu|h zO8osF_nytR31{s!`G06BbWS5NpZ}K1lo2Fv

j0r&azQ%f-Uq6{RfAUyi%{8rpYE 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

(# z<3x0fKEO$lAfNtm{`-J|bYI66nrjn4vj5)Q0cCrB17V8UEblBUcA=-bXC@7&07Bu% z0>+1QEEsMzoaI-aRPiOAomeMtg^Qp?jJioh<-9)_+a95W35u{Ju^D3_9#k(JG8wiy z^q@8ve2%NCzj=Ox1ahLmuXIOjA1bDj2R2OO2KoMPZ<2O&4=*hd<~aLw;;VSp*ij)~ z7dA+)*%lu$mu9#Tjq0cJc9sQl{`*!vqv2gS<-Ul^$oc|-yBqZp&Ew9~#c%EAd)HfY zz=<8KsYxb$MgqK5Snn?V4Q&06%BN)xxW6}bMR)A{aZR3LE=Vg zP(fK?QD&q}gUIOG8f*2ps2&`XkUu=3bdC6cMgh!lRXbHkaDU9NSS<%;BFHLH?fq&^ ztMD~jmMSE&lgp_AS2igNF=^XzSV80>a1EBQjxfRUgjvmhF4O*%uuouNcRUUv1m}bz z8SFe|7fn%kp|xi&quPJ2SMtDhJExn?A}(R7n6oVkuhk7 z`xLxdN?v}N%1U5KEpH$3S0%k9_jJCWj|BSr8b2wPX!5gS&$8_)THciK{FG*VR9Uv2 z2JyV1WQqYX34$2awT04I;;Oa>?!1z506nC)*fIm93*8j2A-g?mYbG@5EE51>jo~ zRTTLzupiadT*3>GTS~s@MWl=;P3#K&1I#Y0mzF`}_frLNRIfig+!BA?3oS8wYoYAO z?6)>^pMuk}-v&xU|CoMLpxE0R+<0BbH3sbt{6jl*as2nl$K<^hAx#Ynm~5tHLF#pE z1wV}CWB4={IJ`zvu^Dqv^nZ>XF#qICWJQp7J+d@+k_B2xO?}uF`?v0t4c|mmQKf{J zfWqgv=0ckiVl)!Z%_cUX2{Xpq;DPdX8UxOj8&6M1ZA?T{=t+amP>FGgnVpMAd^qwZ z-$7V13k~;-J&i!#T~tX1=PkrCF`#5jY3_CW5QRTL`myhjI(^qoBjhw5Dm@44L@}zm zEdRd;5jvY?P+WG?%Kz|Z^8Bj32hYRza-$VnVSXiWQ_hlwu&Q=935%VQp zS-wIA^5JYlyNB<>Z#F7>Y#hpp~+lcFgBEcwssVJy`#_3NBa!xQ$=E?ht2E6vZ zZKh~Svfs`FDGZ%!gIr=5XD5y`s?BZLwkOi>`-?AA-=Q=3rH%1|ex#eqFq3^kJ!SGn z>0cwkFAd?;PD{hgz<(Hwr_Ch7Agc7KuyOQfay>#SB*@n$Y?iN%@1?GykyG7}t;JhJ>eUE*SzgsyiW|EfHC#l~&Yc`k za2a*{``v5+WAdwUp@G}6n! @l?;jj%9`)UP!!nEZfLijiVCbHE&b(IHGSa`)pI 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

d*Sk2*ko!i02lxWu8j$O?HmIL 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
7CQ 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%0ABL{P2}H`t^$j_v;_>KIfPEIS>41 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

){$fBG_b) z6~m@D#jX84i^$R9nMk)m^bgykSsyZg6r6KUK(O^cgQ0_3AnL~^51t_l>hU-M^kg-j zCJvbzK3OoSn7bGVW z{?}cYkqOgTr^DL2FsLt4%oys8CO|j>h?K>I#3XJ}`(ZVMKLH!2*a$lTW=TTmn94mx zxwns-GBKdT0-ycc)cbhKA2!Yr|GO-@+`Nu?-#HFqF^?(*`1~1olEE(vhuHlHNRMeW zAoDybTtNd?q8f}2kmKvP1Wqy`*w|nJOdSC0SqL@cKrwnE%+L{JiYwUwlR@VJjjzL^ zAO!(L{MsVqkmkc9gE7>KfnSrxF>2I+0|U5+C<#Q-0oPH4Pd0Mo;PsO46fr881*iz* zb9Ls|0BRWs^b+}xAe*;YA7Q9*2huWt0XWIs6cej` zTQlbKzbTt$2bnq{YGo0lPn^xp6j zIgDJtFUtjaYBF5007wGM_b|R0bn%{d@WyrDhBDQu=UTNTxh2ITX31Rz$!^0UagsT) zEm0FVVLQa+g7F7=3sjo@?1fK@^3w*DvEFy@0IkkQFiV7K?Hs`*o}%Cp7P;=EY&2#TzjI-+}sMs0?|}-Hi%AE4*NqsJJ_n=t~irk zjYE(ZWl-!41$iWX+7IY(PJkGYR94O%bhqrz=j8GEn{&7POIv3u z6|d*iyK~20`=#sFCQG?alKds-V#ubjBEC@GE(}q~_ap7TV%arGL_B*P<;Rb{iFIZw znOUi0tP_}j^iK528Ic+*DODY_4q2YU9 zc0SxtISlh26UsG=EV!qfzJ4BI+;0u=3b@v$9y?!2=ktwiyCQR*R+S10>P!2@;0#`Z zphqCH>MP+L=NktS_-b6Chi`RLik-$t>m2xtTBH6Lk2-&fq&vL8+2&!koh2zv>KNFvvBAZxS0>FXLVF?X0RwfYyDMQ6w zIFR<`IxMw@U6rb$N9qqAuWlI1MMpo>RNPK9O{+s^aS=`YE@sLBJn0>L7i4)Qm04-@ z1VN^j3>)h5kQ%qFRRj-MAe@d1B~!{wSYT2=HO-DYIP?=_*)((pE|agoPw3312-yTM zFw~)payT;*XsC8N0JCN@g7uFM&Tqbo3hp5Y;9#Rl+}O+po8riri`=NB4q`&*V(Gvq^%50nahX|6p=0B7*wC(mabv zA=zQjNiOy=jEqD{YS$+)Yk@K%a*ZL5QScF8+&L+xU>tK^X`yz^;22E|8;c7J9Uvq` zl6@C;B55OJY~V;^*`WZ(V8!6lh$SN_cE(f$UQoD59!(?)pvoi&kJy}UBR~o_;Gri! ztN@0)IA4h#fQCg*Rf4#lMFoMX0b`xTzPiAcgB=W(XxwXNamW>iKU=VI z0X7hU&yCEC%k+qr;R1H9Ajcb9vkJzWd2mE;1ph+}3V{TO9|=tZ$sP^>#^x!^@OChWz0+2Q`t}(f@v_>5?kVqGntWQVVvgc-Il!68KF>iDsxs?7|NzyYavsHddXNdb#eMbGTo<{FB zH=Bi+)yWPYEcC9An`x>#yK5X5V`gNkrML3(Z+J`TcSonp>bika*#VEG9!=uieei87vUh-nJfom7iTO#7kVpQ*+;E zJ(`MtwBjC#@B40U*7J8js@GV&(+qRkIOYI$^V6gE z@8vl@jjI;(TgPA{`!~%e0rVJNN4tr{nfr?klDm!tayy&OXZGorvOa4jFf9*`y=`@Y z?0+(>qVyp9jk}x#JUOhN#oSTP5G_AKtMP|fLokO${%c}6|Hs6dB_(6go-6Zx@N zEJt`V3aA!pZ%tvKFC+=G0#Q%bvz#~7TC@xKpLUiy^5#go_vGxE+dQIkKTV%Nbxtex>Wmv9ODvE0D7+dC z9FuB}D%SkRov&f>O|)IkZaq$`hm>;n8myaj<7g3zCma$Tp3P;!lnAL5zcz^Y#rliO z`|rzU9bGJU&omq9fja9uPtb=4`a=Cv+!tijn)tXPN|>kbmh9~J%nPih z!*Rl|3m;K4eLC>r_3EKpwpse>7jm!jG--Yvi7% zyGrU=+0vS^^|7YK^|^S4jf(0qnzv!Xfx*!6yy0Q+z!|;kn)W5y+(qt!k6c;Pgmo5) z>%UZ%zDlg@ZZ-IrT_5kqISc4#)xj22U~)cIpK&=yRdnpb4keqwS4<)A*N~UcucEjsB-nR<;dZ>chr&P6JOCm;QzBwx}-i zoxAFjdz2PwvveYFd(84o2h}ULcemQM2fYuvZa1%^O~&h@vt1uxg}!rf@4Jjl8VPHl z)J4iepvCO)XZJ>G$a?dm^qU|dv4*M2mLb?$H~J8A(%EczVR+jPO02-)0O6C*eYmPv z;>S>P*x%zZ`}^(0!?EGVaB6;E4ZsjitOS%31sdT&5{FQ3VlFhXoXc87-t;!$r2^1L z?l4x&fX49`jxU+hd;_iMs-u<8@#@0!V9uioPEx3)(Zi0xI4@Q{-e%GJ@lUxsz34lh zR+QJQZ!myxtVg8_8dTF`t9i+d!oG{!N#-mVs^Kl8TD%uK{O~jZY@KUYjLfFz^uSru ze$Dz*z5@%&^e+YGrXFNwG-`7?Uv-Kc2uok`&u~_9kB6LMHOCjaRobXpJVi0voXwFz z)SPgePM)J+ji(K_8!F~Lky?z4Sii69AqM%IsPut$r*2QS5K`U6ca*~)aeAq3ygwoe70q?L4puZHX{!Kw1q|JOEEF@Bc~_6kI8pjDsdSy{mx_#hrcV}u zMRq6raqvhA5>YLVL^sidMbAgJ;B({)#q~edn~w~u6~N|AlqY6htLH3vcJ=8xNk$1~-lG(KuB|pKXUB9en`@pVecnI?2&UMy#V~Rjum|$&EkpMvbqk z&+WXjPLIKgRh2EFEa;S}IXxV_Ya0cHO*@JY`HeCZi zNGCs|0}_6doBLP%WSeR&m+h`!^&P*FZ`*(HZseGVk=-i*G&FSJS)3}ZA45aXgfNIE zg1q%`9Lw`VPmg!Uw4R;ra#lNC$l*sTKkfXVjig=rz-a=yb}k-U*B}$YmToO?)p3u1 zl^R*-x0WVX0zEr_+zPQcL>PZ-+m6>9y5`ez8S0jI7G}kQSUkVDd#lwy;|&$37?fV2 zP|dnIdXFh$Ze&adu2adGoFLhNuA9CHEn#ikQggWx_}xLe zT<>^VRjMfOsTLE#irghD_TWd0XH{mnhLam!N-1`#P2+hNaZ)j$aQpQ70T!*k(A;^Z z`O%Vu-i*do(F{Jr%@1`d*(gjkczB191n9nzmOui@o!|PzM?8s@OTsik-vPa41xo;4sX_WS2q98#=dn zVcBUjxy)|Mks&`&St7Nk&9#Yt;<8RY&Z^E=>%~bf{AjUaadylH-wE+8zK41`%Q^ag zQ?}gq2bL*OcG-JYDg>gLJafIP6PeQ+O*XtVtobd*2S!t81F|q%T~|t|QhCgN!s0ZY z(cw6l3*MJedr$NF(t6ghjIggtI_D>vEW1c3p@ZE|5J{pI4;aZrQip?j1Qi)|tUi3Q zvB8e^L%WyuHNxI@n(NhQ(yc4ah2>w5CPS`2g^LqVRISix*8)SVVW@06MmkSIfk?Jh z+bxf!0db<*-9e!|uNFA&_uN_CdNpr}mllK?6yAcH|7M7g!{*gxHna=(7V%kIv3~(J zR;i8`LLl-gjbpXE2F9;@C&wjXzle>;TtCK8_)dK0J(g1nW8& z(MqkPxb+Yp@F0#34;LAot`=cmJAr0V!QahDWTMr5R>N7%UsvTOt15jIsU=Lfd`svx z#xcuLkOvvMFZt(R9ZIzx;EhFn^3?)m$CxMnm6xkk>$RxG7^zz6xZDY3_WUz5x!%NF z9qZQi2v6WGughdUTlgI;jwP+U51fP|NHb5{SU|Rzue0Q9P}oscuaBZ^Z|`F=b!zPl zEi#C0j`C`mC!)%{aHu1Vq@IrQJ1}~jB@=axe`lpa_UiIUrj!o&LbXo3Vr9ks8-DAd#A5F; zwtL$IH-UA#+zp;j)2$^=}v3jZL`#j3|8?Q%U>{@Q(RAf zBaZwqBevhs+4=A_$$E@IEqt_9HRl-KI%iv#c`PKy5Yj!{thgF+oA4 zk285ng}>B zg*SEy(ui~%*k4W)b8OCg0Mv(d69m56BO%vPr>QN!Ug#5bozx;9RA$9yVE(Kr{8_y) zogBsJVY2Y6NqM5Q@L_?2C)~@fwvYE)>8&o|Vc_Z^2s-|G(C_~;m^rcelZ(zpy=mp* za&`H7d0}Vgb+*V?9Yi^jLEXi$$w4N6DLEG})xucvz7iPv1#cySVkf!adXrv<^HT43 zck5oZ(aqHbzggqcn#7iyziMW+I5%~n#NGW7OTT!of!b8GFtcyC3g+Mqajlyw$xucs_LtHnrt+xtjbh5Y*dqe^0tIb>aIrphz#HlDLR!<|?6q69WkN z{QdEdq58J%&(5(ut`3GTpl})AJHeKtFogiqV?H=bHj>`DZRPmHy=$Y!8UoF`(H=$H zZDy6kHlz3czIx@+Ma}&=1bU|y<={IO&cA7#I73Q<>t_`P=Kfc+_Km!@!tggYSe|1% zvn`$0)E!xE6|l3>A!**`=lS=(SQz5l+XK<;M2@Tb-D>whi|f%@TPSyGec!M>@&ey6|!KVU}3-qy`tub|# zOky(vNp#xZsa)jA8XoO@UH_sn@-}d6R22wyJpWlp53o;Iu{x_qF))l zzshV^I87E06x%{zLijmGjWd6 zP=y4BrRa=0kcr3*g#w5OHpZ*3fVVvND)5i2E7QLRbs`K%aO3CrapMjjdD#bmDc_)? z7(AJUrLcgb>+B^M@L{kp!ya6xDij*fV`juqDJ-mLgF7IqqQO3qu#ZSc1WaJ2dQ&4U zQoy1f1>i#O8jAlW4+?e)(N^Rl!Or-OKcPrG15*l<*acvE%0;xGhIt{>B-tt>B~-`;1V{Tn z#j%8$NGN|LKoZ;qgISKbolP1-vS}7CBB0`NCxrnLf(%Tnrtu~4Cm?}IU||LU z6s#1M6qVmy;r5=kM!I{vVWYNLfDo0zB_5(v)( zPmXaT6D3IwN5!EOyg`zOByl2~-~wsI6l0w^G0t2XmcpbsC4sL9MzG3)k%F|WB2#9a znTwJoB!fO&A_yO_j6{0^7U*(Vin?@ZNM*z_0*i0J;(!l6b)F4#xcGfQ0!$EKQW2|2 zTWVKTh6*hC#`GT#3+zZ@nWQgrF${tc+)_)NX&?206N+8tp9Ef`f&mpv9Ou|3bc17C z{9p*@Ab*~$Vwj;opb+}>t*jPO7~CXNDfFT86A?**b7%J6Q`rPWfx#$Q&GU2%{%?E{ z`%TA@-;_<6>%+Q%JJW(PE}d(c8rb2`1)Z)D?TV- zNMhHJk?hM>n^BoXs7;>!kv8eHi>z$YbQ_^!WMo8;$AK}KZr$psw^^bpg+qb`J93jn z5|AR@s^W+KYM{RE|0#CCH6`|!;7~;JP&h&Y;O2CV-mO0N#etXrH&bPSpETg8x>e_tE$zHA-R-jKatlp5*~)mQafJ*WEB2VY(rBearwO@x)e7J ziEYA!=b>W^3lCn)8nkH)h}ntWCELRM7T?->>R?_I$4tu!;&J_t|2NX=?!T*v8-6al zTrItYr-_ZLvh&^O`NMb zv^`+dtsCSBhT-|yr1c*Ex=q@Mv#pqU0f>>)7HCYJv-+!+xO3X+<`#~q?l~1@ zMBahPJ?m>o&NboaMD2E4v!bY8x0mIl+MW!0G!leFp*{ckU)kz^#kQ*31Y2U}ard8Q zY9Th1RI>>9?1ws3tWLsJg&cgM1#V6lHDiuTEV;;`-Z#0RNniU4<8=qjD!4=X=OBc8 zo7mh5m$8+xLcU;@fwY}(D&sJ2KE-t0rqVtD0TLDr5`Sd%jNUUxm^xzyzCxtScL&RcRPwLvM7=!8tIk06ix= zEPixiu*wxLc32MVZy;lS(OPW~2oC(K-)IS@;9nOZCqAv#DPuJIxzuC99j<;_FmcPe z1^xq3L3ssxPf*+);a4qFlT(|w-b#6J>r6II20OZ>)nT*KQT+$Gk5W|GQBU?-P54Yg zo+ex@5gkcYUF2!j4_C=*s17Y~qfG&Tv`Cuk@Kz3x%ufJ{$JJgWpO%?%-49*q@JW(&q2@HR+8HVQ`f(@gzYM+)y%Paq z)~qQWePGKb<#gC^~!wO_1*ThVwtdgAJOp$af$mE~bZuHvB4nmA{%BjEz_t?;pK z1lVu|36pHY;IP;EErwzjQDM#(D-bD)q5%-hnEf!}sX`i53g10c8QBCm=ol>|yxZ1( z3Sflu;TDDNgTFpsOaz-^9AB)#;s4BMj2MC}`{b)c|M{@jL6XzH>w)d}280MM}?Ylig-;7wO^4iJs zzeo4<6bAF*b?g#*iy-qF1yvk)cN>l5xD`D}ANl#pYTIqnrTatEf*_o%`nm#u*;t^2 zCpo1mepz74XxYg1I6q<=u=7RYQGlC8`+>d5Nt3cMG?#VZj0|=mwlG-FHSr#Hy_`%v zC}rw1x}4eoSK;7Q2?Lrrm^pUd01GBP;^qM9vUaz*ZIUTkST2@&IJNpj_8cxP8=NAp zq%`<>t(h?_NV>TQgm54T9=j*+iD}TY>VzGaA0*31rYS5%MMYiD&WN*j?^I^4~=f$i$795osg0y(68CyZX2B4GV68YbpU^3Mx)aZHy zT{?55&$k>R9fEPe$`c&FO9P=lNsbUImbi)E|Io!n*a6K2&u7m8UCCMOG6+3!*aYR# z*rig0Ae%sHWK8Ou8l#bKSOUhsZJ3t!01i>dEG7YlYfIm6!=%h1+A7ZbtbFS)n!a?C z0ZiS_<5CsPs*7+0-Su8-%`T4lay%FBdIE!&UP ziC{1=BoHt{zHrk&Mce-DQodwCJ<^{Gs)uvX)=^*IcN%v9oOP3X5hMF zzg!DYfb}(GT7!jSJ=9I8axmhCPQD%IOX+>l&Vc!H{c4YPi9hfV9V0Z7>vG=o2q5AJ z2tCEEZ{XY%EvPvAd%26lb%|CP790l|@Gu?~37wB4qJp0^`FN@&!A4pc=$LkvzpEIf zJ(Sjik_l41{-xdh@;}?iN!F_r61~fo; z+t!gnY1Q|W#^J(g6T1?gkQQuShGEdBj6nSx&5XY)kWK{!8TIdyZ$o)y%GWA%S=<4P zJ@8>Mi@eeKJj4T1ljQ^8g;+XIGGkYU(-za+ulbb<4*%P0gT+A_*F zw|UHY0fkEbEKNL$w@h>fFLw!N--Fp9s7RFWDwN>&Df=B1y5Q|2-W;~>qHQ7*vI1#` zK!I1`xo=WRr~Sj~q4JGmEIaSC9cLe}@%ou|IXi@?+*!s>^MlRj7q|X_Fh^m^4mEwt z6UbrP=pWP71~CT!KHnA=Hxg$vG0DlQ%V4*Y@`e{PjuHMN=LIE~Iw~oGX_nvcJvH31w-cqxecU|2C|r$Z1N7@-R=NX`n_jMC`ls+{4G!U9UjyhE_J zIlAYOStVN%?n~lJMC=7$zaIgeaF{HgPhw8HYIqt)VTp^1_G$yaTo&h3pH>5&d2I^_ z+9GIL#$mfB$+eAS1Gn;#z_$EMpaoIfk(Muae9`Gk@b72pQZ!Hf0@!o}5OTyF_L7$= zn$a#dG?*m7(6iEp3KfyL96uqY#Pj`ZQ~3Lf%c5+aq`eT#XAl;pGVLOAMkBE&>b$ScD+-TzeUss+dS%#=z*GpsyTMP>s3)1*)_mDl25NqNIUn z5vomr3~gaZIkYqd*l?5x!H{5opq?Qrct|DW*f69f0X7&en4~{T=T~mf7=Z=05|va) zkyqO-|E{J&uqYT800stGqK-DLRA@dJ75NnZ8YBt1P`7{@9FZA;q^3jhT`=rb=x=rp zbkXQV0um*fgOms%PLx4_#|NiK-l3s+s^t`?Xlv}+slbiv0NQG*HhBCS-)A zzy$**(9@2rAfU8GFL-DY>ALq<(Nx*Ag_c~Pj1$TYV1v2jH?rW}_+iAVpGjyMMKz|i8RJwBD zhswpe_WM08`Mlj4_xj(*Fmt{c(DWbY{#J@6eyOOK*MA}f@$MaxE%++*#oxnwIQW!w zE`0mZ4|SkR*|;0Bf`!fAxEt9ZXs(I{i!EC;{20v2adJ^*eKAjidE@lg+^Dq-o@AkS zt8QwyWYbGJ&pQM(7+r|4UqaK9$LnlYsya~LdbO#ipZ@C(I#BZd@{)J1dvOhT7GBmD zz@5r8kjOpgC9)d$E@^!b|Du{Vlq1~J;Dz?I=1<}ne|oc1@k=0=_dZX>>Pbk3^+0o& z(fw+|aTp_d3zgBv%|qeAk_gE+2k~cvpZn9Pz;-eI1?9+LWIA)}l~C@$OG4hy(~}j+ zogJ?3A6(U)C=aegW0YOqmH%XZ|f})oNljAV@K#TKCQk(ZHA?_R`AM?_7#I|J`#M4r%$>Q6MvjB7KLmyLVn_MPF4F1k+wE^i6t z-_Hn2B(g4#^s`5urw^E1i&9{2F< z{eApyPSZid`7hfG?N5<;58e~ab4z`{@8}ud_}5mJMwzHPAG{|aj+yt|cb+*Pf9v11 zEI$0ZdTUv|k5T7$jrVE-=`cF3a8Hc%E7xQt3p{Pl_C81(&23COem0;yUp@`zf8<wOqH(gCv*1OO1JuTIRwLPY|^TqP1T;+K|&vKs; zT<}r%pYWVT-nq=Z6TOT3E~EHrX=IsqU!PT&m+yxo7S7R!-#?6z{9zXwwW^>fmp;_dQP9E2fm~9kJjtoPlZ=LOEaG4 z-R&U{dV+UZ(&X~|54kQ?m{V`eHKue$46lI=bhSt8Q0U53mf8J8S1=0)e4FEjdil}m zq(>`lOyvbs-#&VKrg{mE?Kh3COt5h~FV?h=ee{51b!=}Vbt5W6#=ypdOM!fzBH(dH z>MUF~M8G-0Gk?{Lzx@u(uyyr9{0pl5Pxt3B-}CsZ4fh9$wfwM;&11Lx?*96x&(5cm z?xWysughDME12hlw$16{T_3Hf+;ax`(?Q8ue#S1ZysKG|?9(KMt_#s2jCakeC8Y2829)U6LCe!)E!%8{?ju$2KhMT<`MUG7596^beJP*Y z-sz}BW$xef9i{8!$2ud=+`quyowDO@Eq!17D_-rnUwe+e`>&5^0yljsGn^lsN@>1B zy2ros{P>r`^HBbkKTQ5F<=xYFX3^I#_$Rh)+jc6pDypF3CrQP2C3#}IV%xUuRBYR} z>*P1y_w;C-?!M}){s;EO9&3%g_MCHlzQ1L&EwX$cGWPvFa+|w{JDQp91+NpTgGpA* zeXrK`O^>vHOwDy1b)NZFGb;-nf@L{27Af5}6$f$i9U#kk?>4Od>9e#Oj2D|{YCMVj z@hf6$**V+$JJbckggUucM~e7XsQ05hV%wcZ9QpS}+3LYl4UG8zTNU&Lw))x$Y$-mr zwq?u2#=sg@A^_sbEP)6R+t+huw-#^p>r+gR!WS9sXI7=@ZzPZ0`R1vumv7wlv0l1c?KbWcaNB>z8;^yz`B}Ec zA=*OzzJ_X?Pw7A4!RVJA?QJ-uqNF^OYIv)$RHtR~@4npGi=$v?Zgi+fJ2l?_%Sabm zY`8i)S>nUqEj-l`is5ibQqbk#DHyA^)F++#zL37qp!X8%riY@tKWLfdo`90d_u7Ec zEm$3nD^gR8w|8IYX$V~e%An>6a_*I9@DaKOEg*c3!jhv?sa>+=suWnQP?U>ID! z_jp0QO(_~a=}wf6?OHx)xsA490oX3!=|RN zKv-T6>901lY_|w^3>Z3jEW%ma4pV`LAGxC8ndO@aETO4f_-cMhxdjX8lg*GsZ(xb8 zwHFR;+T;oo;-b4@ak5>!7@+(4jo?NXMWNDCfmNl>@#D>j1ZvM4vzd+bH`J+P==Z;u zbZu^T&tWW`S0$#mw^)LT(*>`niPZD*kjhC7JEx)nyL-N*OX}CZE}0bM+yb{p7v8En zusf?$%w<0}4o^CPtu{}BiA@95w+8Dj&dP_f@lAt4cB;E?iQf7%1y*P-?a&JwFenM? z-c+v*hZFH_KQ~T&2EDE0hJw4Wvp;d7S9l zQU*6XA9!WdMc-JGOHi&+-AjLU^r^v97mg49zzaC3RH=hi=+CdtC&$A5bJalW3&boP z-7Do0WMj8qWaqgX1NLCRjOdunSVNnEQhj_|t`|{AuW-OW4Y0k|=13%LLR+$tSbC*8 zQ@L8yDrhkm^G0n--n}=dLAVqv*we(KU?OAzY~Q60vT`ZaG7$iX-w6Qs@iC>{JbbT_x1jGgq312C@?kHjXyS+nQu}h#NzK1m($8W4|3`kWgNaR-XHTy(n zItV}hH@|hCx06m0UI7wD4cC4>LE^vt)?yjYa|r*VY|^H`ogA2=6|tbW&lK&TKK~Rv z3CJK(padxaVlfCYv6eM<2r<^M1^X`#2O!Lo90QRU$Es(<3KEh{#t1;Z74?g>MCy^s zi_bR!PeYKHGDoZC&qM)a0;M=M=^es1HYPO)jBfhPN^V1TfFXb=e$XSGB-$=nQluCA z{^xa60yiJ34DkJxB!H5b{nC(yIyhI_kSviD005V~!UsU02A|~)0PjcGa652uOLE@8 z0lm=fc^vg-Tq6Edu>av%gBd5-#kq?A=B3elug1uR9kXoS%6bqfOr<=!u(z3y?KkC@ z?5(I7@Y&!Gp8Oa}!8!i+AnB{cO`!dc065&+DNumOYj_^h`~1tNnol~ZwZpXf-<1=J z`B!DzS^xEI>-)KxB0ps83>7{HoJktENhboZ0AdsXF+w=*2Cjfgnqm?>Ybg1RZ;OnA zz}Kljoi6QJ@eb*G=a14hSqNWpA3)P9I~DbmPB<~waO29uJx270L+M*)!k5E(wimCu zh4uxpzD4u3e3J3VZ;~$6f3+rA_dWYQ*37j4i0~bi+-M+Vq#Wc+%Q3(XjYyNwr|a)M zLAa~D*VP5|Zm#%U&);f)s(DV^i%-f;^ItN%Nt()1R{sy`DvDg=qU2P@kI!=@`X_Do z(Fmr{7iqucsBti`i@x}fNM3fs6HpZudzyV3PvanSt^PqflAg)joHKY;@`Kz(Mfl&3 z&*v`pZ4|Lxo*vsqGrJYw!~+dw))U0s@5aqFp3|M`3UYDv0h?qQ0RO2Zf5{skHQ3Lp z=eAO~u4u|7npT+kRszH;w;i6T=E2DO;Hg)SRg}sV-;1K;>YL8`FHcn;XU+%sU!ba8 z%=|tmFBa2bE$%N!ADUXdB1g{E|Uf@;6Dyhjr$Ua@=pOqja-fEM9`c&SSm*<1a7 zFwEp(>+02R7GjkKXiNg>y#j~d8Tnuev8({fTErD@*e603I`K2oDvs1u1OPO^-^xU+ zon)`iu9+=$!?EL+7>pw%wF~~AB5|NfTmdz+)xQ%vJdl9Tmu2G!V_)L;T>zX+EPg!g z?Yqvu$7x&M!TT)a{mB3DrZ#@(!TAXTF04F{oP`ZoYn806TgM$}$A(o4Iw2?tBNOHS zcxtC862!ek*kO}iCRthNO6X1Hf&*2=(CUGs5)-Pluu#s52uKi|B9%gEE>C@Dt3F6_|sclJ|kp^P)!ox`ij9F2p~m^5|r z5FGL5#d##w1c&xf!g(7BtQZ*}DJ$eaP>cMiO;|cagT$g>Z-AWn*mIRUTQhb~-Z1cA z$xSPJJMcLCIpYx{B zIZ^4$#$Y`@i8aeoA-Hn?bcXhpW@3gGM~Oc{X#GnD=;@W+FkziGX?%YdK|P?`@FD`y zJxxb`e5L8_{0u#+*_|rYTN|R>4I-+SQi>TCTkxqcnmrD^m1zY-9qaJ#&|vg&7i)W@ z8fq$@*_8Mt&5NY#DWUHDtFLN}Qqm~$yvMJgw%moy%#fuL-Jv74#;fc1^Jnd(`5?_2 z@-Hrj^EnS+zJ{_I$3rf!gbKQ~996?NiM#Vkw6<2q3Aw0H9lb!~ysw&yVF>YTV zd47Y45yPl|IGP_At^I{dee`~RQ?$n8?&olJ85iH(CJT%uaD@X)jHlTamLwc|H56MV zQ9*_j)UVABacpPM=u8PU|Tp z92FFl^L)WBh(&QZ##%6NhH3o*@kmP}1eLf^X0IVTMq-LTYwZHF_8Vi<@ z3X#2V2c>SGAb1i8+-V^FFVONEI7P7_ch`4DG8=}pc8aq;HAT#WEF0TQ_&i;~5R9+* ztmyAjts<5RiEy#iq^Ev6oqL)FD=wR@fBSUSD4u)S#(gBmicVMu&n?&I(J+Mzj%6wp1L=52cK@gI{{H(2>N2vA)RnbboN&?X=PudPcf9pP;dcbE6ua`3f8TmZA$i z@Q3zf8%xQnl1wgdmron@1EHNe=?j}I^x(O^-tS1PxAl0AfBM7gOLeXUgg~R?gCON$WT6A!(X41RmLcUx4q3kZDoSyUj zq%OJo*X#s)UzB9HgJ{Dis)wuy+lBV*%u_0w8cyn z=1FlZ5?e-9E;c<}rf^E!f${inYv_cJzsX5<_?|u8%}aPhJZzXM5m6a$^j^@_WF5;u zWrah@c_7iEYOR=2L*9rF2T9jJA6odrd`L!ZR@r>zUx9F9=olRG#<8Zvvy_3%m`W6( zV9w)Vv})0F{Gu zB^H2JPYT->_alb`X8p)Qwwt&ukdwZ|mQs-ubj51zBV1~Sj>eG`t{|8x>%>yv=xC+k!x zWbJ|poXwRnPoq71nlh~8OfGZL@~QBwzOS=!#{A_uXnqa(>&xtP)^t4dIwN&p1^8&S znZV#2%jo~9Av$Qz_+eE^Y;`SGxhZcn@VffgXu224)+nek0`GJ_nzRjuEK~uhJkxHQ zw=TbRB)rlJDJa%#PAuWo;sXnerGJcJ(BPjj3`h29N2GZNg!ECS)W^iZ!IOu_J!AZ< zv||*i)*F7P!9D7>0@mT*IZln^vNY>;*HG!7!{_!Spj^O%FvX^tUbkZthc9~j&e?ty zCUs+Airq?~7V~W-y?TZJ)TPgt+t9#G6iA#Ck0~l5vo3;BAmdv0b?}ruaoM3rXgcjQ z0-u%h>Z8dXy?gHUcUBjUc}Z?jhv2&NCpgnhpv*J*!e>}X<$-6Ue9>vBm> zNmgJ{E!_Y;LGfNb-4lgGFbfm8#oow&Tk}UqiiVM8^+FF)=Q;g-d@4g_QywYtoHWu_ z2^)?1J(8Fd7A{FlNmg$wey1-rNv%Kim4 zS6vQ?vdbg_LK%J4kHtRs3s_Wi*bt<8JmdhzLsVWjx13mfC~-6^N?BM*vDiQ&P&^{K zqy2%QkWUJAP$8jC15y&WTmTiC!k46goY|$MR(;q4^Y@s*nr562u^tX;0mqrcJ|c5U z5xgd2%b~-+Rs+qi+yw%tFFTNQXWiJ3p~C9J)}j!4_-!VW=~zne2QM@v(xUh|d5>9h z0Ra(*GcD?jdbvff$#22af~93+TTuMQi9cH)R_Wb7XEq-J(=oJ+n`tg>593tvq}xf> zPul_PhrQCVJ_l|i`DUlt4=iv{@vD4f3zBFm3cdH3UqAe z{NG`{SdpXC`=7#K2kU#k&gT8xwRtQR8sMmghNHWFyp^QcP2Djb0J}-2|yK zgwyl&)L6!B&`bw_R6S0NY%PhojJv-7%}ED-p<|3n_rjP+z!G8&79+dpM!a}}EPby( zLOKfb;NojLP%wZXXL4EO`r)L7W2uC+yb^;0sJ$jp9!iD?JYlN0-%>qujyv%JcTbqf_ctlW38m|0JxQHp7R)T)|=) zO$|94DAT3N{W|2UL0uBY9qr&qBwYkuXp-Fz?>T2W6;%}jokmi~$WO6wER+i|*XB|Y z^tSx*IO4w`e*9?}OhHM=U*c0O#ioNisyRE)@5*gLr;CMpk~PIB`tCI6m^5VC?KZ8l~oi8(LaQQ3aAyrp)xQ+WtVx+4#vgEYkVcYU-tFxTj9p_Q+%K9aG?*n;T-UodM@m9s_Qc+2;}Fz!jnf-7 zQQ1)UpHu@q^-m9#{q6Vr6^?1bz{a3v#K2JBBK6Ep-(3`H&J4jxDFM)jh)&tJ?)}Jy z<1cJ~6($q&?8``5Qa8Tv;INb)Mm%6%RC&>q2QcnZJ5Lpr@!004o5Zo01!aFK7Fq}c zL#_^z68!oSD_X(9@2ifBAa!L_=egvtk_A*2n*ajc>8M+(JVQoNZ1&S$-GB}1-uO){ zMP+r?XvTTHr%5PO5eaN3+*7$NI#OMUiaD2Z-)Tx7ScKP9(nE0gk?VIO)8<68rh;s^ zJR!v$-uR=BOH#XXs7{)$fnpG*$JE09azIB4(~0?(?I<|=FCW!JL11If6Roz)W(vSP zaj8J^<9zJ_+!2`SzVxme;bB!%knO$3M2J@Rax$F(Rt27PU$0WBFx_`Ut)4(VcS*=g zD%0l}J;M$KB>JI!;<&EZnRPoo;uszH7g36CxvFRy6Tuj@Cr2Div1&NE5Q@lXgCVEO zA4rBYM3FQwkcJr!2{C4GO${I&O>*Mg6_Z1ihsyWB2uJ~>7=wYxz_1l2k{l@;sKvls zFlNt0c4h0i-9{QY#xcP6e;<{f2(lTPFzbHma>*Kkk8y4NW{RK484@709jL*j4VovN zN|xb%ucbVBZiN(=vRsN~vD;#=S0dELY}sx?CDVpJ_&UnDrk$97QdY2u${bNriLQRP z9RRm5Fr_@J&8!ebFK8;XiuXh)5G9Vz3cgF~H-(YVHgFFtvLy|cUsup@jlpki09r(; z0Iyus*Evf2bIY-sQiWK@?Zzudvq*EaPp~PD8oFlZF3b^f3uFaoExws@{Luty!k)0cbi8kR3iJ8w+;3jv){SeoPBB!4!g}^**^zr7@Zq{;ek#e(A<=dj_j)kiqkKU!wxP-;^-r;K}N4leciA2`! zVkNLTj23+pu|VS@*U4uXipA;b%)#|n;B8inD4y%13jqe8&;fI(ERO-tBdkE+m&@=c2|0LQ z9U%q@svT()gYn%_Q{xPpWqizbubL`u62Q4&_`?h*eZdpXpYbRgJv|;u{lneJ- z4>j!RaaQAcJl$KGK042Y2>be$9)Oo|nHi6Q#||ivnt?+A?{|CwHLdym7hOwrRHDQz zqu6&(mRb+}{+5sc){!1?wvm!bK?E)n%dH`R3jbY*cw{J=FcVdu;!Par!&>xTetqWI z{9P&&a(L|?(%CcR5LA#piK}4`C^%@7HBTkQn>`zVQ9l!j2&`3BkOxOm z0(%_&EeC=_gae@0Y;WQ59MI*2ho=0p?=5SlcM$e@14mQ|I~e3qdGBy-ZLAfSw)^Ii zrD*g!%m7wV+z^aBN#F-CJFRhS$3MA<$aUsE&+XN9%;%s9uj}rEa5MF3-a}I~s)V&I zP0S6zNQUhhV=xAzgko7Q2-Bjvg@17=yPN9EGf};DtIwl84Nk6!hLpa#gdNX9NTzH) zH<82@%%*mYiPn`~kALNF}ZAiNDRi-W!2H2w9o&A{9*a zA8MiV#t1ePso)e07)oT$TtVOI+XASflHpjDt?GTH+H(sKIwObm-8Xx%=B;gAi3G^r zwIl}MCBQJx@~U4FY7qH}%wk>D||FF8Digc5VH+tr@GdfpZAx3V&3XPEpB`sxJy z7#bvkxVsv3Bvq}fvn^)eZg(hT;^CX)qCT7h2BpQWefV_oRU||WQpZ}lw*q^-f|ok^ zvknVb_N6n-odO%`^vFdhj3ayp3cCnE6x2i0;bFfDY`B1l>~Nxkfym8DwO|0$P<87x zjhq=p*Qfo_h)fAT86SlPqgil=*d}PeGmMD3FDfn&ua4o2&D>$?iP$Q{ofS$#Tmnz2 zK5L?Vfa-*784wonJ4Ctb%2C4$iXhdK+%9lvL6LCsm>$IX( zAA`BZ(?J>y!a|D3sF&#-+S6HPQfzHJCFI;4=!>&N8nCwNWgs3d!jLM8D$=9Rz}JQ` z;A+IWcl3(!1GD1IU*pj0YB8<`%W~5ZtSLE2OK`oHwsv`*fLF=jK2_K5$@o7DOxLE{ zwH+&j!*J^vk{@sFjZ%KFGBg}4!k?@@D2!Rk)>j+K3mI-w=*uMXUpA&3r?DL~wR;}; zQAOy!h}axtm!`*V3VzajM3Z2AAU91n;(NHYRGO-lxp$0D8vasABj`Qg4+m!Rs>*Pe zliFz{9Y1{w4{aWxEdX|w`YC>-!AJydB`d3Te5mbDI5(zqPic5ZwE6sbj3;t|bh+^C zTB=z*9St8JTvjJ<^ZpxGv3N$tP^%7d9Pe@=r~E3`*~nRuxzJV;SeXcTHW9}tOMm^O zk%Vi7nvpD;C=IVFAzKeTp{X_1K%+vI^NBaLH&9wdqL^uC(LGs67;$Hut5r#D(ha;H zZo4hjqp65cA$(Jp@ik^vuiKWThLHEG{v*HQR+Yv+V6JXI3Dig5c#q3fy1o%30Z-S? z_v?!p#*)2T(GjT>8z4Tr1FZ8toK&nkN&<{*eHsK+_>iH2-pf@u%f`y?$Tmj1CfsqEqWPNI@PZgE&CwFET?lhW#snQT|}D_ zE7mr6vdK*~gvjd#Qw!?6e54Y^&HlJ&ty@mlNOm1lKwV3@f+D|-)lb2YgPC)?&aal z@J8ST`IZFy<~n#*pi+3)CY!{2{_a6%%VG0j0Nrl8^H`;N*TeEB=c#mUwy29g*HT7= zP$w6sxskrn-IlGh7hN8mgPp*etO587Eh+w|ZVK(kP#S$qa7h=t$Y0Zm-b`A)UUy8O`4NqFyuGh~RaH-_%6~37v=EO$(fA zR34v5r|JLPlGaZQvh~qQd24B)#zRS5C}Kof`@+(${*?X2B3&gM3svT)+Qi9 z>JRI($Y(#BKypGnUuM^wCz7nQ)Or+eBM1L>em8nDz`cROYuwSfT^^gcziGPreyST{ zS`$>qSxj2stv0JdmPz>Qv^!PP$sbX1BjJ&bW<*+SkqK2^t*6kpe(u&fw3@i<-+j=; z$qm}v@L4&IL8)zw3MDZ3ODCjR4BcRMExw8|!r)Hy(z2h+PxPgt9j553c_iFwDZNQkvB!8b1*}hirv?(*w^S=L&QRO&lc+G_&69xBa{38IfaC=rSd) z0g*}{X6i3u2c7jDt{0$PhkuV2V0fGGf{AVj>LKMY!2ws(H;ko=ScZfHuoj6Z1ivd> zv+trnv++%;Y1Q{z;#%(H5blTpK(*@8)RBsBBYtA|0_21P_8<~G+2fRXR(d;LRHMN9 z7=>Z@S_=n%r*N0E|EsvvZ^T9TNY9o4CTaZD+5=Eqt`t9xBN;l5RO4&OVKa&<_=7pI)GVqg9wik2GE53O4H26NA{pvUmyk9$uZTx zjfa>V4mPDtDom(?M4jqf2#)1K%BZ~YCK_x`KkEi-f4h7X5U=^j8b7_0|6;d3T%;9a zFZqW+QD0%X>7_8GyRx19@N7-+PY&iMj6S&|AxjG7WbCvV*Jop6z`?E#_8#%a*p#O!Pbn#zwQmhH8$xzaR0;PzU7%OTMsoh1N z;}Q5(L?M@~2hM!O4EK3Z$psGC6%ljP>gof!qTB*zyit4gTaK9)Ph#C~W>~^Ek<|!k zF75qV@2i0P5zJV(V9f@Cmr$@IsxdE=j0;zK%fT!}NT$&4COi!}Y+ifda;fG?wqcSv z%^*4{>5+QZvgS_>GffWh3XUO#4yBWDp2aMxQTWYRo#Z|Zu1rzXSyH8`t$L5`5yyjU zl1@$3i*NQW29nkt`D2;@@Qu>Wm=9E~O%Q0c6oFYya>%XnmP^(PySrPL!Wy$_breOli zrq->BS7f1tVAhLZQ^X)tek*2Y_vR|`FT#g3v@behs+ z>vfBn+&F1zoG9E;8?33O#ii_ayF1$SJk|QWL;=T+fv{97DS_atq8gFHHPW5KziG%x zjOy`-re627(>%Um3F&`U-LFU3&Vovni#)88JN5gbnu2T030MtX#C~RjlmNRBn}ErQZnh2S(T&G(zYyQO+r zE$yE9KVi$UU0tUU-dlf;tZ@+q_ z3qyYCNUWhp1NoDcmr36E%D#@0#D|gE$s6qh=8GNeI1A$!@kh16skF0?2zp$j``lI+ zks53iiFO9Uqro|#({X}_3&Gdh{e)DKCV1(a4ks>)85P`lc5zWhCO)?&sii7{_j)Q? zkfX-zUB*wmqQ=y;+UtR%4ic7Bjmb__i-w}Wj#rr^-727hp2a%T3;r6_tP-Oe%mRV4 zuOFAI>D|iyDZ8oJq{N!;poN#PDMt;XYu+)q&HcIsWb9g^(;~jpop5{UdueNHl8%?= za@%iaYJH$_+rfShb$>(?eRN;G>R`uq?HRU5?$QYa%Do4xii|X%ee-pBC8R0vpxRs1 z`mPEUy!k{={PwEDWyhpebl?&u0XZX|$)Miki7ku!s%L7-1kHgDTbTmpP;a)~n`gU|%YTk{ zcac_9)f+h2_}~@Rli5YXww0WXre4h2$=o!{RZHgr+!VI#+YWz7CN$d!y~@;2qTqD$ zH|_g3ehd){E$7B;Ibi`t_~#~7^SwwqY{wqv=36k{^dCJqr$63_(?N{0HMQn*yKtwG z=bX>I5+8TTjpgPhG4A(Gi>>&kOk8&4Fia~K{CR!vGKtwtcucdGu~O{>gE4f6e~m>n z+fnI0Px4OqX(GLf%x{TTT&+WOx=wfZjPh68c;gMwXVv1=4{XLA-F!=KhDNY1=(PNC_|v&XK_Bg-5%MM3*k zC1u%5y2HvJ3ITh~9=@lawCwgcOvMVRAGzQw@z30hWnZK8NU6UnN!B7nuVW&|p4Ppz zg}uFUZ!b%{PHQ$T+-4YXxS#+{g@0f3o&u-mMQ<1`Bb$8elH0Qd&wgI*Oo|2lvn*NJ zxZCh~6uT*Jb)<5d9hX?X;4GK_M2*# z)M*jp^Unf{0)Apdl~rf7T3RQCrNS>L7SNHlDk~Vi_wM8}`hA`h+2T3cwQ}R+ZC8cl zKcr`rt^Ya4ubo(=`Y~MrPZTi{7P7Y=LC{kiE7ZD)>bnQos@1FOUg&hiRyZc%V3(SN_|+ECsWh7= zX6mM=2ICg;DTXT@0t(*#p{DCNlCxWc`rT}OkDtF()nWo&AN#}VK-jWgO1@(}QFhL2 zKzUn_!ghz9=4lMe?V!F1w$tVE#4H@HEw&GzQKTYS3WC+b4^E4~iFRUxjS}D*Gx;3p z#MKbd!5~!uCIER>iI9X?VDsRrJWn~d?HLCne7DT;hM_;w!0b4N_N2I(K3;hu1M4y# zNV6dq6~6y}29j>7N`y`hIAVf?8cYTbqD@u>6Etcj^lf?PpOsdsVbLvLPKcX}s_IJ@ z`p7^FsBRP0JgE#=z)lr)nzom4attHY>He#|7g<^IAO}D-9)^ogM!aqV&VzlHWwty0FoFEiWD&;qrg074_ z<>8m7-!lLH!p#I2=|ylW?yW_9X*V~hRAF9HoeEr#kFiNY-|;<=7zv?o#Kq`St|mgu zk#9F^Mo+j)3&ipJe*=<=n%8Ae?yWp#wGqmuIz+8}?tzgFn;b$IQzWIO*TSMxia2Li z@>z{y2N0EyRmysXrVkF>XMSF8t$9C5w!To1PbG`ny-(q(33pGK>0UEw`=cazD(m8O zwwX`*mwWn7hU5YYZZZQ<4iYml5k@jIQ>`)k|1Wu@kkdPs0^~*4p-hj46Woi%b^ktr zKpj2r;oR>6(Lkh87in~Z1qP=38tkkm8~H70i=%*x#nj3>gC?O&)1^b)DWO!4KnA<5 zij4%j-i-F9ejClOFg_>DY;I@!`bejkXqiiCzXd1rv(>X>Ppr?U5_&yhk8pa<6RiUN zNgsl$Z_1gEHg-N_; zg4vi(rA|E^AGJoR`s)gW_#YeUj}oQHc}`9<=qPURy&e|FSJxicLt;>1(sbR!UxS-to)U+d36i-2HK&|HdTVc0oodQ;X*Ac{x2?%v86zC8`%o zKF1J<-jUpFee>R#0A7$}V6`!>=Y_VlG~4UF7LnPvp)k9r$V$$8q@{qVL8t7jmM=8D3s8=9;CU{qY?)82p?esRnn zfBd}&enHDw&$Ij_noiW)!r1}9Y)wWpdh}r`CM?(acA;l$^l0hcX=v-jWt>RboYHv((qWjwY}p(tO^tMQ?ZN^8sSb?8AE~> zJQn?1B$33mW_fonuwlK}=oi|#+#JHxZe|tBJ@NI(1xqjf^7h|i0hfy~rJtSa4e}>c zUvaG56N1@gR0fw_t(WJ=+~g1m6hoZ;%gIzkIyG8b1nIk;;mr^;4(g;Kmqm8|R=5;pF$mF^EzN z8H0=bbi8oSNMmPgy7K=FB{qjtq}F;%RY_vSx{)D_PhQ_(Rm+MCT}stuM?@xn@~+ zp2)kPQWRw}3u7ywp00BFNd%VV^j^#{vKRq;gwa}n28EaK!EP%AXZXW_4fNJV{!kC% zbQPNJmiQsM-{Z*`pn$r4orN0k{~#kN(1KC#!SN>H4D!y%vHl##ztw`4$#BR~!evT^ zP$(){7m&5wmY^Y(spOgtJBjpbQAazc{VlmNN`b*fQR3L%upldF77aKGK z4&sNZ8DRQJIQhQ>k{k$koD%wDMPZwD9-mW=#p*1$aR1{5(G)C~?ywZ7FjC6E0>ZU8 zto4yZBqpl09O5FTA5|@CJYpxg7M@24 zl&tg~g#{)bx)^#O7##OBWbi6&0y4ltW#|tQmqP_#JZBuF1$65sfxlvTE*-mL1gi>| zlo60TOP0-ovKLqZT`wv~5IY-0dICFdh`Yp|5N9HXL}!$j6vvqd;I1&GrX?sTO;K24 z7a-vbNTCds^}_^|LV&*OI?pOH2C?$BoCVTJ0YXQ?e4@9jY9&G7k&pmN5vf(&F)9}| zt{_UWxE!5t>*|M-CaV=pkvInVlVCz9Ar?6+zDs zUy|`PG(_+VB(yB+IM3JHrKauwgCD89;RO$9#dcR!A}=&$ea% z0RXTaD;kB^(#r^gVKzMtn8QB-yb?46M)RH~ZTrO)+1iE&&`f?(a~IsK=I;D;rz67r z4jFh({7oY1EU83?!1M>AF*pW>!vGqf$Xa*vY>XR8>@*f&$jU5D=|E8++9j875BmuD z`7~TYWWECHZIVH2@e>wJwnxcUAD`(Gw~6$7Jy^i3!LLl0lUM58H7+cN0qHwYN-($$ zN$DkyTyv@YEgKe(g7&-2oKQ-1@Y5`41=G!A6%a=jE+1k&>p&HMrs)e$o3*4 zB7qKVQ6UanC~Lt}6A1c)rnn9(C7^uX)cpIM z_K)^|rx7g)Mp(F=X_Q!xmS*v*Tcmay)95-DCRXyR>vl8H)lmsCNzdo9ps5H~myZ3( zNI!5=bvgEwQ&aYIPL0QDtLMl^KAQ(C9ximIk-zQ8XgVgcjEl~?2iGMr2;N_5!S^`z zP>IpdcEsPxxYBMaXJYxpczB5PV(a^9B=tSnCXWuHp0D%7iG6q9l diff --git a/drive-health/media/old-look.png b/drive-health/media/old-look.png deleted file mode 100644 index 192f7b23d55d572f0a5cafcde98d1557618e5a4d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 86093 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 Q;0q9jdL}1JbRDkzA23&vTL1t6 diff --git a/drive-health/static/main.js b/drive-health/static/main.js deleted file mode 100644 index 56d815a..0000000 --- a/drive-health/static/main.js +++ /dev/null @@ -1,55 +0,0 @@ -/** - * @typedef {number} - */ -var initialInputOlder = 0; // miliseconds Unix TimeStamp -/** - * @typedef {number} - */ -var initialInputNewer = 0; // miliseconds Unix TimeStamp - - -/** - * @typedef {HTMLInputElement} - */ -var olderThanInputElement; -/** - * @typedef {HTMLInputElement} - */ -var newerThanInputElement; - -document.addEventListener(`DOMContentLoaded`, initializePage) - -function initializePage() { - - // Update the page's time filter - initialInputOlder = Number(document.getElementById(`inp-older`).textContent.trim()) - initialInputNewer = Number(document.getElementById(`inp-newer`).textContent.trim()) - - // Bind the date elements - olderThanInputElement = document.getElementById(`olderThan`); - newerThanInputElement = document.getElementById(`newerThan`); - - olderThanInputElement.value = convertTimestampToDateTimeLocal(initialInputOlder); - newerThanInputElement.value = convertTimestampToDateTimeLocal(initialInputNewer); - -} - -// Handle one of the date elements having their value changed. -function applyDateInterval() { - const olderTimeStamp = new Date(olderThanInputElement.value).getTime() - const newerTimeStamp = new Date(newerThanInputElement.value).getTime() - - window.location.href = `/?older=${olderTimeStamp}&newer=${newerTimeStamp}`; -} - -/** - * Converts a Unix timestamp to a standard datetime string - * @param {number} timestamp - The Unix timestamp in milliseconds. - * @returns {string} - A normal string with Y-m-d H:i:s format - */ -function convertTimestampToDateTimeLocal(timestamp) { - const date = new Date(timestamp); - const offset = date.getTimezoneOffset() * 60000; // offset in milliseconds - const localDate = new Date(date.getTime() - offset); - return localDate.toISOString().slice(0, 19); -} diff --git a/drive-health/static/style.css b/drive-health/static/style.css deleted file mode 100644 index afae1d9..0000000 --- a/drive-health/static/style.css +++ /dev/null @@ -1,188 +0,0 @@ -@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+Mono:wght@100..900&family=Roboto:wght@100;300;400&display=swap'); - -:root { - --bg0: #202327; - --bg1: #282d33; - --bg2: #31373f; - --bg3: #3e4248; - --bg4: #1a1c1f; - - --fg0: #bbc0ca; - --fg1: #434c56; - - --acc1: #2aa3f4; - --acc1BG0: #2aa3f450; - --acc1BG1: #2aa3f430; - - --acc2: #2af488; - --acc2BG0: #2af48850; - --acc2BG1: #2af48830; - - --acc3: #f4e02a; - --acc3BG0: #f4e02a50; - --acc3BG1: #f4e02a30; -} - -:root { - color: var(--fg0); - font-family: "Noto Sans Mono", "Roboto", sans-serif; -} - -html, body { - margin: 0; - padding: 0; - - width: 100vw; - - overflow: auto; - - background-color: var(--bg0); -} - -.container { - margin: 1rem auto; - max-width: 768px; - - border-radius: 8px; - border: 1px solid var(--fg1); - - background-color: var(--bg1); - overflow: hidden; -} - -.container-titlebar { - width: 100%; - - background-color: var(--bg2); -} - -.container .pad { - padding: .5rem 1rem; -} - -.container-titlebar h4 { - padding: 0; - margin: 0; -} - -.badge { - font-size: 12px; - font-weight: bold; - padding: .1rem .4rem; - - display: inline-block; - border-radius: 3px; - - color: var(--acc1); - background-color: var(--acc1BG0); - border: 1px solid var(--acc1BG1); -} - -.badge[type="HDD"] { - color: var(--acc2); - background-color: var(--acc2BG0); - border: 1px solid var(--acc2BG1); -} - -.badge[type="NVMe"] { - color: var(--acc3); - background-color: var(--acc3BG0); - border: 1px solid var(--acc3BG1); -} - -.grooved { - background-color: var(--bg0); - border: 1px solid var(--bg1); - - font-size: 12px; - padding: .1rem .3rem; - - border-radius: 4px; -} - - -/* Table */ - -table { - width: 100%; - border-collapse: collapse; -} - -table thead tr { - border-bottom: 1px solid var(--bg2); -} - -.graph-image { - max-width: 100%; -} - -.disk-graph-entry { - background-color: var(--bg3); - - border-radius: 8px; - - padding: .3rem .5rem; -} - - -/* Controls */ - -input { - padding: .25rem .5rem; - font-size: 16px; - background-color: var(--bg3); - color: var(--fg0); - - border: 1px solid var(--fg1); - border-radius: 4px; -} - -.btn { - font-size: 16px; - - padding: .5rem 1rem; - - border: 1px solid var(--fg1); - border-radius: 6px; - - background-color: var(--bg4); - color: var(--fg0); - - cursor: pointer; -} - -.btn:hover { - background-color: var(--bg3); -} - -.input-grp { - display: flex; - flex-flow: column; -} - -.input-grp label { - margin-bottom: .25rem; - font-weight: bold; -} - -.graph-controls { - display: flex; - flex-flow: wrap; - - width: 100%; -} - -.graph-controls input:nth-child(0) { - margin-right: 1rem; -} - -.controls-panel { - display: flex; - flex-flow: column; - - padding: 1rem 0; - - border-bottom: 1px solid var(--fg1); - margin-bottom: 1rem; - -} \ No newline at end of file diff --git a/drive-health/templates/index.html b/drive-health/templates/index.html deleted file mode 100644 index bd9707a..0000000 --- a/drive-health/templates/index.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - - Drive Health Dashboard - - -{{ $older := .older }} -{{ $newer := .newer }} - - -

- - - - - - From 30aa7f7bdee3d4d681da9a639535ab9de91cf165 Mon Sep 17 00:00:00 2001 From: Manjari Srivastav Date: Wed, 24 Jan 2024 12:28:22 +0530 Subject: [PATCH 3/4] Delete Dockerfile --- Dockerfile | 53 ----------------------------------------------------- 1 file changed, 53 deletions(-) delete mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index e06728e..0000000 --- a/Dockerfile +++ /dev/null @@ -1,53 +0,0 @@ -# Build Stage -FROM debian:bullseye-slim -ENV IS_DOCKER TRUE - -LABEL org.opencontainers.image.source https://github.com/JustKato/drive-health - -# Install build dependencies and runtime dependencies -RUN apt-get update && apt-get install -y \ - gcc \ - musl-dev \ - libsqlite3-dev \ - libsqlite3-0 \ - wget \ - && rm -rf /var/lib/apt/lists/* - -# Manually install Go 1.21 -ENV GOLANG_VERSION 1.21.0 -RUN wget https://golang.org/dl/go${GOLANG_VERSION}.linux-amd64.tar.gz -O go.tgz \ - && tar -C /usr/local -xzf go.tgz \ - && rm go.tgz -ENV PATH /usr/local/go/bin:$PATH - -# Set the environment variable for Go -ENV GOPATH=/go -ENV PATH=$GOPATH/bin:$PATH -ENV GO111MODULE=on - -# Create the directory and set it as the working directory -WORKDIR /app - -# Copy the Go files and download dependencies -COPY go.mod go.sum ./ -RUN go mod download - -# Copy the source from the current directory to the Working Directory inside the container -COPY . . - -# Build the Go app -RUN go build -o drive-health - -# Cleanup build dependencies to reduce image size -RUN apt-get purge -y gcc musl-dev libsqlite3-dev wget \ - && apt-get autoremove -y \ - && apt-get clean - -# Expose the necessary port -EXPOSE 8080 - -# Volume for external data -VOLUME [ "/data" ] - -# Command to run the executable -CMD ["./drive-health"] \ No newline at end of file From 28b319c3c5d9d61cb189384bfcc93aeff3506ff7 Mon Sep 17 00:00:00 2001 From: Manjari Srivastav Date: Wed, 24 Jan 2024 12:29:59 +0530 Subject: [PATCH 4/4] Add files via upload optimised Dockerfile --- Dockerfile | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..13a6f44 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,65 @@ +# === Build Stage === +FROM debian:bullseye-slim AS builder +ENV IS_DOCKER TRUE + +LABEL org.opencontainers.image.source https://github.com/JustKato/drive-health + +# Install build dependencies and runtime dependencies +RUN apt-get update && apt-get install -y \ + gcc \ + musl-dev \ + libsqlite3-dev \ + libsqlite3-0 \ + wget \ + && rm -rf /var/lib/apt/lists/* + +# Manually install Go 1.21 +ENV GOLANG_VERSION 1.21.0 +RUN wget https://golang.org/dl/go${GOLANG_VERSION}.linux-amd64.tar.gz -O go.tgz \ + && tar -C /usr/local -xzf go.tgz \ + && rm go.tgz +ENV PATH /usr/local/go/bin:$PATH + +# Set the environment variable for Go +ENV GOPATH=/go +ENV PATH=$GOPATH/bin:$PATH +ENV GO111MODULE=on + +# Create the directory and set it as the working directory +WORKDIR /app + +# Copy the Go files and download dependencies +COPY go.mod go.sum ./ +RUN go mod download + +# Copy the source from the current directory to the Working Directory inside the container +COPY . . + +# Build the Go app +RUN go build -o drive-health + +# Cleanup build dependencies to reduce image size +RUN apt-get purge -y gcc musl-dev libsqlite3-dev wget \ + && apt-get autoremove -y \ + && apt-get clean + +# === Final Stage === +FROM debian:bullseye-slim AS final + +# Set the environment variable +ENV IS_DOCKER TRUE + +# Create the directory and set it as the working directory +WORKDIR /app + +# Copy only the necessary files from the builder stage +COPY --from=builder /app/drive-health . + +# Expose the necessary port +EXPOSE 8080 + +# Volume for external data +VOLUME [ "/data" ] + +# Command to run the executable +CMD ["./drive-health"]