Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cmd/bosun: Implementing purge and forceCLose actions #1599

Merged
merged 1 commit into from
Feb 17, 2016
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions cmd/bosun/sched/sched.go
Original file line number Diff line number Diff line change
Expand Up @@ -600,12 +600,16 @@ func (s *Schedule) Action(user, message string, t models.ActionType, ak models.A
if st.IsActive() {
return fmt.Errorf("cannot close active alert")
}
fallthrough
case models.ActionForceClose:
st.Open = false
st.End = &timestamp
case models.ActionForget:
if !isUnknown {
return fmt.Errorf("can only forget unknowns")
}
fallthrough
case models.ActionPurge:
return s.DataAccess.State().Forget(ak)
default:
return fmt.Errorf("unknown action type: %v", t)
Expand Down
120 changes: 70 additions & 50 deletions cmd/bosun/web/static.go
Original file line number Diff line number Diff line change
Expand Up @@ -9099,7 +9099,7 @@ xitlUKAxazlo8/8JAAD//4NB/DtLfAAA

"/js/bosun.js": {
local: "web/static/js/bosun.js",
size: 108586,
size: 108866,
modtime: 0,
compressed: `
H4sIAAAJbogA/+z9e3vbRpIoDv+9+RQwx2NCEUVKTpzJyJb9OrZz2YmTrO3MzhxZqwUJkIRFAjQASuLY
Expand Down Expand Up @@ -9451,7 +9451,7 @@ Xbambpg1kzD966L0W+plEu84v+IjGM1WF0iLWI86O9soPB58uAp3TnZGM9ymDt6u7+/vj213IrjtGzQj
2Ux1Mn8GMp+Kbc6C7ni/UxITueSr9QLlDZKvyTk3w9wSVkqYV9slvCnkIOCOC829aZEvn4u7OlpQ0TkM
HFvhr+o1V3r0dvx1vBEXeWxdB9330bMdMSPjDqkUDuXbN8fJM9V1inOjEymQeK1v7wgZrZ6rkUbYEeCr
mK26zjExIdhVKJzTnxIqr7YhxWB1SvDTZfPTYdpOz/g9lze6BMHj8XMkgDdIICvXJyFigpi7kvG9CPO4
fTpYxIhJyP8/AAD//2VI8q8qqAEA
fTpYxEhXQn5bF7NP0x8rxLxFf0ySTzc20xq9SdD/PwAA//+6IDoJQqkBAA==
`,
},

Expand Down Expand Up @@ -12424,37 +12424,37 @@ bNNNMvIm425oAQ2itVF+BNdwA4t/AwAA///HUuwLLBAAAA==

"/js/state.ts": {
local: "web/static/js/state.ts",
size: 5266,
size: 5502,
modtime: 0,
compressed: `
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
gKGSFAAA
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
8TrG9IdYdtlQ2mf9bwAAAP//itkeCH4VAAA=
`,
},

Expand Down Expand Up @@ -13026,27 +13026,27 @@ NeZtQ48ZNx5cB0tkPLvkz/bBIAzIu+Vq0mH5U/wNAAD//wJxdrNjAwAA

"/partials/alertstate.html": {
local: "web/static/partials/alertstate.html",
size: 3849,
size: 3915,
modtime: 0,
compressed: `
H4sIAAAJbogA/7RWX2/jNgx/zn0KzQc0CTYnaFcUWGG7uA0dVmx72bV7V2zG1iJLmSS39Xr+7qNkubFT
9/r3Hhqrokj++CNFKsrYNUk51ToOtlQADwugGRN5QEQe9gW/2PUsrZQCYT4baio9/34aruTt1J9l6SYO
jMxzDrN5kHyYRMXx0LZhhoOVTCJKCgVru5xEGqXEyeLgsmCawC2qldQwKQhL8UfBVoFGx5qYghr8AUI5
KEPwNBME9Wlq2DWQmZAiFFKVlM+JRpiwCDoQOa+3hbXXD+5uer8d9vyGmuVieupN4FGzaIMmBwcjm9/F
ZNp6nTZBEi1tSI8EV1YGnoqqoJqsAATRjINIIXtBENeSVyWEcr1G+GnBeLb47K08Be3fCrQjvaRq82zm
KwHXlFdISeaZIZ/sCU2ogoH0psCQKMlgCyJDRLU10ibuBQF2KIcputr52QuTWju22uIAlJLqN6aNVPWZ
CyO+u0MgMoNZa8YhnzeNq9IxjtZMPSt9jpgMFK/xNhHneEHO7UeTVJZA1kqWqINSTTjboC76wX0NioEm
GTV0RTX60roCIhXKsbzWWGTIJHKg6hdwZlHfl8OFdjj2aFrSXlWgFV3ImzhoWbnIguTj3V33T9OcPqgj
1FgxkcWBL7lq9Q+khnz54p06Yn+HeuB0p971iYrzULG8MMEOgzeQy4AYjVnHUu5v9gy2QUTL4jj5EC2x
t+HnQYdbyax21hlWhPXgelXvmGq3Bnup5KEuw5O2LsZOj57/0Ysm0TaJtFFS5IljgiAVlsR2K1puvYkW
9CPWfrq3NqT8vxs9E7SEeUCW+3Z6q7eAtn0O3g3wgwZqgROXWeKvnA7tbRgcvcSN4FsF+DeDG/2GAHtd
Zln4DrOBetdfXIJsY/kVa5z4JmQL9oeHFrqr9lfF4Upxq2WX5DxjqPWI0hJut+rM/qDTlZHUt7Rz3HGO
7QK0xtb5mAVMAMPGbM5YFveve5BceAmZfRzNJXaIZTLvmshYenaLb3Ot/JB7Uwq9ZGUEwb8wgzWtuHHr
Wx30iPJz+SyrlHsuxIfFQTdPeoOkaQ4MzfX+kLnEPZeRQ1LISt2z9jYIR6+CcOQg6HfCcPIqDCfviuHw
dUQcvi8TR8evS8fxHop3b3SfUovvLa0OezNNN6jnF7vtlEsNraBd7kT4cMnBdGM3V7Lado/nGB/PldgI
eSOmQavdnn4+A/sPlj9wXrSBvowcq0daxdcT1CV8B2JxWW+hafZm4TjgxRW+AINkVZMRO1bWNL0X1GSC
L8/Rkdn3bgdnMtB6CsSfOChojlqnYzC8dIjkKz3//juSNvcKcw5+tg+zRybE4ZEfEYVaPjVN8Gw3nsLC
lHxofw+T//wfAAD//0rIvmwJDwAA
H4sIAAAJbogA/7RWS2/jNhA+e38FqwViG61sJA0CNLAcbIsUDdpeuknvtDSWWFOkSlJJ1Kz+e4cUZUuO
snl5D7GYeX7z4AwXCbslMadaR0FBBfAwA5owkQZEpGGX8Ys9T+JSKRDms6Gm1NPvx+FK3o+9LIs3UWBk
mnKYTIPlh9EiO+3bNsxwsJzRgpJMwdoeRwuNXOJ4UXCdMU3gHtVyapgUhMX4o6BQoNGxJiajBn+AUA7K
EJRmgqA+jQ27BTIRUoRCqpzyKdEIE2ZBCyLlVZFZe93gHsZbctjxG2qWivG5N4GiZtYETY6OBojfRWTc
eB3XwXIxtyE9EVxeGnguqoxqsgIQRDMOIobkFUHcSl7mEMr1GuHHGePJ7LO38hy0f0vQLuk5VZsXZ74U
cEt5iSlJfGbIJyuhCVXQ495lGBIlCRQgEkRUWSNN4V4RYIuyX6KbnZ+9MKm1Y7stCkApqX5j2khVXbgw
oocHBCITmDRmHPJpXbsuHcrRmqkXlc8lJgHFK7xNxDmekUv70SSWOZC1kjnqIFcTzjaoi36QrkEx0CSh
hq6oRl9al0CkQj621xqbDDOJOVDVK3JmUW/b4Uo7HHtpmtNOV6AVncm7KGiycpUEy48PD+0/dX3+qI9Q
Y8VEEgW+5crVPxAb8uWLd+oS+ztUPac79XZOlJyHiqWZCXYYvIFUBsRorDq2cpfYMdgEsZhnp8sPiznO
Nvw8mnArmVTOOsOOsB7crOqIqYbUo8WShzoPz5q+GJIelP/Rs0aLYrnQRkmRLl0mCKbCJrEhLeaFN9GA
fsLaT1tr/ZT/d6cnguYwDch8307n9B7Qds7BwQA/GqAWOHGVJf7K6dDehp7oNRKCbxXg3wzu9DsC7EyZ
eeYnzAaq3XxxBbKD5VfsceKHkG3YHx5baK/aXyWHG8Wtlj2Sy4Sh1hNKc7gv1IX9QacrI6kfaZdIcY7t
AbTG0fmUBSwAw8FsLlgSda97sLzyHDL5OFhLnBDz5bQdIkPl2R2+zbXyS+5dJfSclREE/8IE1rTkxp3v
ddBJlN/LF0mp3HMhOs6O2n3SWSR1fWRoqveXzDXSXEWOSSZLtc3a+yCcvAnCiYOgD4Th7E0Yzg6K4fht
iTg+bCZOTt9WjtM9FAcfdJ9ii+89ow5nM403qOcPO3LMpYaG0Rx3LHy4xNAV6BJ6YimYdjunSpZF+8aO
8I1dio2Qd2IcbG2gdEe9KJHQ8Jrji3O4/+T5AzdOk6rXpdfqkUbx7SluW2YHYnZdFVDXe9t0GPDsBt+Q
wXJVkQE7llfXnTfYaIRv18Gl2/VuV++yp/UciD9x1dAUtc6HYHhuH8lXtsb2O1A2945zDn62T7sndszx
iV8ymZo/t49Qtl1wYWZy3re/h8l//g8AAP//YTsmZEsPAAA=
`,
},

Expand Down Expand Up @@ -13188,6 +13188,16 @@ ZRAyfI3v8+rQ3Z8rAduX6nvI4fNPAAAA///3VswxUwkAAA==
`,
},

"/partials/forceClose.html": {
local: "web/static/partials/forceClose.html",
size: 83,
modtime: 0,
compressed: `
H4sIAAAJbogA/7JJVEjOSSwutlVKKslTAGLdlMS89NQiMLOiWEkhL103oyg1zVapujoxuSQzP09DPS2/
KDnVOSe/OFVds7ZWyc4NxFcAC9joJ9oBAgAA//8blXWUUwAAAA==
`,
},

"/partials/forget.html": {
local: "web/static/partials/forget.html",
size: 119,
Expand Down Expand Up @@ -13316,6 +13326,16 @@ MJVh+Be0VWJZF7KBEVISHwE9le8AAAD//xB1BPYxAwAA
`,
},

