Openstatus www.openstatus.dev
at 4c0f4c00a38753a5d0dfd7e7b7b7706dec6f1503 128 lines 2.8 kB view raw
1import { allPlans } from "@openstatus/db/src/schema/plan/config"; 2import type { Limits } from "@openstatus/db/src/schema/plan/schema"; 3import type React from "react"; 4 5export const plans = allPlans; 6 7export const config: Record< 8 string, 9 { 10 label: string; 11 features: { 12 value: keyof Limits; 13 label: string; 14 description?: React.ReactNode; // tooltip informations 15 badge?: string; 16 monthly?: boolean; 17 }[]; 18 } 19> = { 20 monitors: { 21 label: "Monitors", 22 features: [ 23 { 24 value: "periodicity", 25 label: "Frequency", 26 }, 27 { 28 value: "monitors", 29 label: "Number of monitors", 30 }, 31 { 32 value: "multi-region", 33 label: "Multi-region monitoring", 34 }, 35 { value: "regions", label: "Total regions" }, 36 { value: "max-regions", label: "Regions per monitor" }, 37 { value: "data-retention", label: "Data retention" }, 38 { value: "response-logs", label: "Response Logs" }, 39 { value: "otel", label: "OTel Exporter" }, 40 { 41 value: "synthetic-checks", 42 label: "Synthetic API Checks", 43 monthly: true, 44 }, 45 ], 46 }, 47 "status-pages": { 48 label: "Status Pages", 49 features: [ 50 { 51 value: "status-pages", 52 label: "Number of status pages", 53 }, 54 { 55 value: "maintenance", 56 label: "Maintenance status", 57 }, 58 { 59 value: "monitor-values-visibility", 60 label: "Toggle numbers visibility", 61 }, 62 { 63 value: "status-subscribers", 64 label: "Subscribers", 65 }, 66 { 67 value: "custom-domain", 68 label: "Custom domain", 69 }, 70 { 71 value: "white-label", 72 label: "White Label", 73 }, 74 ], 75 }, 76 "status-page-audience": { 77 label: "Status Page Audience", 78 features: [ 79 { 80 value: "password-protection", 81 label: "Password Protection (Basic)", 82 }, 83 { 84 value: "email-domain-protection", 85 label: "Magic Link (Auth)", 86 }, 87 ], 88 }, 89 notifications: { 90 label: "Notifications", 91 features: [ 92 { 93 value: "notifications", 94 label: "Slack, Discord, Email, Webhook, ntfy.sh", 95 }, 96 { 97 value: "sms", 98 label: "SMS", 99 }, 100 { 101 value: "pagerduty", 102 label: "PagerDuty", 103 }, 104 { 105 value: "opsgenie", 106 label: "OpsGenie", 107 }, 108 { 109 value: "notification-channels", 110 label: "Number of notification channels", 111 }, 112 ], 113 }, 114 collaboration: { 115 label: "Collaboration", 116 features: [ 117 { 118 value: "members", 119 label: "Team members", 120 }, 121 { 122 value: "audit-log", 123 label: "Audit log", 124 badge: "Planned", 125 }, 126 ], 127 }, 128};