Skip to content

Commit 62aa8a8

Browse files
authored
Merge pull request #23 from cachethq/claude/cache-hosting-docs-27o7hr
2 parents 72fbd7b + 83a4df1 commit 62aa8a8

11 files changed

Lines changed: 197 additions & 19 deletions

File tree

api-reference/filtering.mdx

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,28 @@ GET /api/incidents?filter[status]=1
1515
Each endpoint may support different fields for filtering. Check the documentation for the specific endpoint you are working with.
1616
</Note>
1717

18+
## Including related resources
19+
20+
Many endpoints can embed related resources in the response using the `include` parameter. Pass a comma-separated list
21+
of the relationships you want to include:
22+
23+
```http
24+
GET /api/incidents?include=components,updates
25+
```
26+
27+
<Note>
28+
Each endpoint supports a different set of includes. Check the documentation for the specific endpoint you are
29+
working with.
30+
</Note>
31+
32+
## Filtering by metadata
33+
34+
Resources that support metadata can be filtered by their metadata keys using the `filter[meta][key]` syntax:
35+
36+
```http
37+
GET /api/incidents?filter[meta][region]=us-east-1
38+
```
39+
1840
## Sorting
1941

2042
You can sort the results of an endpoint by passing the `sort` parameter. The `sort` parameter should be a comma-separated list of fields to sort by. You can also specify the sort order by appending `asc` or `desc` to the field name.

docs.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@
4646
"group": "Configuration",
4747
"pages": [
4848
"v3.x/configuration/cachet",
49+
"v3.x/configuration/environment",
4950
"v3.x/configuration/customization",
5051
"v3.x/configuration/theme",
5152
"v3.x/configuration/beacon",
@@ -223,4 +224,4 @@
223224
"vscode"
224225
]
225226
}
226-
}
227+
}

v3.x/configuration/api-keys.mdx

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,33 @@ To create an API key, follow these steps:
3333
</Step>
3434
</Steps>
3535

