+{"$id":"https://github.com/hyperjumptech/monika/main/monika-config-schema.json","$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"definitions":{"urlFormat":{"type":"string","pattern":"^https?://"},"incidentThreshold":{"type":"integer","default":5},"recoveryThreshold":{"type":"integer","default":5},"interval":{"type":"integer","default":10},"requests":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["url"],"properties":{"method":{"type":"string","enum":["GET","POST","DELETE","PUT","PATCH"]},"url":{"type":"string"},"timeout":{"type":"integer","default":10},"saveBody":{"type":"boolean","default":false},"alerts":{"$ref":"#/definitions/alerts"},"ping":{"type":"boolean"},"body":{"$ref":"#/definitions/body"},"headers":{"$ref":"#/definitions/headers"}}}},"socket":{"type":"object","additionalProperties":false,"required":["host","port","data"],"properties":{"host":{"type":"string"},"port":{"type":"integer"},"data":{"type":"string"}}},"alerts":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"query":{"type":"string","default":"response.status != 200"},"message":{"type":"string","default":"Http Response status code is not 200!"}},"required":["query","message"]}},"body":true,"headers":{"type":"object","additionalProperties":true,"properties":{"Accept":{"type":"string"},"Accept-Charset":{"type":"string"},"Accept-Encoding":{"type":"string"},"Authorization":{"type":"string"},"Cache-Control":{"type":"string"},"Cookie":{"type":"string"},"Connection":{"type":"string"},"Content-Type":{"type":"string"},"Keep-Alive":{"type":"string"},"Origin":{"type":"string"},"Referer":{"type":"string"},"User-Agent":{"type":"string"}}}},"properties":{"probes":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["id"],"properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"interval":{"$ref":"#/definitions/interval"},"requests":{"$ref":"#/definitions/requests"},"socket":{"$ref":"#/definitions/socket"},"incidentThreshold":{"$ref":"#/definitions/incidentThreshold"},"recoveryThreshold":{"$ref":"#/definitions/recoveryThreshold"},"alerts":{"$ref":"#/definitions/alerts"}}}},"notifications":{"type":"array","items":{"anyOf":[{"type":"object","required":["id","type"],"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"desktop"}}},{"type":"object","required":["id","type","data"],"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"discord"},"data":{"type":"object","additionalProperties":false,"required":["url"],"properties":{"url":{"$ref":"#/definitions/urlFormat","examples":["https://discord.com/api/webhook/<webhook.id>/<webhook.token>"]}}}}},{"type":"object","required":["id","type","data"],"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"workplace"},"data":{"type":"object","additionalProperties":false,"required":["thread_id","access_token"],"properties":{"thread_id":{"type":"string"},"access_token":{"type":"string"}}}}},{"type":"object","required":["id","type","data"],"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"google-chat"},"data":{"type":"object","additionalProperties":false,"required":["url"],"properties":{"url":{"$ref":"#/definitions/urlFormat","examples":["https://chat.googleapis.com/v1/spaces/XXXXX/messages?key=1122334455"]}}}}},{"type":"object","required":["id","type","data"],"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"lark"},"data":{"type":"object","additionalProperties":false,"required":["url"],"properties":{"url":{"$ref":"#/definitions/urlFormat","examples":["https://open.larksuite.com/open-apis/bot/v2/hook/your-webhook-key-here"]}}}}},{"type":"object","required":["id","type","data"],"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"mailgun"},"data":{"type":"object","additionalProperties":false,"required":["recipients","apiKey","domain"],"properties":{"recipients":{"type":"array","items":{"type":"string"}},"apiKey":{"type":"string"},"domain":{"type":"string"}}}}},{"type":"object","required":["id","type","data"],"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"teams"},"data":{"type":"object","additionalProperties":false,"required":["url"],"properties":{"url":{"$ref":"#/definitions/urlFormat"}}}}},{"type":"object","required":["id","type","data"],"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"monika-notif"},"data":{"type":"object","additionalProperties":false,"required":["url"],"properties":{"url":{"$ref":"#/definitions/urlFormat","examples":["https://whatsapp.hyperjump.tech/api/notify?token=<webhook.token>"]}}}}},{"type":"object","required":["id","type","data"],"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"pagerduty"},"data":{"type":"object","additionalProperties":false,"required":["key","probeID"],"properties":{"key":{"type":"string"},"probeID":{"type":"string"}}}}},{"type":"object","required":["id","type","data"],"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"sendgrid"},"data":{"type":"object","additionalProperties":false,"required":["sender","recipients","apiKey"],"properties":{"sender":{"type":"string"},"recipients":{"type":"array","items":{"type":"string"}},"apiKey":{"type":"string"}}}}},{"type":"object","required":["id","type","data"],"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"slack"},"data":{"type":"object","additionalProperties":false,"required":["url"],"properties":{"url":{"$ref":"#/definitions/urlFormat","examples":["https://slackwebhook.com/channel"]}}}}},{"type":"object","required":["id","type","data"],"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"smtp"},"data":{"type":"object","additionalProperties":false,"required":["recipients","hostname","port","username","password"],"properties":{"recipients":{"type":"array","items":{"type":"string"}},"hostname":{"type":"string"},"port":{"type":"integer"},"username":{"type":"string"},"password":{"type":"string"}}}}},{"type":"object","required":["id","type","data"],"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"telegram"},"data":{"type":"object","additionalProperties":false,"required":["group_id","bot_token"],"properties":{"group_id":{"type":"string"},"bot_token":{"type":"string"}}}}},{"type":"object","required":["id","type","data"],"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"webhook"},"data":{"type":"object","additionalProperties":false,"required":["url"],"properties":{"url":{"$ref":"#/definitions/urlFormat","examples":["https://yourwebsite.com/webhook"]}}}}},{"type":"object","required":["id","type","data"],"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"whatsapp"},"data":{"type":"object","additionalProperties":false,"required":["recipients","url","username","password"],"properties":{"recipients":{"type":"array","items":{"type":"string"}},"url":{"$ref":"#/definitions/urlFormat"},"username":{"type":"string"},"password":{"type":"string"}}}}},{"type":"object","required":["id","type","data"],"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"dingtalk"},"data":{"type":"object","additionalProperties":false,"required":["access_token"],"properties":{"access_token":{"type":"string"}}}}},{"type":"object","required":["id","type","data"],"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"pushover"},"data":{"type":"object","additionalProperties":false,"required":["token","user"],"properties":{"token":{"type":"string"},"user":{"type":"string"}}}}},{"type":"object","required":["id","type","data"],"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"opsgenie"},"data":{"type":"object","additionalProperties":false,"required":["geniekey"],"properties":{"geniekey":{"type":"string"}}}}}]}},"db_limit":{"type":"object","additionalProperties":false,"properties":{"max_db_size":{"type":"number","default":1000000000},"deleted_data":{"type":"integer","default":1},"cron_schedule":{"type":"string","default":"*/1 * * * *"}},"required":["max_db_size","deleted_data","cron_schedule"]}},"type":"object"}
0 commit comments