Commit graph

7 commits

Author SHA1 Message Date
docker-claude
89a3d3dae5 security: use dhi image for the proxy as well
Some checks failed
Build images / check-docker (push) Successful in 3s
Build images / scan (push) Failing after 1m26s
Build images / build-and-push (push) Has been skipped
2026-04-16 22:52:33 +02:00
docker-claude
51e7ab2b08 fix(proxy): close port-6443 allowlist bypass in squid ACLs
All checks were successful
Build images / check-docker (push) Successful in 3s
Build images / build-and-push (push) Successful in 5m16s
The kubectl_api ACL allowed CONNECT tunnels to any host on port 6443,
bypassing the domain allowlist entirely. Remove it and require cluster
hostnames to be added explicitly to allowed_sites instead.

Also remove the localhost and .local entries — these aren't needed for
Claude Code or the configured MCP servers.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-16 10:07:22 +02:00
docker-claude
c328427517 feat(proxy): allow platform.claude.com in egress allowlist 2026-04-15 17:53:26 +02:00
docker-claude
659fb3f339 feat(proxy): allow CONNECT tunnels to Kubernetes API server port 6443 2026-04-15 08:49:11 +02:00
docker-claude
e19d4eb0a3 feat(mcp): add GitHub, GitLab, Jira, and Confluence MCP servers
Install four MCP servers globally in the claude image:
  @modelcontextprotocol/server-github  → mcp-server-github
  @yoda.digital/gitlab-mcp-server      → gitlab-mcp-server
  @aashari/mcp-server-atlassian-jira   → mcp-atlassian-jira
  @aashari/mcp-server-atlassian-confluence → mcp-atlassian-confluence

Wire them in managed-settings.json via mcpServers with env var
pass-through. Jira and Confluence share ATLASSIAN_* credentials.
Add api.github.com, .gitlab.com, .atlassian.net to the squid
allowlist. All credentials are optional — servers are skipped
if the relevant env vars are unset.
2026-04-14 23:09:42 +02:00
docker-claude
88805a3c24 refactor(docker): migrate both images to Alpine
Replace node:20-slim/ubuntu:22.04 with node:20-alpine/alpine:3.21.
Switch package management from apt to apk (--no-cache, no cleanup layer).
Use Alpine addgroup/adduser in claude/Dockerfile. Update proxy to use
squid user (Alpine convention) and /var/cache/squid cache path.
Fix proxy/Dockerfile COPY path now that context is proxy/. Move
webui-entrypoint.sh into claude/ to match its build context. Fix
docker-compose.yml webui context to claude/, update proxy tmpfs path.
2026-04-14 22:40:57 +02:00
c01102b641 initial 2026-04-14 20:11:24 +02:00