Skip to content

Enhance security, update features, and add CI workflows#1

Merged
hiraeeth merged 2 commits into
mainfrom
canary
Jun 19, 2026
Merged

Enhance security, update features, and add CI workflows#1
hiraeeth merged 2 commits into
mainfrom
canary

Conversation

@hiraeeth

Copy link
Copy Markdown
Contributor

I think I've fixed some of the bugs, god bless claude.

hiraeeth added 2 commits June 19, 2026 23:54
Authentication & secrets
- Require auth tokens and shared secrets via environment variables; the
  proxy now refuses to start when a referenced secret variable is unset
  instead of expanding it to an empty string.
- Handle secrets through the secrecy/zeroize crates so token material is
  wrapped and zeroed rather than left in plain config structs.
- mTLS no longer falls back to using a cert CN as the role; unmatched
  certs are denied unless default_role is set (fail-closed).
- Serve the Prometheus metrics endpoint only after authentication.

Rules & request handling
- Add global.trusted_proxies (CIDR list); when the direct peer is trusted,
  client_ip rules derive the address from X-Real-Ip / X-Forwarded-For /
  Forwarded, using the rightmost untrusted XFF hop.
- Support nested or-condition groups and detect bind mounts via both
  HostConfig.Binds and HostConfig.Mounts.
- Document that response filters do not cover streaming exec sessions.

Hot reload
- SIGHUP now rebinds the listener using the new bind/port/tls settings so
  network and TLS changes take effect on reload.

Setup, release & packaging
- Publish and verify SHA256SUMS for release artifacts; optional GPG
  signing via DOCKER_PROXY_SIGNING_KEY producing SHA256SUMS.asc.
- Expand the setup wizard rule templates (14 -> 16) and refresh the
  install/update scripts and example configs.
- systemd unit: grant ReadWritePaths for /var/log for the audit log.

Docs
- Rework README quick start (download-then-inspect), document artifact
  verification, trusted proxies, metrics auth, and the mTLS role change.
- ci.yml: fmt, clippy, tests, script syntax checks, cross-compile build
  matrix, and an api_e2e job that runs the proxy against the runner Docker
  socket to verify auth, a deny rule, and the metrics endpoint
- release.yml: v*.*.* tag triggers cross-compile of all four targets,
  SHA256SUMS generation, optional GPG signing, and a GitHub Release whose
  asset names match what setup downloads
- README: one-line install, token retrieval, config-change steps, plus
  Continuous integration and Releasing sections
- fix clippy lints flagged by CI: unnecessary_sort_by in config.rs and
  while_let_loop in the unix SIGHUP reloader in main.rs
@hiraeeth hiraeeth merged commit 4a3c977 into main Jun 19, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant