Skip to content

Commit 745890d

Browse files
authored
Merge branch 'main' into refresh_ai_rules
2 parents 0a96f52 + 5de7919 commit 745890d

File tree

5 files changed

+35
-26
lines changed

5 files changed

+35
-26
lines changed

docs/advanced/1_self_host/index.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,7 @@ The official Windmill docker-compose enables PID namespace isolation by default:
219219

220220
For additional security, you can enable NSJAIL sandboxing:
221221

222-
- **NSJAIL sandboxing** - Provides filesystem and resource isolation (requires using a `-nsjail` tagged image and setting `DISABLE_NSJAIL=false`)
222+
- **NSJAIL sandboxing** - Provides filesystem and resource isolation (set `DISABLE_NSJAIL=false` to enable)
223223

224224
#### Windows workers
225225

docs/advanced/security_isolation/index.mdx

Lines changed: 7 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ Windmill provides multiple layers of process isolation to protect your infrastru
77
Windmill workers execute user-provided code in various languages. To protect the worker process and the underlying infrastructure, Windmill implements multiple isolation strategies:
88

99
1. **PID Namespace Isolation** - Process memory and environment protection (disabled by default, requires configuration)
10-
2. **NSJAIL Sandboxing** - Filesystem, network, and resource isolation (optional, requires special image)
10+
2. **NSJAIL Sandboxing** - Filesystem, network, and resource isolation (optional)
1111
3. **Agent Workers** - Workers without direct database access, communicating via the API
1212
4. **Worker Groups** - Logical separation of workers that can be used to run workers on separate clusters with different network/resource access
1313

@@ -203,7 +203,7 @@ This approach is particularly useful when:
203203

204204
Agent workers can be combined with PID namespace isolation or NSJAIL for defense-in-depth.
205205

206-
## NSJAIL sandboxing (ee only)
206+
## NSJAIL sandboxing
207207

208208
### What is NSJAIL?
209209

@@ -216,28 +216,15 @@ Agent workers can be combined with PID namespace isolation or NSJAIL for defense
216216

217217
### When is NSJAIL used?
218218

219-
NSJAIL is **disabled by default** because:
220-
221-
- The default Windmill images do not include the nsjail binary
222-
- It requires using a special `-nsjail` tagged image
219+
NSJAIL is **disabled by default**. All Windmill images include the nsjail binary, so no special image is required.
223220

224221
### Enabling NSJAIL
225222

226-
NSJAIL sandboxing is an EE only feature. If you are on CE, use PID namespace isolation.
227-
228-
To use NSJAIL sandboxing, you need both:
229-
230-
1. **Use the nsjail image** - Switch to an image with nsjail pre-installed:
231-
232-
```yaml
233-
# In docker-compose.yml or your deployment config
234-
image: ghcr.io/windmill-labs/windmill-ee-nsjail
235-
```
223+
To enable NSJAIL sandboxing, set the environment variable:
236224

237-
2. **Enable NSJAIL** - Set the environment variable:
238-
```bash
239-
DISABLE_NSJAIL=false
240-
```
225+
```bash
226+
DISABLE_NSJAIL=false
227+
```
241228

242229
**When to enable NSJAIL:**
243230

@@ -302,8 +289,6 @@ windmill_worker:
302289
### NSJAIL sandboxing (maximum security)
303290

304291
```yaml
305-
# Use the nsjail image
306-
image: ghcr.io/windmill-labs/windmill-ee-nsjail
307292
environment:
308293
- DISABLE_NSJAIL=false
309294
```

