Commit Graph

10 Commits

Author SHA1 Message Date
jasonwitty 5637dea10b Gate image builds on socktop CLI compatibility; fix agent probe; caps for entrypoint
Build and Deploy to K3s / test (push) Successful in 1m31s
Build and Deploy to K3s / lint (push) Successful in 59s
Build and Deploy to K3s / build-and-push (push) Successful in 5m40s
Build and Deploy to K3s / deploy (push) Successful in 1m9s
- CI now builds the image locally on the (arm64) runner and runs
  scripts/verify-image-socktop-flags.sh before pushing: every --flag the
  restricted/session shells pass must be documented by the socktop
  binary actually installed in the image. Catches the 0.3.9 failure
  class (cached apt layer shipping a pre-flag socktop) at build time.
- Manifest adds CHOWN/DAC_OVERRIDE/FOWNER alongside SETUID/SETGID:
  with ALL dropped, uid 0 has no implicit file privilege and
  prepare_demo_home crash-looped on the demo-owned 700 home dir.
  Sessions still run with zero capabilities via setpriv.
- Agent liveness probe uses /proc instead of kill -0: without CAP_KILL
  even root gets EPERM signalling the socktop-user agent, so the old
  check false-alarmed in the pod logs.
- 0.3.11

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-24 09:46:27 -07:00
jasonwitty 6711ac030f Pin socktop apt version (1.60.2-1); bump to 0.3.10
Build and Deploy to K3s / test (push) Successful in 1m33s
Build and Deploy to K3s / lint (push) Successful in 1m0s
Build and Deploy to K3s / build-and-push (push) Successful in 5m17s
Build and Deploy to K3s / deploy (push) Successful in 1m9s
Image 0.3.9 baked socktop 1.60.1 because CI's registry layer cache reused
the apt-install layer from before the 1.60.2 release. 1.60.1 has no
--no-kill flag, so the restricted shell's invocation parsed it as the
positional websocket URL, breaking (and on overwrite, corrupting) the
local profile. Pinning the package version busts the cache and ties the
installed binary to the flags the restricted shell uses.

Also point the manifest's webterm container at the current tag so a
manual kubectl apply cannot roll the image back to 0.2.2.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-24 09:16:29 -07:00
jasonwitty 15ace386e3 update restricted shell to force (–no-kill) option.
Build and Deploy to K3s / test (push) Successful in 1m34s
Build and Deploy to K3s / lint (push) Successful in 58s
Build and Deploy to K3s / build-and-push (push) Successful in 2m3s
Build and Deploy to K3s / deploy (push) Successful in 8s
2026-08-24 07:33:43 -07:00
jason 57e8ad6f78 Revert "Update deployment to use version 0.3.5 from Cargo.toml"
This reverts commit 634e28113b.
2025-11-30 09:23:48 -08:00
jason 634e28113b Update deployment to use version 0.3.5 from Cargo.toml
Build and Deploy to K3s / test (push) Successful in 2m6s
Build and Deploy to K3s / lint (push) Successful in 1m33s
Build and Deploy to K3s / build-and-push (push) Successful in 37s
Build and Deploy to K3s / deploy (push) Successful in 1m59s
2025-11-30 09:09:15 -08:00
jason 6915079e5c Fix K8s deployment with init container and proper security context
Build and Deploy to K3s / test (push) Successful in 2m5s
Build and Deploy to K3s / lint (push) Successful in 1m33s
Build and Deploy to K3s / build-and-push (push) Successful in 48s
Build and Deploy to K3s / deploy (push) Failing after 5m42s
- Add init container to set up config files with correct ownership
- Run main container as socktop user (UID 100, GID 101) from the start
- Use fsGroup to ensure proper volume permissions
- Add emptyDir volume for /var/lib/socktop to avoid permission issues
- Create docker-entrypoint.sh wrapper to detect root vs non-root execution
  - Root mode: uses init-config.sh for Docker/docker-compose
  - Non-root mode: directly runs entrypoint.sh for K8s
- Update deployment command format to work with new entrypoint

This resolves 'Operation not permitted' errors when running in K8s
with security contexts that restrict user switching and ownership changes.
2025-11-30 04:22:43 -08:00
jason b1030154ea use https container path
Build and Deploy to K3s / build-and-push (push) Successful in 36s
Build and Deploy to K3s / deploy (push) Failing after 5m9s
2025-11-28 13:05:11 -08:00
jason b50cb50f14 set host networking to false 2025-11-28 12:49:54 -08:00
jason a81568f907 - generally file cleanup and organize. - remove incorrect prompt text. 2025-11-28 10:23:53 -08:00
jason 6e48c095ab Initial commit: Socktop WebTerm with k3s deployment
- Multi-architecture Docker image (ARM64 + AMD64)
- Kubernetes manifests for 3-replica deployment
- Traefik ingress configuration
- NGINX Proxy Manager integration
- ConfigMap-based configuration
- Automated build and deployment scripts
- Session monitoring tools
2025-11-28 01:31:33 -08:00