The `annotations.order` option lets users pass a list of annotation names in
the order they want them displayed. Any annotation that isn't in the list is
shown after the annotations from the list, in alphabetical order.
For instance, with
```yaml
annotations:
order:
- summary
- description
```
an alert with `description`, `help`, `runbook` and `summary` annotations will
have them displayed in that order:
- `summary`
- `description`
- `help`
- `runbook`
Signed-off-by: Benoît Knecht <bknecht@protonmail.ch>
This adds support for reading configuration from file, env support is still there and legacy env variables will still work, but flags are now following config schema, so they don't match old flags.
Having a config file allows to express more complex configuration options, which is needed for some feature requests.
Annotations are just string maps, but to render those we need a bit more information (is it a link, should it be visible by default). Store them as more complex structs internally, this also allows us to drop alert.Links since we now have enough information to tell if annotation is a link