Commit Graph

28 Commits

Author SHA1 Message Date
Michael Manganiello 007857afd5 Upgrade to Go 1.20
With the release of Go 1.20, version 1.18 is not supported anymore. This
change upgrades the project to Go 1.20.
2023-02-19 21:18:51 -03:00
Jason Kulatunga 61fde6a2ca update shoutrrr version.
fixes #355
2023-01-11 16:17:25 -08:00
Jason Kulatunga 5ea149d878 upgrading to go 1.18 for generics (and lodash-like library).
devices with an empty wwn should be filtered out (not uploaded during device registration, skipped when attempting to upload metrics).
added a migration to delete existing device entries with an empty `wwn`

fixes #314
2022-07-09 18:28:49 -07:00
Jason Kulatunga 4a16ca0d5a wip, migrate all scripts to new build pattern (Makefile + multiple GH agents). 2022-07-06 21:39:33 -07:00
Jason Kulatunga 4419f7f429 remove zig. remove cgo dependency for sqlite (using pkg.go.dev/modernc.org/sqlite) 2022-07-06 21:39:28 -07:00
Jason Kulatunga b0bff53bbd start refactoring the Makefile to build artifacts in parallel (eventually using Zig for cross compilation). 2022-06-26 15:26:20 -07:00
packagrio-bot 65d31046a0 (v0.4.6) Automated packaging of release by Packagr 2022-05-20 17:02:35 +00:00
Jason Kulatunga 8466c5e750 upgrade to v2.9.0 for influxdb sdk -- this includes the SetupWithToken method. 2022-05-20 09:18:01 -07:00
Jason Kulatunga aa786c0db8 upgrade to go 1.17 2022-05-18 09:40:52 -07:00
Jason Kulatunga f3faee389b trying to fix the docker builds. 2022-05-18 09:30:37 -07:00
Jason Kulatunga 5ac0aa8f74 Forked InfluxDB SDK and added support for using pre-generated admin token during setup. This ensures we no longer need to persist the token during startup.
fixes #248
2022-05-18 09:14:05 -07:00
packagrio-bot 9ea283e8d2 (v0.4.3) Automated packaging of release by Packagr 2022-05-10 02:57:43 +00:00
Jason Kulatunga bd6d192006 fix packagr config. 2022-05-09 19:49:18 -07:00
packagrio-bot 90e5d219a2 (v0.4.1) Automated packaging of release by Packagr 2022-05-09 23:24:04 +00:00
Jason Kulatunga 381a6799cc updates for v0.4.0 release. Slight refactor/organization. 2022-05-09 14:50:35 -07:00
packagrio-bot a2a80f3102 (v0.4.0) Automated packaging of release by Packagr 2022-05-09 20:05:53 +00:00
Jason Kulatunga 9d85920f49 started working on migration code. 2022-05-03 11:50:22 -07:00
Jason Kulatunga 9878985fa3 adding aggregation code 2021-10-24 13:07:12 -07:00
Jason Kulatunga 8a46931399 !!!!WIP!!!!
adding InfluxDB

- influxdb added to dockerfile
- influxdb s6 service
- influxdb config
- adding defaults to config
- creating a DeviceRepo interface (multiple db backends)
- implemented DeviceRepo interface as ScruitnyRepository
2021-06-27 10:55:18 -07:00
Jason Kulatunga 59d4a8e195 (0.3.7) Automated packaging of release by Packagr
Signed-off-by: Jason Kulatunga <jason@thesparktree.com>
2021-04-25 17:15:07 +00:00
Jason Kulatunga 3995c87856 upgrade shoutrrr version.
fixes #160
fixes #146

todo:
#135
2021-04-25 08:42:58 -07:00
Jason Kulatunga 9fac3c6308 fix gorm dependency. 2020-10-07 22:07:51 -06:00
Jason Kulatunga b44ef5cb9c adding support for a collecto config file.
/scrutiny/config/collector.yaml

Adding ability to specify host identifier (label), that is updated on every collector run.
Can be specified by `host-id` CLI or `COLLECTOR_HOST_ID` env var.

Created a config class, interface and associated tests.

Created a "TransformDetectedDrives" function, that will allow users to insert drives not detected by Smarctl --scan, ignore drives that they dont want, and override smartctl device type.

Added Upsert functionality when registering devices.

Replaced "github.com/jinzhu/gorm" with "gorm.io/gorm" (ORM location moved, was using incorrect lib url)
Removed machineid library.
2020-10-07 21:54:29 -06:00
Jason Kulatunga a3438297e6 removeedd waitgroup, using sync/errgroup instead (to pass error messages back). returning errors in test notifications endpoint payload. Adding failure tests for webhooks, scripts & shoutrr. 2020-10-03 10:40:27 -06:00
Jason Kulatunga 23d5b86b1b new device detection engine (OS aware). Uses smartctl --scan to detect drives (and conditionally uses jaypipes/ghw). WWN is calculated from smartctl data, then retrieved from GHW, and fallsback to serial number. WWN calcuation code is based on IEEE spec, for "Registered" IEEE format - NAA5. TODO: support NAA6 and other formats? 2020-09-20 17:37:43 -06:00
Jason Kulatunga c913cf39b9 adding new nottification validation erorr. Added a notification class containing webhook, script and shoutrrr notification logic. Adding "Test notification endpoint". 2020-09-18 10:13:06 -06:00
Jason Kulatunga 2ad120c87b added debug logging message for detected devices.
adding a mocked class for Config.
Adding device type to Device struct. Will eventually be needed for raid drives.
adding End-to-end testing capabilties.
Added testdata json files for webserver requests.
Seperated Start code and Setup code in webapp so we can test.
renamed "smart_attributes" to "ata_attributes" - Backwards incomatible change.
Added front end device sorting (red, yellow, green)
show unknown icon/status if drive has no smart data yet.
Moved all attribute "getters" into the controller.
created a device-sort pipe.
2020-08-26 21:35:13 -07:00
Jason Kulatunga 8482272d45 init 2020-08-19 16:04:21 -07:00