docs/core_concepts/47_environment_variables/index.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ You can use them in a Script by clicking on "+Context Var":
2525
| SLEEP_QUEUE | 50 | The number of ms to sleep in between the last check for new jobs in the DB. It is multiplied by NUM_WORKERS such that in average, for one worker instance, there is one pull every SLEEP_QUEUE ms. | Worker |
2626
| KEEP_JOB_DIR | false | Keep the job directory after the job is done. Useful for debugging. | Worker |
2727
| ENABLE_UNSHARE_PID | false (true in docker-compose) | Enable PID namespace isolation to protect process memory and environment variables. Linux only. See [Security and Process Isolation](/docs/advanced/security_isolation) | Worker |
28-
| DISABLE_NSJAIL | true | NSJAIL sandboxing status. Default `true` means NSJAIL is **disabled**. Set to `false` to enable NSJAIL (requires `-nsjail` image). See [Security and Process Isolation](/docs/advanced/security_isolation) | Worker |
28+
| DISABLE_NSJAIL | true | NSJAIL sandboxing status. Default `true` means NSJAIL is **disabled**. Set to `false` to enable NSJAIL. See [Security and Process Isolation](/docs/advanced/security_isolation) | Worker |
2929
| UNSHARE_ISOLATION_FLAGS | --user --map-root-user --pid --fork --mount-proc | Customize unshare isolation flags when ENABLE_UNSHARE_PID is true. See [Security and Process Isolation](/docs/advanced/security_isolation) | Worker |
3030
| UNSHARE_TINI_PATH | tini | Path to tini binary for PID 1 signal handling in unshare namespaces. Ensures correct OOM exit codes. See [Security and Process Isolation](/docs/advanced/security_isolation) | Worker |
3131
| LICENSE_KEY (EE only) | None | License key checked at startup for the Enterprise Edition of Windmill | Worker |

docs/core_concepts/9_worker_groups/index.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -482,7 +482,7 @@ Windmill workers provide multiple layers of process isolation to protect your in
482482
Windmill supports two primary isolation mechanisms that can be used independently or together:
483483
484484
1. **PID namespace isolation** (enabled by default in docker-compose) - Protects process memory and environment variables
485-
2. **NSJAIL sandboxing** (optional, requires special image) - Provides filesystem, network, and resource isolation
485+
2. **NSJAIL sandboxing** (optional) - Provides filesystem, network, and resource isolation
486486
487487
### Environment variables
488488
@@ -491,7 +491,7 @@ Configure worker isolation through these environment variables:
491491
| Variable | Default | Description |
492492
|----------|---------|-------------|
493493
| `ENABLE_UNSHARE_PID` | `false` (true in docker-compose) | Enable PID namespace isolation using Linux unshare |
494-
| `DISABLE_NSJAIL` | `true` | Enable NSJAIL sandboxing (requires `-nsjail` image, set to `false` to enable) |
494+
| `DISABLE_NSJAIL` | `true` | Enable NSJAIL sandboxing (set to `false` to enable) |
495495
| `UNSHARE_ISOLATION_FLAGS` | `--user --map-root-user --pid --fork --mount-proc` | Customize unshare isolation flags |
496496
497497
### Default configuration

docs/integrations/teams.mdx

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -402,6 +402,30 @@ Instance-wide critical alerts are only visible to users with the [superadmin](..
402402
/>
403403
</div>
404404

405+
## Troubleshooting
406+
407+
### "The bot is not part of the conversation roster" error
408+
409+
This error occurs when Windmill tries to send a message to a Teams channel but the Bot Framework rejects the request. Common causes:
410+
411+
1. **Channel moderation rules**: If the Teams channel has posting restrictions (channel moderation enabled), the bot may not be allowed to post. Check your Teams channel settings and either:
412+
- Disable channel moderation
413+
- Add the Windmill bot to the list of users allowed to post
414+
415+
2. **Bot not installed in the team**: The Windmill Teams app must be installed in the team where you want to send messages. Verify the app appears in the team's "Apps" section.
416+
417+
3. **Bot ID mismatch** (self-hosted): For self-hosted instances, ensure your Azure AD App Registration client ID matches:
418+
- The Microsoft App ID in your Azure Bot Service
419+
- The `botId` in your Teams app manifest
420+
421+
### Messages not being delivered
422+
423+
If the bot appears to be connected but messages aren't being delivered, check the service URL region. The default service URL is for the Americas region. If your Teams tenant is in a different region, set the `TEAMS_SERVICE_URL` environment variable:
424+
- Americas: `https://smba.trafficmanager.net/amer/` (default)
425+
- EMEA: `https://smba.trafficmanager.net/emea/`
426+
- APAC: `https://smba.trafficmanager.net/apac/`
427+
- US Government (GCC): `https://smba.infra.gcc.teams.microsoft.com/`
428+
405429
<!-- Links -->
406430

407431
[hub-teams]: https://hub.windmill.dev/integrations/teams

0 commit comments

Comments
 (0)