"/partials/purge.html": {
local: "web/static/partials/purge.html",
size: 72,
modtime: 0,
compressed: `
H4sIAAAJbogA/7JJVEjOSSwutlVKKslTAGLdlMS89NQiMLOiWEkhL103oyg1zVapujoxuSQzP09DvaC0
KD1VXbO2VskuAMS00U+0AwQAAP//rcT2g0gAAAA=
`,
},

"/partials/put.html": {
local: "web/static/partials/put.html",
size: 2350,
Expand Down
12 changes: 12 additions & 0 deletions cmd/bosun/web/static/js/bosun.js
Original file line number Diff line number Diff line change
Expand Up @@ -2861,3 +2861,15 @@ bosunApp.directive('tsForget', function () {
templateUrl: '/partials/forget.html'
};
});
bosunApp.directive('tsPurge', function () {
return {
restrict: 'E',
templateUrl: '/partials/purge.html'
};
});
bosunApp.directive('tsForceClose', function () {
return {
restrict: 'E',
templateUrl: '/partials/forceClose.html'
};
});
14 changes: 14 additions & 0 deletions cmd/bosun/web/static/js/state.ts
Original file line number Diff line number Diff line change
Expand Up @@ -183,3 +183,17 @@ bosunApp.directive('tsForget', () => {
templateUrl: '/partials/forget.html',
};
});

