-
Notifications
You must be signed in to change notification settings - Fork 8.3k
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
New alerting terminology #90375
Comments
Pinging @elastic/kibana-alerting-services (Team:Alerting Services) |
One question I can think of as we move our HTTP APIs to use the new terminology is: what do we do with APIs that overlap? ex: |
I did run across - I think monitoring - versioning their APIs with But I'm not sure I understand the "overlap" part of this. I can believe it though :-). Example? |
@pmuellr by overlap, I meant |
Looking into the API changes first, here are the broad strokes of what would likely need changing: Actions Plugin Api PathsImportant note: When introducing these new APIs we need to rename all fields in bodies need to be renamed from Camel Case to Snake Case as per our Style Guide. In the code they need to be renamed back to Camel Case.
Alerts Plugin Api PathsImportant note: When introducing these new APIs we need to rename all fields in bodies need to be renamed from Camel Case to Snake Case as per our Style Guide. In the code they need to be renamed back to Camel Case. This change will require changing the
End to End testingWe have e2e tests over all our Api endpoints. As long as the old Apis do nothing other than act as a shell that converts Old shape to New shape and back to Old, then this should be sufficient. Actions Plugin Type changesThere are probably more field to rename and lots of types to rename, I'm just pointing to some obvious ones to give an idea of the complexity of the change.
Alerts Plugin Type changesThere are probably more field to rename and lots of types to rename, I'm just pointing to some obvious ones to give an idea of the complexity of the change.
Api migration notesWe need to keep the legacy Api paths until 8.0, so this need to be an incremental deprecation. The complexity is in the fields (such as My suggestion would be that we refactor the old endpoints to become a thin "conversion" where we rename the old names to the new names, which then get passed into the underlying implementation. When the conversion is down to a concrete TS type field, this is quite straight forward - the difficulty is going to be with Saved Objects and Apis that interact with them using queries such as Much like the Apis we don't actually return the results with the name of the entity ( Saved Object migration notesAt the moment we have three Saved Object types: We don't currently have a method for achieving this but there's a chance Core can provide this via the migrations framework. ...waiting to see what Core can offer before we delve deeper into this Action / Alerts Clients migrationAPIs on the clients themselves don't seem to refer to the entity in any way, so the only problems we'll have are at the level of the fields (such as |
I assume we are changing plugin names as well?
Not sure I like Or can we not easily change the plugin names for some reason (feature controls, RBAC, etc)? I think there's also a convention that plugin |
@YulNaumenko was mentioning it's a recommendation to keep the plugin id within the URL. This would be
A couple of endpoints that should use singular
This one is interesting, I'd recommend thinking about how it would look like when we support multiple actions per connector and work backwards from there.
We could also make the action part of the URL parameter.
Should this be
Should these changes be to I also notice inconsistencies between some API endpoints. Some are prefixed with |
I'm not sure we need to change that one specifically... 🤔 I'd opt for keeping it as is. |
Fair point... yeah, we could add that now... but I'm not sure what id we'd use there now, as we don't have an
Yup, copy-pasta.
It's not an Id though, is it? It's the connector type (like
I'm not following... aren't those both verbs preceded by |
Good question :-) I'd have to think about it or see what others think. We can always defer distinguishing action from connector to when connectors support multiple actions. For now we could have something like
Connectors use generated UUIDs, but connector types don't, though they still use unique identifiers (see: https://github.com/elastic/kibana/blob/master/x-pack/plugins/actions/server/types.ts#L108).
Bad examples, hopefully the others I put below explain the inconsistencies better:
|
Ah I see what you mean... it's a funny one 😆
Gotcha, yeah, we should fix these here... I'll give it a pass |
Yes, according to the Kibana guidelines |
I'm going to move this back to triage as I don't think we have the capacity to further investigate this in 7.x. |
Current Problem Statement
The 8.0 release is the opportunity to break changes to support the new alerting terminology. @gmmorris started the research, but we need to find a new person to verify if anything is remaining before it is too late to change. For those cases, we should create issues and prioritize them.
There is overlap between alerting concepts in Observability and Security, but differences in terminology obscure the similarities, and it becomes a barrier. This issue summarizes the new proposed terminology and tracks progress at applying the changes to Kibana Alerting.
Implementation steps
The text was updated successfully, but these errors were encountered: