* Inconsistent use of baseUrl and apiUrl arguments
Both are Strings, so flipping the order between
one invocation and another didn't raise any
argument from the compiler. The baseUrl argument
is actually unnecessary, and has been removed.
* Update bindata.go
* Don't send parts with empty templates.
* Add a MIME-Version: 1.0 header.
* Place text/html part last, as parts are supposed to be in increasing preference order.
* silences: avoid deadlock
Calling gossip.GossipBroadcast() will cause a deadlock if
there is a currently executing OnBroadcast* function.
See #982
* silence_test: better unit test to detect deadlocks
* added email notification text content support (configuration text)
added default email notification text content default value empty
converted email notification from html to multipart/alternatives with support to both html (first) and text (last)
ignore intellij IDE .idea working folder
* removed specific editor .gitignore entries
* renamed TEXT to Text as it's not an acronym
added TODO note to refactor multipart code to use standard go library
* refactored to use standard go mime/multipart library for text and html parts and bounderies
* use multipart createPart returned writer
added error handling while creating parts
removed unnecessary quotes from boundry string
* removed unnecessary comments
This is similar to `promtool check-config` and allows one
to validate the alertmanager configuration (as a git presubmit for example).
`govendor fetch github.com/spf13/{cobra,pflag}` was needed to
have support for `Args`.
* Provide README information for amtool
Amtool has been bundled with alertmanager for a while now. It's probably
far past the acceptable time to add information to the readme
* Fixups based on recommendations
* replace `,` with `.` in first sentance
* Add silence query example with filtering
* Add silence add example with multiple matchers and a regex
* Add silence expire all example that shows query -q
* Add configfile example
* Expose alert fingerprint in the API
Alert fingerprint is already provided as the value of status.inhibitedBy[] attribute that inhibited alerts have, but there's no way to get back to the alert that's inhibiting it as the fingerprint is not exposed.
* Expose alert fingerprint as ID in the list endpoint
* Rename ID to Fingerprint
* Use Fingerprint().String() in the API
* Render status page without mesh connection (#918)
A mesh connection was assumed, even though the
value that was being passed into the helper
function was a possibly-nil pointer. Add a check
for this, and return a nil value in that case. The
frontend finds this when decoding the json
payload, and displays the "not configured"
message.
* Update bindata
* Fix crash when no mesh router is configured
This adds a check for `meshListen != ""` around the waitFunc code as we
have around the other mesh-related code parts above.
Fixes https://github.com/prometheus/alertmanager/issues/914
* Update bindata
* Test for consecutive chars throughout string
Previously, we were only testing for consecutive
characters at the beginning of the string. Now,
the entire string being compared is searched
through for a matching character, and then the
consecutive search starts.
We were seeing weird situations where the text
entered matched the last half of certain terms,
but because it wasn't, but because we only
searched from the start, results that probably
shouldn't have been the top suggestion were being
suggested too high on the list.
* Weight consecutive matches more highly
Bit of a guess, this seemed to give better results
for my small test case.
* bindata
* Support for custom SMTP hello string
Some MTAs insist that they be greeted with a fully qualified domain
name. The default provided by the net/smtp library, "HELLO localhost",
is not sufficient and will result in rejected messages.
This changeset adds a new configuration option that allows the
alertmanager to do its job in such an environment.
* Test SMTPHello parsing
We generate binaries whenever `make build-all` is run. If they already
exist, we only regenerate them if they are outdated.
When one makes changes to the front-end and runs the single command
`make build-all` on the root level Makefile, the front-end is rebuild
accordingly.
`make build-all` will use Docker to build the front-end. If someone prefers
to install all the dev dependencies on their local machine instead, one
can add the `NO_DOCKER=true` flag.
For folks that only want to make back-end changes `ui/bindata.go` is
checked in, so they do not have to build the front-end. They still use
the `make build` command as before.