cfg/env/prod/nut.cue

105 lines
2.5 KiB
Plaintext

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+IFgyNTUxOSAwRlhYRlVlR28zMk4vL0J5
T3NnMi9mQWFCb1FkeWxQR2h2NGFqWHBtYlRZCmYrZG1CZ2lrU3pmMW5odUFPSGll
TXFHZzZNTER4R1BrYUI1T0Y3YVo4SEEKLS0tIDVEQTg5czRuMUJXcUJNbWpYRnox
emdFS01RYkxLekQ1TkJ0MGRuQ2Vsbk0KfRc5sHRfvc9F4Fh6wXI/cqeUc7/NRbP0
bquJacJZGL1JkN06lK5d12d39Ud6j6/uZ7StCAyfG53Ol6HLThQtZw==
-----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"}]
}