Documentation ¶
Overview ¶
Package identity provides functionality for generating and manager identifiers within swarm. This includes entity identification, such as that of Service, Task and Network but also cryptographically-secure Node identity.
Random Identifiers ¶
Identifiers provided by this package are cryptographically-strong, random 128 bit numbers encoded in Base36. This method is preferred over UUID4 since it requires less storage and leverages the full 128 bits of entropy.
Generating an identifier is simple. Simply call the `NewID` function, check the error and proceed:
id, err := NewID() if err != nil { /* ... handle it, please ... */ }
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func FormatNodeID ¶
FormatNodeID converts a node ID from uint64 to string format. A string-formatted node ID looks like 1w8ynjwhcy4zd.
func NewID ¶
func NewID() string
NewID generates a new identifier for use where random identifiers with low collision probability are required.
With the parameters in this package, the generated identifier will provide 128 bits of entropy encoded with base36. Leading padding is added if the string is less 25 bytes. We do not intend to maintain this interface, so identifiers should be treated opaquely.
func NewNodeID ¶
func NewNodeID() string
NewNodeID generates a new identifier for identifying a node. These IDs are shorter than the IDs returned by NewID, so they can be used directly by Raft. Because they are short, they MUST be checked for collisions.
func ParseNodeID ¶
ParseNodeID converts a node ID from string format to uint64.
Types ¶
This section is empty.