upspin

module
v0.0.0-...-8fa1bb7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 29, 2019 License: BSD-3-Clause

README

Upspin

Augie

Documentation: upspin.io

About the project

Upspin is an experimental project to build a framework for naming and sharing files and other data securely, uniformly, and globally: a global name system of sorts.

It is not a file system, but a set of protocols and reference implementations that can be used to join things like file systems and other storage services to the name space.

Performance is not a primary goal. Uniformity and security are.

Upspin is not an official Google product.

Status

Upspin has rough edges, and is not yet suitable for non-technical users.

Build Status

Contributing

The code repository lives at upspin.googlesource.com and is mirrored to GitHub.

Note that the Upspin project does not use GitHub pull requests, and that we use the issue tracker for bug reports and proposals only.

See the Contribution Guidelines for more information on contributing to the project.

Reporting issues

Please report issues through our issue tracker.

Community

All Upspin users should subscribe to the Upspin Announcements mailing list to receive critical information about the project.

Use the Upspin mailing list for discussion about Upspin use and development.

Code of Conduct

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

The Upspin mascot is Copyright 2017 Renee French. All Rights Reserved.

Directories

Path Synopsis
Package access parses Access and Group files.
Package access parses Access and Group files.
Package bind contains the global binding switch and its methods.
Package bind contains the global binding switch and its methods.
Package cache implements various caching strategies.
Package cache implements various caching strategies.
Package client implements a simple client service talking to services running anywhere (GCP, InProcess, etc).
Package client implements a simple client service talking to services running anywhere (GCP, InProcess, etc).
clientutil
Package clientutil implements common utilities shared by clients and those who act as clients, such as a DirServer being a client of a StoreServer.
Package clientutil implements common utilities shared by clients and those who act as clients, such as a DirServer being a client of a StoreServer.
file
Package file implements the File interface used in client.Open and client.Create.
Package file implements the File interface used in client.Open and client.Create.
cloud
https
Package https provides a helper for starting an HTTPS server.
Package https provides a helper for starting an HTTPS server.
mail
Package mail defines an interface for sending mail that abstracts common functionality between all mail providers such as SendGrid or MailGun.
Package mail defines an interface for sending mail that abstracts common functionality between all mail providers such as SendGrid or MailGun.
mail/sendgrid
Package sendgrid sends email using SendGrid.
Package sendgrid sends email using SendGrid.
storage
Package storage implements a low-level interface for storing blobs in stable storage such as a database.
Package storage implements a low-level interface for storing blobs in stable storage such as a database.
storage/disk
Package disk provides a storage.Storage that stores data on local disk.
Package disk provides a storage.Storage that stores data on local disk.
storage/disk/internal/local
Package local converts blob references into local path names for on-disk storage.
Package local converts blob references into local path names for on-disk storage.
storage/storagetest
Package storagetest implements simple types and utility functions to help test implementations of storage.S.
Package storagetest implements simple types and utility functions to help test implementations of storage.S.
cmd
cacheserver
Cacheserver implements a directory and storage cache for Upspin.
Cacheserver implements a directory and storage cache for Upspin.
cacheserver/cacheutil
Package cacheutil provides a mechanism to start the cacheserver if a config requires it and it is not already running.
Package cacheutil provides a mechanism to start the cacheserver if a config requires it and it is not already running.
dirserver
Dirserver is a wrapper for a directory implementation that presents it as an HTTP interface.
Dirserver is a wrapper for a directory implementation that presents it as an HTTP interface.
frontend
Frontend provides a web server that serves documentation and meta tags to instruct "go get" where to find the Upspin source repository.
Frontend provides a web server that serves documentation and meta tags to instruct "go get" where to find the Upspin source repository.
keyserver
Keyserver is a wrapper for a key implementation that presents it as an HTTP interface.
Keyserver is a wrapper for a key implementation that presents it as an HTTP interface.
storeserver
Storeserver is a wrapper for a store implementation that presents it as an HTTP interface.
Storeserver is a wrapper for a store implementation that presents it as an HTTP interface.
upbox
Command upbox builds and runs Upspin servers as specified by a schema and provides an upspin shell acting as the first user specified by the schema.
Command upbox builds and runs Upspin servers as specified by a schema and provides an upspin shell acting as the first user specified by the schema.
upspin
The upspin command provides utilities for creating and administering Upspin files, users, and servers.
The upspin command provides utilities for creating and administering Upspin files, users, and servers.
upspin-audit
Audit provides subcommands for auditing storage consumption.
Audit provides subcommands for auditing storage consumption.
upspin-setupstorage
The Upspin-setupstorage comamnd is an external upspin subcommand that executes the second step in establishing an upspinserver.
The Upspin-setupstorage comamnd is an external upspin subcommand that executes the second step in establishing an upspinserver.
upspinfs
Command upspinfs is a FUSE interface for Upspin.
Command upspinfs is a FUSE interface for Upspin.
upspinserver
Command upspinserver is a combined DirServer and StoreServer for use on stand-alone machines.
Command upspinserver is a combined DirServer and StoreServer for use on stand-alone machines.
Package config creates a client configuration from various sources.
Package config creates a client configuration from various sources.
dir
dircache
Package dircacheserver is a caching proxy between a client and all directories.
Package dircacheserver is a caching proxy between a client and all directories.
inprocess
Package inprocess implements a simple, non-persistent, in-memory directory service.
Package inprocess implements a simple, non-persistent, in-memory directory service.
remote
Package remote implements an inprocess directory server that uses RPC to connect to a remote directory server.
Package remote implements an inprocess directory server that uses RPC to connect to a remote directory server.
server
Package server implements DirServer using a Tree as backing.
Package server implements DirServer using a Tree as backing.
server/serverlog
Package serverlog maintains logs for directory servers, permitting replay, recovering, and mirroring.
Package serverlog maintains logs for directory servers, permitting replay, recovering, and mirroring.
server/tree
Package tree implements a tree whose nodes are DirEntry entries.
Package tree implements a tree whose nodes are DirEntry entries.
unassigned
Package unassigned implements a directory server that errors out all its requests.
Package unassigned implements a directory server that errors out all its requests.
Package errors defines the error handling used by all Upspin software.
Package errors defines the error handling used by all Upspin software.
Package factotum encapsulates crypto operations on user's public/private keys.
Package factotum encapsulates crypto operations on user's public/private keys.
Package flags defines command-line flags to make them consistent between binaries.
Package flags defines command-line flags to make them consistent between binaries.
key
inprocess
Package inprocess implements a non-persistent, memory-resident user service.
Package inprocess implements a non-persistent, memory-resident user service.
keygen
Package keygen provides functions for generating Upspin key pairs and writing them to files.
Package keygen provides functions for generating Upspin key pairs and writing them to files.
proquint
Package proquint converts uint16 to/from pronounceable five letters.
Package proquint converts uint16 to/from pronounceable five letters.
remote
Package remote implements an inprocess key server that uses RPC to connect to a remote key server.
Package remote implements an inprocess key server that uses RPC to connect to a remote key server.
server
Package server implements the user service upspin.KeyServer that runs with the backing of storage.Storage.
Package server implements the user service upspin.KeyServer that runs with the backing of storage.Storage.
sha256key
Package sha256key provides access to the hash function used to make content-addressable keys.
Package sha256key provides access to the hash function used to make content-addressable keys.
transports
Package transports is a helper package that aggregates the user imports.
Package transports is a helper package that aggregates the user imports.
unassigned
Package unassigned implements a store server that errors out all its requests.
Package unassigned implements a store server that errors out all its requests.
usercache
Package usercache provides a KeyServer implementation that wraps another and caches Lookups.
Package usercache provides a KeyServer implementation that wraps another and caches Lookups.
Package log exports logging primitives that log to stderr and also to Google Cloud Logging.
Package log exports logging primitives that log to stderr and also to Google Cloud Logging.
Package metric implements routines for generating and saving metrics associated with servers and clients.
Package metric implements routines for generating and saving metrics associated with servers and clients.
Package pack provides the registry for implementations of Packing algorithms.
Package pack provides the registry for implementations of Packing algorithms.
ee
Package ee implements an elliptic-curve end-to-end encryption packer.
Package ee implements an elliptic-curve end-to-end encryption packer.
eeintegrity
Package ei implements an elliptic-curve end-to-end integrity-checked packer.
Package ei implements an elliptic-curve end-to-end integrity-checked packer.
internal
Package internal provides some helpers used by packing implementations.
Package internal provides some helpers used by packing implementations.
internal/packtest
Package packtest provides common functionality used by packer tests.
Package packtest provides common functionality used by packer tests.
packutil
Package packutil provides helper functions for DirEntry Packdata computation.
Package packutil provides helper functions for DirEntry Packdata computation.
plain
Package plain is a simple Packing that passes the data untouched.
Package plain is a simple Packing that passes the data untouched.
Package path provides tools for parsing and printing file names.
Package path provides tools for parsing and printing file names.
rpc
Package rpc provides a framework for implementing RPC servers and clients.
Package rpc provides a framework for implementing RPC servers and clients.
dirserver
Package dirserver provides a wrapper for an upspin.DirServer implementation that presents it as an authenticated service.
Package dirserver provides a wrapper for an upspin.DirServer implementation that presents it as an authenticated service.
keyserver
Package keyserver is a wrapper for an upspin.KeyServer implementation that presents it as an authenticated service.
Package keyserver is a wrapper for an upspin.KeyServer implementation that presents it as an authenticated service.
local
Package local provides interprocess communication on the local host.
Package local provides interprocess communication on the local host.
storeserver
Package storeserver is a wrapper for an upspin.StoreServer implementation that presents it as an authenticated service.
Package storeserver is a wrapper for an upspin.StoreServer implementation that presents it as an authenticated service.
Package serverutil provides helper functions for Upspin servers.
Package serverutil provides helper functions for Upspin servers.
dirserver
Dirserver is a wrapper for a directory implementation that presents it as an HTTP interface.
Dirserver is a wrapper for a directory implementation that presents it as an HTTP interface.
frontend
Package frontend provides a web server that serves documentation and meta tags to instruct "go get" where to find the Upspin source repository.
Package frontend provides a web server that serves documentation and meta tags to instruct "go get" where to find the Upspin source repository.
keyserver
Keyserver is a wrapper for a key implementation that presents it as an HTTP interface.
Keyserver is a wrapper for a key implementation that presents it as an HTTP interface.
perm
Package perm implements mutation permission checking for servers.
Package perm implements mutation permission checking for servers.
signup
Package signup provides an http.Handler implementation that serves and validates KeyServer signup requests.
Package signup provides an http.Handler implementation that serves and validates KeyServer signup requests.
storeserver
Storeserver is a wrapper for a store implementation that presents it as an HTTP interface.
Storeserver is a wrapper for a store implementation that presents it as an HTTP interface.
upspinserver
Package upspinserver is a combined DirServer and StoreServer for use on stand-alone machines.
Package upspinserver is a combined DirServer and StoreServer for use on stand-alone machines.
web
Package web provides an http.Handler implementation that serves content from the Upspin namespace.
Package web provides an http.Handler implementation that serves content from the Upspin namespace.
Package shutdown provides a mechanism for registering handlers to be called on process shutdown.
Package shutdown provides a mechanism for registering handlers to be called on process shutdown.
store
inprocess
Package inprocess implements a simple non-persistent in-memory store service.
Package inprocess implements a simple non-persistent in-memory store service.
remote
Package remote implements an inprocess store server that uses RPC to connect to a remote store server.
Package remote implements an inprocess store server that uses RPC to connect to a remote store server.
server
Package server implements upspin.StoreServer using storage.Storage as its storage back end.
Package server implements upspin.StoreServer using storage.Storage as its storage back end.
storecache
Package storecache is a caching proxy between a client and all stores.
Package storecache is a caching proxy between a client and all stores.
transports
Package transports is a helper package that aggregates the store imports.
Package transports is a helper package that aggregates the store imports.
unassigned
Package unassigned implements a store server that errors out all its requests.
Package unassigned implements a store server that errors out all its requests.
test
servermux
Package servermux provides in-process KeyServer, StoreServer, and DirServer implementations that mux across multiple concrete instances/implementations.
Package servermux provides in-process KeyServer, StoreServer, and DirServer implementations that mux across multiple concrete instances/implementations.
testenv
Package testenv provides a declarative environment for creating a complete Upspin test tree.
Package testenv provides a declarative environment for creating a complete Upspin test tree.
testfixtures
Package testfixtures implements dummies for StoreServers, DirServers and KeyServers for tests.
Package testfixtures implements dummies for StoreServers, DirServers and KeyServers for tests.
testutil
Package testutil includes utility functions for Upspin tests.
Package testutil includes utility functions for Upspin tests.
Package transports is a helper package that aggregates the key, store, and directory imports.
Package transports is a helper package that aggregates the key, store, and directory imports.
Package upbox provides the Schema mechanism for declaring and creating a set of Upspin users and servers.
Package upbox provides the Schema mechanism for declaring and creating a set of Upspin users and servers.
Package upspin contains global interfaces and other definitions for the components of the system.
Package upspin contains global interfaces and other definitions for the components of the system.
proto
Package proto contains the protocol buffer definitions shared between RPC servers and clients, mirroring the interfaces and types in the upspin package itself.
Package proto contains the protocol buffer definitions shared between RPC servers and clients, mirroring the interfaces and types in the upspin package itself.
Package user provides tools for parsing and validating user names.
Package user provides tools for parsing and validating user names.
Package valid does validation of various data types.
Package valid does validation of various data types.
The version package is used by the release process to add an informative version string to some commands.
The version package is used by the release process to add an informative version string to some commands.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL