cfg/env/prod/nut.cue

178 lines
5.3 KiB
Plaintext

package prod
import "du5t1n.me/cfg/app/nut/schema"
ups_server: "nut.pyrocufflink.blue"
nut: schema.#Nut & {
listen: {
address: "0.0.0.0"
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-----
"""
}
nvr2: {
upsmon: "secondary"
password: """
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAwN1JEMzM0aEpwdTUrSHRG
WE5LVWxRcHJkbHFzTVp6UzVXN1FJbHRjckFNCjhuQ1Frc0ZjM1RESWNCdG1FSWVw
aG5NaktMdDBVU0xza2s1bC9HbU9mY1UKLS0tIDlDc1ZkN1lmRVk4Y290eldlTk9O
ejJWQmlYZktSeGhSMjhMOFJHVGtNeXMKPEIwrZgQkWF8HpsgmpYY62kBHNmfMsD+
9dazUdvk2FnClFQgJvqMhrdjzpd21DCJe0oPR8fl06gmGKVyIZ6GBg==
-----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"}]
}