bosunApp.directive('tsPurge', () => {
return {
restrict: 'E',
templateUrl: '/partials/purge.html',
};
});

bosunApp.directive('tsForceClose', () => {
return {
restrict: 'E',
templateUrl: '/partials/forceClose.html',
};
});
2 changes: 2 additions & 0 deletions cmd/bosun/web/static/partials/alertstate.html
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,9 @@ <h4 class="panel-title">
<div class="col-sm-9">
<ts-ack></ts-ack>
<ts-close></ts-close>
<ts-force-close></ts-force-close>
<ts-forget ng-if="group.Status == 'unknown'"></ts-forget>
<ts-purge></ts-purge>
</div>
</div>
<div class="row" ng-show="state.LastAction">
Expand Down
1 change: 1 addition & 0 deletions cmd/bosun/web/static/partials/forceClose.html
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<a class="btn btn-danger btn-xs" ng-href="{{action('forceClose')}}">Force Close</a>
1 change: 1 addition & 0 deletions cmd/bosun/web/static/partials/purge.html
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<a class="btn btn-danger btn-xs" ng-href="{{action('purge')}}">Purge</a>
4 changes: 4 additions & 0 deletions cmd/bosun/web/web.go
Original file line number Diff line number Diff line change
Expand Up @@ -544,6 +544,10 @@ func Action(t miniprofiler.Timer, w http.ResponseWriter, r *http.Request) (inter
at = models.ActionClose
case "forget":
at = models.ActionForget
case "forceClose":
at = models.ActionForceClose
case "purge":
at = models.ActionPurge
}
errs := make(MultiError)
r.ParseForm()
Expand Down
10 changes: 10 additions & 0 deletions models/incidents.go
Original file line number Diff line number Diff line change
Expand Up @@ -196,6 +196,8 @@ const (
ActionAcknowledge
ActionClose
ActionForget
ActionForceClose
ActionPurge
)

func (a ActionType) String() string {
Expand All @@ -206,6 +208,10 @@ func (a ActionType) String() string {
return "Closed"
case ActionForget:
return "Forgotten"
case ActionForceClose:
return "ForceClosed"
case ActionPurge:
return "Purged"
default:
return "none"
}
Expand All @@ -223,6 +229,10 @@ func (a *ActionType) UnmarshalJSON(b []byte) error {
*a = ActionClose
case `"Forgotten"`:
*a = ActionForget
case `"Purged"`:
*a = ActionPurge
case `"ForceClosed"`:
*a = ActionForceClose
default:
*a = ActionNone
}
Expand Down