mirror of
https://github.com/archlinux/aur.git
synced 2026-03-14 23:16:48 +01:00
Published: 0.1.4
This commit is contained in:
commit
db420a00c9
9 changed files with 281 additions and 0 deletions
32
.SRCINFO
Normal file
32
.SRCINFO
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
pkgbase = tori-cli-bin
|
||||
pkgdesc = Lightweight Docker monitoring with alerting
|
||||
pkgver = 0.1.4
|
||||
pkgrel = 1
|
||||
url = https://github.com/thobiasn/tori-cli
|
||||
install = tori-cli.install
|
||||
arch = x86_64
|
||||
arch = aarch64
|
||||
license = MIT
|
||||
provides = tori
|
||||
conflicts = tori-cli
|
||||
backup = etc/tori/config.toml
|
||||
source = README-0.1.4.md::https://raw.githubusercontent.com/thobiasn/tori-cli/v0.1.4/README.md
|
||||
source = LICENSE-0.1.4::https://raw.githubusercontent.com/thobiasn/tori-cli/v0.1.4/LICENSE
|
||||
source = tori-cli.config
|
||||
source = tori-cli.service
|
||||
source = tori-cli.sysusers
|
||||
source = tori-cli.tmpfiles
|
||||
source = tori-cli.install
|
||||
sha256sums = f78b9605aa21dc3ab580818cc3901e939ac7d579d2d552308b1d9fb7349f8e52
|
||||
sha256sums = dd4323e456ce3acd4d0cb493238861b3eca0f1a1df5845b9babf0b6e5738dff8
|
||||
sha256sums = dc02531f019bb5f48aeeda9feec15e9faa3c5be3b27d81657af390659ba74ec9
|
||||
sha256sums = 32544b8d9efe9262b43d2f96bb150ce9d73945e82a5b67c06281a2e45a9d1241
|
||||
sha256sums = 98357980142450ebe781b28be81964dc5e2651499f9f098bd13da32173f3f539
|
||||
sha256sums = adeab60faa35075ff8adf4e96afe6cad56a4bd801a7c1f776a2f4104c3d522d0
|
||||
sha256sums = 57cd1949897e7280e98b50df088880af2ca5dfd984b5ff6016db355c2439b7a7
|
||||
source_x86_64 = tori-cli-x86_64-0.1.4::https://github.com/thobiasn/tori-cli/releases/download/v0.1.4/tori_0.1.4_linux_amd64
|
||||
sha256sums_x86_64 = d4ef2d72ec2b3a1940a3c4d8c5c32b4fb60671156166442c8ea393b19f01bbe0
|
||||
source_aarch64 = tori-cli-aarch64-0.1.4::https://github.com/thobiasn/tori-cli/releases/download/v0.1.4/tori_0.1.4_linux_arm64
|
||||
sha256sums_aarch64 = d8b4722883779d2d616c275980212ddfdd9d46147e8caee975789ee3bf64496d
|
||||
|
||||
pkgname = tori-cli-bin
|
||||
11
.gitignore
vendored
Normal file
11
.gitignore
vendored
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
*
|
||||
!.nvchecker.toml
|
||||
!.gitignore
|
||||
!PKGBUILD
|
||||
!.SRCINFO
|
||||
!*.install
|
||||
!*.config
|
||||
!*.service
|
||||
!*.sysusers
|
||||
!*.tmpfiles
|
||||
|
||||
5
.nvchecker.toml
Normal file
5
.nvchecker.toml
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
[tori-cli-bin]
|
||||
source = "github"
|
||||
github = "thobiasn/tori-cli"
|
||||
use_latest_release = true
|
||||
prefix = "v"
|
||||
64
PKGBUILD
Normal file
64
PKGBUILD
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
# Maintainer: Rafael Dominiquini <rafaeldominiquini at gmail dot com>
|
||||
|
||||
_pkgauthor=thobiasn
|
||||
_pkgname=tori-cli
|
||||
pkgname=${_pkgname}-bin
|
||||
pkgdesc="Lightweight Docker monitoring with alerting"
|
||||
_appname=${_pkgname%%-cli}
|
||||
|
||||
pkgver=0.1.4
|
||||
pkgrel=1
|
||||
_pkgvername=v${pkgver}
|
||||
|
||||
arch=('x86_64' 'aarch64')
|
||||
_barch=('linux_amd64' 'linux_arm64')
|
||||
|
||||
url="https://github.com/${_pkgauthor}/${_pkgname}"
|
||||
_urlraw="https://raw.githubusercontent.com/${_pkgauthor}/${_pkgname}/${_pkgvername}"
|
||||
|
||||
license=('MIT')
|
||||
|
||||
provides=("${_appname}")
|
||||
conflicts=("${_pkgname}")
|
||||
|
||||
install="${_pkgname}.install"
|
||||
|
||||
|
||||
backup=("etc/${_appname}/config.toml")
|
||||
|
||||
source=("README-${pkgver}.md::${_urlraw}/README.md"
|
||||
"LICENSE-${pkgver}::${_urlraw}/LICENSE"
|
||||
"${_pkgname}.config"
|
||||
"${_pkgname}.service"
|
||||
"${_pkgname}.sysusers"
|
||||
"${_pkgname}.tmpfiles"
|
||||
"${_pkgname}.install")
|
||||
source_x86_64=("${_pkgname}-${arch[0]}-${pkgver}::${url}/releases/download/${_pkgvername}/${_appname}_${pkgver}_${_barch[0]}")
|
||||
source_aarch64=("${_pkgname}-${arch[1]}-${pkgver}::${url}/releases/download/${_pkgvername}/${_appname}_${pkgver}_${_barch[1]}")
|
||||
sha256sums=('f78b9605aa21dc3ab580818cc3901e939ac7d579d2d552308b1d9fb7349f8e52'
|
||||
'dd4323e456ce3acd4d0cb493238861b3eca0f1a1df5845b9babf0b6e5738dff8'
|
||||
'dc02531f019bb5f48aeeda9feec15e9faa3c5be3b27d81657af390659ba74ec9'
|
||||
'32544b8d9efe9262b43d2f96bb150ce9d73945e82a5b67c06281a2e45a9d1241'
|
||||
'98357980142450ebe781b28be81964dc5e2651499f9f098bd13da32173f3f539'
|
||||
'adeab60faa35075ff8adf4e96afe6cad56a4bd801a7c1f776a2f4104c3d522d0'
|
||||
'57cd1949897e7280e98b50df088880af2ca5dfd984b5ff6016db355c2439b7a7')
|
||||
sha256sums_x86_64=('d4ef2d72ec2b3a1940a3c4d8c5c32b4fb60671156166442c8ea393b19f01bbe0')
|
||||
sha256sums_aarch64=('d8b4722883779d2d616c275980212ddfdd9d46147e8caee975789ee3bf64496d')
|
||||
|
||||
|
||||
package() {
|
||||
cd "${srcdir}/" || exit
|
||||
|
||||
install -Dm755 "${_pkgname}-${CARCH}-${pkgver}" "${pkgdir}/usr/bin/${_appname}"
|
||||
|
||||
install -Dm644 "${_pkgname}.config" "${pkgdir}/etc/${_appname}/config.toml"
|
||||
|
||||
install -Dm644 "${_pkgname}.service" "${pkgdir}/usr/lib/systemd/system/${_appname}.service"
|
||||
|
||||
install -Dm644 "${_pkgname}.sysusers" "${pkgdir}/usr/lib/sysusers.d/${_pkgname}.conf"
|
||||
install -Dm644 "${_pkgname}.tmpfiles" "${pkgdir}/usr/lib/tmpfiles.d/${_pkgname}.conf"
|
||||
|
||||
install -Dm644 "README-${pkgver}.md" "${pkgdir}/usr/share/doc/${pkgname}/README.md"
|
||||
|
||||
install -Dm644 "LICENSE-${pkgver}" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
|
||||
}
|
||||
100
tori-cli.config
Normal file
100
tori-cli.config
Normal file
|
|
@ -0,0 +1,100 @@
|
|||
# /etc/tori/config.toml
|
||||
|
||||
[storage]
|
||||
path = "/var/lib/tori/tori.db"
|
||||
retention_days = 7
|
||||
|
||||
[socket]
|
||||
path = "/run/tori/tori.sock"
|
||||
|
||||
[host]
|
||||
proc = "/proc"
|
||||
sys = "/sys"
|
||||
|
||||
[docker]
|
||||
socket = "/var/run/docker.sock"
|
||||
# track all containers by default
|
||||
# can be toggled per-container or per-group at runtime via the TUI
|
||||
# these filters set the initial state:
|
||||
# include = ["myapp-*"]
|
||||
# exclude = ["tori-*"]
|
||||
|
||||
[collect]
|
||||
interval = "10s"
|
||||
|
||||
[alerts.container_down]
|
||||
condition = "container.state == 'exited'"
|
||||
for = "30s"
|
||||
cooldown = "5m"
|
||||
notify_cooldown = "5m"
|
||||
severity = "critical"
|
||||
actions = ["notify"]
|
||||
|
||||
[alerts.high_cpu]
|
||||
condition = "host.cpu_percent > 90"
|
||||
for = "2m"
|
||||
cooldown = "5m"
|
||||
notify_cooldown = "5m"
|
||||
severity = "warning"
|
||||
actions = ["notify"]
|
||||
|
||||
[alerts.high_memory]
|
||||
condition = "host.memory_percent > 85"
|
||||
for = "1m"
|
||||
severity = "warning"
|
||||
actions = ["notify"]
|
||||
|
||||
[alerts.disk_space]
|
||||
condition = "host.disk_percent > 90"
|
||||
for = "1m"
|
||||
severity = "critical"
|
||||
actions = ["notify"]
|
||||
|
||||
[alerts.high_load]
|
||||
condition = "host.load1 > 8" # tune threshold to your CPU count
|
||||
for = "5m"
|
||||
severity = "warning"
|
||||
actions = ["notify"]
|
||||
|
||||
[alerts.high_swap]
|
||||
condition = "host.swap_percent > 80"
|
||||
for = "2m"
|
||||
severity = "warning"
|
||||
actions = ["notify"]
|
||||
|
||||
[alerts.container_memory]
|
||||
condition = "container.memory_percent > 90"
|
||||
for = "1m"
|
||||
severity = "warning"
|
||||
actions = ["notify"]
|
||||
|
||||
[alerts.unhealthy]
|
||||
condition = "container.health == 'unhealthy'"
|
||||
for = "30s"
|
||||
severity = "critical"
|
||||
actions = ["notify"]
|
||||
|
||||
[alerts.restart_loop]
|
||||
condition = "container.restart_count > 5"
|
||||
for = "0s"
|
||||
severity = "critical"
|
||||
actions = ["notify"]
|
||||
|
||||
[alerts.bad_exit]
|
||||
condition = "container.exit_code != 0"
|
||||
for = "0s"
|
||||
severity = "warning"
|
||||
actions = ["notify"]
|
||||
|
||||
# [notify.email]
|
||||
# enabled = false
|
||||
# smtp_host = "smtp.example.com"
|
||||
# smtp_port = 587
|
||||
# from = "tori@example.com"
|
||||
# to = ["you@example.com"]
|
||||
#
|
||||
# [notify.webhooks]
|
||||
# enabled = false
|
||||
# url = "https://hooks.slack.com/services/..."
|
||||
# headers = { Authorization = "Bearer token" }
|
||||
# template = '{"text": "{{.Subject}}\n{{.Body}}"}'
|
||||
25
tori-cli.install
Normal file
25
tori-cli.install
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
post_install() {
|
||||
echo "
|
||||
Welcome to the tori!
|
||||
-----------------------------------------------------------------------------
|
||||
Default Config Path: /etc/tori/
|
||||
Default Data Path: /var/lib/tori/
|
||||
Default User & Group: tori:tori
|
||||
|
||||
$ sudo systemctl start tori.service
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
More: https://github.com/thobiasn/tori-cli
|
||||
"
|
||||
}
|
||||
|
||||
post_remove() {
|
||||
echo "You need to remove database and config by yourself.
|
||||
-----------------------------------------------------------------------------
|
||||
Default Config Path: /etc/tori/
|
||||
Default Data Path: /var/lib/tori/
|
||||
Default User & Group: tori:tori
|
||||
-----------------------------------------------------------------------------
|
||||
"
|
||||
}
|
||||
# vim: set ts=2 sw=2 et:
|
||||
41
tori-cli.service
Normal file
41
tori-cli.service
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
[Unit]
|
||||
Description=Tori Agent
|
||||
After=network.target
|
||||
Wants=network.target
|
||||
|
||||
[Service]
|
||||
User=tori
|
||||
Group=tori
|
||||
Type=simple
|
||||
WorkingDirectory=/var/lib/tori
|
||||
ConfigurationDirectory=tori
|
||||
RuntimeDirectory=tori
|
||||
LogsDirectory=tori
|
||||
StateDirectory=tori
|
||||
Environment=USER=tori HOME=/var/lib/tori
|
||||
ExecStart=/usr/bin/tori agent -config /etc/tori/config.toml
|
||||
Restart=on-failure
|
||||
RestartSec=2s
|
||||
ReadWritePaths=/var/lib/tori
|
||||
LockPersonality=true
|
||||
NoNewPrivileges=true
|
||||
PrivateDevices=true
|
||||
PrivateTmp=true
|
||||
PrivateUsers=true
|
||||
ProtectClock=true
|
||||
ProtectControlGroups=true
|
||||
ProtectHome=true
|
||||
ProtectKernelModules=true
|
||||
ProtectKernelTunables=true
|
||||
ProtectProc=invisible
|
||||
ProtectSystem=strict
|
||||
RestrictAddressFamilies=AF_INET AF_INET6 AF_NETLINK AF_UNIX
|
||||
RestrictNamespaces=true
|
||||
RestrictRealtime=true
|
||||
RestrictSUIDSGID=true
|
||||
SystemCallArchitectures=native
|
||||
SystemCallFilter=@system-service
|
||||
SystemCallErrorNumber=EPERM
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
1
tori-cli.sysusers
Normal file
1
tori-cli.sysusers
Normal file
|
|
@ -0,0 +1 @@
|
|||
u tori - "Tori agent" /var/lib/tori /bin/bash
|
||||
2
tori-cli.tmpfiles
Normal file
2
tori-cli.tmpfiles
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
d /var/lib/tori/ 0750 tori tori -
|
||||
d /run/tori/ 0755 tori tori -
|
||||
Loading…
Add table
Reference in a new issue