Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
shinyhub
command
cmd/shinyhub/worker.go
|
cmd/shinyhub/worker.go |
|
internal
|
|
|
admission
Package admission provides render-aware admission control primitives: a token-bucket pacer, effective-core detection, per-principal fairness, and a host CPU watermark.
|
Package admission provides render-aware admission control primitives: a token-bucket pacer, effective-core detection, per-principal fairness, and a host CPU watermark. |
|
appenv
Package appenv turns an app's stored environment variables into the "KEY=VALUE" slices the runtime injects at start time.
|
Package appenv turns an app's stored environment variables into the "KEY=VALUE" slices the runtime injects at start time. |
|
autoscale
Package autoscale provides a provider-agnostic replica autoscale controller.
|
Package autoscale provides a provider-agnostic replica autoscale controller. |
|
autoscalespec
Package autoscalespec holds the pure, I/O-free validation for a declared per-app autoscale policy.
|
Package autoscalespec holds the pure, I/O-free validation for a declared per-app autoscale policy. |
|
backup
Package backup implements first-class snapshot and restore of all ShinyHub durable state: the database, deployed app bundles, and per-app data dirs.
|
Package backup implements first-class snapshot and restore of all ShinyHub durable state: the database, deployed app bundles, and per-app data dirs. |
|
bundle
Package bundle defines the single source of truth for which files may appear inside a deploy bundle.
|
Package bundle defines the single source of truth for which files may appear inside a deploy bundle. |
|
bundletoken
Package bundletoken mints and verifies short-lived capability tokens that authorise a single fetch of one content-addressed bundle.
|
Package bundletoken mints and verifies short-lived capability tokens that authorise a single fetch of one content-addressed bundle. |
|
data
Package data implements the persistent per-app storage area exposed via `PUT/DELETE/GET /api/apps/:slug/data[/*path]` and the `shinyhub data` CLI.
|
Package data implements the persistent per-app storage area exposed via `PUT/DELETE/GET /api/apps/:slug/data[/*path]` and the `shinyhub data` CLI. |
|
dbtest
Package dbtest provides an env-aware store constructor for tests.
|
Package dbtest provides an env-aware store constructor for tests. |
|
deployfail
Package deployfail defines the stable vocabulary and classifier for why a deploy attempt failed.
|
Package deployfail defines the stable vocabulary and classifier for why a deploy attempt failed. |
|
fargate
Package fargate provides a process.Runtime backend that runs each app replica as an AWS ECS task on the Fargate launch type.
|
Package fargate provides a process.Runtime backend that runs each app replica as an AWS ECS task on the Fargate launch type. |
|
fleet
Package fleet implements the pure, I/O-free core of the fleet reconcile layer: manifest parsing, source-form classification, and the desired-vs- observed diff.
|
Package fleet implements the pure, I/O-free core of the fleet reconcile layer: manifest parsing, source-form classification, and the desired-vs- observed diff. |
|
history
Package history keeps a short, in-memory time series of per-app resource metrics (CPU, memory, sessions, instance count) for the dashboard's "Trends" view.
|
Package history keeps a short, in-memory time series of per-app resource metrics (CPU, memory, sessions, instance count) for the dashboard's "Trends" view. |
|
httproute
Package httproute propagates a matched HTTP route pattern through a request context as an immutable string.
|
Package httproute propagates a matched HTTP route pattern through a request context as an immutable string. |
|
identity
Package identity derives per-app identity keys, sanitizes group lists for header transport, and mints the signed identity token the proxy forwards to app processes.
|
Package identity derives per-app identity keys, sanitizes group lists for header transport, and mints the signed identity token the proxy forwards to app processes. |
|
leader
Package leader elects a single owner control-plane instance via a fenced, DB-backed lease.
|
Package leader elects a single owner control-plane instance via a fenced, DB-backed lease. |
|
localrun
Package localrun provides the foreground app runner for `shinyhub run`.
|
Package localrun provides the foreground app runner for `shinyhub run`. |
|
logging
Package logging wires a process-wide slog.Logger based on env config.
|
Package logging wires a process-wide slog.Logger based on env config. |
|
metrics
Package metrics exposes Prometheus instrumentation for the ShinyHub server process itself - HTTP request counts/latency for the control-plane API, the Go runtime and process collectors, and build/version + uptime gauges.
|
Package metrics exposes Prometheus instrumentation for the ShinyHub server process itself - HTTP request counts/latency for the control-plane API, the Go runtime and process collectors, and build/version + uptime gauges. |
|
proxytrust
Package proxytrust centralises the trust gate that controls whether X-Forwarded-* request headers are honoured.
|
Package proxytrust centralises the trust gate that controls whether X-Forwarded-* request headers are honoured. |
|
sandbox
Package sandbox applies best-effort, unprivileged process isolation to native app processes.
|
Package sandbox applies best-effort, unprivileged process isolation to native app processes. |
|
schedulespec
Package schedulespec defines schedule validation rules shared between the HTTP API and the deploy-manifest application path.
|
Package schedulespec defines schedule validation rules shared between the HTTP API and the deploy-manifest application path. |
|
secrets
Package secrets encrypts and decrypts small values (env var secrets) using AES-256-GCM with a key derived from the server's auth secret via HKDF-SHA256.
|
Package secrets encrypts and decrypts small values (env var secrets) using AES-256-GCM with a key derived from the server's auth secret via HKDF-SHA256. |
|
servertrace
Package servertrace adds optional OpenTelemetry tracing for the ShinyHub server process itself - spans for the control-plane API request handling, exported to the same OTLP endpoint the managed apps use.
|
Package servertrace adds optional OpenTelemetry tracing for the ShinyHub server process itself - spans for the control-plane API request handling, exported to the same OTLP endpoint the managed apps use. |
|
slug
Package slug holds the canonical slug-validation regex shared by the API server, CLI, and any future surface that needs to validate or display the rules.
|
Package slug holds the canonical slug-validation regex shared by the API server, CLI, and any future surface that needs to validate or display the rules. |
|
storage
Package storage owns ShinyHub's on-disk and pluggable storage concerns: the on-disk lifecycle helpers shared by the API and CLI (the slug-keyed convention for per-app directories, one under Storage.AppsDir for code and one under Storage.AppDataDir for persistent data), plus the DataVolume abstraction that provisions per-app mutable data on a single host's local disk (or, in a later phase, a shared backend).
|
Package storage owns ShinyHub's on-disk and pluggable storage concerns: the on-disk lifecycle helpers shared by the API and CLI (the slug-keyed convention for per-app directories, one under Storage.AppsDir for code and one under Storage.AppDataDir for persistent data), plus the DataVolume abstraction that provisions per-app mutable data on a single host's local disk (or, in a later phase, a shared backend). |
|
tracing
Package tracing implements lightweight W3C-trace-context propagation through the reverse proxy and a per-app ring buffer of recent slow/error proxy spans for the UI's Traces tab.
|
Package tracing implements lightweight W3C-trace-context propagation through the reverse proxy and a per-app ring buffer of recent slow/error proxy spans for the UI's Traces tab. |
|
upgrade
Package upgrade wraps github.com/cloudflare/tableflip behind a small interface so ShinyHub can perform zero-downtime, listener-preserving restarts (SIGHUP handoff) and unit-test the wiring with a fake.
|
Package upgrade wraps github.com/cloudflare/tableflip behind a small interface so ShinyHub can perform zero-downtime, listener-preserving restarts (SIGHUP handoff) and unit-test the wiring with a fake. |
|
worker
internal/worker/ca.go
|
internal/worker/ca.go |
|
worker/agent
internal/worker/agent/agent.go
|
internal/worker/agent/agent.go |
|
worker/api
Package api defines the JSON request/response types and the NDJSON streaming framing that form the wire contract between the ShinyHub control plane and a worker agent.
|
Package api defines the JSON request/response types and the NDJSON streaming framing that form the wire contract between the ShinyHub control plane and a worker agent. |
Click to show internal directories.
Click to hide internal directories.