36+
## Permissions
37+
38+
Each API key is granted a set of abilities. Leaving the permissions empty when creating a key grants full access.
39+
Otherwise, you can grant the `manage` and/or `delete` ability for each resource type:
40+
41+
| Resource | Abilities |
42+
| --- | --- |
43+
| Components | `manage`, `delete` |
44+
| Component groups | `manage`, `delete` |
45+
| Incidents | `manage`, `delete` |
46+
| Incident updates | `manage`, `delete` |
47+
| Incident templates | `manage`, `delete` |
48+
| Metrics | `manage`, `delete` |
49+
| Metric points | `manage`, `delete` |
50+
| Schedules | `manage`, `delete` |
51+
| Schedule updates | `manage`, `delete` |
52+
| Subscribers | `manage`, `delete` |
53+
54+
The `manage` ability allows creating and updating the resource, while `delete` allows deleting it. Read-only endpoints
55+
are available to any valid API key and, depending on your [API settings](/v3.x/configuration/cachet#api-access), may be
56+
public.
57+
3658
## Revoking tokens
3759

3860
If you no longer need an API key, you can revoke it. To revoke an API key, click the "Revoke" button next to the key.
3961

4062
<Warning>
4163
Revoking an API key is irreversible. Once you revoke a key, you can no longer use it to authenticate requests to
4264
the Cachet API.
43-
</Warning>
65+
</Warning>

v3.x/configuration/beacon.mdx

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,15 @@ This data helps us understand how you use Cachet and how we can improve it.
99

1010
## Configuration
1111

12-
By default, Cachet's beacon is turned off. You can opt in by setting the `CACHET_BEACON` environment variable to `true`.
12+
Cachet's beacon is **enabled by default**. If you'd prefer not to send any usage data, you can opt out by setting the
13+
`CACHET_BEACON` environment variable to `false`.
1314

1415
```ini .env
15-
CACHET_BEACON=true
16+
CACHET_BEACON=false
1617
```
1718

1819
<Tip>
19-
If you're limiting outbound requests on your server and you'd like to opt into the beacon, you'll need to allow outbound requests to `https://cachethq.io`.
20+
If you're limiting outbound requests on your server and you'd like to keep the beacon enabled, you'll need to allow outbound requests to `https://cachethq.io`.
2021
</Tip>
2122

2223
### Configuring the scheduler
@@ -40,4 +41,4 @@ The beacon collects the following data:
4041
- **Cachet Version**: The version of Cachet you're running.
4142
- **Docker**: Whether you're running Cachet in a Docker container.
4243
- **Database**: The type of database you're using.
43-
- **Usage Data**: How you're using Cachet, such as the number of incidents, components, subscribers, etc.
44+
- **Usage Data**: How you're using Cachet, such as the number of incidents, components, subscribers, etc.

v3.x/configuration/cachet.mdx

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,14 @@ information about your organization, services, or status page.
2626
The "Timezone" setting allows you to set the timezone for your status page. Cachet uses it to display the correct time
2727
for incidents and scheduled maintenance. The status page will always display timestamps in the user's local time.
2828

29+
## Language
30+
31+
Cachet can display your status page in a number of languages. The "Language" selector, along with the
32+
[Timezone](#timezone) settings, can be found on the "Manage Localization" page under the "Settings" navigation group.
33+
34+
Cachet currently ships with the following locales: Deutsch (DE), Deutsch (AT), Deutsch (CH), English, English (UK),
35+
Spanish (ES), 한국어, Nederlands, Filipino, Português (BR), 简体中文, and 繁體中文.
36+
2937
## Incident days
3038

3139
This setting allows you to specify the number of days to display incidents on your status page. Cachet pushes incidents
@@ -90,12 +98,13 @@ We’d really appreciate it if you could leave this enabled to help spread the w
9098

9199
### Display graphs
92100

93-
Enable the "Display Graphs" setting to display graphs for metrics, such as uptime and response time, on your status
94-
page.
101+
Enable the "Display Graphs" setting to display [metric](/v3.x/guide/metrics) graphs, such as uptime and response time,
102+
on your status page. This setting is enabled by default.
95103

96-
<Warning>
97-
Metrics are not fully supported in Cachet v3.x. This setting will have no effect until metrics are implemented.
98-
</Warning>
104+
### Recent incidents only
105+
106+
Enable the "Recent Incidents Only" setting to show only recent incidents on your status page. When enabled, you can
107+
set the number of days to include, and Cachet hides any incidents older than that window.
99108

100109
### Show timezone
101110

@@ -106,6 +115,11 @@ When enabled, the "Show Timezone" setting displays your status page's timezone i
106115
Enable the "Only Show Disrupted Days" setting to show only the days with incidents on your status page. By default,
107116
the status page displays all days.
108117

118+
### Dynamic favicon
119+
120+
When the "Dynamic Favicon" setting is enabled, your status page's favicon reflects the current system status, so a
121+
browser tab shows at a glance whether everything is operational or there's an ongoing issue.
122+
109123
### Show dashboard link
110124

111-
The "Show Dashboard Link" setting controls the "Dashboard" link in the header of your status page. When enabled, the status page displays a link to the Cachet dashboard.
125+
The "Show Dashboard Link" setting controls the "Dashboard" link in the header of your status page. When enabled, the status page displays a link to the Cachet dashboard.

v3.x/configuration/environment.mdx

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
---
2+
title: 'Environment variables'
3+
description: 'Configure Cachet using environment variables.'
4+
icon: 'sliders'
5+
---
6+
7+
Cachet reads a number of settings from your environment, defined in your `.env` file (or your server's environment).
8+
These sit alongside the dashboard [settings](/v3.x/configuration/cachet) and generally control how Cachet is installed
9+
and served, rather than the content of your status page.
10+
11+
<Note>
12+
Every variable has a sensible default, so you only need to set the ones you want to change.
13+
</Note>
14+
15+
## Application
16+
17+
| Variable | Default | Description |
18+
| --- | --- | --- |
19+
| `CACHET_PATH` | `/` | The URI path Cachet is served from. |
20+
| `CACHET_DOMAIN` | _(none)_ | The domain Cachet is served from. Leave unset to serve from the application's default domain. |
21+
| `CACHET_TITLE` | `"${APP_NAME} - Status"` | The title of your status page. |
22+
| `CACHET_TRUSTED_PROXIES` | _(empty)_ | Comma-separated list of trusted proxy IPs. See [Theme](/v3.x/configuration/theme) for details. |
23+
| `CACHET_DOCKER` | `false` | Whether Cachet is running inside a Docker container. Set automatically by the official Docker image. |
24+
| `CACHET_DEMO_MODE` | `false` | Runs Cachet in [demo](/v3.x/demo) mode, adjusting some defaults for a demo environment. |
25+
26+
## API & MCP
27+
28+
| Variable | Default | Description |
29+
| --- | --- | --- |
30+
| `CACHET_API_RATE_LIMIT` | `300` | Requests per minute allowed against the [API](/api-reference/rate-limiting). |
31+
| `CACHET_MCP_RATE_LIMIT` | `300` | Requests per minute allowed against the [MCP server](/v3.x/guide/mcp). |
32+
33+
## Telemetry & performance
34+
35+
| Variable | Default | Description |
36+
| --- | --- | --- |
37+
| `CACHET_BEACON` | `true` | Whether Cachet sends anonymous [telemetry](/v3.x/configuration/beacon). Set to `false` to opt out. |
38+
| `CACHET_SETTINGS_CACHE` | `true` | Cache Cachet's settings instead of reading them from the database on every request. |
39+
40+
## Maintenance & retention
41+
42+
| Variable | Default | Description |
43+
| --- | --- | --- |
44+
| `CACHET_PRUNE_CHECKS_AFTER_DAYS` | `30` | Number of days to keep component check results before they are pruned. |
45+
46+
## Webhooks
47+
48+
| Variable | Default | Description |
49+
| --- | --- | --- |
50+
| `CACHET_WEBHOOK_QUEUE_CONNECTION` | _(app default)_ | The queue connection used to dispatch [webhooks](/v3.x/guide/webhooks). |
51+
| `CACHET_WEBHOOK_QUEUE_NAME` | _(app default)_ | The queue name used to dispatch webhooks. |
52+
53+
## Blog feed
54+
55+
| Variable | Default | Description |
56+
| --- | --- | --- |
57+
| `CACHET_FEED_URI` | `https://blog.cachethq.io/rss` | The RSS feed used to display blog posts on your status page. |
58+
| `CACHET_FEED_CACHE` | `3600` | How long, in seconds, to cache the blog feed. |
59+
60+
## Package integration
61+
62+
When running Cachet as a package inside an existing Laravel application, the following variables control how it
63+
integrates with your host application:
64+
65+
| Variable | Default | Description |
66+
| --- | --- | --- |
67+
| `CACHET_GUARD` | _(default guard)_ | The authentication guard Cachet uses. |
68+
| `CACHET_USER_MODEL` | `App\Models\User` | The user model Cachet authenticates against. |
69+
| `CACHET_USER_MIGRATIONS` | `true` | Whether Cachet loads the default user migrations. |
70+
| `CACHET_RUN_MIGRATIONS` | `true` | Whether Cachet loads its migrations. Disable if your application manages them itself. |
71+
| `CACHET_REGISTER_SCHEDULES` | `true` | Whether Cachet registers its scheduled tasks. Disable if your application schedules them itself. |

v3.x/guide/components.mdx

Lines changed: 39 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,14 @@ Cachet also provides a simple way of updating your component statuses directly f
3131

3232
### Component statuses
3333

34-
Components can have one of five statuses:
34+
Components can have one of six statuses:
3535

3636
- <Tooltip tip="Status ID: 1"><Icon icon="square-1"/></Tooltip> **Operational**: The component is working as expected.
3737
- <Tooltip tip="Status ID: 2"><Icon icon="square-2"/></Tooltip> **Performance Issues**: The component is experiencing performance issues.
3838
- <Tooltip tip="Status ID: 3"><Icon icon="square-3"/></Tooltip> **Partial Outage**: The component is experiencing partial outage.
3939
- <Tooltip tip="Status ID: 4"><Icon icon="square-4"/></Tooltip> **Major Outage**: The component is experiencing a major outage.
4040
- <Tooltip tip="Status ID: 5"><Icon icon="square-5"/></Tooltip> **Unknown**: The component status is unknown.
41+
- <Tooltip tip="Status ID: 6"><Icon icon="square-6"/></Tooltip> **Under Maintenance**: The component is undergoing maintenance. [Schedules](/v3.x/guide/schedules) can set this status automatically.
4142

4243
## Component groups
4344

@@ -47,6 +48,29 @@ To help organize your components, you can group them together into component gro
4748
Cachet will automatically group any ungrouped components together. Cachet displays ungrouped components beneath any
4849
component groups on your status page.
4950

51+
A component group has the following properties:
52+
53+
- **Name**: The name of the group.
54+
- **Visibility**: Whether the group is visible to users, guests, or always hidden.
55+
- **Collapsed**: How the group behaves on the status page (see [Collapse behavior](#collapse-behavior)).
56+
- **Order by**: How components within the group are ordered (see [Ordering strategies](#ordering-strategies)).
57+
58+
### Group visibility
59+
60+
Like other resources, each component group has a visibility setting that controls who can see it:
61+
62+
- **Authenticated**: Only visible to authenticated dashboard users.
63+
- **Guest**: Visible to everyone, including guests.
64+
- **Hidden**: Never displayed on the status page.
65+
66+
### Collapse behavior
67+
68+
You can control whether a group appears expanded or collapsed on your status page. Each group can be set to one of:
69+
70+
- **Expanded**: The group is always expanded, showing all of its components.
71+
- **Collapsed**: The group is always collapsed.
72+
- **Collapsed unless a component is in an incident**: The group stays collapsed until one of its components is not operational, at which point Cachet expands it automatically. This keeps large status pages tidy while still drawing attention to problems.
73+
5074
## Reordering components
5175

5276
You may reorder components via the dashboard by dragging and dropping them into the desired order. To do this,
@@ -59,4 +83,17 @@ You can also reorder components when editing a component group. The order will r
5983
<Frame>
6084
<img className="block dark:hidden" src="/v3.x/images/component-reordering-light.gif" alt="Reorder Components" />
6185
<img className="hidden dark:block" src="/v3.x/images/component-reordering-dark.gif" alt="Reorder Components" />
62-
</Frame>
86+
</Frame>
87+
88+
### Ordering strategies
89+
90+
By default, components follow the manual drag-and-drop order described above. Component groups can also order their
91+
components automatically. When editing a group, set "Order by" to one of:
92+
93+
- **Manual**: Respect the manual drag-and-drop order.
94+
- **Name**: Order alphabetically by name.
95+
- **Status**: Order by component status.
96+
- **Last updated**: Order by when the component was last updated.
97+
- **ID**: Order by the component's ID.
98+
99+
For every strategy except manual, you can also choose the direction (ascending or descending).

v3.x/guide/dashboard.mdx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@ including managing incidents, components, and subscribers.
1010

1111
## User management
1212

13-
Cachet currently does not support user management from the dashboard.
13+
You can manage the users who have access to your Cachet dashboard directly from the dashboard. See the
14+
[Users](/v3.x/guide/users) guide for more information.
1415

1516
## Markdown
1617

@@ -22,4 +23,4 @@ using a tool by the same name.
2223
# Incident Title
2324

2425
This is my **first incident**. It's _really_ [serious](https://www.youtube.com/shorts/1LOQOKXTDLY).
25-
```
26+
```

v3.x/guide/incidents.mdx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ the dashboard. Incidents consist of:
1212
- **Message**: A detailed description of the incident.
1313
- **Occurred At**: The time the incident occurred. This can be left empty if the incident happened at the time of reporting.
1414
- **Visibility**: Whether the incident should be visible to users, guests or always be hidden.
15+
- **Stickied**: Whether the incident is pinned to the top of your status page. Stickied incidents remain prominently displayed until you unsticky them.
1516

1617
The Cachet dashboard provides a simple interface to manage incidents. You can quickly record a new incident by clicking the
1718
"New Incident" link in the top navigation bar. You can also view and manage existing incidents by clicking the "Incidents"
@@ -67,4 +68,4 @@ templates with two templating languages:
6768
</CardGroup>
6869

6970
Incident templates are particularly powerful when combined with the API as they allow you to create a new incident by passing
70-
a template and variables. Cachet creates the incident from the template, filled in with the variables you provide.
71+
a template and variables. Cachet creates the incident from the template, filled in with the variables you provide.

v3.x/guide/metrics.mdx

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ A metric consists of:
1919
- **Places**: The number of decimal places to display.
2020
- **Metric Type**: The type of calculation to perform on the metric, e.g. sum or average.
2121
- **Threshold**: The threshold determines when a new point should be created or the last point updated.
22+
- **Show when empty**: Whether Cachet displays the metric on your status page when it has no points. When disabled, the metric is hidden until it has data.
2223
- **Visible**: Whether the metric is visible to users, guests or always hidden.
2324

2425
## Metric points
@@ -28,4 +29,9 @@ A metric is made up of multiple points that you add over time. Each point consis
2829
- **Value**: The value of the metric at this point in time.
2930
- **Timestamp**: The time the metric was recorded.
3031

31-
For performance, if you create a metric point within the threshold of an existing point, Cachet updates the existing point with the new value.
32+
For performance, if you create a metric point within the threshold of an existing point, Cachet updates the existing point with the new value.
33+
34+
## Reordering metrics
35+
36+
You can reorder metrics to control the order they appear in on your status page, in the same way you
37+
[reorder components](/v3.x/guide/components#reordering-components).

0 commit comments

Comments
 (0)