grafana / oncall

Developer-friendly incident response with brilliant Slack integration
GNU Affero General Public License v3.0
3.51k stars 291 forks source link

Crossplane - add missing selector and ref fields for various OnCall resources #4411

Closed joeyorlando closed 5 months ago

joeyorlando commented 5 months ago

What would you like to see!

Our Crossplane provider currently doesn't allow specifying a selector for an integration's default route's escalation chain (we only provide defaultRoute.escalationChainId). See our crossplane provider docs for more context.

See NotificationPolicy.contactPointRef as an example of ideally how we should do this.

Deliverables As a user of Crossplane whom is trying to code-ify my OnCall Integrations, I should be able to have my Integration's default route escalation chain reference an Escalation Chain

Product Area

Terraform

Anything else to add?

No response

github-actions[bot] commented 5 months ago

The current version of Grafana OnCall, at the time this issue was opened, is v1.5.1. If your issue pertains to an older version of Grafana OnCall, please be sure to list it in the PR description. Thank you :smile:!

MasterExecuson commented 5 months ago

This issue actually affects other the On-Call components (Schedule, Route, Integration, Escalation) which also need crossreference from other resources.

joeyorlando commented 5 months ago

re-opened as we need to add selector and ref fields for a few more objects:

@MasterExecuson were they other objects you were using/came across that were missing selector/refs?

Once those changes are in, I'll go ahead and cut the v0.16.2 release over there

MasterExecuson commented 5 months ago

@joeyorlando , find bellow the link for the fields that are reference through ID and thus don't work great on Crossplane after this first commit.

Escalation

NotifyOnCallFromSchedule

GroupToNotify

PersonsToNotifyNextEachTime

PersonsToNotify

NotifyToTeamMembers

Escalation Chain

TeamId

Integration

teamId

OnCallShift

RollingUsers

teamId

Route

Done.

Schedule

teamId

shifts

I know it's actually as lot of field, but without those, creating a crossplane config for on call is very hard and requires a lot of custom mapping (speaking from expirience)...