package prod import "du5t1n.me/cfg/app/nut/schema" ups_server: "nut.pyrocufflink.blue" nut: schema.#Nut & { listen: { address: "::" port: 3493 } ups: { apc1500: { driver: "usbhid-ups" port: "auto" desc: "Back-UPS XS 1500G" vendorid: "051d" product: ".*1500M.*" pollonly: "enabled" pollinterval: 1 } apc1300: { driver: "usbhid-ups" port: "auto" desc: "Back-UPS XS 1300G" vendorid: "051d" product: ".*1300G.*" pollonly: "enabled" pollinterval: 1 } } users: { homeassistant: { password: """ -----BEGIN AGE ENCRYPTED FILE----- YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAxZUZleGt3emxXdDFtcEtN Wll3K0hrS2c2M1oyMWh2VlBnMER0bkZOb1VVCnU3aTI2eVJoV1dKNWxEd0VnbVNa NlMxVWRuZWpNbTJRVUhWR2w3bUlwaEUKLS0tIGZLcGNQRy9LNUF1Y0JzZEZGdXBn bUJjYlBSSEYwRUpwemlMZ0xCZnpTS2cKUFke27YDeTME9OBgEcQdbJ3jsDZS43km tK61kLMcexq3lXQb30gx4fzMuYa0MXFygawscTnxTrOrXUd36Iga4A== -----END AGE ENCRYPTED FILE----- """ } nvr1: { upsmon: "secondary" password: """ -----BEGIN AGE ENCRYPTED FILE----- YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBid1FOSlg0SnQyUXlJa0cr eUtIL0NyU3NuS3pRQk50LzB3TDhQTEJzd1NBCjhadVByNlpzenJtbi9lYmc5bGlT Z1pHWU51dWZjb282Y3ZBc0JlQWJwMEEKLS0tIHRkMjdxOSsrOVR6VFpydWJiL2ZJ TUsydUhUaGNlME9BVnJGVjBqSWJZVDAKmY/L804xLDQTEDOecZIgXWkSPt0R6Clj Yb/FfL0V6i9J9QqT3WLNcWp1Yrkx112n2lIMz6qruQvVweKkJ6seNQ== -----END AGE ENCRYPTED FILE----- """ } upsmon: { upsmon: "primary" password: """ -----BEGIN AGE ENCRYPTED FILE----- YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBzdnZMZ1F1d05RRi84ZENT SmdRNkFLWDRPMTBFTkdOdFRBMC8xK0gvUVV3CjRhWVljR3ZiU1hwWEJBN2hCcTM1 NWFQWWdmVm1XK1pKUHFnRjJjYXdDNjgKLS0tIERvOU44ellHdGZYVXRDMHN4NkpV QkhtVlVQUS96UStlQWo2QWJISUlGL2cKc8AC3UujJMIafbV31pjAzniqSHBNwYDw zhh094auKibUcg6Tbyc= -----END AGE ENCRYPTED FILE----- """ } } } #nut_monitor: { #server: string | *ups_server #username: string monitor: [ for k, v in nut.ups { { system: k + "@" + #server powervalue: 1 username: #username password: nut.users[#username].password if #server == "localhost" { role: "primary" } if #server != "localhost" { role: "secondary" } } }, ] shutdowncmd: "systemctl poweroff" if #server == "localhost" { notifycmd: "/usr/local/libexec/nut-notify" } minsupplies: 1 } let _nut = nut collectd: nut: schema.#CollectdNut & { ups: [for k, v in _nut.ups {k + "@localhost"}] }