You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/advanced/1_self_host/index.md
+1-2Lines changed: 1 addition & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -66,7 +66,7 @@ Windmill work with those providers using the docker containers and specific guid
66
66
67
67
Using Docker and Caddy, Windmill can be deployed using 4 files,
68
68
([`docker-compose.yml`][windmill-docker-compose],
69
-
[`Caddyfile`][windmill-caddyfile]), an .env and an empty oauth.json in a single command.
69
+
[`Caddyfile`][windmill-caddyfile])and an .env in a single command.
70
70
71
71
[Caddy][caddy] is the reverse proxy that will redirect traffic to both windmill (port 8000) and the lsp (the monaco assistant) service (port 3001) and multiplayer service (port 3002).
72
72
Postgres holds the entire state of windmill, the rest is fully stateless, Windmill-LSP provides editor intellisense.
@@ -77,7 +77,6 @@ Make sure docker is started (Mac: `open /Applications/Docker.app`, Windows: `sta
Windmill supports Single Sign-On for Microsoft, Google, GitHub, GitLab, Okta, and domain restriction.
4
4
5
-
The oauth.json need to be mounted from your Windmill server and worker instances. On the docker-compose.yml, this would correspond to uncommenting these [2 lines](https://github.com/windmill-labs/windmill/blob/main/docker-compose.yml#L42-L43), and those [2 other lines](https://github.com/windmill-labs/windmill/blob/main/docker-compose.yml#L65-L66) and have an oauth.json file in the same folder as the docker-compose.yml.
6
-
7
-
The oauth.json has the following structure:
8
-
9
-
```json
10
-
{
11
-
"<integration>": {
12
-
"id": "...",
13
-
"secret": "..."
14
-
},
15
-
....
16
-
}
17
-
```
18
-
19
-
> `<integration>` code must match with the code that is setup in [oauth_connect.json](https://github.com/windmill-labs/windmill/blob/main/backend/oauth_connect.json)
20
-
21
-
<br/>
22
-
23
-
For environments that do not support mounting files or if not practical, you may also pass it base64 as env variable to the server: `OAUTH_JSON_AS_BASE64=$(base64 oauth.json | tr -d '\n')`
5
+
OAuth configuration are set in the instance settings available from the superadmin settings.
24
6
25
7
## OAuth Resources
26
8
9
+

10
+
27
11
### Slack
28
12
29
13
1. Create a new slack app at <https://api.slack.com/apps?new_app=1>
@@ -69,17 +53,9 @@ settings:
69
53
token_rotation_enabled: false
70
54
```
71
55
72
-
1.
56
+
See screenshot above:
73
57
74
-
```json
75
-
{
76
-
...
77
-
"slack": {
78
-
"id": "<CLIENT_ID>",
79
-
"secret": "<CLIENT_SECRET>"
80
-
}
81
-
}
82
-
```
58
+
Superadmin Settings -> Instance Settings -> Resources -> Toggle "slack" -> set client id and client secret
Add the proper groups then click save. You should see your Client ID and Client Secret on the next screen then add the following entry "jumpcloud" to your oauth.json:
137
+
Add the proper groups then click save. You should see your Client ID and Client Secret on the next screen then add the following entry "jumpcloud":
179
138
180
-
```json
181
-
{
182
-
"jumpcloud": {
183
-
"id": "<CLIENT_ID>",
184
-
"secret": "<CLIENT_SECRET>",
185
-
"allowed_domains": ["youremaildomain.dev"]
186
-
}
187
-
}
188
-
```
139
+
Superadmin Settings -> Instance Settings -> SSO -> Toggle "jumpcloud" -> set client id and client secret
189
140
190
141

191
142
192
143
### Okta
193
144
194
-
Setup your `oauth.json` (e.g. via the `oauthConfig` in the values.yaml when using helm), using `okta` as the realm name, though
195
-
you can provide whatever realm name you want here, if you know what you're doing. This is configured as though helm is being
196
-
used for the deployment.
197
-
198
-
```
199
-
{
200
-
"okta": {
201
-
"id": "<client credential from the client ID section of the okta service configuration>",
202
-
"secret": "<from the CLIENT SECRETS section of the okta service configuration>",
Microsoft's Single Sign-On integration is supported by Windmill. Detailed steps for setting up Microsoft as an OAuth SSO provider will be provided in the upcoming documentation but the entry for the oauth.json is as following:
245
-
246
-
```json
247
-
{
248
-
"microsoft": {
249
-
"id": "<CLIENT_ID>",
250
-
"secret": "<CLIENT_SECRET>",
251
-
"allowed_domains": ["youremaildomain.dev"]
252
-
}
253
-
}
254
-
```
166
+
Superadmin Settings -> Instance Settings -> SSO -> Toggle "okta" -> set client id, org and client secret
GitHub's Single Sign-On integration is supported by Windmill. Detailed steps for setting up GitHub as an OAuth SSO provider will be provided in the upcoming documentation but the entry for the oauth.json is as following:
262
-
263
-
```json
264
-
{
265
-
"github": {
266
-
"id": "<CLIENT_ID>",
267
-
"secret": "<CLIENT_SECRET>",
268
-
"allowed_domains": ["youremaildomain.dev"]
269
-
}
270
-
}
271
-
```
173
+
Superadmin Settings -> Instance Settings -> SSO -> Toggle "github" -> set client id, org and client secret
GitLab's Single Sign-On integration is supported by Windmill. Detailed steps for setting up GitLab as an OAuth SSO provider will be provided in the upcoming documentation but the entry for the oauth.json is as following:
279
181
280
-
```json
281
-
{
282
-
"gitlab": {
283
-
"id": "<CLIENT_ID>",
284
-
"secret": "<CLIENT_SECRET>",
285
-
"allowed_domains": ["youremaildomain.dev"]
286
-
}
287
-
}
288
-
```
182
+
Superadmin Settings -> Instance Settings -> SSO -> Toggle "gitlab" -> set client id, org and client secret
289
183
290
184
### Custom OAuth
291
185
292
-
You can add a completely custom oauth without requiring a dev setup. The item accepts an extra optional field: `connect_config` or `login_config` of type OAuthConfig:
293
-
294
-
```
295
-
interface OAuthConfig {
296
-
auth_url: string,
297
-
token_url: string,
298
-
userinfo_url?: string,
299
-
scopes?: string[],
300
-
extra_params?: Record<string, string>,
301
-
extra_params_callback?: Record<string, string>,
302
-
req_body_auth?: bool
303
-
}
304
-
```
305
-
306
-
`connect_config` is used for resources, and `login_config` for SSO.
307
-
308
-
Once you have validated your custom item, we would be greateful if you could open a PR. See [Contributor's guide](../4_contributing/index.md) for more details.
186
+
You can use other custom OAuths as resources using the "Add OAuth" button in: Superadmin Settings -> Instance Settings -> Resources -> Add OAuth
0 commit comments