Openstatus www.openstatus.dev
at 4c0f4c00a38753a5d0dfd7e7b7b7706dec6f1503 222 lines 6.5 kB view raw
1import sitemap from "@astrojs/sitemap"; 2import starlight from "@astrojs/starlight"; 3import tailwindcss from "@tailwindcss/vite"; 4import { defineConfig, envField } from "astro/config"; 5import starlightImageZoom from "starlight-image-zoom"; 6import starlightLinksValidator from "starlight-links-validator"; 7import starlightLlmsTxt from "starlight-llms-txt"; 8 9import Icons from "unplugin-icons/vite"; 10 11// https://astro.build/config 12export default defineConfig({ 13 site: "https://docs.openstatus.dev", 14 vite: { 15 plugins: [Icons({ compiler: "astro" }), tailwindcss()], 16 }, 17 env: { 18 schema: { 19 NEXT_PUBLIC_OPENPANEL_CLIENT_ID: envField.string({ 20 access: "public", 21 context: "client", 22 }), 23 }, 24 }, 25 integrations: [ 26 sitemap(), 27 starlight({ 28 title: "openstatus docs", 29 favicon: "/favicon.ico", 30 social: [ 31 { 32 icon: "github", 33 label: "GitHub", 34 href: "https://github.com/openstatusHQ/openstatus", 35 }, 36 { 37 icon: "discord", 38 label: "Discord", 39 href: "https://www.openstatus.dev/discord", 40 }, 41 { 42 icon: "blueSky", 43 label: "BlueSky", 44 href: "https://bsky.app/profile/openstatus.dev", 45 }, 46 ], 47 components: { 48 SiteTitle: "./src/components/SiteTitle.astro", 49 Head: "./src/components/Head.astro", 50 Hero: "./src/components/Hero.astro", 51 Footer: "./src/components/Footer.astro", 52 }, 53 editLink: { 54 baseUrl: "https://github.com/openstatusHQ/openstatus/app/docs", 55 }, 56 customCss: [ 57 // Path to your Tailwind base styles: 58 "./src/global.css", 59 "./src/custom.css", 60 "@fontsource-variable/inter", 61 ], 62 sidebar: [ 63 { 64 label: "Concepts", 65 items: [ 66 { 67 label: "About Uptime monitoring", 68 slug: "concept/uptime-monitoring", 69 }, 70 { 71 label: "Best Practices for Status Pages", 72 slug: "concept/best-practices-status-page", 73 }, 74 { 75 label: "Uptime Calculation and Values", 76 slug: "concept/uptime-calculation-and-values", 77 }, 78 { 79 label: "Uptime Monitoring as Code", 80 slug: "concept/uptime-monitoring-as-code", 81 }, 82 { 83 label: "Latency vs Response Time", 84 slug: "concept/latency-vs-response-time", 85 }, 86 ], 87 }, 88 { 89 label: "Tutorials", 90 items: [ 91 { 92 label: "How to create a monitor", 93 slug: "tutorial/how-to-create-monitor", 94 }, 95 { 96 label: "How to create a status page", 97 slug: "tutorial/how-to-create-status-page", 98 }, 99 { 100 label: "How to configure a status page", 101 slug: "tutorial/how-to-configure-status-page", 102 }, 103 { 104 label: "How to create a private location (beta)", 105 slug: "tutorial/how-to-create-private-location", 106 }, 107 { 108 label: "Get Started with OpenStatus CLI", 109 slug: "tutorial/get-started-with-openstatus-cli", 110 }, 111 ], 112 }, 113 114 { 115 label: "Guides", 116 items: [ 117 { 118 label: "Monitor your MCP Server", 119 slug: "guides/how-to-monitor-mcp-server", 120 }, 121 { 122 label: "Run check in GitHub Actions", 123 slug: "guides/how-to-run-synthetic-test-github-action", 124 }, 125 { 126 label: "Export Metrics to your OTLP Endpoint", 127 slug: "guides/how-to-export-metrics-to-otlp-endpoint", 128 }, 129 { 130 label: "How to Add an SVG Status Badge to your GitHub README", 131 slug: "guides/how-to-add-svg-status-badge", 132 }, 133 { 134 label: "How to use React Status Widget", 135 slug: "guides/how-to-use-react-widget", 136 }, 137 { 138 label: "How to deploy probes on Cloudflare Containers ", 139 slug: "guides/how-to-deploy-probes-cloudflare-containers", 140 }, 141 { 142 label: "How to self-host openstatus", 143 slug: "guides/self-hosting-openstatus", 144 }, 145 ], 146 }, 147 { 148 label: "Reference", 149 items: [ 150 { 151 label: "CLI Reference", 152 slug: "reference/cli-reference", 153 }, 154 { 155 label: "API Reference", 156 link: "https://api.openstatus.dev/v1", 157 // badge: { text: 'External' }, 158 attrs: { 159 target: "_blank", 160 }, 161 }, 162 { 163 label: "DNS Monitor", 164 slug: "reference/dns-monitor", 165 }, 166 { 167 label: "HTTP Monitor", 168 slug: "reference/http-monitor", 169 }, 170 { 171 label: "Incident", 172 slug: "reference/incident", 173 }, 174 { 175 label: "TCP Monitor", 176 slug: "reference/tcp-monitor", 177 }, 178 { 179 label: "Notification", 180 slug: "reference/notification", 181 }, 182 { 183 label: "Location", 184 slug: "reference/location", 185 }, 186 { 187 label: "Private location", 188 slug: "reference/private-location", 189 }, 190 { 191 label: "Status Page", 192 slug: "reference/status-page", 193 }, 194 { 195 label: "Status Report", 196 slug: "reference/status-report", 197 }, 198 { 199 label: "Subscriber", 200 slug: "reference/subscriber", 201 }, 202 { 203 label: "Terraform Provider", 204 slug: "reference/terraform", 205 }, 206 ], 207 }, 208 ], 209 plugins: [ 210 starlightLlmsTxt({ 211 projectName: "openstatus docs", 212 description: 213 "openstatus is an open-source global uptime monitoring platform that offers a status page and monitoring as code.", 214 }), 215 starlightImageZoom(), 216 starlightLinksValidator({ 217 errorOnLocalLinks: false, 218 }), 219 ], 220 }), 221 ], 222});