summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorNOGISAKA Sadata2018-11-25 22:39:08 +0900
committerNOGISAKA Sadata2018-11-25 22:39:08 +0900
commit9dd9a094c44610af16dae1b66d08c7344981f61d (patch)
tree3d50a5ae37e7698186bff31236ff9242343f8ece
parent638ebd355097a3595c5630083abbad69ad612218 (diff)
downloadaur-9dd9a094c44610af16dae1b66d08c7344981f61d.tar.gz
Bump to 0.33.0-3
Backport changes for alerts.go from master to fix failure building: - https://github.com/mackerelio/mkr/pull/178 - https://github.com/mackerelio/mkr/pull/179
-rw-r--r--.SRCINFO4
-rw-r--r--PKGBUILD14
-rw-r--r--alerts.go.patch157
3 files changed, 171 insertions, 4 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 4eb74b6b00a8..c86aff7ff705 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = mkr
pkgdesc = Command Line Tool for Mackerel
pkgver = 0.33.0
- pkgrel = 2
+ pkgrel = 3
url = https://github.com/mackerelio/mkr
arch = i686
arch = x86_64
@@ -9,7 +9,9 @@ pkgbase = mkr
makedepends = go
makedepends = git
source = mkr-0.33.0.tar.gz::https://github.com/mackerelio/mkr/archive/v0.33.0.tar.gz
+ source = alerts.go.patch
sha512sums = 9dcd299e3bb5640a78b221c303a419a00f9e3203a8f607ee536a74fd37632a6d89e312d1725651e8157936b07d7e5509922b7920a8da65fff8a2c82669aa09a8
+ sha512sums = ea4cd9f4a93bbe633e80dd63e2e43f44ca0f7e172cdebf99fbecae369f5fa26937034429dd77ea466cb281bb34450234dac1b9b01466ac364eefe98c36e28958
pkgname = mkr
diff --git a/PKGBUILD b/PKGBUILD
index ca90f2188f3c..a0cb7ccff991 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -2,18 +2,25 @@
pkgname=mkr
pkgver=0.33.0
-pkgrel=2
+pkgrel=3
pkgdesc="Command Line Tool for Mackerel"
arch=('i686' 'x86_64')
url="https://github.com/mackerelio/mkr"
license=('APACHE')
makedepends=('go' 'git')
-source=("${pkgname}-${pkgver}.tar.gz::https://github.com/mackerelio/mkr/archive/v${pkgver}.tar.gz")
+source=("${pkgname}-${pkgver}.tar.gz::https://github.com/mackerelio/mkr/archive/v${pkgver}.tar.gz"
+ "alerts.go.patch")
build() {
cd "$srcdir/$pkgname-$pkgver"
export GOPATH="$srcdir/build"
export PATH="$PATH:$GOPATH/bin"
+
+ # Apply changes for alerts.go:
+ # - https://github.com/mackerelio/mkr/pull/178
+ # - https://github.com/mackerelio/mkr/pull/179
+ patch -p0 < ../alerts.go.patch
+
make build
}
@@ -29,6 +36,7 @@ package() {
install -Dm 755 mkr "$pkgdir/usr/bin/mkr"
}
-sha512sums=('9dcd299e3bb5640a78b221c303a419a00f9e3203a8f607ee536a74fd37632a6d89e312d1725651e8157936b07d7e5509922b7920a8da65fff8a2c82669aa09a8')
+sha512sums=('9dcd299e3bb5640a78b221c303a419a00f9e3203a8f607ee536a74fd37632a6d89e312d1725651e8157936b07d7e5509922b7920a8da65fff8a2c82669aa09a8'
+ 'ea4cd9f4a93bbe633e80dd63e2e43f44ca0f7e172cdebf99fbecae369f5fa26937034429dd77ea466cb281bb34450234dac1b9b01466ac364eefe98c36e28958')
# vim: set et sw=2 sts=2:
diff --git a/alerts.go.patch b/alerts.go.patch
new file mode 100644
index 000000000000..5d7feac265c0
--- /dev/null
+++ b/alerts.go.patch
@@ -0,0 +1,157 @@
+--- alerts.go.orig 2018-11-12 04:12:41.000000000 +0000
++++ alerts.go 2018-11-25 13:27:58.023329243 +0000
+@@ -14,18 +14,23 @@
+ )
+
+ var commandAlerts = cli.Command{
+- Name: "alerts",
+- Usage: "Retrieve/Close alerts",
++ Name: "alerts",
++ Usage: "Retrieve/Close alerts",
++ ArgsUsage: "[--with-closed | -w] [--limit | -l]",
+ Description: `
+ Retrieve/Close alerts. With no subcommand specified, this will show all alerts.
+ Requests APIs under "/api/v0/alerts". See https://mackerel.io/api-docs/entry/alerts .
+ `,
+ Action: doAlertsRetrieve,
++ Flags: []cli.Flag{
++ cli.BoolFlag{Name: "with-closed, w", Usage: "Display open alert including close alert. default: false"},
++ cli.IntFlag{Name: "limit, l", Value: 100, Usage: "Set the number of alerts to display at once when withClosed is active. default: 100"},
++ },
+ Subcommands: []cli.Command{
+ {
+ Name: "list",
+ Usage: "list alerts",
+- ArgsUsage: "[--service | -s <service>] [--host-status | -S <file>] [--color | -c]",
++ ArgsUsage: "[--service | -s <service>] [--host-status | -S <file>] [--color | -c] [--with-closed | -w] [--limit | -l]",
+ Description: `
+ Shows alerts in human-readable format.
+ `,
+@@ -42,6 +47,8 @@
+ Usage: "Filters alerts by status of each host. Multiple choices are allowed.",
+ },
+ cli.BoolTFlag{Name: "color, c", Usage: "Colorize output. default: true"},
++ cli.BoolFlag{Name: "with-closed, w", Usage: "Display open alert including close alert. default: false"},
++ cli.IntFlag{Name: "limit, l", Value: 100, Usage: "Set the number of alerts to display at once when withClosed is active. default: 100"},
+ },
+ },
+ {
+@@ -196,9 +203,11 @@
+ if colorize {
+ switch alert.Status {
+ case "CRITICAL":
+- statusMsg = color.RedString("CRITICAL")
++ statusMsg = color.RedString("CRITICAL ")
+ case "WARNING":
+ statusMsg = color.YellowString("WARNING ")
++ case "OK":
++ statusMsg = color.GreenString("OK ")
+ case "UNKNOWN":
+ statusMsg = "UNKNOWN "
+ }
+@@ -231,10 +240,48 @@
+
+ func doAlertsRetrieve(c *cli.Context) error {
+ client := newMackerelFromContext(c)
++ withClosed := c.Bool("with-closed")
++ limit := c.Int("limit")
+
+- alerts, err := client.FindAlerts()
+- logger.DieIf(err)
+- PrettyPrintJSON(alerts)
++ if withClosed {
++ alerts, err := client.FindWithClosedAlerts()
++ logger.DieIf(err)
++ if alerts.NextID != "" {
++ for {
++ if limit > len(alerts.Alerts) {
++ nextAlerts, err := client.FindWithClosedAlertsByNextID(alerts.NextID)
++ logger.DieIf(err)
++ alerts.Alerts = append(alerts.Alerts, nextAlerts.Alerts...)
++ alerts.NextID = nextAlerts.NextID
++ if alerts.NextID == "" {
++ break
++ }
++ time.Sleep(1 * time.Second)
++ } else {
++ break
++ }
++ }
++ }
++
++ PrettyPrintJSON(alerts.Alerts[:limit])
++ } else {
++ alerts, err := client.FindAlerts()
++ logger.DieIf(err)
++ if alerts.NextID != "" {
++ for {
++ nextAlerts, err := client.FindAlertsByNextID(alerts.NextID)
++ logger.DieIf(err)
++ alerts.Alerts = append(alerts.Alerts, nextAlerts.Alerts...)
++ alerts.NextID = nextAlerts.NextID
++ if alerts.NextID == "" {
++ break
++ }
++ time.Sleep(1 * time.Second)
++ }
++ }
++
++ PrettyPrintJSON(alerts.Alerts[:limit])
++ }
+ return nil
+ }
+
+@@ -242,11 +289,48 @@
+ filterServices := c.StringSlice("service")
+ filterStatuses := c.StringSlice("host-status")
+ client := newMackerelFromContext(c)
+-
+- alerts, err := client.FindAlerts()
+- logger.DieIf(err)
+- joinedAlerts := joinMonitorsAndHosts(client, alerts)
+-
++ withClosed := c.Bool("with-closed")
++ limit := c.Int("limit")
++ var alert []*mkr.Alert
++
++ if withClosed {
++ alerts, err := client.FindWithClosedAlerts()
++ logger.DieIf(err)
++ if alerts.NextID != "" {
++ for {
++ if limit > len(alerts.Alerts) {
++ nextAlerts, err := client.FindWithClosedAlertsByNextID(alerts.NextID)
++ logger.DieIf(err)
++ alerts.Alerts = append(alerts.Alerts, nextAlerts.Alerts...)
++ alerts.NextID = nextAlerts.NextID
++ if alerts.NextID == "" {
++ break
++ }
++ time.Sleep(1 * time.Second)
++ } else {
++ break
++ }
++ }
++ }
++ alert = alerts.Alerts[:limit]
++ } else {
++ alerts, err := client.FindAlerts()
++ logger.DieIf(err)
++ if alerts.NextID != "" {
++ for {
++ nextAlerts, err := client.FindAlertsByNextID(alerts.NextID)
++ logger.DieIf(err)
++ alerts.Alerts = append(alerts.Alerts, nextAlerts.Alerts...)
++ alerts.NextID = nextAlerts.NextID
++ if alerts.NextID == "" {
++ break
++ }
++ time.Sleep(1 * time.Second)
++ }
++ }
++ alert = alerts.Alerts[:limit]
++ }
++ joinedAlerts := joinMonitorsAndHosts(client, alert)
+ for _, joinAlert := range joinedAlerts {
+ if len(filterServices) > 0 {
+ found := false