diff --git a/config/product/monitoring.js b/config/product/monitoring.js index d6b3afe8de..bcca72ff51 100644 --- a/config/product/monitoring.js +++ b/config/product/monitoring.js @@ -25,7 +25,7 @@ export function init(store) { PROMETHEUSRULE, PROMETHEUS, SPOOFED: { - RECEIVER, RECEIVER_SPEC, RECEIVER_EMAIL, RECEIVER_SLACK, RECEIVER_WEBHOOK, RECEIVER_PAGERDUTY, RECEIVER_OPSGENIE, RECEIVER_HTTP_CONFIG, + RECEIVER, RECEIVER_SPEC, RECEIVER_EMAIL, RECEIVER_SLACK, RECEIVER_WEBHOOK, RECEIVER_PAGERDUTY, RECEIVER_OPSGENIE, RECEIVER_HTTP_CONFIG, RESPONDER, ROUTE, ROUTE_SPEC } } = MONITORING; @@ -104,10 +104,10 @@ export function init(store) { id: RECEIVER_OPSGENIE, type: 'schema', resourceFields: { - api_url: { type: 'string' }, api_key: { type: 'string' }, http_config: { type: RECEIVER_HTTP_CONFIG }, - send_resolved: { type: 'boolean' } + send_resolved: { type: 'boolean' }, + responders: { type: `array[${ RESPONDER }]` } } }, { @@ -124,7 +124,17 @@ export function init(store) { type: 'schema', resourceFields: { proxy_url: { type: 'string' } } }, + { + id: RESPONDER, + type: 'schema', + resourceFields: { + type: { type: 'string' }, + id: { type: 'string' }, + name: { type: 'string' }, + username: { type: 'string' }, + } + } ], getInstances: () => getAllReceivers(store.dispatch) }); diff --git a/config/types.js b/config/types.js index d6509d4085..5ef4e2f2eb 100644 --- a/config/types.js +++ b/config/types.js @@ -91,6 +91,7 @@ export const MONITORING = { RECEIVER_PAGERDUTY: 'monitoring.coreos.com.receiver.pagerduty', RECEIVER_OPSGENIE: 'monitoring.coreos.com.receiver.opsgenie', RECEIVER_HTTP_CONFIG: 'monitoring.coreos.com.receiver.httpconfig', + RESPONDER: 'monitoring.coreos.com.receiver.responder', ROUTE: 'monitoring.coreos.com.route', ROUTE_SPEC: 'monitoring.coreos.com.route.spec', } diff --git a/edit/monitoring.coreos.com.receiver/index.vue b/edit/monitoring.coreos.com.receiver/index.vue index 59370faf89..bea2c34f65 100644 --- a/edit/monitoring.coreos.com.receiver/index.vue +++ b/edit/monitoring.coreos.com.receiver/index.vue @@ -169,7 +169,10 @@ export default { Here's how you create Incoming Webhooks for Slack. - + + + Here's how you create an Integration Key for PagerDuty +

{{ receiverType.title }} @@ -191,7 +194,7 @@ export default { :add-label="'Add ' + receiverType.label" > diff --git a/edit/monitoring.coreos.com.receiver/types/opsgenie.vue b/edit/monitoring.coreos.com.receiver/types/opsgenie.vue index e2264bdf7d..a3f87cecd1 100644 --- a/edit/monitoring.coreos.com.receiver/types/opsgenie.vue +++ b/edit/monitoring.coreos.com.receiver/types/opsgenie.vue @@ -1,9 +1,49 @@ + +