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
768487c268
bump cargo version
Build and Deploy to K3s / test (push) Successful in 1m35s
Build and Deploy to K3s / lint (push) Successful in 59s
Build and Deploy to K3s / build-and-push (push) Successful in 5m37s
Build and Deploy to K3s / deploy (push) Successful in 1m20s
2026-08-24 08:34:22 -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
jasonwitty
c540beba18
update restricted shell to force (--no-kill) option.
Build and Deploy to K3s / test (push) Has been cancelled
Build and Deploy to K3s / lint (push) Has been cancelled
Build and Deploy to K3s / build-and-push (push) Has been cancelled
Build and Deploy to K3s / deploy (push) Has been cancelled
2026-08-24 07:33:11 -07:00
jasonwitty
0b05f4bb92
remove node_modules from required_dirs
Build and Deploy to K3s / test (push) Successful in 17s
Build and Deploy to K3s / lint (push) Successful in 1m3s
Build and Deploy to K3s / build-and-push (push) Successful in 35s
Build and Deploy to K3s / deploy (push) Successful in 2m0s
2026-08-23 23:57:31 -07:00
jasonwitty
e6d1e170fd
fix build warnings
Build and Deploy to K3s / lint (push) Has been cancelled
Build and Deploy to K3s / build-and-push (push) Has been cancelled
Build and Deploy to K3s / deploy (push) Has been cancelled
Build and Deploy to K3s / test (push) Has been cancelled
2026-08-23 23:50:04 -07:00
jasonwitty
f630a44a5d
cancel previous builds on workflow run to avoid race condition.
Build and Deploy to K3s / test (push) Has been cancelled
Build and Deploy to K3s / lint (push) Has been cancelled
Build and Deploy to K3s / build-and-push (push) Has been cancelled
Build and Deploy to K3s / deploy (push) Has been cancelled
2026-08-23 23:42:52 -07:00
jasonwitty
dc7b51453e
remove known issues page
Build and Deploy to K3s / test (push) Failing after 15m2s
Build and Deploy to K3s / lint (push) Has been skipped
Build and Deploy to K3s / build-and-push (push) Has been skipped
Build and Deploy to K3s / deploy (push) Has been cancelled
2026-08-23 23:26:28 -07:00
jasonwitty
74726441c6
bump cargo version
Build and Deploy to K3s / test (push) Failing after 16m38s
Build and Deploy to K3s / lint (push) Has been skipped
Build and Deploy to K3s / build-and-push (push) Has been skipped
Build and Deploy to K3s / deploy (push) Failing after 12m32s
2026-08-23 23:09:18 -07:00
jasonwitty
5c03b92807
docs: 1.60 update — fix fabricated content, add kill/platform/known-issues docs
...
Build and Deploy to K3s / test (push) Successful in 1m55s
Build and Deploy to K3s / lint (push) Failing after 13m39s
Build and Deploy to K3s / build-and-push (push) Has been skipped
Build and Deploy to K3s / deploy (push) Failing after 14m58s
- Rewrite configuration.md from the real CLI/env surface (the page documented
~10 agent flags, /etc/default/socktop-agent, and env vars that don't exist)
- Fix token docs: SOCKTOP_TOKEN env + URL query param; client -t is --tls-ca,
not a token flag
- Rewrite agent-integration.md: requests are plain text (get_metrics, ...),
not JSON; correct proto schema, real GPU/metrics fields, 1.60 additive
fields (sampled_at_ms, timestamp_us, journal notice)
- Fix connector.md: real ConnectorConfig builder API, error variants,
examples list; bump to 1.60
- Document the 1.60 process kill feature (usage/general + keyboard-mouse)
- TLS: document exact-match pinning semantics, cert rotation, key perms,
upgrade-clients-first note; genericize profile example
- Agent service: journal access setup (systemd-journal group), packaged-
service cert path, drop fake positional-port form, fix broken fences
- New pages: Platform Notes (Windows/macOS/RISC-V/Pi kernel tip, ARMv7
--no-default-features) and Known Issues
- Fedora build prereqs: libdrm-devel + libdrm-amdgpu (closes socktop#35)
- Freshen intro (1.60, new demo apng, correct crates.io names, GitHub
Releases link), quick-start, upgrading (order notes, stale-binary tip),
zellij (remove invalid pane_template example)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-23 21:35:27 -07:00
jasonwitty
98f8b4a865
increment cargo version
Build and Deploy to K3s / test (push) Successful in 1m32s
Build and Deploy to K3s / lint (push) Successful in 58s
Build and Deploy to K3s / build-and-push (push) Successful in 5m12s
Build and Deploy to K3s / deploy (push) Successful in 2m11s
2026-05-19 11:18:00 -07:00
jasonwitty
af5ab94521
fix: add ~/.cargo/bin to PATH for inline rustup run steps
...
Build and Deploy to K3s / test (push) Successful in 1m33s
Build and Deploy to K3s / lint (push) Successful in 58s
Build and Deploy to K3s / build-and-push (push) Successful in 7m56s
Build and Deploy to K3s / deploy (push) Successful in 9s
The act runner uses a minimal PATH for inline run: steps that does not
include ~/.cargo/bin. Add it explicitly via both export PATH and
GITHUB_PATH so rustup/cargo are available in the setup step and all
subsequent steps.
2026-05-18 16:29:03 -07:00
jasonwitty
1ea8768616
fix: replace setup-rust-toolchain action with inline rustup commands
...
Build and Deploy to K3s / test (push) Failing after 5s
Build and Deploy to K3s / lint (push) Has been skipped
Build and Deploy to K3s / build-and-push (push) Has been skipped
Build and Deploy to K3s / deploy (push) Has been skipped
The Swatinem/rust-cache action bundled in actions-rust-lang/setup-rust-toolchain@v1
was updated to require node24, which is not supported by the self-hosted act
runner (v0.2.6). Even with cache:false, act eagerly loads pre-steps for all
nested actions regardless of conditions, and the node24 incompatibility in
the rust-cache pre-step caused the parent step to be marked as failed —
skipping Run tests entirely.
Replace both test and lint toolchain setup steps with direct rustup shell
commands to eliminate the dependency on the composite action entirely.
2026-05-18 16:26:26 -07:00
jasonwitty
7e5a246269
resolve build failures
...
Build and Deploy to K3s / test (push) Failing after 11s
Build and Deploy to K3s / lint (push) Has been skipped
Build and Deploy to K3s / build-and-push (push) Has been skipped
Build and Deploy to K3s / deploy (push) Has been skipped
https://gt.wittyoneoff.com/jason/socktop-webterm/actions/runs/30
Removed `use std::convert::TryFrom` — redundant in Rust 2021 edition (belt-and-suspenders cleanup)
Removed `use std::convert::TryFrom` — redundant in Rust 2021 edition (belt-and-suspenders cleanup)
2026-05-18 16:22:41 -07:00
jasonwitty
828bc39229
Update quick-start.md
...
Build and Deploy to K3s / test (push) Failing after 46s
Build and Deploy to K3s / lint (push) Has been skipped
Build and Deploy to K3s / build-and-push (push) Has been skipped
Build and Deploy to K3s / deploy (push) Has been skipped
add missing apt update command to quick start documentation
2026-05-18 15:55:58 -07:00
jasonwitty
6ea9c6a7a1
add analytics to docs pages
Build and Deploy to K3s / test (push) Successful in 2m9s
Build and Deploy to K3s / lint (push) Successful in 1m35s
Build and Deploy to K3s / build-and-push (push) Successful in 4m29s
Build and Deploy to K3s / deploy (push) Successful in 9s
2025-12-07 00:43:10 -08:00
jason
dd11072560
Fix clippy warnings: remove needless borrows in build.rs
Build and Deploy to K3s / test (push) Successful in 2m8s
Build and Deploy to K3s / lint (push) Successful in 1m36s
Build and Deploy to K3s / build-and-push (push) Successful in 4m7s
Build and Deploy to K3s / deploy (push) Successful in 11s
2025-12-01 15:28:51 -08:00
jason
bd31410d5a
Add mdBook documentation with Ghostty-style sidebar
Build and Deploy to K3s / test (push) Successful in 2m10s
Build and Deploy to K3s / lint (push) Failing after 1m27s
Build and Deploy to K3s / build-and-push (push) Has been skipped
Build and Deploy to K3s / deploy (push) Has been skipped
2025-12-01 15:17:35 -08:00
jason
ef7d4cccc1
Add mdBook documentation with Ghostty-style sidebar
2025-12-01 15:17:35 -08:00
jason
012e22ea6f
Update README.md
Build and Deploy to K3s / test (push) Successful in 2m8s
Build and Deploy to K3s / lint (push) Successful in 1m34s
Build and Deploy to K3s / build-and-push (push) Successful in 5m17s
Build and Deploy to K3s / deploy (push) Successful in 9s
2025-12-01 08:53:56 +00:00
jason
d7efa60cea
send command telemetry one word at a time instead of one letter at a
...
Build and Deploy to K3s / deploy (push) Blocked by required conditions
Build and Deploy to K3s / test (push) Successful in 2m9s
Build and Deploy to K3s / lint (push) Successful in 1m34s
Build and Deploy to K3s / build-and-push (push) Has been cancelled
time. remove escape sequences.
2025-12-01 00:48:25 -08:00
jason
7bfbe0d86e
Switch to forked pop-telemetry with custom Umami endpoint support
...
Build and Deploy to K3s / test (push) Successful in 2m13s
Build and Deploy to K3s / lint (push) Successful in 1m37s
Build and Deploy to K3s / build-and-push (push) Successful in 5m22s
Build and Deploy to K3s / deploy (push) Successful in 9s
- Use forked pop-telemetry from github.com/jasonwitty/pop-cli
- Implement init_with_website_id to configure custom endpoint and website ID
- Add --umami-endpoint and --umami-website-id CLI parameters
- Default endpoint: http://unami.wittyoneoff.com/api/send
- Default website ID: caefa16f-86af-4835-8b82-c8649aea0e2a
- Maintains backward compatibility with config file opt-out support
This allows webterm to send analytics to our self-hosted Umami instance
instead of the default pop-cli telemetry endpoint.
2025-11-30 22:44:19 -08:00
jason
4204773492
connect to unami over https./
Build and Deploy to K3s / test (push) Successful in 2m6s
Build and Deploy to K3s / lint (push) Successful in 1m31s
Build and Deploy to K3s / build-and-push (push) Successful in 5m21s
Build and Deploy to K3s / deploy (push) Successful in 1m14s
2025-11-30 09:44:00 -08: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
ffbdd5da0b
update cargo version
Build and Deploy to K3s / test (push) Successful in 2m5s
Build and Deploy to K3s / lint (push) Successful in 1m34s
Build and Deploy to K3s / build-and-push (push) Successful in 5m1s
Build and Deploy to K3s / deploy (push) Failing after 10m9s
2025-11-30 08:39:48 -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
e870e2e4ec
Upgrade to Rust 1.91 and migrate to pop-telemetry 0.12.1
...
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 5m24s
Build and Deploy to K3s / deploy (push) Failing after 10m8s
- Updated Rust toolchain from 1.90 to 1.91 (required by pop-telemetry)
- Migrated analytics to use pop-telemetry crate for privacy-focused telemetry
- Added dirs dependency for cross-platform config directory handling
- Refactored init-config.sh to handle permission restrictions in K8s
- Gracefully handles chown failures in restricted security contexts
- Uses alternative copy methods (cat > file) when cp fails
- Continues operation with warnings instead of failing
- Updated Dockerfile to use rust:1.91-slim-bookworm base image
- Changed telemetry configuration from endpoint/website_id to config file path
This addresses permission denied errors when deploying to K3s with
security contexts that prevent ownership changes on pre-existing directories.
2025-11-30 04:01:43 -08:00
jason
39e0f55fc4
permission issue hotfix
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 53s
Build and Deploy to K3s / deploy (push) Failing after 8s
2025-11-30 03:49:09 -08:00
jason
e0535a033b
hotfix for telemetry hotfix for profiles config
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 5m35s
Build and Deploy to K3s / deploy (push) Failing after 8s
2025-11-30 03:34:08 -08:00
jason
d3f95b8c52
patch for missing profiles file
Build and Deploy to K3s / test (push) Successful in 2m3s
Build and Deploy to K3s / lint (push) Successful in 1m31s
Build and Deploy to K3s / build-and-push (push) Successful in 5m17s
Build and Deploy to K3s / deploy (push) Failing after 10m8s
2025-11-30 02:33:43 -08:00
jason
d554574e30
fix certs path, increment cargo version.
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 5m21s
Build and Deploy to K3s / deploy (push) Successful in 1m50s
2025-11-30 01:57:56 -08:00
jason
850cf32b50
- add cargo fmt / clippy to actions build. - add common unit tests. -
...
Build and Deploy to K3s / test (push) Successful in 2m40s
Build and Deploy to K3s / lint (push) Successful in 1m33s
Build and Deploy to K3s / build-and-push (push) Successful in 5m17s
Build and Deploy to K3s / deploy (push) Successful in 9s
improved security sanitization - security spcecific unit tests - add
unit tests to workflow build - add unami analytics.
2025-11-30 01:37:07 -08:00
jason
9fb9d9ab50
--no-install-recommends to trim image size
Build and Deploy to K3s / build-and-push (push) Successful in 5m30s
Build and Deploy to K3s / deploy (push) Successful in 8s
2025-11-28 16:22:08 -08:00
jason
2012504616
- trim container image size - sanitize socktop inputs
2025-11-28 16:20:18 -08:00
jason
e224989702
- remove random ass copypasta in deployment yaml - fix gitea link
Build and Deploy to K3s / build-and-push (push) Successful in 4m24s
Build and Deploy to K3s / deploy (push) Successful in 10m12s
2025-11-28 14:59:42 -08:00
jason
29a97a43a9
update README and CARGO VERSION
Build and Deploy to K3s / build-and-push (push) Successful in 4m22s
Build and Deploy to K3s / deploy (push) Failing after 9s
2025-11-28 14:45:14 -08:00
jason
12f2d6e6af
- modernize packages and rust edition. - increase timeout for rollout -
...
Build and Deploy to K3s / deploy (push) Blocked by required conditions
Build and Deploy to K3s / build-and-push (push) Has been cancelled
increment cargo version
2025-11-28 14:43:49 -08:00
jason
b365ac38e3
add screenshot
2025-11-28 14:12:14 -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
61297c66dd
specify coprret kube namespace
Build and Deploy to K3s / build-and-push (push) Successful in 37s
Build and Deploy to K3s / deploy (push) Failing after 5s
2025-11-28 12:58:59 -08:00
jason
b50cb50f14
set host networking to false
2025-11-28 12:49:54 -08:00
jason
01c85cbb7a
Add deployment creation if it doesn't exist
Build and Deploy to K3s / build-and-push (push) Successful in 34s
Build and Deploy to K3s / deploy (push) Failing after 5m9s
2025-11-28 12:41:34 -08:00
jason
58fd99b760
Verify deployment access instead of node access
Build and Deploy to K3s / build-and-push (push) Successful in 35s
Build and Deploy to K3s / deploy (push) Failing after 6s
2025-11-28 12:36:09 -08:00
jason
77e4c1a530
Remove cluster-info check
Build and Deploy to K3s / build-and-push (push) Successful in 34s
Build and Deploy to K3s / deploy (push) Failing after 6s
2025-11-28 12:34:21 -08:00
jason
eeb8c7f334
fix kubectl arch so can build on ARM.
Build and Deploy to K3s / build-and-push (push) Successful in 34s
Build and Deploy to K3s / deploy (push) Failing after 6s
2025-11-28 12:32:21 -08:00
jason
e2ddc721f2
remove port from registry location, connect over port 443 (default)
Build and Deploy to K3s / build-and-push (push) Successful in 10m3s
Build and Deploy to K3s / deploy (push) Has been cancelled
2025-11-28 12:10:26 -08:00
jason
1257912c08
switch to https domain name for image registry.
Build and Deploy to K3s / build-and-push (push) Failing after 36s
Build and Deploy to K3s / deploy (push) Has been skipped
2025-11-28 12:08:24 -08:00
jason
95e1212256
add network diagram
2025-11-28 11:48:46 -08:00