Compare commits

...
Sign in to create a new pull request.

1 commit

Author SHA1 Message Date
Agent
a5c74fee7e fix: [nomad-step-5] S5-fix-5 — chat.hcl tmpfs syntax: use mount block not tmpfs argument (#1012)
Some checks failed
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/push/nomad-validate Pipeline failed
ci/woodpecker/pr/ci Pipeline was successful
ci/woodpecker/pr/nomad-validate Pipeline failed
ci/woodpecker/pr/secret-scan Pipeline was successful
2026-04-18 11:51:36 +00:00

View file

@ -10,7 +10,7 @@
# #
# Sandbox hardening (#706): # Sandbox hardening (#706):
# - Read-only root filesystem (enforced via entrypoint) # - Read-only root filesystem (enforced via entrypoint)
# - tmpfs /tmp:size=64m for runtime temp files # - tmpfs /tmp for runtime temp files (64MB)
# - cap_drop ALL (no Linux capabilities) # - cap_drop ALL (no Linux capabilities)
# - pids_limit 128 (prevent fork bombs) # - pids_limit 128 (prevent fork bombs)
# - mem_limit 512m (matches compose sandbox hardening) # - mem_limit 512m (matches compose sandbox hardening)
@ -89,19 +89,28 @@ job "chat" {
config { config {
image = "disinto/chat:local" image = "disinto/chat:local"
force_pull = false force_pull = false
# Sandbox hardening (#706): cap_drop ALL (no Linux capabilities)
# tmpfs /tmp for runtime files (64MB)
# pids_limit 128 (prevent fork bombs)
# ReadonlyRootfs enforced via entrypoint script (fails if running as root) # ReadonlyRootfs enforced via entrypoint script (fails if running as root)
cap_drop = ["ALL"]
tmpfs = ["/tmp:size=64m"]
pids_limit = 128
# Security options for sandbox hardening # Security options for sandbox hardening
# apparmor=unconfined needed for Claude CLI ptrace access # apparmor=unconfined needed for Claude CLI ptrace access
# no-new-privileges prevents privilege escalation # no-new-privileges prevents privilege escalation
security_opt = ["apparmor=unconfined", "no-new-privileges"] security_opt = ["apparmor=unconfined", "no-new-privileges"]
} }
# Sandbox hardening (#706)
# cap_drop ALL (no Linux capabilities)
# tmpfs /tmp for runtime files (64MB)
# pids_limit 128 (prevent fork bombs)
cap_drop = ["ALL"]
pids_limit = 128
mount {
type = "tmpfs"
target = "/tmp"
readonly = false
tmpfs_options {
size = 67108864 # 64MB in bytes
}
}
# Volume mounts # Volume mounts
# Mount chat-history for conversation persistence # Mount chat-history for conversation persistence
volume_mount { volume_mount {