Skip to content

Commit

Permalink
added a way to retrieve raw udev data. Can be used to retrieve disk l…
Browse files Browse the repository at this point in the history
…abel, UUID and "disk/by-id/*" device info.

Storing it in the database during device registration.
  • Loading branch information
AnalogJ committed May 21, 2022
1 parent 999c127 commit 1bfdd00
Showing 1 changed file with 41 additions and 0 deletions.
41 changes: 41 additions & 0 deletions webapp/backend/pkg/database/migrations/m20220509170100/device.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
package m20220509170100

import (
"github.com/analogj/scrutiny/webapp/backend/pkg"
"time"
)

type Device struct {
//GORM attributes, see: http://gorm.io/docs/conventions.html
CreatedAt time.Time
UpdatedAt time.Time
DeletedAt *time.Time

WWN string `json:"wwn" gorm:"primary_key"`

DeviceName string `json:"device_name"`
DeviceUUID string `json:"device_uuid"`
DeviceSerialID string `json:"device_serial_id"`
DeviceLabel string `json:"device_label"`

Manufacturer string `json:"manufacturer"`
ModelName string `json:"model_name"`
InterfaceType string `json:"interface_type"`
InterfaceSpeed string `json:"interface_speed"`
SerialNumber string `json:"serial_number"`
Firmware string `json:"firmware"`
RotationSpeed int `json:"rotational_speed"`
Capacity int64 `json:"capacity"`
FormFactor string `json:"form_factor"`
SmartSupport bool `json:"smart_support"`
DeviceProtocol string `json:"device_protocol"` //protocol determines which smart attribute types are available (ATA, NVMe, SCSI)
DeviceType string `json:"device_type"` //device type is used for querying with -d/t flag, should only be used by collector.

// User provided metadata
Label string `json:"label"`
HostId string `json:"host_id"`

// Data set by Scrutiny
DeviceStatus pkg.DeviceStatus `json:"device_status"`
}

0 comments on commit 1bfdd00

Please sign in to comment.