Skip to content

Commit c45d7be

Browse files
committed
chore: reorg perms and connections
1 parent b47d859 commit c45d7be

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

62 files changed

+3171
-1142
lines changed

common/src/css/custom.css

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ li::marker {
7979
}
8080

8181
li {
82-
font: var(--ifm-font-sans) !important;
82+
font-family: var(--ifm-font-sans) !important;
8383
}
8484

8585
li > svg {
@@ -573,7 +573,7 @@ pre {
573573

574574
.navbar__link--active {
575575
color: var(--ifm-color-primary-light);
576-
font: bold;
576+
font-weight: bold;
577577
}
578578

579579
a {

mission-control-chart

mission-control/blog/control-plane-testing/index.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ To follow this tutorial, you need:
8181
<Install/>
8282

8383
:::info Helm Installation
84-
This tutorial uses the CLI for faster feedback, in production we recommend installing `canary-checker` as an operator using the [helm chart](https://canarychecker.io/getting-started) or as part of the full Mission Control [platform](/docs/installation/self-hosted/getting-started).
84+
This tutorial uses the CLI for faster feedback, in production we recommend installing `canary-checker` as an operator using the [helm chart](https://canarychecker.io/getting-started) or as part of the full Mission Control [platform](/docs/installation/self-hosted).
8585
1. Next create a `Canary` CustomResourceDefinition (CRD) using the `kubernetesResource` check type, the layout of the canary is as follows:
8686

8787
```yaml title=basic-canary.yaml file=template.yaml

mission-control/blog/rust-ffi/index.mdx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ For the past few years at [Flanksource](https://flanksource.com/), I've helped b
1111

1212
One Tuesday afternoon, one of our pods started crashing with an OOM (OutOfMemory) error.
1313

14+
{/* truncate */}
15+
1416
> When a container exceeds its memory limit in Kubernetes, the system restarts it with an OutOfMemory message. Memory leaks can trigger a crash loop cycle.
1517
1618
This issue occurred frequently enough to raise concerns, particularly since it only affected one customer's environment.

mission-control/docs/guide/config-db/concepts/access-logs.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,5 +126,5 @@ See the [SQL scraper](/docs/guide/config-db/scrapers/sql) for examples of scrapi
126126

127127
## Related
128128

129-
- [Config Access Reference](/docs/reference/config_access) - Access log schema details
129+
- [Config Access Reference](/docs/reference/config-db/config_access) - Access log schema details
130130
- [Retention](/docs/guide/config-db/concepts/retention) - Configure access log retention policies

mission-control/docs/guide/config-db/scrapers/logs.mdx

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -52,24 +52,31 @@ The Logs scraper queries log aggregation systems to extract configuration change
5252
scheme: "[]string"
5353
},
5454
{
55+
priority: 1,
5556
field: "bigQuery",
5657
description: "BigQuery configuration for log scraping",
57-
scheme: "[BigQueryConfig](#bigqueryconfig)"
58+
scheme: "[BigQuery](#bigquery)"
5859
},
5960
{
61+
priority: 1,
62+
6063
field: "gcpCloudLogging",
6164
description: "GCP Cloud Logging configuration",
62-
scheme: "[GCPCloudLoggingConfig](#gcpcloudloggingconfig)"
65+
scheme: "[GCPCloudLogging](#gcpcloudlogging)"
6366
},
6467
{
68+
priority: 1,
69+
6570
field: "loki",
6671
description: "Loki configuration for log scraping",
67-
scheme: "[LokiConfig](#lokiconfig)"
72+
scheme: "[Loki](#loki)"
6873
},
6974
{
75+
priority: 1,
76+
7077
field: "openSearch",
7178
description: "OpenSearch configuration for log scraping",
72-
scheme: "[OpenSearchConfig](#opensearchconfig)"
79+
scheme: "[OpenSearch](#opensearch)"
7380
}
7481
]} />
7582

@@ -134,7 +141,7 @@ spec:
134141
135142
</details>
136143
137-
### BigQueryConfig
144+
### BigQuery
138145
139146
<Fields rows={[
140147
{
@@ -163,7 +170,7 @@ spec:
163170

164171
</details>
165172

166-
### GCPCloudLoggingConfig
173+
### GCPCloudLogging
167174

168175
<Fields rows={[
169176
{
@@ -225,7 +232,7 @@ spec:
225232
226233
</details>
227234
228-
### LokiConfig
235+
### Loki
229236
230237
<Fields rows={[
231238
{
@@ -274,7 +281,7 @@ spec:
274281

275282
</details>
276283

277-
### OpenSearchConfig
284+
### OpenSearch
278285

279286
<Fields rows={[
280287
{

mission-control/docs/guide/notifications/channels/index.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ When creating a notification you can either specify a connection or a custom URL
2323
| [Mattermost](./mattermost) | _mattermost://[__`username`__@]**`mattermost-host`**/**`token`**[/__`channel`__]_ |
2424
| [Matrix](./matrix) | _matrix://**`username`**:**`password`**@**`host`**:**`port`**/[?rooms=**`!roomID1`**[,__`roomAlias2`__]]_ |
2525
| [Ntfy](./ntfy) | _ntfy://**`username`**:**`password`**@ntfy.sh/**`topic`**_ |
26-
| [OpsGenie](./opsgenie) | _opsgenie://**`host`**/token?responders=**`responder1`**[,__`responder2`__]_ |
2726
| [Pushbullet](./pushbullet) | _pushbullet://**`api-token`**[/__`device`__/#__`channel`__/__`email`__]_ |
2827
| [Pushover](./pushover) | _pushover://shoutrrr:**`apiToken`**@**`userKey`**/?devices=**`device1`**[,__`device2`__, ...]_ |
2928
| [Rocketchat](./rocketchat) | _rocketchat://[__`username`__@]**`rocketchat-host`**/**`token`**[/__`channel`&#124;`@recipient`__]_ |

mission-control/docs/guide/notifications/channels/opsgenie.mdx

Lines changed: 0 additions & 112 deletions
This file was deleted.
Lines changed: 144 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,144 @@
1+
---
2+
title: Actions
3+
sidebar_position: 4
4+
sidebar_custom_props:
5+
icon: cog
6+
---
7+
8+
Actions define what operations a subject can perform on the target objects. The `actions` field is required and accepts a list of action strings.
9+
10+
## Available Actions
11+
12+
| Action | Description |
13+
|--------|-------------|
14+
| `read` | Allows reading/viewing resources |
15+
| `write` | Allows creating or modifying resources |
16+
| `delete` | Allows deleting resources |
17+
| `playbook:run` | Allows running playbooks |
18+
| `playbook:approve` | Allows approving playbook runs that require approval |
19+
| `playbook:cancel` | Allows canceling playbook runs |
20+
21+
## Wildcards
22+
23+
You can use wildcards to grant multiple permissions at once:
24+
25+
| Wildcard | Description |
26+
|----------|-------------|
27+
| `playbook:*` | Grants all playbook-related permissions (run, approve, cancel) |
28+
| `*` | Grants all permissions (use with caution) |
29+
30+
## Examples
31+
32+
<details summary="Read-Only Access">
33+
<div>
34+
35+
```yaml title="read-only-permission.yaml"
36+
apiVersion: mission-control.flanksource.com/v1
37+
kind: Permission
38+
metadata:
39+
name: viewer-access
40+
spec:
41+
description: Read-only access to configs
42+
subject:
43+
team: viewers
44+
actions:
45+
- read
46+
object:
47+
configs:
48+
- name: "*"
49+
```
50+
51+
</div>
52+
</details>
53+
54+
<details summary="Full Playbook Access">
55+
<div>
56+
57+
```yaml title="playbook-full-access.yaml"
58+
apiVersion: mission-control.flanksource.com/v1
59+
kind: Permission
60+
metadata:
61+
name: playbook-admin
62+
spec:
63+
description: Full playbook management access
64+
subject:
65+
team: platform-team
66+
actions:
67+
- playbook:*
68+
object:
69+
playbooks:
70+
- name: "*"
71+
```
72+
73+
</div>
74+
</details>
75+
76+
<details summary="Multiple Actions">
77+
<div>
78+
79+
```yaml title="multiple-actions.yaml"
80+
apiVersion: mission-control.flanksource.com/v1
81+
kind: Permission
82+
metadata:
83+
name: editor-access
84+
spec:
85+
description: Read and write access to configs
86+
subject:
87+
person: editor@example.com
88+
actions:
89+
- read
90+
- write
91+
object:
92+
configs:
93+
- namespace: production
94+
```
95+
96+
</div>
97+
</details>
98+
99+
<details summary="Playbook Run and Approve">
100+
<div>
101+
102+
```yaml title="run-approve-permission.yaml"
103+
apiVersion: mission-control.flanksource.com/v1
104+
kind: Permission
105+
metadata:
106+
name: playbook-operator
107+
spec:
108+
description: Allow running and approving playbooks
109+
subject:
110+
team: operators
111+
actions:
112+
- playbook:run
113+
- playbook:approve
114+
object:
115+
playbooks:
116+
- labels:
117+
category: maintenance
118+
```
119+
120+
</div>
121+
</details>
122+
123+
<details summary="Admin Access (All Permissions)">
124+
<div>
125+
126+
```yaml title="admin-permission.yaml"
127+
apiVersion: mission-control.flanksource.com/v1
128+
kind: Permission
129+
metadata:
130+
name: admin-all-access
131+
spec:
132+
description: Full admin access (use sparingly)
133+
subject:
134+
team: admins
135+
actions:
136+
- "*"
137+
```
138+
139+
:::warning
140+
Using `*` (all permissions) should be limited to administrative roles. Always prefer granting the minimum necessary permissions.
141+
:::
142+
143+
</div>
144+
</details>

0 commit comments

Comments
 (0)