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: { burp1: { upsmon: "secondary" password: """ -----BEGIN AGE ENCRYPTED FILE----- YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBzazlCMkNvVTNld09IRzgy dE10cnpIQnFqd25OZlZHMVNqTnpqYjFid3pRCk9XTEw2VWJrYm5pUWV2RFFlazFQ VVVMMTUzQnBsdjNwRGEvNU5LdWF0bXMKLS0tIEwrZmVIaHFCYlZuUHlPV2I3SEUz TGFsK1BzNG5BOUNuZGJ2VUlFRjZaZ1kKyoRaxjrdeyaIhfTWhI1CnkIDbEX6R07F W+AFcw6ynGclAHosXKINCbszzvv85VOSBBbW6ZUiVC0P9qphcgQc0g== -----END AGE ENCRYPTED FILE----- """ } dustin: { actions: ["set", "fsd"] instcmds: ["all"] password: """ -----BEGIN AGE ENCRYPTED FILE----- YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBpak5ySE0rKytOYTc0cno3 RlVLS1lpaWUvSjdTN2phMTFhTk5IN0RBNGw4Cm5FU09lRE1BSm9CeGZBTFNpNUNG YU1zUlBIZ2xXLzl0TDNhUVhqSDFsMTAKLS0tIHpnUHNSMDFDeDZHSU9abWJINUxY MzJCMm9LcXhwREJLenVTNVluM0h5NFUKcopj6+xFuSkBW9ewKtNzgtq59oom1Fkw srKb83kNf+LEjCpdYpqUz5LJvSLKxfpMaXVXd6iR385YqaiVr1u9TQ== -----END AGE ENCRYPTED FILE----- """ } gw1: { upsmon: "secondary" password: """ -----BEGIN AGE ENCRYPTED FILE----- YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBOdUNwdHdxWkVGc1B2N3hS ZlRaYmd3WVJUSW5EN2FtUkZSeElndFlRZkE0Cjl4cTVSNTJnUUZUeVdWWW9TaUt0 KzBWek5EaW1ORDh4VmFrWXNwTGVYeE0KLS0tIG1mS3hKY2F2U29yb2R3ZzRBQXhj ZnVrQmVCUHlqVWxpUkMzbmVwQXRjUEkKozcIolWOFfhKBg3ZFnyrJjhE9reGtsMs thpPP48h2fOxnq5mvnhtcV6k5nEGizOOGnHFLlnfyhme2poBn15Mlw== -----END AGE ENCRYPTED FILE----- """ } 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----- """ } vmhost0: { upsmon: "secondary" password: """ -----BEGIN AGE ENCRYPTED FILE----- YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAxaitaREVGZmZQUGN6MGJp VHIweTl0SlFkK2dFYS8zbnJCbFhuUkxKejJVClVoTURCSDRUZGt2QUdaZ2s3VVJV VUtZZENGeno1YTlVOTNVQnRrQmhUdWcKLS0tIHNEVmVwUUNhVnpMMjBsZGVqSy9o Nzl1a2V3enhEUm5NeGw2bXBmbmRIcjAKGJLOZG3YyCh7CUZqY30r1J0//L0CbyLC lQW1iaD74Tu1T39leNg1ZCkTSWI2zEKhG+bjjqc0dwvEEOVokNjErw== -----END AGE ENCRYPTED FILE----- """ } vmhost1: { upsmon: "secondary" password: """ -----BEGIN AGE ENCRYPTED FILE----- YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBvVEVUeUMxRFVxMy8ydVlC V0N5K3VqMzBldW5tREdRa3plL21JdThFNFNrCmRxQk93RFRHR3V3Z090TU8wQUdH NUczckNtZnFRRitUZDF6WWJnSnQwV00KLS0tIEpQS3dFK2E1cjUxbGc4WEg4RlZH cTR6eitBb2xzd2k0QnlScEZVWUxZS1EKxolZ4iTlWID5hEnayzLitCJ655tfnQX4 ZV8WgNhbA4NWHF06DhlQaVYN2xsPoUeHOfTI7pCaTBVKQ2z/pgM8fQ== -----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: 2 } let _nut = nut collectd: nut: schema.#CollectdNut & { ups: [for k, v in _nut.ups {k + "@localhost"}] }