Directories
¶
| Path | Synopsis |
|---|---|
|
api
|
|
|
cmd
|
|
|
audit-verify
command
Command audit-verify checks a home's audit spool.
|
Command audit-verify checks a home's audit spool. |
|
fiberd
command
Command fiberd verifies signed grants offline, mints fibers under them through a runtime, and serves the grant protocol (api/grant/v1) over gRPC.
|
Command fiberd verifies signed grants offline, mints fibers under them through a runtime, and serves the grant protocol (api/grant/v1) over gRPC. |
|
grant-issuer
command
Command grant-issuer is the reference issuer: it holds one signing key, mints CapacityGrant JWTs, and serves the OIDC discovery document and JWKS that homes verify against.
|
Command grant-issuer is the reference issuer: it holds one signing key, mints CapacityGrant JWTs, and serves the OIDC discovery document and JWKS that homes verify against. |
|
zygotectl
command
Command zygotectl builds, pushes, pulls and inspects zygote artifacts.
|
Command zygotectl builds, pushes, pulls and inspects zygote artifacts. |
|
examples
|
|
|
kubernetes
module
|
|
|
hack
|
|
|
cloudhv/fakevmm
command
Command fakevmm stands in for cloud-hypervisor where there is no KVM, so fiberd's cloudhv backend, the host runtime and the conformance suite run in CI as hack/hyperlight/fakehelper lets the hyperlight backend run.
|
Command fakevmm stands in for cloud-hypervisor where there is no KVM, so fiberd's cloudhv backend, the host runtime and the conformance suite run in CI as hack/hyperlight/fakehelper lets the hyperlight backend run. |
|
cloudhv/vmtemplate
command
Command vmtemplate is the reference template of the cloudhv backend: the workload the guest init runs in every micro-VM, and the fake VMM runs as its child without one.
|
Command vmtemplate is the reference template of the cloudhv backend: the workload the guest init runs in every micro-VM, and the fake VMM runs as its child without one. |
|
conform/registry
command
Command registry serves an OCI registry for conformance runs.
|
Command registry serves an OCI registry for conformance runs. |
|
fibctl
command
Command fibctl sends one line to a fiber's endpoint and prints the reply: the shell's way to talk to a reference-zygote fiber.
|
Command fibctl sends one line to a fiber's endpoint and prints the reply: the shell's way to talk to a reference-zygote fiber. |
|
hyperlight/fakehelper
command
Command fakehelper runs hack/hyperlight/fakehelper/helper as a process: hack/hyperlight/PROTOCOL.md without a hypervisor, so fiberd's hyperlight backend, the host runtime and the conformance suite can run in the Linux dev container.
|
Command fakehelper runs hack/hyperlight/fakehelper/helper as a process: hack/hyperlight/PROTOCOL.md without a hypervisor, so fiberd's hyperlight backend, the host runtime and the conformance suite can run in the Linux dev container. |
|
hyperlight/fakehelper/helper
Package helper serves hack/hyperlight/PROTOCOL.md without a hypervisor, each fiber a goroutine and each park a JSON file.
|
Package helper serves hack/hyperlight/PROTOCOL.md without a hypervisor, each fiber a goroutine and each park a JSON file. |
|
sessioncheck
command
Command sessioncheck is one session's round trip as a consumer sees it: mint a grant, Clone a named session, speak HTTP to the fiber over the endpoint Clone returned, Park it, Clone the same session again (a RESUME) and check the counter survived, then Release with discard.
|
Command sessioncheck is one session's round trip as a consumer sees it: mint a grant, Clone a named session, speak HTTP to the fiber over the endpoint Clone returned, Park it, Clone the same session again (a RESUME) and check the counter survived, then Release with discard. |
|
storm
command
Command storm drives an overcommit storm against a fiberd home and reports whether the pressure ladder parked fibers before the kernel killed anything.
|
Command storm drives an overcommit storm against a fiberd home and reports whether the pressure ladder parked fibers before the kernel killed anything. |
|
internal
|
|
|
cli
Package cli is the plumbing fiberd's commands share.
|
Package cli is the plumbing fiberd's commands share. |
|
pkg
|
|
|
artifact
Package artifact packages a zygote as an OCI artifact and moves it through a registry, so every home that holds a grant for a template warms byte-identical zygote pages from one content-addressed source.
|
Package artifact packages a zygote as an OCI artifact and moves it through a registry, so every home that holds a grant for a template warms byte-identical zygote pages from one content-addressed source. |
|
backend
Package backend is the seam between fiberd's host runtime and a sandbox mechanism.
|
Package backend is the seam between fiberd's host runtime and a sandbox mechanism. |
|
backend/cloudhv
Package cloudhv is the Cloud Hypervisor backend: every fiber is a cloud-hypervisor process holding one micro-VM, restored from a snapshot of the warm guest.
|
Package cloudhv is the Cloud Hypervisor backend: every fiber is a cloud-hypervisor process holding one micro-VM, restored from a snapshot of the warm guest. |
|
backend/gvisor
Package gvisor is the gVisor backend: every fiber is its own runsc sandbox, restored from a checkpoint of the warm template sandbox, so a fiber has a sandbox kernel between it and the host and the tier is FIBER_SNAPSHOT.
|
Package gvisor is the gVisor backend: every fiber is its own runsc sandbox, restored from a checkpoint of the warm template sandbox, so a fiber has a sandbox kernel between it and the host and the tier is FIBER_SNAPSHOT. |
|
backend/hyperlight
Package hyperlight is the Hyperlight backend: every fiber is a Hyperlight micro-VM restored from a snapshot of the warm guest, held by a helper process that fiberd starts per grant and drives over the line protocol in hack/hyperlight/PROTOCOL.md.
|
Package hyperlight is the Hyperlight backend: every fiber is a Hyperlight micro-VM restored from a snapshot of the warm guest, held by a helper process that fiberd starts per grant and drives over the line protocol in hack/hyperlight/PROTOCOL.md. |
|
backend/proc
Package proc is the fork backend.
|
Package proc is the fork backend. |
|
backend/runc
Package runc is the proc backend with a launcher that runs the zygote as the init of an OCI container.
|
Package runc is the proc backend with a launcher that runs the zygote as the init of an OCI container. |
|
core/coretest
Package coretest holds helpers for tests of code built on pkg/core.
|
Package coretest holds helpers for tests of code built on pkg/core. |
|
endpoint
Package endpoint is how a fiber's address is written, chosen and dialled.
|
Package endpoint is how a fiber's address is written, chosen and dialled. |
|
fiberd
Package fiberd is fiberd as a library: the flags, the wiring of verifier, runtime, ledger, pressure ladder, admin socket and RPC server, and the fixed startup order (epoch++ -> reconcile -> open RPC).
|
Package fiberd is fiberd as a library: the flags, the wiring of verifier, runtime, ledger, pressure ladder, admin socket and RPC server, and the fixed startup order (epoch++ -> reconcile -> open RPC). |
|
grant
Package grant encodes CapacityGrant as a signed JWT and verifies it offline.
|
Package grant encodes CapacityGrant as a signed JWT and verifies it offline. |
|
handoff
Package handoff is fiberd side of connection handoff.
|
Package handoff is fiberd side of connection handoff. |
|
home
Package home defines the seam between the invariant core and the environment that holds a grant: a standalone host, a Kubernetes grant Pod, a Slurm allocation.
|
Package home defines the seam between the invariant core and the environment that holds a grant: a standalone host, a Kubernetes grant Pod, a Slurm allocation. |
|
home/grantdir
Package grantdir delivers grants to every file-fed home from a directory polled for *.jwt files.
|
Package grantdir delivers grants to every file-fed home from a directory polled for *.jwt files. |
|
home/kubernetes
Package kubernetes is fiberd's home in a Kubernetes grant Pod, where fiberd is the Pod's one container.
|
Package kubernetes is fiberd's home in a Kubernetes grant Pod, where fiberd is the Pod's one container. |
|
home/kubernetes/fake
Package fake serves the Kubernetes home's slice of the API from memory, for tests that need no API server.
|
Package fake serves the Kubernetes home's slice of the API from memory, for tests that need no API server. |
|
home/standalone
Package standalone is the home for a plain host: no scheduler, no kubelet.
|
Package standalone is the home for a plain host: no scheduler, no kubelet. |
|
rpc
Package rpc serves the grant protocol (api/grant/v1) over gRPC on top of a core.Core, and optionally exposes a thin JSON gateway.
|
Package rpc serves the grant protocol (api/grant/v1) over gRPC on top of a core.Core, and optionally exposes a thin JSON gateway. |
|
runtime/host
Package host is the runtime every sandbox mechanism plugs into.
|
Package host is the runtime every sandbox mechanism plugs into. |
|
runtime/host/wsfs
Package wsfs is the file layer of a fiber's workspace.
|
Package wsfs is the file layer of a fiber's workspace. |
|
runtime/stub
Package stub is an in-memory runtime for tests and for the conformance suite's first target.
|
Package stub is an in-memory runtime for tests and for the conformance suite's first target. |
|
sys/caps
Package caps narrows the capabilities of fiberd and of everything it starts, such as criu, the zygote and a backend's helpers.
|
Package caps narrows the capabilities of fiberd and of everything it starts, such as criu, the zygote and a backend's helpers. |
|
sys/cgroup
Package cgroup is a thin view of a delegated cgroup v2 subtree: create leaves with a memory ceiling and group OOM, open them for clone3, read what they charge, and kill them.
|
Package cgroup is a thin view of a delegated cgroup v2 subtree: create leaves with a memory ceiling and group OOM, open them for clone3, read what they charge, and kill them. |
|
sys/criu
Package criu wraps the criu command line for the two things fiberd needs: dump one fiber's process tree into an image directory, and restore it later into a cgroup leaf of the runtime's choosing.
|
Package criu wraps the criu command line for the two things fiberd needs: dump one fiber's process tree into an image directory, and restore it later into a cgroup leaf of the runtime's choosing. |
|
sys/helper
Package helper starts the programs fiberd hands privileged work to, such as criu, runc, runsc and ldd.
|
Package helper starts the programs fiberd hands privileged work to, such as criu, runc, runsc and ldd. |
|
sys/mounts
Package mounts prepares what a container mounts read-only before fiberd builds its runtime.
|
Package mounts prepares what a container mounts read-only before fiberd builds its runtime. |
|
sys/netns
Package netns runs small pieces of work inside another process's network namespace.
|
Package netns runs small pieces of work inside another process's network namespace. |
|
tlsconf
Package tlsconf builds the control plane's TLS configurations, for the fiberd's mutual-TLS server and for the callers that dial it.
|
Package tlsconf builds the control plane's TLS configurations, for the fiberd's mutual-TLS server and for the callers that dial it. |
|
tlsconf/tlsconftest
Package tlsconftest issues throwaway certificates for tests that need TLS or mutual TLS, in the spirit of net/http/httptest.
|
Package tlsconftest issues throwaway certificates for tests that need TLS or mutual TLS, in the spirit of net/http/httptest. |
|
sdk
|
|
|
go/client
Package client is the grant protocol from the caller's side: a client for Clone, Park, Release, Discard and Watch that turns the two miss outcomes into typed errors a consumer branches on.
|
Package client is the grant protocol from the caller's side: a client for Clone, Park, Release, Discard and Watch that turns the two miss outcomes into typed errors a consumer branches on. |
Click to show internal directories.
Click to hide internal directories.