Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
tnl
command
Command tnl is the client entry point for tnl.
|
Command tnl is the client entry point for tnl. |
|
tnlbench
command
Command tnlbench measures a tnl server from local publishers and visitors.
|
Command tnlbench measures a tnl server from local publishers and visitors. |
|
tnld
command
Command tnld runs the tnl server daemon.
|
Command tnld runs the tnl server daemon. |
|
internal
|
|
|
benchworkload
Package benchworkload contains the publisher and visitor workloads shared by local runtime tests and deployed benchmarks.
|
Package benchworkload contains the publisher and visitor workloads shared by local runtime tests and deployed benchmarks. |
|
browserfonts
package browserfonts owns the bundled Fira Code assets used by tnl browser UI.
|
package browserfonts owns the bundled Fira Code assets used by tnl browser UI. |
|
client/auth
package clientauth separates ordinary authenticated requests from explicit login.
|
package clientauth separates ordinary authenticated requests from explicit login. |
|
client/authority
Package authorityclient calls the authority API.
|
Package authorityclient calls the authority API. |
|
client/control
Package controlclient calls the tnl control API.
|
Package controlclient calls the tnl control API. |
|
client/filelock
Package filelock acquires user-owned, mode-0600 regular lock files on Unix.
|
Package filelock acquires user-owned, mode-0600 regular lock files on Unix. |
|
client/project
Package projectconfig finds, loads, and validates project configuration.
|
Package projectconfig finds, loads, and validates project configuration. |
|
client/project/githubmetadata
package githubmetadata resolves immutable repository metadata during trusted apply.
|
package githubmetadata resolves immutable repository metadata during trusted apply. |
|
client/project/init
package projectinit owns project initialization planning, safe edits, and project-local dependency installation.
|
package projectinit owns project initialization planning, safe edits, and project-local dependency installation. |
|
client/project/meta
Package projectmeta validates and writes browser-safe project metadata.
|
Package projectmeta validates and writes browser-safe project metadata. |
|
client/project/resolve
package resolve composes project selection with client state and current server facts.
|
package resolve composes project selection with client state and current server facts. |
|
client/project/sourcestate
package sourcestate records bounded Git identifiers without saving source files.
|
package sourcestate records bounded Git identifiers without saving source files. |
|
client/project/workloadmanifest
package workloadmanifest owns the nonsecret build-to-runtime workload context.
|
package workloadmanifest owns the nonsecret build-to-runtime workload context. |
|
client/server
package clientserver selects the control URL shared by native clients.
|
package clientserver selects the control URL shared by native clients. |
|
client/state
package clientstate owns fresh v1 SQLite state, authenticated secret storage, and the transactional project journal shared by apps and publications.
|
package clientstate owns fresh v1 SQLite state, authenticated secret storage, and the transactional project journal shared by apps and publications. |
|
client/state/sqlite
Package sqlite manages client SQLite connections and migrations.
|
Package sqlite manages client SQLite connections and migrations. |
|
client/supervisor
package publisherjob owns installed publications and their private state.
|
package publisherjob owns installed publications and their private state. |
|
clioutput
Package clioutput renders stable human-readable CLI diagrams.
|
Package clioutput renders stable human-readable CLI diagrams. |
|
config
Package config defines the versioned YAML and JSON configuration format.
|
Package config defines the versioned YAML and JSON configuration format. |
|
config/cmd/configgen
command
|
|
|
connector/kubeconfig
package kubeconfig prepares owned contexts without selecting a global context.
|
package kubeconfig prepares owned contexts without selecting a global context. |
|
connector/runtime
package connectionruntime owns one bounded native connection session and its private local IPC.
|
package connectionruntime owns one bounded native connection session and its private local IPC. |
|
connector/stream
package tcpconnect owns the loopback visitor endpoint of private tunnels.
|
package tcpconnect owns the loopback visitor endpoint of private tunnels. |
|
connector/workload
package workloadclient is the native visitor authentication adapter for a provider workload.
|
package workloadclient is the native visitor authentication adapter for a provider workload. |
|
control/api/authority
Package authorityapi serves the built-in authority HTTP API.
|
Package authorityapi serves the built-in authority HTTP API. |
|
control/api/private/ingress
Package ingressapi serves control's private API for ingress processes.
|
Package ingressapi serves control's private API for ingress processes. |
|
control/api/private/relay
Package relayapi serves control's private API for relay processes.
|
Package relayapi serves control's private API for relay processes. |
|
control/api/public
Package controlapi serves the control API and authorizes public URL operations.
|
Package controlapi serves the control API and authorizes public URL operations. |
|
control/api/serviceaccess
Package serviceaccess projects the existing exact-service access records for both the control-session API and the signed-human authority bridge.
|
Package serviceaccess projects the existing exact-service access records for both the control-session API and the signed-human authority bridge. |
|
control/certificates
Package certificates uses ACME to issue public URL and relay transport certificates.
|
Package certificates uses ACME to issue public URL and relay transport certificates. |
|
control/certificates/visitor
package visitorcert owns control's client-certificate issuer.
|
package visitorcert owns control's client-certificate issuer. |
|
control/dns
Package dnscontroller applies persistent DNS changes requested by control.
|
Package dnscontroller applies persistent DNS changes requested by control. |
|
control/email
package emaildelivery sends queued invitation emails to a mailer.
|
package emaildelivery sends queued invitation emails to a mailer. |
|
control/oidc
package oidcauth implements control-owned standard OIDC authentication.
|
package oidcauth implements control-owned standard OIDC authentication. |
|
control/proxy
package controlproxy admits HTTP requests from an explicitly trusted HTTPS terminator.
|
package controlproxy admits HTTP requests from an explicitly trusted HTTPS terminator. |
|
control/state
Package controlstate stores persistent control state in PostgreSQL and changes that state in transactions.
|
Package controlstate stores persistent control state in PostgreSQL and changes that state in transactions. |
|
control/storagekey
Package storagekey encrypts recoverable secrets stored by control.
|
Package storagekey encrypts recoverable secrets stored by control. |
|
control/usage
Package publicurlusageworker finishes and sends stored public URL usage reports.
|
Package publicurlusageworker finishes and sends stored public URL usage reports. |
|
control/webhooks
package webhookcatalog resolves bounded provider sender policies for control.
|
package webhookcatalog resolves bounded provider sender policies for control. |
|
daemon/config
Package tnldconfig loads and validates tnld process configuration.
|
Package tnldconfig loads and validates tnld process configuration. |
|
development/dns/cmd/dnsdev
command
dnsdev is a disposable, in-memory Route 53 wire fixture and authoritative DNS server for local development.
|
dnsdev is a disposable, in-memory Route 53 wire fixture and authoritative DNS server for local development. |
|
development/oidc
Package devoidc is a local development OIDC provider.
|
Package devoidc is a local development OIDC provider. |
|
development/oidc/cmd/oidcdev
command
|
|
|
failure
package failure defines shared error reasons, retry policies, and safe messages.
|
package failure defines shared error reasons, retry policies, and safe messages. |
|
failure/cmd/cataloggen
command
|
|
|
failure/diagnostic
Code generated by scripts/generate/diagnostic-codes.ts.
|
Code generated by scripts/generate/diagnostic-codes.ts. |
|
failure/problem
Package problemtype defines canonical API problem type URIs.
|
Package problemtype defines canonical API problem type URIs. |
|
httpclient
Package httpclient contains shared HTTP client policy for internal clients.
|
Package httpclient contains shared HTTP client policy for internal clients. |
|
httpjson
Package httpjson reads and writes size-limited JSON.
|
Package httpjson reads and writes size-limited JSON. |
|
ingress
package ingress routes HTTPS by exact SNI and authenticates private connectors.
|
package ingress routes HTTPS by exact SNI and authenticates private connectors. |
|
ingress/backend
Package routebackend defines how ingress opens a visitor stream to a publisher.
|
Package routebackend defines how ingress opens a visitor stream to a publisher. |
|
ingress/clienthello
Package router reads a size-limited TLS ClientHello and preserves every byte so the connection can replay it.
|
Package router reads a size-limited TLS ClientHello and preserves every byte so the connection can replay it. |
|
ingress/pool
package ingresspool names the public ingress-address placement boundary.
|
package ingresspool names the public ingress-address placement boundary. |
|
naming
Package naming defines public-hostname rules used by control and ingress.
|
Package naming defines public-hostname rules used by control and ingress. |
|
naming/opaqueid
Package opaqueid creates and validates prefixed, cryptographically random identifiers.
|
Package opaqueid creates and validates prefixed, cryptographically random identifiers. |
|
naming/tcpport
package tcpport defines network TCP port bounds.
|
package tcpport defines network TCP port bounds. |
|
observability
package observability owns tnl's OTel instruments, process-scoped metrics and trace providers, bounded optional OTLP/HTTPS export, and Prometheus exposition.
|
package observability owns tnl's OTel instruments, process-scoped metrics and trace providers, bounded optional OTLP/HTTPS export, and Prometheus exposition. |
|
observability/cmd/vocabulary
command
|
|
|
observability/operatorlog
Package operatorlog presents typed failures in compact one-line tnld logs.
|
Package operatorlog presents typed failures in compact one-line tnld logs. |
|
observability/publicurlusage
Package publicurlusage defines public URL usage data that can be combined across reports.
|
Package publicurlusage defines public URL usage data that can be combined across reports. |
|
observability/serviceaudit
package serviceaudit defines the allowlisted service audit boundary.
|
package serviceaudit defines the allowlisted service audit boundary. |
|
policy/applicationlimits
package applicationlimits owns validation shared by control and publishers.
|
package applicationlimits owns validation shared by control and publishers. |
|
policy/authorization
Package authorization authorizes control operations and builds stable request hashes.
|
Package authorization authorizes control operations and builds stable request hashes. |
|
policy/httpsubject
package httpsubject names the authorization boundary of an HTTP frontend.
|
package httpsubject names the authorization boundary of an HTTP frontend. |
|
policy/ippolicy
package ippolicy verifies allowed CIDRs without exposing their network addresses.
|
package ippolicy verifies allowed CIDRs without exposing their network addresses. |
|
policy/publisherprovenance
package publisherprovenance validates publisher-reported deployment metadata.
|
package publisherprovenance validates publisher-reported deployment metadata. |
|
policy/target
package target validates target origins and path prefixes without network I/O.
|
package target validates target origins and path prefixes without network I/O. |
|
policy/tcptarget
package tcptarget validates the TCP target address used by a publisher.
|
package tcptarget validates the TCP target address used by a publisher. |
|
policy/trafficlimits
package trafficlimits defines process-local encrypted visitor traffic budgets.
|
package trafficlimits defines process-local encrypted visitor traffic budgets. |
|
policy/visitorsubject
package visitorsubject converts the tagged visitor principal at HTTP boundaries.
|
package visitorsubject converts the tagged visitor principal at HTTP boundaries. |
|
publisher
Package publisher publishes one local service through a public URL.
|
Package publisher publishes one local service through a public URL. |
|
publisher/adhoc
package adhoc owns the scoped native Go publication lifecycle.
|
package adhoc owns the scoped native Go publication lifecycle. |
|
publisher/app
package clientruntime owns local app registration and publication observations.
|
package clientruntime owns local app registration and publication observations. |
|
publisher/demo
package demo serves a small local HTTP app for trying a public URL.
|
package demo serves a small local HTTP app for trying a public URL. |
|
publisher/deployment
package publisherdeployment owns offline publisher deployment artifacts and the nonsecret parameter contract consumed by identity bootstrap tooling.
|
package publisherdeployment owns offline publisher deployment artifacts and the nonsecret parameter contract consumed by identity bootstrap tooling. |
|
publisher/deployment/aws
package awsbootstrap prepares publisher identity secrets and nonsecret bindings.
|
package awsbootstrap prepares publisher identity secrets and nonsecret bindings. |
|
publisher/deployment/cmd/fixture
command
fixture renders the reviewed two-replica example from the product renderer.
|
fixture renders the reviewed two-replica example from the product renderer. |
|
publisher/deployment/cmd/storage-check
command
command storage-check validates resolved publisher parameter transitions offline.
|
command storage-check validates resolved publisher parameter transitions offline. |
|
publisher/group
package grouppublisher reconciles one signed publisher-group replica.
|
package grouppublisher reconciles one signed publisher-group replica. |
|
publisher/identity/credentialfile
package credentialfile stores a portable publisher key and its exact grant.
|
package credentialfile stores a portable publisher key and its exact grant. |
|
publisher/identity/publishingtest
package publishingtest exercises scoped native clients against signed enrollment HTTP exchanges and real publisher TLS/yamux lifecycle connections.
|
package publishingtest exercises scoped native clients against signed enrollment HTTP exchanges and real publisher TLS/yamux lifecycle connections. |
|
publisher/inspection
package protocolinspection observes bounded, body-free protocol summaries.
|
package protocolinspection observes bounded, body-free protocol summaries. |
|
publisher/integrations
package integrationurls maintains project integration URLs on the publisher's machine.
|
package integrationurls maintains project integration URLs on the publisher's machine. |
|
publisher/localapi
package localpublisher owns the private HTTP boundary for one native project owner.
|
package localpublisher owns the private HTTP boundary for one native project owner. |
|
publisher/localapi/protocol
package privateprotocol owns the bounded, machine-local SDK protocol.
|
package privateprotocol owns the bounded, machine-local SDK protocol. |
|
publisher/proxy
Package localproxy forwards one public hostname to one HTTP or HTTPS target.
|
Package localproxy forwards one public hostname to one HTTP or HTTPS target. |
|
publisher/runtime
package publisherruntime owns one explicitly deployed publisher's process identity.
|
package publisherruntime owns one explicitly deployed publisher's process identity. |
|
publisher/service
package privatepublisher owns service runs, verified visitor TLS and authenticated publisher connections.
|
package privatepublisher owns service runs, verified visitor TLS and authenticated publisher connections. |
|
publisher/setup
package publisherprovision owns durable group signing identity provisioning.
|
package publisherprovision owns durable group signing identity provisioning. |
|
publisher/target
package publishertarget discovers exact, worktree-scoped private listeners.
|
package publishertarget discovers exact, worktree-scoped private listeners. |
|
publisher/target/discovery
package targetdiscovery resolves cloud targets in the publisher's credential and network boundary.
|
package targetdiscovery resolves cloud targets in the publisher's credential and network boundary. |
|
publisher/target/discovery/rdsroots
package rdsroots owns the pinned, regional Amazon RDS root trust library.
|
package rdsroots owns the pinned, regional Amazon RDS root trust library. |
|
publisher/target/discovery/rdsroots/cmd/update
command
command update refreshes the vendored public certificate data.
|
command update refreshes the vendored public certificate data. |
|
publisher/target/kubernetes
package kubernetes owns native Kubernetes request semantics, not tunnel transport.
|
package kubernetes owns native Kubernetes request semantics, not tunnel transport. |
|
publisher/toolbar
Package feedbacktoolbar serves the versioned development-only browser script.
|
Package feedbacktoolbar serves the versioned development-only browser script. |
|
security/credentials
Package credentials creates and validates typed credentials.
|
Package credentials creates and validates typed credentials. |
|
security/publisherproof
package publisheridentity owns publisher-held Ed25519 proofs.
|
package publisheridentity owns publisher-held Ed25519 proofs. |
|
security/targettrust
package privatetrust captures public CA material for publisher-to-target TLS.
|
package privatetrust captures public CA material for publisher-to-target TLS. |
|
security/visitorcert
package visitorcert owns the shared client-certificate bounds and error.
|
package visitorcert owns the shared client-certificate bounds and error. |
|
security/workloadproof
package workloadproof defines the native exchange's key-possession proof.
|
package workloadproof defines the native exchange's key-possession proof. |
|
serviceapi
Package serviceapi provides HTTP helpers for the service APIs.
|
Package serviceapi provides HTTP helpers for the service APIs. |
|
testutil/awsfixture
package awsfixture implements the bounded Secrets Manager and STS HTTPS wire protocols used by publisher bootstrap.
|
package awsfixture implements the bounded Secrets Manager and STS HTTPS wire protocols used by publisher bootstrap. |
|
testutil/controltest
Package controltest creates named OIDC session fixtures for tests whose boundary is authorization or publishing.
|
Package controltest creates named OIDC session fixtures for tests whose boundary is authorization or publishing. |
|
testutil/githubtest
package githubtest serves signed GitHub workload fixtures without allowing tests to substitute a production issuer or contact GitHub.
|
package githubtest serves signed GitHub workload fixtures without allowing tests to substitute a production issuer or contact GitHub. |
|
testutil/groupdiscovery
package groupdiscovery supplies local signed control/AWS HTTPS boundaries and a verified EKS TLS target.
|
package groupdiscovery supplies local signed control/AWS HTTPS boundaries and a verified EKS TLS target. |
|
testutil/managedcert
package managedcert replaces only the external CA exchange in state tests.
|
package managedcert replaces only the external CA exchange in state tests. |
|
testutil/projectinit
package projectinittest supplies project fixtures for init operation and command presentation tests.
|
package projectinittest supplies project fixtures for init operation and command presentation tests. |
|
testutil/workerobservation
package workerobservation records actual worker spans and operator diagnostics through a process-owned exporter and a local HTTPS collector.
|
package workerobservation records actual worker spans and operator diagnostics through a process-owned exporter and a local HTTPS collector. |
|
transport/httpstream
package httpstream serves HTTP over one already-selected upstream connection.
|
package httpstream serves HTTP over one already-selected upstream connection. |
|
transport/muxsession
Package muxsession carries multiplexed byte streams over supported transports.
|
Package muxsession carries multiplexed byte streams over supported transports. |
|
transport/proxyproto
Package proxyproto implements tnl's strict PROXY protocol v2 boundary.
|
Package proxyproto implements tnl's strict PROXY protocol v2 boundary. |
|
transport/streamcopy
Package streamcopy copies bytes in both directions and preserves half-closes.
|
Package streamcopy copies bytes in both directions and preserves half-closes. |
|
transport/targettransport
package targettransport owns publisher-to-target negotiation.
|
package targettransport owns publisher-to-target negotiation. |
|
transport/tunnel
Package tunnel runs tunnelv1 sessions over supported transports.
|
Package tunnel runs tunnelv1 sessions over supported transports. |
|
workerloop
Package workerloop schedules bounded background-work iterations.
|
Package workerloop schedules bounded background-work iterations. |
|
pkg
|
|
|
api/control/authority/v1
Package authorityv1 provides primitives to interact with the openapi HTTP API.
|
Package authorityv1 provides primitives to interact with the openapi HTTP API. |
|
api/control/private/ingress/v1
Package ingressv1 provides primitives to interact with the openapi HTTP API.
|
Package ingressv1 provides primitives to interact with the openapi HTTP API. |
|
api/control/private/relay/v1
Package relayv1 provides primitives to interact with the openapi HTTP API.
|
Package relayv1 provides primitives to interact with the openapi HTTP API. |
|
api/control/public/v1
Package controlv1 provides primitives to interact with the openapi HTTP API.
|
Package controlv1 provides primitives to interact with the openapi HTTP API. |
|
api/integrations/public-url-usage/v1
Package publicurlusagev1 provides primitives to interact with the openapi HTTP API.
|
Package publicurlusagev1 provides primitives to interact with the openapi HTTP API. |
|
api/publisher/browser/v1
Package publisherv1 provides primitives to interact with the openapi HTTP API.
|
Package publisherv1 provides primitives to interact with the openapi HTTP API. |
|
api/publisher/local/v1
Package localpublisherv1 provides primitives to interact with the openapi HTTP API.
|
Package localpublisherv1 provides primitives to interact with the openapi HTTP API. |
|
protocol/tunnelv1
Package tunnelv1 defines messages for publisher connections and visitor streams.
|
Package tunnelv1 defines messages for publisher connections and visitor streams. |
|
tnl
package tnl publishes an application-owned HTTP handler through one ad-hoc URL.
|
package tnl publishes an application-owned HTTP handler through one ad-hoc URL. |
|
tests
|
|
|
integration/fixtures/compose-publisher
command
this disposable app gives each Compose container a distinct HTTP response.
|
this disposable app gives each Compose container a distinct HTTP response. |
Click to show internal directories.
Click to hide internal directories.