v.io: v.io

Directories

PathSynopsis
v23Package v23 defines the runtime interface of Vanadium, and its subdirectories define the entire Vanadium public API.
v23/contextPackage context provides an implementation of context.Context with additional functionality used within the Vanadium code base.
v23/conventionsPackage conventions implements unenforced conventions for Vanadium.
v23/discoverynolint:golint
v23/flownolint:golint
v23/flow/messagenolint:golint
v23/globPackage glob defines a globbing syntax and implements matching routines.
v23/i18nPackage i18n implements internationalization of formatted message strings in different languages.
v23/internal/sectestPackage sectest contains support for security related tests
v23/loggingPackage loging defines an interface for logging modeled on Google's glog.
v23/namespacePackage namespace defines an interface for resolving and managing names.
v23/namingPackage naming defines types and utilities associated with naming.
v23/optionsPackage options defines common options recognized by vanadium implementations.
v23/queryThe query packages implement Vanadium's query capabilities.
v23/query/enginePackage engine defines a Create function which returns an instance of datasource.QueryEngine
v23/query/engine/datasourcePackage datasource defines the interfaces a system must implement to support querying.
v23/query/engine/internalPackage internal implements Exec, executing SQL-like queries on a given database.
v23/query/engine/internal/conversions
v23/query/engine/internal/querycheckerPackage querychecker performs a semantic check on an AST produced by the queryparser package.
v23/query/engine/internal/queryfunctionsPackage queryfunctions describes SyncQL's built-in functions.
v23/query/engine/internal/queryparserPackage queryparser is a parser to parse a simplified select statement (a la SQL) for the Vanadium key value store (a.k.a., syncbase).
v23/query/engine/internal/testPackage query_test contains tests for the query package.
v23/query/engine/publicPackage public defines the QueryEngine interface which is returned from calling v.io/v23/query/engine.Create and PreparedStatement which is returned from the QueryEngine.PrepareStatement function.
v23/query/patternPackage pattern handles parsing and matching SQL LIKE-style glob patterns.
v23/query/syncqlThe ResultStream interface is used to iterate over query results.
v23/rpcPackage rpc defines interfaces for communication via remote procedure call.
v23/rpc/reservedPackage reserved implements client-side support for reserved RPC methods implemented by all servers.
v23/rpc/versionPackage version defines a mechanism for versioning the RPC protocol.
v23/securityPackage security defines types and utilities associated with security.
v23/security/accessPackage access defines types and interfaces for dynamic access control.
v23/security/access/internalPackage internal provides a VDL specification for a service used in the unittest of the access package.
v23/security/internal/ecdsaonlynolint:golint
v23/services/appcyclePackage appcycle defines interfaces for managing application processes.
v23/services/groupsPackage groups defines interfaces for managing access control groups.
v23/services/httpPackage HTTP defines an interface to send a http.Request from a client to a Vanadium server.
v23/services/logreaderPackage logreader defines interfaces for reading log files remotely.
v23/services/mounttablePackage mounttable defines interfaces for managing associations between names and servers.
v23/services/permissionsPackage permissions defines an interface for managing access control permissions.
v23/services/pprofPackage pprof defines an interface for accessing runtime profiling data in the format expected by the pprof visualization tool.
v23/services/statsPackage stats defines an interface to access statistical information for troubleshooting and monitoring purposes.
v23/services/tidyablePackage tidyable defines an interface for services that can be requested to clean up transient resource use (such as logs or caches.) nolint:golint
v23/services/vtracePackage vtrace defines an interface to access v.io/v23/vtrace traces, to help analyze and debug distributed systems.
v23/services/watchPackage watch defines interfaces for watching a sequence of changes.
v23/uniqueidPackage uniqueid defines functions that are likely to generate globally unique identifiers.
v23/vdlPackage vdl implements the Vanadium Definition Language type and value system.
v23/vdlrootPackage vdlroot defines the standard VDL packages; the VDLROOT environment variable should point at this directory.
v23/vdlroot/mathnolint:golint
v23/vdlroot/signaturePackage signature defines types representing interface and method signatures.
v23/vdlroot/timePackage time defines standard representations of absolute and relative times.
v23/vdlroot/vdltoolPackage vdltool defines types used by the vdl tool itself, including the format of vdl.config files.
v23/vdl/vdltestPackage vdltest provides a variety of VDL types and values for testing.
v23/verrorPackage verror implements an error reporting mechanism that works across programming environments, and a set of common errors.
v23/vomPackage vom implements the Vanadium Object Marshaling serialization format.
v23/vom/internalnolint:golint
v23/vom/internal/vombenchgen
v23/vom/vomtestPackage vomtest provides protocol conformance tests for the Vanadium Object Marshaller (VOM).
v23/vtracePackage vtrace defines a system for collecting debugging information about operations that span a distributed system.
x/refPackage ref defines constants used through the Vanadium reference implementation, which is implemented in its subdirectories.
x/ref/cmd/gclogsCommand gclogs safely deletes old log files.
x/ref/cmd/mounttableCommand mounttable sends commands to Vanadium mounttable services.
x/ref/cmd/namespaceCommand namespace resolves and manages names in the Vanadium namespace.
x/ref/cmd/principalCommand principal creates and manages Vanadium principals and blessings.
x/ref/cmd/uniqueidCommand uniqueid generates unique identifiers.
x/ref/cmd/vdlCommand vdl manages Vanadium Definition Language source code.
x/ref/cmd/vomCommand vom helps debug the Vanadium Object Marshaling wire protocol.
x/ref/cmd/vrpcCommand vrpc sends and receives Vanadium remote procedure calls.
x/ref/cmd/vrpc/internalnolint:golint
x/ref/examples/echonolint:golint
x/ref/examples/echo/echoCommand echo is a client for the Echo service.
x/ref/examples/echo/echodCommand echo is a server for the Echo service.
x/ref/examples/fortunePackage fortune defines the Fortune example interface.
x/ref/examples/fortune/fortuneCommand fortune is a client to the Fortune interface.
x/ref/examples/fortune/fortunedCommand fortuned runs a daemon that implements the Fortune interface.
x/ref/examples/fortune/fortuned/internal
x/ref/examples/noflagsAn example using the 'library' factory which is configured via exported variables rather than by command line flags.
x/ref/examples/rpsPackage rps defines interfaces for playing the game Rock-Paper-Scissors.
x/ref/examples/rps/internalPackage internal defines common functions used by both rock paper scissors clients and servers.
x/ref/examples/rps/rpsbotCommand rpsbot repeatedly runs automated games, implementing all three roles.
x/ref/examples/rps/rpsplayerCommand rpsplayer implements the Player interface, which enables a human to play the game.
x/ref/examples/rps/rpsscorekeeperCommand rpsscorekeeper implements the ScoreKeeper interface.
x/ref/examples/tunnelPackage tunnel defines an interface for creating a network tunnel from client to server.
x/ref/examples/tunnel/internalPackage internal defines common types and functions used by both tunnel clients and servers.
x/ref/examples/tunnel/tunneldCommand tunneld runs the tunneld daemon, which implements the Tunnel interface.
x/ref/examples/tunnel/vshCommand vsh runs the Vanadium shell, a Tunnel client that can be used to run shell commands or start an interactive shell on a remote tunneld server.
x/ref/internal/loggerPackage logger provides access to an implementation of v23/logger.Logging for use within a runtime implementation.
x/ref/internal/reflectutilPackage reflectutil provides reflection-based utilities.
x/ref/lib/apilogPackage apilog provides functions to be used in conjunction with logcop.
x/ref/lib/discoverynolint:golint
x/ref/lib/discovery/factory
x/ref/lib/discovery/globalTODO(jhahn): This is an experimental work to see its feasibility and set the long-term goal, and can be changed without notice.
x/ref/lib/discovery/plugins/mdnsPackage mdns implements mDNS plugin for discovery service.
x/ref/lib/discovery/plugins/mock
x/ref/lib/discovery/plugins/testutil
x/ref/lib/discovery/plugins/vinePackage vine contains a discovery plugin that is using Vine protocol.
x/ref/lib/discovery/testpackage test contains tests that rely on a fake runtime.
x/ref/lib/discovery/testutilPackage testutil defines helpers for discovery tests.
x/ref/lib/dispatcher
x/ref/lib/execPackage exec implements configuration and secret-sharing between parent and child processes via anoymous pipes.
x/ref/lib/flagsPackage flags implements utilities to augment the standard Go flag package.
x/ref/lib/flags/sitedefaults
x/ref/lib/globPackage glob defines a globbing syntax and implements matching routines.
x/ref/lib/mgmtPackage mgmt defines constants used by the management tools and daemons.
x/ref/lib/publisherPackage publisher provides a type to publish names to a mounttable.
x/ref/lib/pubsubPackage pubsub defines interfaces for accessing dynamically changing process configuration information.
x/ref/lib/raftnolint:golint
x/ref/lib/securityPackage security implements utilities for creating and using Vanadium security primitives.
x/ref/lib/security/auditPackage audit implements a mechanism for writing auditable events to an audit log.
x/ref/lib/security/bcrypternolint:golint
x/ref/lib/security/internal
x/ref/lib/security/internal/lockedfilePackage lockedfile creates and manipulates files whose contents should only change atomically.
x/ref/lib/security/internal/lockedfile/filelockPackage filelock provides a platform-independent API for advisory file locking.
x/ref/lib/security/internal/lockedfile/testenv
x/ref/lib/security/passphrasePackage passphrase contains utilities for reading a passphrase.
x/ref/lib/security/securityflagPackage securityflag implements utilities for creating security objects based on flags.
x/ref/lib/security/serializationPackage serialization implements utilities for reading and writing data with signature-based integrity checking.
x/ref/lib/security/signing
x/ref/lib/security/signing/internal
x/ref/lib/security/signing/keyfilePackage keyfile provides a signing service that uses files to store keys.
x/ref/lib/security/signing/sshagentPackage sshagent provides the ability to use openssh's ssh-agent to carry out key signing operations using keys stored therein.
x/ref/lib/signalsPackage signals implements utilities for managing process shutdown with support for signal-handling.
x/ref/lib/statsPackage stats implements a global repository of stats objects.
x/ref/lib/stats/counterPackage counter implements counters that keeps track of their recent values over different periods of time.
x/ref/lib/stats/histogramPackage histogram implements a basic histogram to keep track of data distribution.
x/ref/lib/stats/sysstatsPackage sysstats implements system statistics and updates them periodically.
x/ref/lib/timekeeperPackage timekeeper defines an interface to allow switching between real time and simulated time.
x/ref/lib/v23cmdPackage v23cmd implements utilities for running v23 cmdline programs.
x/ref/lib/vdl/buildPackage build implements utilities to collect VDL build information and run the parser and compiler.
x/ref/lib/vdl/build/internal/builtinvdlroot
x/ref/lib/vdl/codegenPackage codegen implements utilities for VDL code generators.
x/ref/lib/vdl/codegen/golangPackage golang implements Go code generation from compiled VDL packages.
x/ref/lib/vdl/codegen/javaPackage java implements Java code generation from compiled VDL packages.
x/ref/lib/vdl/codegen/javascriptPackage javascript implements Javascript code generation from compiled VDL packages.
x/ref/lib/vdl/codegen/jsonPackage json implements JSON generation for VDL const values.
x/ref/lib/vdl/codegen/swiftPackage swift implements Swift code generation from compiled VDL packages.
x/ref/lib/vdl/codegen/vdlgenPackage vdlgen implements VDL code generation from compiled VDL packages.
x/ref/lib/vdl/compilePackage compile implements the VDL compiler, converting a parse tree into compiled results.
x/ref/lib/vdl/internal/vdltestutilPackage vdltestutil provides testing utilities for v.io/x/ref/lib/vdl/...
x/ref/lib/vdl/opconstPackage opconst defines the representation and operations for VDL constants.
x/ref/lib/vdl/parsePackage parse implements the VDL parser, converting source files into a parse tree.
x/ref/lib/vdl/vdlutilPackage vdlutil implements utilities used by many VDL components.
x/ref/runtimePackage runtime and its subdirectories provide implementations of the Vanadium runtime for different runtime environments.
x/ref/runtime/factories/fakePackage fake implements a fake RuntimeFactory, useful in tests for mocking out certain components.
x/ref/runtime/factories/genericPackage generic implements a RuntimeFactory that is useful in tests.
x/ref/runtime/factories/libraryPackage library implements a RuntimeFactory suitable for building a Vanadium library that is linked into other applications.
x/ref/runtime/factories/roamingPackage roaming implements a RuntimeFactory suitable for a variety of network configurations, including 1-1 NATs, dhcp auto-configuration, Amazon Web Services and Google Compute Engine.
x/ref/runtime/factories/staticPackage static implements a RuntimeFactory suitable for a variety of network configurations, including 1-1 NATs, Amazon Web Services and Google Compute Engine but hosted on a static IP address with no support for adapting to dhcp changes.
x/ref/runtime/internal
x/ref/runtime/internal/cloudvmPackage cloudvm provides functions to test whether the current process is running on Google Compute Engine or Amazon Web Services, and to extract settings from this environment.
x/ref/runtime/internal/flow
x/ref/runtime/internal/flow/connnolint:golint
x/ref/runtime/internal/flow/crypto
x/ref/runtime/internal/flow/flowtest
x/ref/runtime/internal/flow/managernolint:golint
x/ref/runtime/internal/lib/dependencyPackage dependency keeps track of a dependency graph.
x/ref/runtime/internal/lib/dequePackage deque implements a deque using a circular array.
x/ref/runtime/internal/lib/syncPackage sync provides synchronization primitives.
x/ref/runtime/internal/lib/upcqueuePackage upcqueue implements an unbounded producer/consumer queue.
x/ref/runtime/internal/namingPackage naming provides an implementation of the interfaces in v.io/v23/naming.
x/ref/runtime/internal/naming/namespace
x/ref/runtime/internal/platform
x/ref/runtime/internal/rpcnolint:golint
x/ref/runtime/internal/rpc/benchmarkpackage benchmark provides simple tools to measure the performance of the IPC system.
x/ref/runtime/internal/rpc/benchmark/benchmarkCommand benchmark runs the benchmark client.
x/ref/runtime/internal/rpc/benchmark/benchmarkdCommand benchmarkd runs the benchmark server.
x/ref/runtime/internal/rpc/benchmark/internal
x/ref/runtime/internal/rpc/stressnolint:golint
x/ref/runtime/internal/rpc/stress/internal
x/ref/runtime/internal/rpc/stress/mtstressUsage: mtstress [flags] <command>
x/ref/runtime/internal/rpc/stress/stressCommand stress is a tool to stress/load test RPC by issuing randomly generated requests.
x/ref/runtime/internal/rpc/stress/stressdCommand stressd runs the stress-test server.
x/ref/runtime/internal/rpc/testpackage test contains test for rpc code that do not rely on unexposed rpc declarations.
x/ref/runtime/internal/rpc/version
x/ref/runtime/internal/rt
x/ref/runtime/internal/testing/mocks/naming
x/ref/runtime/internal/vtracePackage vtrace implements the Trace and Span interfaces in v.io/v23/vtrace.
x/ref/runtime/protocols/bidinolint:golint
x/ref/runtime/protocols/debug
x/ref/runtime/protocols/lib/framernolint:golint
x/ref/runtime/protocols/lib/tcputilpackage tcputil contains functions commonly used to manipulate TCP connections.
x/ref/runtime/protocols/lib/websocketnolint:golint
x/ref/runtime/protocols/local
x/ref/runtime/protocols/tcp
x/ref/runtime/protocols/vinePackage vine contains Vanadium's Implementation of Network Emulation (VINE).
x/ref/runtime/protocols/ws
x/ref/runtime/protocols/wshPackage wsh registers the websocket 'hybrid' protocol.
x/ref/runtime/protocols/wsh_naclPackage wsh_nacl registers the websocket 'hybrid' protocol for nacl architectures.
x/ref/services/agentPackage agent defines an interface to keep a private key in memory, and for clients to have access to the private key.
x/ref/services/agent/agentlibPackage agentlib provides ways to create Principals that are backed by the security agent.
x/ref/services/agent/gcredsCommand gcreds runs a command with Google Cloud Blessings.
x/ref/services/agent/internal/cache
x/ref/services/agent/internal/constantsPackage constants holds constants shared by client and server.
x/ref/services/agent/internal/ipcPackage ipc implements a simple IPC system based on VOM.
x/ref/services/agent/internal/lockPackage lock provides a lock object to synchronize access to a directory among multiple processes.
x/ref/services/agent/internal/lruPackage lru implements a Least-Recently-Used (LRU) cache of objects keyed by a string.
x/ref/services/agent/internal/versionPackage version provides versioning for the agent.
x/ref/services/agent/serverPackage server contains utilities for serving a principal using a socket-based IPC system.
x/ref/services/agent/v23agentdCommand v23agentd manages the security agent daemon, which holds the private key, blessings and recognized roots of a principal in memory and makes the principal available to other processes.
x/ref/services/benPackage ben defines datastructures to archive microbenchmark results.
x/ref/services/ben/archivePackage archive defines the RPC interface for archiving benchmark results.
x/ref/services/ben/benarchdCommand benarchd implements a benchmark archival daemon.
x/ref/services/ben/benarchd/internalgo:generate ./gen_assets.sh
x/ref/services/ben/benarchd/internal/assets
x/ref/services/debug/debugCommand debug supports debugging Vanadium servers.
x/ref/services/debug/debug/browseserverPackage browseserver provides a web interface that can be used to interact with the vanadium debug interface.
x/ref/services/debug/debuglibPackage debuglib implements debug server support.
x/ref/services/dischargerPackage discharger defines an interface for obtaining discharges for third-party caveats.
x/ref/services/http/http
x/ref/services/http/httplib
x/ref/services/identityPackage identity defines interfaces for Vanadium identity providers.
x/ref/services/identity/identitydCommand identityd runs a daemon HTTP server that uses OAuth to create security.Blessings objects.
x/ref/services/identity/identitylibPackage identitylib implements a test identityd service registered using the v.io/x/lib/gosh library.
x/ref/services/identity/internal/auditor
x/ref/services/identity/internal/blesser
x/ref/services/identity/internal/caveats
x/ref/services/identity/internal/dischargerlib
x/ref/services/identity/internal/handlers
x/ref/services/identity/internal/oauthPackage oauth implements an http.Handler that has two main purposes listed below:
x/ref/services/identity/internal/revocationnolint:golint
x/ref/services/identity/internal/serverHTTP server that uses OAuth to create security.Blessings objects.
x/ref/services/identity/internal/templates
x/ref/services/identity/internal/utilPackage util implements miscellaneous utility functions needed by the identity HTTP server.
x/ref/services/internal/dbutilPackage dbutil implements utilities for opening and configuring connections to MySQL-like databases, with optional TLS support.
x/ref/services/internal/dirprinterPackage dirprinter contains utilities for dumping the contents and structure of a directory tree.
x/ref/services/internal/httplib
x/ref/services/internal/logreaderlibPackage logreaderlib implements the LogFile interface from v.io/v23/services/logreader, which can be used to allow remote access to log files, and the ChildrenGlobber interface from v.io/v23/rpc to find the files in a logs directory.
x/ref/services/internal/multipartPackage multipart implements an http.File that acts as one logical file backed by several physical files (the 'parts').
x/ref/services/internal/pathpermsPackage pathperms provides a library to assist servers implementing GetPermissions/SetPermissions functions and authorizers where there are path-specific Permissions stored individually in files.
x/ref/services/internal/pproflibPackage pproflib defines a client-side proxy and server-side implementation of the v.io/v23/services/pprof interface.
x/ref/services/internal/restsigner
x/ref/services/internal/restsigner/rest_signer_test
x/ref/services/internal/restsigner/signer/v1Package signer provides access to the .
x/ref/services/internal/servicetestPackage servicetest provides functionality to help write tests for the Vanadium services.
x/ref/services/internal/statslibPackage statslib implements the Stats interface from v.io/v23/services/stats.
x/ref/services/internal/vtracelib
x/ref/services/mounttable/mounttabledCommand mounttabled runs the mount table daemon, which implements the v.io/v23/services/mounttable interfaces.
x/ref/services/mounttable/mounttablelibPackage mounttablelib implements utilities for mounttable implementations.
x/ref/services/rolePackage role defines an interface for requesting blessings from a role account server.
x/ref/services/role/roledCommand roled runs the Role interface daemon.
x/ref/services/role/roled/internalPackage internal implements the role service defined in v.io/x/ref/services/role
x/ref/services/statsPackages stats defines the non-native types exported by the stats service.
x/ref/services/xproxyPackage xproxy enables services to export (proxy) themselves across networks (behind NATs for example).
x/ref/services/xproxy/xproxyPackage xproxy contains the implementation of the proxy service.
x/ref/services/xproxy/xproxydCommand proxyd is a daemon that listens for connections from Vanadium services (typically behind NATs) and proxies these services to the outside world.
x/ref/testPackage test implements initialization for unit and integration tests.
x/ref/test/basicsPackage basics implements some benchmarks for important basic operations in go.
x/ref/test/benchmarkPackage benchmark implements utilities to augment the standard Go testing.Benchmark functionality.
x/ref/test/expectPackage expect implements support for checking expectations against a buffered input stream.
x/ref/test/goroutines
x/ref/test/helloPackage hello defines a simple client and server and uses them in a series of regression tests.
x/ref/test/hello/helloclientCommand helloclient is a simple client mainly used in regression tests.
x/ref/test/hello/helloserverCommand helloserver is a simple server mainly used in regression tests.
x/ref/test/testutilPackage testutil implements utilities for unit and integration tests.
x/ref/test/testutil/testsshagent
x/ref/test/timekeeperPackage timekeeper implements simulated time against the v.io/x/ref/lib/timekeeper.TimeKeeper interface.
x/ref/test/v23testPackage v23test defines Shell, a wrapper around gosh.Shell that provides Vanadium-specific functionality such as credentials management, StartRootMountTable, and StartSyncbase.

Updated 2020-09-22. Refresh now. Tools for package owners.