Skip to content

Commit 9f14438

Browse files
EdwardAngertEdwardAngert
EdwardAngert
authored and
EdwardAngert
committed
fixes and ignore no-bare-urls
1 parent 6e8aa60 commit 9f14438

File tree

7 files changed

+131
-127
lines changed

7 files changed

+131
-127
lines changed

.github/actions/docs/markdownlint-cli2/.markdownlint.json

+1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
"MD029": false,
99
"MD031": true,
1010
"MD033": false,
11+
"MD034": false,
1112
"MD036": false,
1213
"MD041": false,
1314
"MD045": true

docs/admin/external-auth.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ CODER_EXTERNAL_AUTH_0_AUTH_URL="https://gitea.com/login/oauth/authorize"
150150
```
151151

152152
The Redirect URI for Gitea should be
153-
https://coder.company.org/external-auth/gitea/callback
153+
`https://coder.company.org/external-auth/gitea/callback`.
154154

155155
## Self-managed git providers
156156

docs/admin/monitoring/metrics.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ If you don't have an Prometheus server installed, you can follow the Prometheus
88
[Getting started](https://prometheus.io/docs/prometheus/latest/getting_started/)
99
guide.
1010

11-
### Setting up metrics
11+
## Setting up metrics
1212

1313
To set up metrics monitoring, please read our
1414
[Prometheus integration guide](../integrations/prometheus.md). The following

docs/admin/monitoring/notifications/index.md

+16-13
Original file line numberDiff line numberDiff line change
@@ -107,14 +107,14 @@ existing one.
107107

108108
**TLS Settings:**
109109

110-
| Required | CLI | Env | Type | Description | Default |
111-
| :------: | --------------------------- | ----------------------------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- |
112-
| - | `--email-force-tls` | `CODER_EMAIL_FORCE_TLS` | `bool` | Force a TLS connection to the configured SMTP smarthost. If port 465 is used, TLS will be forced. See https://datatracker.ietf.org/doc/html/rfc8314#section-3.3. | false |
113-
| - | `--email-tls-starttls` | `CODER_EMAIL_TLS_STARTTLS` | `bool` | Enable STARTTLS to upgrade insecure SMTP connections using TLS. Ignored if `CODER_NOTIFICATIONS_EMAIL_FORCE_TLS` is set. | false |
114-
| - | `--email-tls-skip-verify` | `CODER_EMAIL_TLS_SKIPVERIFY` | `bool` | Skip verification of the target server's certificate (**insecure**). | false |
115-
| - | `--email-tls-server-name` | `CODER_EMAIL_TLS_SERVERNAME` | `string` | Server name to verify against the target certificate. | |
116-
| - | `--email-tls-cert-file` | `CODER_EMAIL_TLS_CERTFILE` | `string` | Certificate file to use. | |
117-
| - | `--email-tls-cert-key-file` | `CODER_EMAIL_TLS_CERTKEYFILE` | `string` | Certificate key file to use. | |
110+
| Required | CLI | Env | Type | Description | Default |
111+
| :------: | --------------------------- | ----------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------- |
112+
| - | `--email-force-tls` | `CODER_EMAIL_FORCE_TLS` | `bool` | Force a TLS connection to the configured SMTP smarthost. If port 465 is used, TLS will be forced. See <https://datatracker.ietf.org/doc/html/rfc8314#section-3.3>. | false |
113+
| - | `--email-tls-starttls` | `CODER_EMAIL_TLS_STARTTLS` | `bool` | Enable STARTTLS to upgrade insecure SMTP connections using TLS. Ignored if `CODER_NOTIFICATIONS_EMAIL_FORCE_TLS` is set. | false |
114+
| - | `--email-tls-skip-verify` | `CODER_EMAIL_TLS_SKIPVERIFY` | `bool` | Skip verification of the target server's certificate (**insecure**). | false |
115+
| - | `--email-tls-server-name` | `CODER_EMAIL_TLS_SERVERNAME` | `string` | Server name to verify against the target certificate. | |
116+
| - | `--email-tls-cert-file` | `CODER_EMAIL_TLS_CERTFILE` | `string` | Certificate file to use. | |
117+
| - | `--email-tls-cert-key-file` | `CODER_EMAIL_TLS_CERTKEYFILE` | `string` | Certificate key file to use. | |
118118

119119
**NOTE:** you _MUST_ use `CODER_EMAIL_FORCE_TLS` if your smarthost supports TLS
120120
on a port other than `465`.
@@ -124,9 +124,11 @@ on a port other than `465`.
124124
After setting the required fields above:
125125

126126
1. Create an [App Password](https://myaccount.google.com/apppasswords) using the
127-
account you wish to send from
128-
2. Set the following configuration options:
129-
```
127+
account you wish to send from.
128+
129+
1. Set the following configuration options:
130+
131+
```text
130132
CODER_EMAIL_SMARTHOST=smtp.gmail.com:465
131133
CODER_EMAIL_AUTH_USERNAME=<user>@<domain>
132134
CODER_EMAIL_AUTH_PASSWORD="<app password created above>"
@@ -141,8 +143,9 @@ for more options.
141143
After setting the required fields above:
142144

143145
1. Setup an account on Microsoft 365 or outlook.com
144-
2. Set the following configuration options:
145-
```
146+
1. Set the following configuration options:
147+
148+
```text
146149
CODER_EMAIL_SMARTHOST=smtp-mail.outlook.com:587
147150
CODER_EMAIL_TLS_STARTTLS=true
148151
CODER_EMAIL_AUTH_USERNAME=<user>@<domain>

docs/admin/monitoring/notifications/teams.md

+109-109
Original file line numberDiff line numberDiff line change
@@ -21,115 +21,115 @@ following:
2121

2222
The process of setting up a Teams workflow consists of three key steps:
2323

24-
1. Configure the Webhook Trigger.
25-
26-
Begin by configuring the trigger: **"When a Teams webhook request is
27-
received"**.
28-
29-
Ensure the trigger access level is set to **"Anyone"**.
30-
31-
2. Setup the JSON Parsing Action.
32-
33-
Next, add the **"Parse JSON"** action, linking the content to the **"Body"**
34-
of the received webhook request. Use the following schema to parse the
35-
notification payload:
36-
37-
```json
38-
{
39-
"type": "object",
40-
"properties": {
41-
"_version": {
42-
"type": "string"
43-
},
44-
"payload": {
45-
"type": "object",
46-
"properties": {
47-
"_version": {
48-
"type": "string"
49-
},
50-
"user_email": {
51-
"type": "string"
52-
},
53-
"actions": {
54-
"type": "array",
55-
"items": {
56-
"type": "object",
57-
"properties": {
58-
"label": {
59-
"type": "string"
60-
},
61-
"url": {
62-
"type": "string"
63-
}
64-
},
65-
"required": ["label", "url"]
66-
}
67-
}
68-
}
69-
},
70-
"title": {
71-
"type": "string"
72-
},
73-
"body": {
74-
"type": "string"
75-
}
76-
}
77-
}
78-
```
79-
80-
This action parses the notification's title, body, and the recipient's email
81-
address.
82-
83-
3. Configure the Adaptive Card Action.
84-
85-
Finally, set up the **"Post Adaptive Card in a chat or channel"** action
86-
with the following recommended settings:
87-
88-
**Post as**: Flow Bot
89-
90-
**Post in**: Chat with Flow Bot
91-
92-
**Recipient**: `user_email`
93-
94-
Use the following _Adaptive Card_ template:
95-
96-
```json
97-
{
98-
"$schema": "https://adaptivecards.io/schemas/adaptive-card.json",
99-
"type": "AdaptiveCard",
100-
"version": "1.0",
101-
"body": [
102-
{
103-
"type": "Image",
104-
"url": "https://coder.com/coder-logo-horizontal.png",
105-
"height": "40px",
106-
"altText": "Coder",
107-
"horizontalAlignment": "center"
108-
},
109-
{
110-
"type": "TextBlock",
111-
"text": "**@{replace(body('Parse_JSON')?['title'], '"', '\"')}**"
112-
},
113-
{
114-
"type": "TextBlock",
115-
"text": "@{replace(body('Parse_JSON')?['body'], '"', '\"')}",
116-
"wrap": true
117-
},
118-
{
119-
"type": "ActionSet",
120-
"actions": [@{replace(replace(join(body('Parse_JSON')?['payload']?['actions'], ','), '{', '{"type": "Action.OpenUrl",'), '"label"', '"title"')}]
121-
}
122-
]
123-
}
124-
```
125-
126-
_Notice_: The Coder `actions` format differs from the `ActionSet` schema, so
127-
its properties need to be modified: include `Action.OpenUrl` type, rename
128-
`label` to `title`. Unfortunately, there is no straightforward solution for
129-
`for-each` pattern.
130-
131-
Feel free to customize the payload to modify the logo, notification title,
132-
or body content to suit your needs.
24+
1. Configure the Webhook Trigger.
25+
26+
Begin by configuring the trigger: **"When a Teams webhook request is
27+
received"**.
28+
29+
Ensure the trigger access level is set to **"Anyone"**.
30+
31+
1. Setup the JSON Parsing Action.
32+
33+
Add the **"Parse JSON"** action, linking the content to the **"Body"** of the
34+
received webhook request. Use the following schema to parse the notification
35+
payload:
36+
37+
```json
38+
{
39+
"type": "object",
40+
"properties": {
41+
"_version": {
42+
"type": "string"
43+
},
44+
"payload": {
45+
"type": "object",
46+
"properties": {
47+
"_version": {
48+
"type": "string"
49+
},
50+
"user_email": {
51+
"type": "string"
52+
},
53+
"actions": {
54+
"type": "array",
55+
"items": {
56+
"type": "object",
57+
"properties": {
58+
"label": {
59+
"type": "string"
60+
},
61+
"url": {
62+
"type": "string"
63+
}
64+
},
65+
"required": ["label", "url"]
66+
}
67+
}
68+
}
69+
},
70+
"title": {
71+
"type": "string"
72+
},
73+
"body": {
74+
"type": "string"
75+
}
76+
}
77+
}
78+
```
79+
80+
This action parses the notification's title, body, and the recipient's email
81+
address.
82+
83+
1. Configure the Adaptive Card Action.
84+
85+
Finally, set up the **"Post Adaptive Card in a chat or channel"** action with
86+
the following recommended settings:
87+
88+
**Post as**: Flow Bot
89+
90+
**Post in**: Chat with Flow Bot
91+
92+
**Recipient**: `user_email`
93+
94+
Use the following _Adaptive Card_ template:
95+
96+
```json
97+
{
98+
"$schema": "https://adaptivecards.io/schemas/adaptive-card.json",
99+
"type": "AdaptiveCard",
100+
"version": "1.0",
101+
"body": [
102+
{
103+
"type": "Image",
104+
"url": "https://coder.com/coder-logo-horizontal.png",
105+
"height": "40px",
106+
"altText": "Coder",
107+
"horizontalAlignment": "center"
108+
},
109+
{
110+
"type": "TextBlock",
111+
"text": "**@{replace(body('Parse_JSON')?['title'], '"', '\"')}**"
112+
},
113+
{
114+
"type": "TextBlock",
115+
"text": "@{replace(body('Parse_JSON')?['body'], '"', '\"')}",
116+
"wrap": true
117+
},
118+
{
119+
"type": "ActionSet",
120+
"actions": [@{replace(replace(join(body('Parse_JSON')?['payload']?['actions'], ','), '{', '{"type": "Action.OpenUrl",'), '"label"', '"title"')}]
121+
}
122+
]
123+
}
124+
```
125+
126+
_Notice_: The Coder `actions` format differs from the `ActionSet` schema, so
127+
its properties need to be modified: include `Action.OpenUrl` type, rename
128+
`label` to `title`. Unfortunately, there is no straightforward solution for
129+
`for-each` pattern.
130+
131+
Feel free to customize the payload to modify the logo, notification title, or
132+
body content to suit your needs.
133133

134134
## Enable Webhook Integration
135135

docs/admin/networking/index.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ However, Tailscale has graciously allowed us to use
133133
You can launch `coder server` with Tailscale's DERPs like so:
134134

135135
```bash
136-
$ coder server --derp-config-url https://controlplane.tailscale.com/derpmap/default
136+
coder server --derp-config-url https://controlplane.tailscale.com/derpmap/default
137137
```
138138

139139
#### Custom Relays
@@ -166,7 +166,7 @@ After you have custom DERP servers, you can launch Coder with them like so:
166166
```
167167

168168
```bash
169-
$ coder server --derp-config-path derpmap.json
169+
coder server --derp-config-path derpmap.json
170170
```
171171

172172
### Dashboard connections

docs/admin/networking/port-forwarding.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ protocol configuration for each shared port individually.
149149
You can access any port on the workspace and can configure the port protocol
150150
manually by appending a `s` to the port in the URL.
151151

152-
```
152+
```text
153153
# Uses HTTP
154154
https://33295--agent--workspace--user--apps.example.com/
155155
# Uses HTTPS

0 commit comments

Comments
 (0)