trillian – github.com/google/trillian Index | Files | Directories

package trillian

import "github.com/google/trillian"

Package trillian is a reverse proxy.

It translates gRPC into RESTful JSON APIs.

Package trillian is a generated protocol buffer package.

It is generated from these files:

trillian_log_api.proto
trillian_map_api.proto
trillian_admin_api.proto
trillian.proto

It has these top-level messages:

LogLeaf
Proof
QueuedLogLeaf
QueueLeavesRequest
QueueLeafRequest
QueueLeafResponse
QueueLeavesResponse
GetInclusionProofRequest
GetInclusionProofResponse
GetInclusionProofByHashRequest
GetInclusionProofByHashResponse
GetConsistencyProofRequest
GetConsistencyProofResponse
GetLeavesByHashRequest
GetLeavesByHashResponse
GetLeavesByIndexRequest
GetLeavesByIndexResponse
GetSequencedLeafCountRequest
GetSequencedLeafCountResponse
GetLatestSignedLogRootRequest
GetLatestSignedLogRootResponse
GetEntryAndProofRequest
GetEntryAndProofResponse
MapLeaf
MapLeafInclusion
GetMapLeavesRequest
GetMapLeavesByRevisionRequest
GetMapLeavesResponse
SetMapLeavesRequest
SetMapLeavesResponse
GetSignedMapRootRequest
GetSignedMapRootByRevisionRequest
GetSignedMapRootResponse
ListTreesRequest
ListTreesResponse
GetTreeRequest
CreateTreeRequest
UpdateTreeRequest
DeleteTreeRequest
UndeleteTreeRequest
Tree
SignedEntryTimestamp
SignedLogRoot
SignedMapRoot

Package trillian is a reverse proxy.

It translates gRPC into RESTful JSON APIs.

Package trillian is a reverse proxy.

It translates gRPC into RESTful JSON APIs.

Index

Variables

var HashStrategy_name = map[int32]string{
	0: "UNKNOWN_HASH_STRATEGY",
	1: "RFC6962_SHA256",
	2: "TEST_MAP_HASHER",
	3: "OBJECT_RFC6962_SHA256",
	4: "CONIKS_SHA512_256",
}
var HashStrategy_value = map[string]int32{
	"UNKNOWN_HASH_STRATEGY": 0,
	"RFC6962_SHA256":        1,
	"TEST_MAP_HASHER":       2,
	"OBJECT_RFC6962_SHA256": 3,
	"CONIKS_SHA512_256":     4,
}
var TreeState_name = map[int32]string{
	0: "UNKNOWN_TREE_STATE",
	1: "ACTIVE",
	2: "FROZEN",
	3: "DEPRECATED_SOFT_DELETED",
	4: "DEPRECATED_HARD_DELETED",
}
var TreeState_value = map[string]int32{
	"UNKNOWN_TREE_STATE":      0,
	"ACTIVE":                  1,
	"FROZEN":                  2,
	"DEPRECATED_SOFT_DELETED": 3,
	"DEPRECATED_HARD_DELETED": 4,
}
var TreeType_name = map[int32]string{
	0: "UNKNOWN_TREE_TYPE",
	1: "LOG",
	2: "MAP",
}
var TreeType_value = map[string]int32{
	"UNKNOWN_TREE_TYPE": 0,
	"LOG":               1,
	"MAP":               2,
}

Functions

func RegisterTrillianAdminHandler

func RegisterTrillianAdminHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error

RegisterTrillianAdminHandler registers the http handlers for service TrillianAdmin to "mux". The handlers forward requests to the grpc endpoint over "conn".

func RegisterTrillianAdminHandlerClient

func RegisterTrillianAdminHandlerClient(ctx context.Context, mux *runtime.ServeMux, client TrillianAdminClient) error

RegisterTrillianAdminHandler registers the http handlers for service TrillianAdmin to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "TrillianAdminClient". Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "TrillianAdminClient" doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in "TrillianAdminClient" to call the correct interceptors.

func RegisterTrillianAdminHandlerFromEndpoint

func RegisterTrillianAdminHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error)

RegisterTrillianAdminHandlerFromEndpoint is same as RegisterTrillianAdminHandler but automatically dials to "endpoint" and closes the connection when "ctx" gets done.

func RegisterTrillianAdminServer

func RegisterTrillianAdminServer(s *grpc.Server, srv TrillianAdminServer)

func RegisterTrillianLogHandler

func RegisterTrillianLogHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error

RegisterTrillianLogHandler registers the http handlers for service TrillianLog to "mux". The handlers forward requests to the grpc endpoint over "conn".

func RegisterTrillianLogHandlerClient

func RegisterTrillianLogHandlerClient(ctx context.Context, mux *runtime.ServeMux, client TrillianLogClient) error

RegisterTrillianLogHandler registers the http handlers for service TrillianLog to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "TrillianLogClient". Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "TrillianLogClient" doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in "TrillianLogClient" to call the correct interceptors.

func RegisterTrillianLogHandlerFromEndpoint

func RegisterTrillianLogHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error)

RegisterTrillianLogHandlerFromEndpoint is same as RegisterTrillianLogHandler but automatically dials to "endpoint" and closes the connection when "ctx" gets done.

func RegisterTrillianLogServer

func RegisterTrillianLogServer(s *grpc.Server, srv TrillianLogServer)

func RegisterTrillianMapHandler

func RegisterTrillianMapHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error

RegisterTrillianMapHandler registers the http handlers for service TrillianMap to "mux". The handlers forward requests to the grpc endpoint over "conn".

func RegisterTrillianMapHandlerClient

func RegisterTrillianMapHandlerClient(ctx context.Context, mux *runtime.ServeMux, client TrillianMapClient) error

RegisterTrillianMapHandler registers the http handlers for service TrillianMap to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "TrillianMapClient". Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "TrillianMapClient" doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in "TrillianMapClient" to call the correct interceptors.

func RegisterTrillianMapHandlerFromEndpoint

func RegisterTrillianMapHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error)

RegisterTrillianMapHandlerFromEndpoint is same as RegisterTrillianMapHandler but automatically dials to "endpoint" and closes the connection when "ctx" gets done.

func RegisterTrillianMapServer

func RegisterTrillianMapServer(s *grpc.Server, srv TrillianMapServer)

Types

type CreateTreeRequest

type CreateTreeRequest struct {
	// Tree to be created. See Tree and CreateTree for more details.
	Tree *Tree `protobuf:"bytes,1,opt,name=tree" json:"tree,omitempty"`
	// Describes how the tree's private key should be generated.
	// Only needs to be set if tree.private_key is not set.
	KeySpec *keyspb.Specification `protobuf:"bytes,2,opt,name=key_spec,json=keySpec" json:"key_spec,omitempty"`
}

CreateTree request.

func (*CreateTreeRequest) Descriptor

func (*CreateTreeRequest) Descriptor() ([]byte, []int)

func (*CreateTreeRequest) GetKeySpec

func (m *CreateTreeRequest) GetKeySpec() *keyspb.Specification

func (*CreateTreeRequest) GetTree

func (m *CreateTreeRequest) GetTree() *Tree

func (*CreateTreeRequest) ProtoMessage

func (*CreateTreeRequest) ProtoMessage()

func (*CreateTreeRequest) Reset

func (m *CreateTreeRequest) Reset()

func (*CreateTreeRequest) String

func (m *CreateTreeRequest) String() string

type DeleteTreeRequest

type DeleteTreeRequest struct {
	// ID of the tree to delete.
	TreeId int64 `protobuf:"varint,1,opt,name=tree_id,json=treeId" json:"tree_id,omitempty"`
}

DeleteTree request.

func (*DeleteTreeRequest) Descriptor

func (*DeleteTreeRequest) Descriptor() ([]byte, []int)

func (*DeleteTreeRequest) GetTreeId

func (m *DeleteTreeRequest) GetTreeId() int64

func (*DeleteTreeRequest) ProtoMessage

func (*DeleteTreeRequest) ProtoMessage()

func (*DeleteTreeRequest) Reset

func (m *DeleteTreeRequest) Reset()

func (*DeleteTreeRequest) String

func (m *DeleteTreeRequest) String() string

type GetConsistencyProofRequest

type GetConsistencyProofRequest struct {
	LogId          int64 `protobuf:"varint,1,opt,name=log_id,json=logId" json:"log_id,omitempty"`
	FirstTreeSize  int64 `protobuf:"varint,2,opt,name=first_tree_size,json=firstTreeSize" json:"first_tree_size,omitempty"`
	SecondTreeSize int64 `protobuf:"varint,3,opt,name=second_tree_size,json=secondTreeSize" json:"second_tree_size,omitempty"`
}

func (*GetConsistencyProofRequest) Descriptor

func (*GetConsistencyProofRequest) Descriptor() ([]byte, []int)

func (*GetConsistencyProofRequest) GetFirstTreeSize

func (m *GetConsistencyProofRequest) GetFirstTreeSize() int64

func (*GetConsistencyProofRequest) GetLogId

func (m *GetConsistencyProofRequest) GetLogId() int64

func (*GetConsistencyProofRequest) GetSecondTreeSize

func (m *GetConsistencyProofRequest) GetSecondTreeSize() int64

func (*GetConsistencyProofRequest) ProtoMessage

func (*GetConsistencyProofRequest) ProtoMessage()

func (*GetConsistencyProofRequest) Reset

func (m *GetConsistencyProofRequest) Reset()

func (*GetConsistencyProofRequest) String

func (m *GetConsistencyProofRequest) String() string

type GetConsistencyProofResponse

type GetConsistencyProofResponse struct {
	Proof *Proof `protobuf:"bytes,2,opt,name=proof" json:"proof,omitempty"`
}

func (*GetConsistencyProofResponse) Descriptor

func (*GetConsistencyProofResponse) Descriptor() ([]byte, []int)

func (*GetConsistencyProofResponse) GetProof

func (m *GetConsistencyProofResponse) GetProof() *Proof

func (*GetConsistencyProofResponse) ProtoMessage

func (*GetConsistencyProofResponse) ProtoMessage()

func (*GetConsistencyProofResponse) Reset

func (m *GetConsistencyProofResponse) Reset()

func (*GetConsistencyProofResponse) String

func (m *GetConsistencyProofResponse) String() string

type GetEntryAndProofRequest

type GetEntryAndProofRequest struct {
	LogId     int64 `protobuf:"varint,1,opt,name=log_id,json=logId" json:"log_id,omitempty"`
	LeafIndex int64 `protobuf:"varint,2,opt,name=leaf_index,json=leafIndex" json:"leaf_index,omitempty"`
	TreeSize  int64 `protobuf:"varint,3,opt,name=tree_size,json=treeSize" json:"tree_size,omitempty"`
}

func (*GetEntryAndProofRequest) Descriptor

func (*GetEntryAndProofRequest) Descriptor() ([]byte, []int)

func (*GetEntryAndProofRequest) GetLeafIndex

func (m *GetEntryAndProofRequest) GetLeafIndex() int64

func (*GetEntryAndProofRequest) GetLogId

func (m *GetEntryAndProofRequest) GetLogId() int64

func (*GetEntryAndProofRequest) GetTreeSize

func (m *GetEntryAndProofRequest) GetTreeSize() int64

func (*GetEntryAndProofRequest) ProtoMessage

func (*GetEntryAndProofRequest) ProtoMessage()

func (*GetEntryAndProofRequest) Reset

func (m *GetEntryAndProofRequest) Reset()

func (*GetEntryAndProofRequest) String

func (m *GetEntryAndProofRequest) String() string

type GetEntryAndProofResponse

type GetEntryAndProofResponse struct {
	Proof *Proof   `protobuf:"bytes,2,opt,name=proof" json:"proof,omitempty"`
	Leaf  *LogLeaf `protobuf:"bytes,3,opt,name=leaf" json:"leaf,omitempty"`
}

func (*GetEntryAndProofResponse) Descriptor

func (*GetEntryAndProofResponse) Descriptor() ([]byte, []int)

func (*GetEntryAndProofResponse) GetLeaf

func (m *GetEntryAndProofResponse) GetLeaf() *LogLeaf

func (*GetEntryAndProofResponse) GetProof

func (m *GetEntryAndProofResponse) GetProof() *Proof

func (*GetEntryAndProofResponse) ProtoMessage

func (*GetEntryAndProofResponse) ProtoMessage()

func (*GetEntryAndProofResponse) Reset

func (m *GetEntryAndProofResponse) Reset()

func (*GetEntryAndProofResponse) String

func (m *GetEntryAndProofResponse) String() string

type GetInclusionProofByHashRequest

type GetInclusionProofByHashRequest struct {
	LogId           int64  `protobuf:"varint,1,opt,name=log_id,json=logId" json:"log_id,omitempty"`
	LeafHash        []byte `protobuf:"bytes,2,opt,name=leaf_hash,json=leafHash,proto3" json:"leaf_hash,omitempty"`
	TreeSize        int64  `protobuf:"varint,3,opt,name=tree_size,json=treeSize" json:"tree_size,omitempty"`
	OrderBySequence bool   `protobuf:"varint,4,opt,name=order_by_sequence,json=orderBySequence" json:"order_by_sequence,omitempty"`
}

func (*GetInclusionProofByHashRequest) Descriptor

func (*GetInclusionProofByHashRequest) Descriptor() ([]byte, []int)

func (*GetInclusionProofByHashRequest) GetLeafHash

func (m *GetInclusionProofByHashRequest) GetLeafHash() []byte

func (*GetInclusionProofByHashRequest) GetLogId

func (m *GetInclusionProofByHashRequest) GetLogId() int64

func (*GetInclusionProofByHashRequest) GetOrderBySequence

func (m *GetInclusionProofByHashRequest) GetOrderBySequence() bool

func (*GetInclusionProofByHashRequest) GetTreeSize

func (m *GetInclusionProofByHashRequest) GetTreeSize() int64

func (*GetInclusionProofByHashRequest) ProtoMessage

func (*GetInclusionProofByHashRequest) ProtoMessage()

func (*GetInclusionProofByHashRequest) Reset

func (m *GetInclusionProofByHashRequest) Reset()

func (*GetInclusionProofByHashRequest) String

type GetInclusionProofByHashResponse

type GetInclusionProofByHashResponse struct {
	// Logs can potentially contain leaves with duplicate hashes so it's possible
	// for this to return multiple proofs.
	// TODO(gbelvin) only return one proof.
	Proof []*Proof `protobuf:"bytes,2,rep,name=proof" json:"proof,omitempty"`
}

func (*GetInclusionProofByHashResponse) Descriptor

func (*GetInclusionProofByHashResponse) Descriptor() ([]byte, []int)

func (*GetInclusionProofByHashResponse) GetProof

func (m *GetInclusionProofByHashResponse) GetProof() []*Proof

func (*GetInclusionProofByHashResponse) ProtoMessage

func (*GetInclusionProofByHashResponse) ProtoMessage()

func (*GetInclusionProofByHashResponse) Reset

func (*GetInclusionProofByHashResponse) String

type GetInclusionProofRequest

type GetInclusionProofRequest struct {
	LogId     int64 `protobuf:"varint,1,opt,name=log_id,json=logId" json:"log_id,omitempty"`
	LeafIndex int64 `protobuf:"varint,2,opt,name=leaf_index,json=leafIndex" json:"leaf_index,omitempty"`
	TreeSize  int64 `protobuf:"varint,3,opt,name=tree_size,json=treeSize" json:"tree_size,omitempty"`
}

func (*GetInclusionProofRequest) Descriptor

func (*GetInclusionProofRequest) Descriptor() ([]byte, []int)

func (*GetInclusionProofRequest) GetLeafIndex

func (m *GetInclusionProofRequest) GetLeafIndex() int64

func (*GetInclusionProofRequest) GetLogId

func (m *GetInclusionProofRequest) GetLogId() int64

func (*GetInclusionProofRequest) GetTreeSize

func (m *GetInclusionProofRequest) GetTreeSize() int64

func (*GetInclusionProofRequest) ProtoMessage

func (*GetInclusionProofRequest) ProtoMessage()

func (*GetInclusionProofRequest) Reset

func (m *GetInclusionProofRequest) Reset()

func (*GetInclusionProofRequest) String

func (m *GetInclusionProofRequest) String() string

type GetInclusionProofResponse

type GetInclusionProofResponse struct {
	Proof *Proof `protobuf:"bytes,2,opt,name=proof" json:"proof,omitempty"`
}

func (*GetInclusionProofResponse) Descriptor

func (*GetInclusionProofResponse) Descriptor() ([]byte, []int)

func (*GetInclusionProofResponse) GetProof

func (m *GetInclusionProofResponse) GetProof() *Proof

func (*GetInclusionProofResponse) ProtoMessage

func (*GetInclusionProofResponse) ProtoMessage()

func (*GetInclusionProofResponse) Reset

func (m *GetInclusionProofResponse) Reset()

func (*GetInclusionProofResponse) String

func (m *GetInclusionProofResponse) String() string

type GetLatestSignedLogRootRequest

type GetLatestSignedLogRootRequest struct {
	LogId int64 `protobuf:"varint,1,opt,name=log_id,json=logId" json:"log_id,omitempty"`
}

func (*GetLatestSignedLogRootRequest) Descriptor

func (*GetLatestSignedLogRootRequest) Descriptor() ([]byte, []int)

func (*GetLatestSignedLogRootRequest) GetLogId

func (m *GetLatestSignedLogRootRequest) GetLogId() int64

func (*GetLatestSignedLogRootRequest) ProtoMessage

func (*GetLatestSignedLogRootRequest) ProtoMessage()

func (*GetLatestSignedLogRootRequest) Reset

func (m *GetLatestSignedLogRootRequest) Reset()

func (*GetLatestSignedLogRootRequest) String

type GetLatestSignedLogRootResponse

type GetLatestSignedLogRootResponse struct {
	SignedLogRoot *SignedLogRoot `protobuf:"bytes,2,opt,name=signed_log_root,json=signedLogRoot" json:"signed_log_root,omitempty"`
}

func (*GetLatestSignedLogRootResponse) Descriptor

func (*GetLatestSignedLogRootResponse) Descriptor() ([]byte, []int)

func (*GetLatestSignedLogRootResponse) GetSignedLogRoot

func (m *GetLatestSignedLogRootResponse) GetSignedLogRoot() *SignedLogRoot

func (*GetLatestSignedLogRootResponse) ProtoMessage

func (*GetLatestSignedLogRootResponse) ProtoMessage()

func (*GetLatestSignedLogRootResponse) Reset

func (m *GetLatestSignedLogRootResponse) Reset()

func (*GetLatestSignedLogRootResponse) String

type GetLeavesByHashRequest

type GetLeavesByHashRequest struct {
	LogId           int64    `protobuf:"varint,1,opt,name=log_id,json=logId" json:"log_id,omitempty"`
	LeafHash        [][]byte `protobuf:"bytes,2,rep,name=leaf_hash,json=leafHash,proto3" json:"leaf_hash,omitempty"`
	OrderBySequence bool     `protobuf:"varint,3,opt,name=order_by_sequence,json=orderBySequence" json:"order_by_sequence,omitempty"`
}

func (*GetLeavesByHashRequest) Descriptor

func (*GetLeavesByHashRequest) Descriptor() ([]byte, []int)

func (*GetLeavesByHashRequest) GetLeafHash

func (m *GetLeavesByHashRequest) GetLeafHash() [][]byte

func (*GetLeavesByHashRequest) GetLogId

func (m *GetLeavesByHashRequest) GetLogId() int64

func (*GetLeavesByHashRequest) GetOrderBySequence

func (m *GetLeavesByHashRequest) GetOrderBySequence() bool

func (*GetLeavesByHashRequest) ProtoMessage

func (*GetLeavesByHashRequest) ProtoMessage()

func (*GetLeavesByHashRequest) Reset

func (m *GetLeavesByHashRequest) Reset()

func (*GetLeavesByHashRequest) String

func (m *GetLeavesByHashRequest) String() string

type GetLeavesByHashResponse

type GetLeavesByHashResponse struct {
	// TODO(gbelvin) reply with error codes.
	Leaves []*LogLeaf `protobuf:"bytes,2,rep,name=leaves" json:"leaves,omitempty"`
}

func (*GetLeavesByHashResponse) Descriptor

func (*GetLeavesByHashResponse) Descriptor() ([]byte, []int)

func (*GetLeavesByHashResponse) GetLeaves

func (m *GetLeavesByHashResponse) GetLeaves() []*LogLeaf

func (*GetLeavesByHashResponse) ProtoMessage

func (*GetLeavesByHashResponse) ProtoMessage()

func (*GetLeavesByHashResponse) Reset

func (m *GetLeavesByHashResponse) Reset()

func (*GetLeavesByHashResponse) String

func (m *GetLeavesByHashResponse) String() string

type GetLeavesByIndexRequest

type GetLeavesByIndexRequest struct {
	LogId     int64   `protobuf:"varint,1,opt,name=log_id,json=logId" json:"log_id,omitempty"`
	LeafIndex []int64 `protobuf:"varint,2,rep,packed,name=leaf_index,json=leafIndex" json:"leaf_index,omitempty"`
}

func (*GetLeavesByIndexRequest) Descriptor

func (*GetLeavesByIndexRequest) Descriptor() ([]byte, []int)

func (*GetLeavesByIndexRequest) GetLeafIndex

func (m *GetLeavesByIndexRequest) GetLeafIndex() []int64

func (*GetLeavesByIndexRequest) GetLogId

func (m *GetLeavesByIndexRequest) GetLogId() int64

func (*GetLeavesByIndexRequest) ProtoMessage

func (*GetLeavesByIndexRequest) ProtoMessage()

func (*GetLeavesByIndexRequest) Reset

func (m *GetLeavesByIndexRequest) Reset()

func (*GetLeavesByIndexRequest) String

func (m *GetLeavesByIndexRequest) String() string

type GetLeavesByIndexResponse

type GetLeavesByIndexResponse struct {
	// TODO(gbelvin) reply with error codes.
	Leaves []*LogLeaf `protobuf:"bytes,2,rep,name=leaves" json:"leaves,omitempty"`
}

func (*GetLeavesByIndexResponse) Descriptor

func (*GetLeavesByIndexResponse) Descriptor() ([]byte, []int)

func (*GetLeavesByIndexResponse) GetLeaves

func (m *GetLeavesByIndexResponse) GetLeaves() []*LogLeaf

func (*GetLeavesByIndexResponse) ProtoMessage

func (*GetLeavesByIndexResponse) ProtoMessage()

func (*GetLeavesByIndexResponse) Reset

func (m *GetLeavesByIndexResponse) Reset()

func (*GetLeavesByIndexResponse) String

func (m *GetLeavesByIndexResponse) String() string

type GetMapLeavesByRevisionRequest

type GetMapLeavesByRevisionRequest struct {
	MapId int64    `protobuf:"varint,1,opt,name=map_id,json=mapId" json:"map_id,omitempty"`
	Index [][]byte `protobuf:"bytes,2,rep,name=index,proto3" json:"index,omitempty"`
	// revision >= 0.
	Revision int64 `protobuf:"varint,3,opt,name=revision" json:"revision,omitempty"`
}

This message replaces the current implementation of GetMapLeavesRequest with the difference that revision must be >=0.

func (*GetMapLeavesByRevisionRequest) Descriptor

func (*GetMapLeavesByRevisionRequest) Descriptor() ([]byte, []int)

func (*GetMapLeavesByRevisionRequest) GetIndex

func (m *GetMapLeavesByRevisionRequest) GetIndex() [][]byte

func (*GetMapLeavesByRevisionRequest) GetMapId

func (m *GetMapLeavesByRevisionRequest) GetMapId() int64

func (*GetMapLeavesByRevisionRequest) GetRevision

func (m *GetMapLeavesByRevisionRequest) GetRevision() int64

func (*GetMapLeavesByRevisionRequest) ProtoMessage

func (*GetMapLeavesByRevisionRequest) ProtoMessage()

func (*GetMapLeavesByRevisionRequest) Reset

func (m *GetMapLeavesByRevisionRequest) Reset()

func (*GetMapLeavesByRevisionRequest) String

type GetMapLeavesRequest

type GetMapLeavesRequest struct {
	MapId int64    `protobuf:"varint,1,opt,name=map_id,json=mapId" json:"map_id,omitempty"`
	Index [][]byte `protobuf:"bytes,2,rep,name=index,proto3" json:"index,omitempty"`
}

func (*GetMapLeavesRequest) Descriptor

func (*GetMapLeavesRequest) Descriptor() ([]byte, []int)

func (*GetMapLeavesRequest) GetIndex

func (m *GetMapLeavesRequest) GetIndex() [][]byte

func (*GetMapLeavesRequest) GetMapId

func (m *GetMapLeavesRequest) GetMapId() int64

func (*GetMapLeavesRequest) ProtoMessage

func (*GetMapLeavesRequest) ProtoMessage()

func (*GetMapLeavesRequest) Reset

func (m *GetMapLeavesRequest) Reset()

func (*GetMapLeavesRequest) String

func (m *GetMapLeavesRequest) String() string

type GetMapLeavesResponse

type GetMapLeavesResponse struct {
	MapLeafInclusion []*MapLeafInclusion `protobuf:"bytes,2,rep,name=map_leaf_inclusion,json=mapLeafInclusion" json:"map_leaf_inclusion,omitempty"`
	MapRoot          *SignedMapRoot      `protobuf:"bytes,3,opt,name=map_root,json=mapRoot" json:"map_root,omitempty"`
}

func (*GetMapLeavesResponse) Descriptor

func (*GetMapLeavesResponse) Descriptor() ([]byte, []int)

func (*GetMapLeavesResponse) GetMapLeafInclusion

func (m *GetMapLeavesResponse) GetMapLeafInclusion() []*MapLeafInclusion

func (*GetMapLeavesResponse) GetMapRoot

func (m *GetMapLeavesResponse) GetMapRoot() *SignedMapRoot

func (*GetMapLeavesResponse) ProtoMessage

func (*GetMapLeavesResponse) ProtoMessage()

func (*GetMapLeavesResponse) Reset

func (m *GetMapLeavesResponse) Reset()

func (*GetMapLeavesResponse) String

func (m *GetMapLeavesResponse) String() string

type GetSequencedLeafCountRequest

type GetSequencedLeafCountRequest struct {
	LogId int64 `protobuf:"varint,1,opt,name=log_id,json=logId" json:"log_id,omitempty"`
}

func (*GetSequencedLeafCountRequest) Descriptor

func (*GetSequencedLeafCountRequest) Descriptor() ([]byte, []int)

func (*GetSequencedLeafCountRequest) GetLogId

func (m *GetSequencedLeafCountRequest) GetLogId() int64

func (*GetSequencedLeafCountRequest) ProtoMessage

func (*GetSequencedLeafCountRequest) ProtoMessage()

func (*GetSequencedLeafCountRequest) Reset

func (m *GetSequencedLeafCountRequest) Reset()

func (*GetSequencedLeafCountRequest) String

type GetSequencedLeafCountResponse

type GetSequencedLeafCountResponse struct {
	LeafCount int64 `protobuf:"varint,2,opt,name=leaf_count,json=leafCount" json:"leaf_count,omitempty"`
}

func (*GetSequencedLeafCountResponse) Descriptor

func (*GetSequencedLeafCountResponse) Descriptor() ([]byte, []int)

func (*GetSequencedLeafCountResponse) GetLeafCount

func (m *GetSequencedLeafCountResponse) GetLeafCount() int64

func (*GetSequencedLeafCountResponse) ProtoMessage

func (*GetSequencedLeafCountResponse) ProtoMessage()

func (*GetSequencedLeafCountResponse) Reset

func (m *GetSequencedLeafCountResponse) Reset()

func (*GetSequencedLeafCountResponse) String

type GetSignedMapRootByRevisionRequest

type GetSignedMapRootByRevisionRequest struct {
	MapId    int64 `protobuf:"varint,1,opt,name=map_id,json=mapId" json:"map_id,omitempty"`
	Revision int64 `protobuf:"varint,2,opt,name=revision" json:"revision,omitempty"`
}

func (*GetSignedMapRootByRevisionRequest) Descriptor

func (*GetSignedMapRootByRevisionRequest) Descriptor() ([]byte, []int)

func (*GetSignedMapRootByRevisionRequest) GetMapId

func (*GetSignedMapRootByRevisionRequest) GetRevision

func (m *GetSignedMapRootByRevisionRequest) GetRevision() int64

func (*GetSignedMapRootByRevisionRequest) ProtoMessage

func (*GetSignedMapRootByRevisionRequest) ProtoMessage()

func (*GetSignedMapRootByRevisionRequest) Reset

func (*GetSignedMapRootByRevisionRequest) String

type GetSignedMapRootRequest

type GetSignedMapRootRequest struct {
	MapId int64 `protobuf:"varint,1,opt,name=map_id,json=mapId" json:"map_id,omitempty"`
}

func (*GetSignedMapRootRequest) Descriptor

func (*GetSignedMapRootRequest) Descriptor() ([]byte, []int)

func (*GetSignedMapRootRequest) GetMapId

func (m *GetSignedMapRootRequest) GetMapId() int64

func (*GetSignedMapRootRequest) ProtoMessage

func (*GetSignedMapRootRequest) ProtoMessage()

func (*GetSignedMapRootRequest) Reset

func (m *GetSignedMapRootRequest) Reset()

func (*GetSignedMapRootRequest) String

func (m *GetSignedMapRootRequest) String() string

type GetSignedMapRootResponse

type GetSignedMapRootResponse struct {
	MapRoot *SignedMapRoot `protobuf:"bytes,2,opt,name=map_root,json=mapRoot" json:"map_root,omitempty"`
}

func (*GetSignedMapRootResponse) Descriptor

func (*GetSignedMapRootResponse) Descriptor() ([]byte, []int)

func (*GetSignedMapRootResponse) GetMapRoot

func (m *GetSignedMapRootResponse) GetMapRoot() *SignedMapRoot

func (*GetSignedMapRootResponse) ProtoMessage

func (*GetSignedMapRootResponse) ProtoMessage()

func (*GetSignedMapRootResponse) Reset

func (m *GetSignedMapRootResponse) Reset()

func (*GetSignedMapRootResponse) String

func (m *GetSignedMapRootResponse) String() string

type GetTreeRequest

type GetTreeRequest struct {
	// ID of the tree to retrieve.
	TreeId int64 `protobuf:"varint,1,opt,name=tree_id,json=treeId" json:"tree_id,omitempty"`
}

GetTree request.

func (*GetTreeRequest) Descriptor

func (*GetTreeRequest) Descriptor() ([]byte, []int)

func (*GetTreeRequest) GetTreeId

func (m *GetTreeRequest) GetTreeId() int64

func (*GetTreeRequest) ProtoMessage

func (*GetTreeRequest) ProtoMessage()

func (*GetTreeRequest) Reset

func (m *GetTreeRequest) Reset()

func (*GetTreeRequest) String

func (m *GetTreeRequest) String() string

type HashStrategy

type HashStrategy int32

Defines the way empty / node / leaf hashes are constructed incorporating preimage protection, which can be application specific.

const (
	// Hash strategy cannot be determined. Included to enable detection of
	// mismatched proto versions being used. Represents an invalid value.
	HashStrategy_UNKNOWN_HASH_STRATEGY HashStrategy = 0
	// Certificate Transparency strategy: leaf hash prefix = 0x00, node prefix =
	// 0x01, empty hash is digest([]byte{}), as defined in the specification.
	HashStrategy_RFC6962_SHA256 HashStrategy = 1
	// Sparse Merkle Tree strategy:  leaf hash prefix = 0x00, node prefix = 0x01,
	// empty branch is recursively computed from empty leaf nodes.
	// NOT secure in a multi tree environment. For testing only.
	HashStrategy_TEST_MAP_HASHER HashStrategy = 2
	// Append-only log strategy where leaf nodes are defined as the ObjectHash.
	// All other properties are equal to RFC6962_SHA256.
	HashStrategy_OBJECT_RFC6962_SHA256 HashStrategy = 3
	// The CONIKS sparse tree hasher with SHA512_256 as the hash algorithm.
	HashStrategy_CONIKS_SHA512_256 HashStrategy = 4
)

func (HashStrategy) EnumDescriptor

func (HashStrategy) EnumDescriptor() ([]byte, []int)

func (HashStrategy) String

func (x HashStrategy) String() string

type ListTreesRequest

type ListTreesRequest struct {
	// If true, deleted trees are included in the response.
	ShowDeleted bool `protobuf:"varint,1,opt,name=show_deleted,json=showDeleted" json:"show_deleted,omitempty"`
}

ListTrees request. No filters or pagination options are provided.

func (*ListTreesRequest) Descriptor

func (*ListTreesRequest) Descriptor() ([]byte, []int)

func (*ListTreesRequest) GetShowDeleted

func (m *ListTreesRequest) GetShowDeleted() bool

func (*ListTreesRequest) ProtoMessage

func (*ListTreesRequest) ProtoMessage()

func (*ListTreesRequest) Reset

func (m *ListTreesRequest) Reset()

func (*ListTreesRequest) String

func (m *ListTreesRequest) String() string

type ListTreesResponse

type ListTreesResponse struct {
	// Trees matching the list request filters.
	Tree []*Tree `protobuf:"bytes,1,rep,name=tree" json:"tree,omitempty"`
}

ListTrees response. No pagination is provided, all trees the requester has access to are returned.

func (*ListTreesResponse) Descriptor

func (*ListTreesResponse) Descriptor() ([]byte, []int)

func (*ListTreesResponse) GetTree

func (m *ListTreesResponse) GetTree() []*Tree

func (*ListTreesResponse) ProtoMessage

func (*ListTreesResponse) ProtoMessage()

func (*ListTreesResponse) Reset

func (m *ListTreesResponse) Reset()

func (*ListTreesResponse) String

func (m *ListTreesResponse) String() string

type LogLeaf

type LogLeaf struct {
	// merkle_leaf_hash is over leaf data and optional extra_data.
	MerkleLeafHash []byte `protobuf:"bytes,1,opt,name=merkle_leaf_hash,json=merkleLeafHash,proto3" json:"merkle_leaf_hash,omitempty"`
	// leaf_value contains arbitrary data.
	LeafValue []byte `protobuf:"bytes,2,opt,name=leaf_value,json=leafValue,proto3" json:"leaf_value,omitempty"`
	// extra_data is optional metadata. e.g. a timestamp.
	ExtraData []byte `protobuf:"bytes,3,opt,name=extra_data,json=extraData,proto3" json:"extra_data,omitempty"`
	// leaf_index is optional. Trillian will assign the next available index when unset.
	// TODO: remove this into separate AddSequencedLeaves API.
	LeafIndex int64 `protobuf:"varint,4,opt,name=leaf_index,json=leafIndex" json:"leaf_index,omitempty"`
	// leaf_identity_hash is a hash over the identity of this leaf.
	// It's intended to provide a mechanism for the personality to provide a
	// hint to Trillian that two leaves should be considered "duplicates" even
	// though their leaf_values differ.
	//
	// E.g. in a CT personality multiple add-chain calls for an identical
	// certificate would produce differing leaf_data bytes (due to the presence
	// of SCT elements), with just this information Trillian would be unable to
	// determine that, within the context of the personality, these entries are
	// dupes, so the CT personality sets leaf_identity_hash to H(cert),
	// which allows Trillian to detect the duplicates.
	//
	// Continuing the CT example, for a CT mirror personality (which must allow
	// dupes since the source log could contain them), the part of the
	// personality which fetches and submits the entries might set
	// leaf_identity_hash to H(seq||certdata).
	//
	// If leaf_identity_hash is empty, it's assumed to be the same as the
	// merkle_leaf_hash.
	LeafIdentityHash []byte `protobuf:"bytes,5,opt,name=leaf_identity_hash,json=leafIdentityHash,proto3" json:"leaf_identity_hash,omitempty"`
	// queue_timestamp records the time at which this leaf was first passed to QueueLeaves.
	// This value will be determined and set by the LogServer.
	QueueTimestamp *google_protobuf2.Timestamp `protobuf:"bytes,6,opt,name=queue_timestamp,json=queueTimestamp" json:"queue_timestamp,omitempty"`
	// integrate_timestamp records the time at which this leaf was integrated into the tree.
	// This value will be determined and set by the LogSigner.
	IntegrateTimestamp *google_protobuf2.Timestamp `protobuf:"bytes,7,opt,name=integrate_timestamp,json=integrateTimestamp" json:"integrate_timestamp,omitempty"`
}

func (*LogLeaf) Descriptor

func (*LogLeaf) Descriptor() ([]byte, []int)

func (*LogLeaf) GetExtraData

func (m *LogLeaf) GetExtraData() []byte

func (*LogLeaf) GetIntegrateTimestamp

func (m *LogLeaf) GetIntegrateTimestamp() *google_protobuf2.Timestamp

func (*LogLeaf) GetLeafIdentityHash

func (m *LogLeaf) GetLeafIdentityHash() []byte

func (*LogLeaf) GetLeafIndex

func (m *LogLeaf) GetLeafIndex() int64

func (*LogLeaf) GetLeafValue

func (m *LogLeaf) GetLeafValue() []byte

func (*LogLeaf) GetMerkleLeafHash

func (m *LogLeaf) GetMerkleLeafHash() []byte

func (*LogLeaf) GetQueueTimestamp

func (m *LogLeaf) GetQueueTimestamp() *google_protobuf2.Timestamp

func (*LogLeaf) ProtoMessage

func (*LogLeaf) ProtoMessage()

func (*LogLeaf) Reset

func (m *LogLeaf) Reset()

func (*LogLeaf) String

func (m *LogLeaf) String() string

type MapLeaf

type MapLeaf struct {
	// index is the location of this leaf.
	// All indexes for a given Map must contain a constant number of bits.
	Index []byte `protobuf:"bytes,1,opt,name=index,proto3" json:"index,omitempty"`
	// leaf_hash is the tree hash of leaf_value.  This does not need to be set
	// on SetMapLeavesRequest; the server will fill it in.
	LeafHash []byte `protobuf:"bytes,2,opt,name=leaf_hash,json=leafHash,proto3" json:"leaf_hash,omitempty"`
	// leaf_value is the data the tree commits to.
	LeafValue []byte `protobuf:"bytes,3,opt,name=leaf_value,json=leafValue,proto3" json:"leaf_value,omitempty"`
	// extra_data holds related contextual data, but is not covered by any hash.
	ExtraData []byte `protobuf:"bytes,4,opt,name=extra_data,json=extraData,proto3" json:"extra_data,omitempty"`
}

MapLeaf represents the data behind Map leaves.

func (*MapLeaf) Descriptor

func (*MapLeaf) Descriptor() ([]byte, []int)

func (*MapLeaf) GetExtraData

func (m *MapLeaf) GetExtraData() []byte

func (*MapLeaf) GetIndex

func (m *MapLeaf) GetIndex() []byte

func (*MapLeaf) GetLeafHash

func (m *MapLeaf) GetLeafHash() []byte

func (*MapLeaf) GetLeafValue

func (m *MapLeaf) GetLeafValue() []byte

func (*MapLeaf) ProtoMessage

func (*MapLeaf) ProtoMessage()

func (*MapLeaf) Reset

func (m *MapLeaf) Reset()

func (*MapLeaf) String

func (m *MapLeaf) String() string

type MapLeafInclusion

type MapLeafInclusion struct {
	Leaf      *MapLeaf `protobuf:"bytes,1,opt,name=leaf" json:"leaf,omitempty"`
	Inclusion [][]byte `protobuf:"bytes,2,rep,name=inclusion,proto3" json:"inclusion,omitempty"`
}

func (*MapLeafInclusion) Descriptor

func (*MapLeafInclusion) Descriptor() ([]byte, []int)

func (*MapLeafInclusion) GetInclusion

func (m *MapLeafInclusion) GetInclusion() [][]byte

func (*MapLeafInclusion) GetLeaf

func (m *MapLeafInclusion) GetLeaf() *MapLeaf

func (*MapLeafInclusion) ProtoMessage

func (*MapLeafInclusion) ProtoMessage()

func (*MapLeafInclusion) Reset

func (m *MapLeafInclusion) Reset()

func (*MapLeafInclusion) String

func (m *MapLeafInclusion) String() string

type Proof

type Proof struct {
	LeafIndex int64    `protobuf:"varint,1,opt,name=leaf_index,json=leafIndex" json:"leaf_index,omitempty"`
	Hashes    [][]byte `protobuf:"bytes,3,rep,name=hashes,proto3" json:"hashes,omitempty"`
}

func (*Proof) Descriptor

func (*Proof) Descriptor() ([]byte, []int)

func (*Proof) GetHashes

func (m *Proof) GetHashes() [][]byte

func (*Proof) GetLeafIndex

func (m *Proof) GetLeafIndex() int64

func (*Proof) ProtoMessage

func (*Proof) ProtoMessage()

func (*Proof) Reset

func (m *Proof) Reset()

func (*Proof) String

func (m *Proof) String() string

type QueueLeafRequest

type QueueLeafRequest struct {
	LogId int64    `protobuf:"varint,1,opt,name=log_id,json=logId" json:"log_id,omitempty"`
	Leaf  *LogLeaf `protobuf:"bytes,2,opt,name=leaf" json:"leaf,omitempty"`
}

func (*QueueLeafRequest) Descriptor

func (*QueueLeafRequest) Descriptor() ([]byte, []int)

func (*QueueLeafRequest) GetLeaf

func (m *QueueLeafRequest) GetLeaf() *LogLeaf

func (*QueueLeafRequest) GetLogId

func (m *QueueLeafRequest) GetLogId() int64

func (*QueueLeafRequest) ProtoMessage

func (*QueueLeafRequest) ProtoMessage()

func (*QueueLeafRequest) Reset

func (m *QueueLeafRequest) Reset()

func (*QueueLeafRequest) String

func (m *QueueLeafRequest) String() string

type QueueLeafResponse

type QueueLeafResponse struct {
	QueuedLeaf *QueuedLogLeaf `protobuf:"bytes,2,opt,name=queued_leaf,json=queuedLeaf" json:"queued_leaf,omitempty"`
}

func (*QueueLeafResponse) Descriptor

func (*QueueLeafResponse) Descriptor() ([]byte, []int)

func (*QueueLeafResponse) GetQueuedLeaf

func (m *QueueLeafResponse) GetQueuedLeaf() *QueuedLogLeaf

func (*QueueLeafResponse) ProtoMessage

func (*QueueLeafResponse) ProtoMessage()

func (*QueueLeafResponse) Reset

func (m *QueueLeafResponse) Reset()

func (*QueueLeafResponse) String

func (m *QueueLeafResponse) String() string

type QueueLeavesRequest

type QueueLeavesRequest struct {
	LogId  int64      `protobuf:"varint,1,opt,name=log_id,json=logId" json:"log_id,omitempty"`
	Leaves []*LogLeaf `protobuf:"bytes,2,rep,name=leaves" json:"leaves,omitempty"`
}

func (*QueueLeavesRequest) Descriptor

func (*QueueLeavesRequest) Descriptor() ([]byte, []int)

func (*QueueLeavesRequest) GetLeaves

func (m *QueueLeavesRequest) GetLeaves() []*LogLeaf

func (*QueueLeavesRequest) GetLogId

func (m *QueueLeavesRequest) GetLogId() int64

func (*QueueLeavesRequest) ProtoMessage

func (*QueueLeavesRequest) ProtoMessage()

func (*QueueLeavesRequest) Reset

func (m *QueueLeavesRequest) Reset()

func (*QueueLeavesRequest) String

func (m *QueueLeavesRequest) String() string

type QueueLeavesResponse

type QueueLeavesResponse struct {
	// Same number and order as in the corresponding request.
	QueuedLeaves []*QueuedLogLeaf `protobuf:"bytes,2,rep,name=queued_leaves,json=queuedLeaves" json:"queued_leaves,omitempty"`
}

func (*QueueLeavesResponse) Descriptor

func (*QueueLeavesResponse) Descriptor() ([]byte, []int)

func (*QueueLeavesResponse) GetQueuedLeaves

func (m *QueueLeavesResponse) GetQueuedLeaves() []*QueuedLogLeaf

func (*QueueLeavesResponse) ProtoMessage

func (*QueueLeavesResponse) ProtoMessage()

func (*QueueLeavesResponse) Reset

func (m *QueueLeavesResponse) Reset()

func (*QueueLeavesResponse) String

func (m *QueueLeavesResponse) String() string

type QueuedLogLeaf

type QueuedLogLeaf struct {
	// The leaf is present if status.code is:
	//  - google.rpc.OK : the leaf is the same as in the QueueLea{f,ves}Request
	//  - google.rpc.ALREADY_EXISTS : the leaf is the one already present in the log.
	Leaf   *LogLeaf           `protobuf:"bytes,1,opt,name=leaf" json:"leaf,omitempty"`
	Status *google_rpc.Status `protobuf:"bytes,2,opt,name=status" json:"status,omitempty"`
}

QueuedLogLeaf represents a log leaf that has been queued for inclusion; it may be pending or already exist in the log (if the log does not allow duplicates).

func (*QueuedLogLeaf) Descriptor

func (*QueuedLogLeaf) Descriptor() ([]byte, []int)

func (*QueuedLogLeaf) GetLeaf

func (m *QueuedLogLeaf) GetLeaf() *LogLeaf

func (*QueuedLogLeaf) GetStatus

func (m *QueuedLogLeaf) GetStatus() *google_rpc.Status

func (*QueuedLogLeaf) ProtoMessage

func (*QueuedLogLeaf) ProtoMessage()

func (*QueuedLogLeaf) Reset

func (m *QueuedLogLeaf) Reset()

func (*QueuedLogLeaf) String

func (m *QueuedLogLeaf) String() string

type SetMapLeavesRequest

type SetMapLeavesRequest struct {
	MapId  int64      `protobuf:"varint,1,opt,name=map_id,json=mapId" json:"map_id,omitempty"`
	Leaves []*MapLeaf `protobuf:"bytes,2,rep,name=leaves" json:"leaves,omitempty"`
	// Metadata that the Map should associate with the new Map root after
	// incorporating the leaf changes.  The metadata will be reflected in the
	// Map Root returned in the map's SetLeaves response.
	// Map personalities should use metadata to persist any state needed later
	// to continue mapping from an external data source.
	Metadata *google_protobuf.Any `protobuf:"bytes,4,opt,name=metadata" json:"metadata,omitempty"`
}

func (*SetMapLeavesRequest) Descriptor

func (*SetMapLeavesRequest) Descriptor() ([]byte, []int)

func (*SetMapLeavesRequest) GetLeaves

func (m *SetMapLeavesRequest) GetLeaves() []*MapLeaf

func (*SetMapLeavesRequest) GetMapId

func (m *SetMapLeavesRequest) GetMapId() int64

func (*SetMapLeavesRequest) GetMetadata

func (m *SetMapLeavesRequest) GetMetadata() *google_protobuf.Any

func (*SetMapLeavesRequest) ProtoMessage

func (*SetMapLeavesRequest) ProtoMessage()

func (*SetMapLeavesRequest) Reset

func (m *SetMapLeavesRequest) Reset()

func (*SetMapLeavesRequest) String

func (m *SetMapLeavesRequest) String() string

type SetMapLeavesResponse

type SetMapLeavesResponse struct {
	MapRoot *SignedMapRoot `protobuf:"bytes,2,opt,name=map_root,json=mapRoot" json:"map_root,omitempty"`
}

func (*SetMapLeavesResponse) Descriptor

func (*SetMapLeavesResponse) Descriptor() ([]byte, []int)

func (*SetMapLeavesResponse) GetMapRoot

func (m *SetMapLeavesResponse) GetMapRoot() *SignedMapRoot

func (*SetMapLeavesResponse) ProtoMessage

func (*SetMapLeavesResponse) ProtoMessage()

func (*SetMapLeavesResponse) Reset

func (m *SetMapLeavesResponse) Reset()

func (*SetMapLeavesResponse) String

func (m *SetMapLeavesResponse) String() string

type SignedEntryTimestamp

type SignedEntryTimestamp struct {
	TimestampNanos int64                  `protobuf:"varint,1,opt,name=timestamp_nanos,json=timestampNanos" json:"timestamp_nanos,omitempty"`
	LogId          int64                  `protobuf:"varint,2,opt,name=log_id,json=logId" json:"log_id,omitempty"`
	Signature      *sigpb.DigitallySigned `protobuf:"bytes,3,opt,name=signature" json:"signature,omitempty"`
}

func (*SignedEntryTimestamp) Descriptor

func (*SignedEntryTimestamp) Descriptor() ([]byte, []int)

func (*SignedEntryTimestamp) GetLogId

func (m *SignedEntryTimestamp) GetLogId() int64

func (*SignedEntryTimestamp) GetSignature

func (m *SignedEntryTimestamp) GetSignature() *sigpb.DigitallySigned

func (*SignedEntryTimestamp) GetTimestampNanos

func (m *SignedEntryTimestamp) GetTimestampNanos() int64

func (*SignedEntryTimestamp) ProtoMessage

func (*SignedEntryTimestamp) ProtoMessage()

func (*SignedEntryTimestamp) Reset

func (m *SignedEntryTimestamp) Reset()

func (*SignedEntryTimestamp) String

func (m *SignedEntryTimestamp) String() string

type SignedLogRoot

type SignedLogRoot struct {
	// epoch nanoseconds, good until 2500ish
	TimestampNanos int64  `protobuf:"varint,1,opt,name=timestamp_nanos,json=timestampNanos" json:"timestamp_nanos,omitempty"`
	RootHash       []byte `protobuf:"bytes,2,opt,name=root_hash,json=rootHash,proto3" json:"root_hash,omitempty"`
	// TreeSize is the number of entries in the tree.
	TreeSize     int64                  `protobuf:"varint,3,opt,name=tree_size,json=treeSize" json:"tree_size,omitempty"`
	Signature    *sigpb.DigitallySigned `protobuf:"bytes,4,opt,name=signature" json:"signature,omitempty"`
	LogId        int64                  `protobuf:"varint,5,opt,name=log_id,json=logId" json:"log_id,omitempty"`
	TreeRevision int64                  `protobuf:"varint,6,opt,name=tree_revision,json=treeRevision" json:"tree_revision,omitempty"`
}

SignedLogRoot represents a commitment by a Log to a particular tree.

func (*SignedLogRoot) Descriptor

func (*SignedLogRoot) Descriptor() ([]byte, []int)

func (*SignedLogRoot) GetLogId

func (m *SignedLogRoot) GetLogId() int64

func (*SignedLogRoot) GetRootHash

func (m *SignedLogRoot) GetRootHash() []byte

func (*SignedLogRoot) GetSignature

func (m *SignedLogRoot) GetSignature() *sigpb.DigitallySigned

func (*SignedLogRoot) GetTimestampNanos

func (m *SignedLogRoot) GetTimestampNanos() int64

func (*SignedLogRoot) GetTreeRevision

func (m *SignedLogRoot) GetTreeRevision() int64

func (*SignedLogRoot) GetTreeSize

func (m *SignedLogRoot) GetTreeSize() int64

func (*SignedLogRoot) ProtoMessage

func (*SignedLogRoot) ProtoMessage()

func (*SignedLogRoot) Reset

func (m *SignedLogRoot) Reset()

func (*SignedLogRoot) String

func (m *SignedLogRoot) String() string

type SignedMapRoot

type SignedMapRoot struct {
	TimestampNanos int64  `protobuf:"varint,1,opt,name=timestamp_nanos,json=timestampNanos" json:"timestamp_nanos,omitempty"`
	RootHash       []byte `protobuf:"bytes,2,opt,name=root_hash,json=rootHash,proto3" json:"root_hash,omitempty"`
	// TODO(al): define serialized format for the signature scheme.
	Signature   *sigpb.DigitallySigned `protobuf:"bytes,4,opt,name=signature" json:"signature,omitempty"`
	MapId       int64                  `protobuf:"varint,5,opt,name=map_id,json=mapId" json:"map_id,omitempty"`
	MapRevision int64                  `protobuf:"varint,6,opt,name=map_revision,json=mapRevision" json:"map_revision,omitempty"`
	// Metadata associated with the Map root.  This is set by the map personality
	// layer in a SetLeaves map request.  It could be used to persist state
	// needed to recreate the Map from an external data source.
	Metadata *google_protobuf.Any `protobuf:"bytes,7,opt,name=metadata" json:"metadata,omitempty"`
}

SignedMapRoot represents a commitment by a Map to a particular tree.

func (*SignedMapRoot) Descriptor

func (*SignedMapRoot) Descriptor() ([]byte, []int)

func (*SignedMapRoot) GetMapId

func (m *SignedMapRoot) GetMapId() int64

func (*SignedMapRoot) GetMapRevision

func (m *SignedMapRoot) GetMapRevision() int64

func (*SignedMapRoot) GetMetadata

func (m *SignedMapRoot) GetMetadata() *google_protobuf.Any

func (*SignedMapRoot) GetRootHash

func (m *SignedMapRoot) GetRootHash() []byte

func (*SignedMapRoot) GetSignature

func (m *SignedMapRoot) GetSignature() *sigpb.DigitallySigned

func (*SignedMapRoot) GetTimestampNanos

func (m *SignedMapRoot) GetTimestampNanos() int64

func (*SignedMapRoot) ProtoMessage

func (*SignedMapRoot) ProtoMessage()

func (*SignedMapRoot) Reset

func (m *SignedMapRoot) Reset()

func (*SignedMapRoot) String

func (m *SignedMapRoot) String() string

type Tree

type Tree struct {
	// ID of the tree.
	// Readonly.
	TreeId int64 `protobuf:"varint,1,opt,name=tree_id,json=treeId" json:"tree_id,omitempty"`
	// State of the tree.
	// Trees are active after creation. At any point the tree may transition
	// between ACTIVE and FROZEN.
	TreeState TreeState `protobuf:"varint,2,opt,name=tree_state,json=treeState,enum=trillian.TreeState" json:"tree_state,omitempty"`
	// Type of the tree.
	// Readonly.
	TreeType TreeType `protobuf:"varint,3,opt,name=tree_type,json=treeType,enum=trillian.TreeType" json:"tree_type,omitempty"`
	// Hash strategy to be used by the tree.
	// Readonly.
	HashStrategy HashStrategy `protobuf:"varint,4,opt,name=hash_strategy,json=hashStrategy,enum=trillian.HashStrategy" json:"hash_strategy,omitempty"`
	// Hash algorithm to be used by the tree.
	// Readonly.
	// TODO(gdbelvin): Deprecate in favor of signature_cipher_suite and hash_strategy.
	HashAlgorithm sigpb.DigitallySigned_HashAlgorithm `protobuf:"varint,5,opt,name=hash_algorithm,json=hashAlgorithm,enum=sigpb.DigitallySigned_HashAlgorithm" json:"hash_algorithm,omitempty"`
	// Signature algorithm to be used by the tree.
	// Readonly.
	// TODO(gdbelvin): Deprecate in favor of signature_cipher_suite.
	SignatureAlgorithm sigpb.DigitallySigned_SignatureAlgorithm `protobuf:"varint,6,opt,name=signature_algorithm,json=signatureAlgorithm,enum=sigpb.DigitallySigned_SignatureAlgorithm" json:"signature_algorithm,omitempty"`
	// Signature cipher suite specifies the algorithms used to generate signatures.
	SignatureCipherSuite sigpb.DigitallySigned_SignatureCipherSuite `protobuf:"varint,18,opt,name=signature_cipher_suite,json=signatureCipherSuite,enum=sigpb.DigitallySigned_SignatureCipherSuite" json:"signature_cipher_suite,omitempty"`
	// Display name of the tree.
	// Optional.
	DisplayName string `protobuf:"bytes,8,opt,name=display_name,json=displayName" json:"display_name,omitempty"`
	// Description of the tree,
	// Optional.
	Description string `protobuf:"bytes,9,opt,name=description" json:"description,omitempty"`
	// Identifies the private key used for signing tree heads and entry
	// timestamps.
	// This can be any type of message to accommodate different key management
	// systems, e.g. PEM files, HSMs, etc.
	// Private keys are write-only: they're never returned by RPCs.
	// The private_key message can be changed after a tree is created, but the
	// underlying key must remain the same - this is to enable migrating a key
	// from one provider to another.
	PrivateKey *google_protobuf.Any `protobuf:"bytes,12,opt,name=private_key,json=privateKey" json:"private_key,omitempty"`
	// Storage-specific settings.
	// Varies according to the storage implementation backing Trillian.
	StorageSettings *google_protobuf.Any `protobuf:"bytes,13,opt,name=storage_settings,json=storageSettings" json:"storage_settings,omitempty"`
	// The public key used for verifying tree heads and entry timestamps.
	// Readonly.
	PublicKey *keyspb.PublicKey `protobuf:"bytes,14,opt,name=public_key,json=publicKey" json:"public_key,omitempty"`
	// Interval after which a new signed root is produced even if there have been
	// no submission.  If zero, this behavior is disabled.
	MaxRootDuration *google_protobuf1.Duration `protobuf:"bytes,15,opt,name=max_root_duration,json=maxRootDuration" json:"max_root_duration,omitempty"`
	// Time of tree creation.
	// Readonly.
	CreateTime *google_protobuf2.Timestamp `protobuf:"bytes,16,opt,name=create_time,json=createTime" json:"create_time,omitempty"`
	// Time of last tree update.
	// Readonly (automatically assigned on updates).
	UpdateTime *google_protobuf2.Timestamp `protobuf:"bytes,17,opt,name=update_time,json=updateTime" json:"update_time,omitempty"`
	// If true, the tree has been deleted.
	// Deleted trees may be undeleted during a certain time window, after which
	// they're permanently deleted (and unrecoverable).
	// Readonly.
	Deleted bool `protobuf:"varint,19,opt,name=deleted" json:"deleted,omitempty"`
	// Time of tree deletion, if any.
	// Readonly.
	DeleteTime *google_protobuf2.Timestamp `protobuf:"bytes,20,opt,name=delete_time,json=deleteTime" json:"delete_time,omitempty"`
}

Represents a tree, which may be either a verifiable log or map. Readonly attributes are assigned at tree creation, after which they may not be modified.

func (*Tree) Descriptor

func (*Tree) Descriptor() ([]byte, []int)

func (*Tree) GetCreateTime

func (m *Tree) GetCreateTime() *google_protobuf2.Timestamp

func (*Tree) GetDeleteTime

func (m *Tree) GetDeleteTime() *google_protobuf2.Timestamp

func (*Tree) GetDeleted

func (m *Tree) GetDeleted() bool

func (*Tree) GetDescription

func (m *Tree) GetDescription() string

func (*Tree) GetDisplayName

func (m *Tree) GetDisplayName() string

func (*Tree) GetHashAlgorithm

func (m *Tree) GetHashAlgorithm() sigpb.DigitallySigned_HashAlgorithm

func (*Tree) GetHashStrategy

func (m *Tree) GetHashStrategy() HashStrategy

func (*Tree) GetMaxRootDuration

func (m *Tree) GetMaxRootDuration() *google_protobuf1.Duration

func (*Tree) GetPrivateKey

func (m *Tree) GetPrivateKey() *google_protobuf.Any

func (*Tree) GetPublicKey

func (m *Tree) GetPublicKey() *keyspb.PublicKey

func (*Tree) GetSignatureAlgorithm

func (m *Tree) GetSignatureAlgorithm() sigpb.DigitallySigned_SignatureAlgorithm

func (*Tree) GetSignatureCipherSuite

func (m *Tree) GetSignatureCipherSuite() sigpb.DigitallySigned_SignatureCipherSuite

func (*Tree) GetStorageSettings

func (m *Tree) GetStorageSettings() *google_protobuf.Any

func (*Tree) GetTreeId

func (m *Tree) GetTreeId() int64

func (*Tree) GetTreeState

func (m *Tree) GetTreeState() TreeState

func (*Tree) GetTreeType

func (m *Tree) GetTreeType() TreeType

func (*Tree) GetUpdateTime

func (m *Tree) GetUpdateTime() *google_protobuf2.Timestamp

func (*Tree) ProtoMessage

func (*Tree) ProtoMessage()

func (*Tree) Reset

func (m *Tree) Reset()

func (*Tree) String

func (m *Tree) String() string

type TreeState

type TreeState int32

State of the tree.

const (
	// Tree state cannot be determined. Included to enable detection of
	// mismatched proto versions being used. Represents an invalid value.
	TreeState_UNKNOWN_TREE_STATE TreeState = 0
	// Active trees are able to respond to both read and write requests.
	TreeState_ACTIVE TreeState = 1
	// Frozen trees are only able to respond to read requests, writing to a frozen
	// tree is forbidden.
	TreeState_FROZEN TreeState = 2
	// Deprecated in favor of Tree.deleted.
	TreeState_DEPRECATED_SOFT_DELETED TreeState = 3
	// Deprecated in favor of Tree.deleted.
	TreeState_DEPRECATED_HARD_DELETED TreeState = 4
)

func (TreeState) EnumDescriptor

func (TreeState) EnumDescriptor() ([]byte, []int)

func (TreeState) String

func (x TreeState) String() string

type TreeType

type TreeType int32

Type of the tree.

const (
	// Tree type cannot be determined. Included to enable detection of
	// mismatched proto versions being used. Represents an invalid value.
	TreeType_UNKNOWN_TREE_TYPE TreeType = 0
	// Tree represents a verifiable log.
	TreeType_LOG TreeType = 1
	// Tree represents a verifiable map.
	TreeType_MAP TreeType = 2
)

func (TreeType) EnumDescriptor

func (TreeType) EnumDescriptor() ([]byte, []int)

func (TreeType) String

func (x TreeType) String() string

type TrillianAdminClient

type TrillianAdminClient interface {
	// Lists all trees the requester has access to.
	ListTrees(ctx context.Context, in *ListTreesRequest, opts ...grpc.CallOption) (*ListTreesResponse, error)
	// Retrieves a tree by ID.
	GetTree(ctx context.Context, in *GetTreeRequest, opts ...grpc.CallOption) (*Tree, error)
	// Creates a new tree.
	// System-generated fields are not required and will be ignored if present,
	// e.g.: tree_id, create_time and update_time.
	// Returns the created tree, with all system-generated fields assigned.
	CreateTree(ctx context.Context, in *CreateTreeRequest, opts ...grpc.CallOption) (*Tree, error)
	// Updates a tree.
	// See Tree for details. Readonly fields cannot be updated.
	UpdateTree(ctx context.Context, in *UpdateTreeRequest, opts ...grpc.CallOption) (*Tree, error)
	// Soft-deletes a tree.
	// A soft-deleted tree may be undeleted for a certain period, after which
	// it'll be permanently deleted.
	DeleteTree(ctx context.Context, in *DeleteTreeRequest, opts ...grpc.CallOption) (*Tree, error)
	// Undeletes a soft-deleted a tree.
	// A soft-deleted tree may be undeleted for a certain period, after which
	// it'll be permanently deleted.
	UndeleteTree(ctx context.Context, in *UndeleteTreeRequest, opts ...grpc.CallOption) (*Tree, error)
}

func NewTrillianAdminClient

func NewTrillianAdminClient(cc *grpc.ClientConn) TrillianAdminClient

type TrillianAdminServer

type TrillianAdminServer interface {
	// Lists all trees the requester has access to.
	ListTrees(context.Context, *ListTreesRequest) (*ListTreesResponse, error)
	// Retrieves a tree by ID.
	GetTree(context.Context, *GetTreeRequest) (*Tree, error)
	// Creates a new tree.
	// System-generated fields are not required and will be ignored if present,
	// e.g.: tree_id, create_time and update_time.
	// Returns the created tree, with all system-generated fields assigned.
	CreateTree(context.Context, *CreateTreeRequest) (*Tree, error)
	// Updates a tree.
	// See Tree for details. Readonly fields cannot be updated.
	UpdateTree(context.Context, *UpdateTreeRequest) (*Tree, error)
	// Soft-deletes a tree.
	// A soft-deleted tree may be undeleted for a certain period, after which
	// it'll be permanently deleted.
	DeleteTree(context.Context, *DeleteTreeRequest) (*Tree, error)
	// Undeletes a soft-deleted a tree.
	// A soft-deleted tree may be undeleted for a certain period, after which
	// it'll be permanently deleted.
	UndeleteTree(context.Context, *UndeleteTreeRequest) (*Tree, error)
}

type TrillianLogClient

type TrillianLogClient interface {
	// QueueLeaf adds a single leaf to the queue.
	QueueLeaf(ctx context.Context, in *QueueLeafRequest, opts ...grpc.CallOption) (*QueueLeafResponse, error)
	// No direct equivalent at the storage level
	GetInclusionProof(ctx context.Context, in *GetInclusionProofRequest, opts ...grpc.CallOption) (*GetInclusionProofResponse, error)
	GetInclusionProofByHash(ctx context.Context, in *GetInclusionProofByHashRequest, opts ...grpc.CallOption) (*GetInclusionProofByHashResponse, error)
	GetConsistencyProof(ctx context.Context, in *GetConsistencyProofRequest, opts ...grpc.CallOption) (*GetConsistencyProofResponse, error)
	// Corresponds to the LogRootReader API
	GetLatestSignedLogRoot(ctx context.Context, in *GetLatestSignedLogRootRequest, opts ...grpc.CallOption) (*GetLatestSignedLogRootResponse, error)
	// Corresponds to the LeafReader API
	GetSequencedLeafCount(ctx context.Context, in *GetSequencedLeafCountRequest, opts ...grpc.CallOption) (*GetSequencedLeafCountResponse, error)
	GetEntryAndProof(ctx context.Context, in *GetEntryAndProofRequest, opts ...grpc.CallOption) (*GetEntryAndProofResponse, error)
	// Corresponds to the LeafQueuer API
	QueueLeaves(ctx context.Context, in *QueueLeavesRequest, opts ...grpc.CallOption) (*QueueLeavesResponse, error)
	GetLeavesByIndex(ctx context.Context, in *GetLeavesByIndexRequest, opts ...grpc.CallOption) (*GetLeavesByIndexResponse, error)
	GetLeavesByHash(ctx context.Context, in *GetLeavesByHashRequest, opts ...grpc.CallOption) (*GetLeavesByHashResponse, error)
}

func NewTrillianLogClient

func NewTrillianLogClient(cc *grpc.ClientConn) TrillianLogClient

type TrillianLogServer

type TrillianLogServer interface {
	// QueueLeaf adds a single leaf to the queue.
	QueueLeaf(context.Context, *QueueLeafRequest) (*QueueLeafResponse, error)
	// No direct equivalent at the storage level
	GetInclusionProof(context.Context, *GetInclusionProofRequest) (*GetInclusionProofResponse, error)
	GetInclusionProofByHash(context.Context, *GetInclusionProofByHashRequest) (*GetInclusionProofByHashResponse, error)
	GetConsistencyProof(context.Context, *GetConsistencyProofRequest) (*GetConsistencyProofResponse, error)
	// Corresponds to the LogRootReader API
	GetLatestSignedLogRoot(context.Context, *GetLatestSignedLogRootRequest) (*GetLatestSignedLogRootResponse, error)
	// Corresponds to the LeafReader API
	GetSequencedLeafCount(context.Context, *GetSequencedLeafCountRequest) (*GetSequencedLeafCountResponse, error)
	GetEntryAndProof(context.Context, *GetEntryAndProofRequest) (*GetEntryAndProofResponse, error)
	// Corresponds to the LeafQueuer API
	QueueLeaves(context.Context, *QueueLeavesRequest) (*QueueLeavesResponse, error)
	GetLeavesByIndex(context.Context, *GetLeavesByIndexRequest) (*GetLeavesByIndexResponse, error)
	GetLeavesByHash(context.Context, *GetLeavesByHashRequest) (*GetLeavesByHashResponse, error)
}

type TrillianMapClient

type TrillianMapClient interface {
	// GetLeaves returns an inclusion proof for each index requested.
	// For indexes that do not exist, the inclusion proof will use nil for the empty leaf value.
	GetLeaves(ctx context.Context, in *GetMapLeavesRequest, opts ...grpc.CallOption) (*GetMapLeavesResponse, error)
	GetLeavesByRevision(ctx context.Context, in *GetMapLeavesByRevisionRequest, opts ...grpc.CallOption) (*GetMapLeavesResponse, error)
	SetLeaves(ctx context.Context, in *SetMapLeavesRequest, opts ...grpc.CallOption) (*SetMapLeavesResponse, error)
	GetSignedMapRoot(ctx context.Context, in *GetSignedMapRootRequest, opts ...grpc.CallOption) (*GetSignedMapRootResponse, error)
	GetSignedMapRootByRevision(ctx context.Context, in *GetSignedMapRootByRevisionRequest, opts ...grpc.CallOption) (*GetSignedMapRootResponse, error)
}

func NewTrillianMapClient

func NewTrillianMapClient(cc *grpc.ClientConn) TrillianMapClient

type TrillianMapServer

type TrillianMapServer interface {
	// GetLeaves returns an inclusion proof for each index requested.
	// For indexes that do not exist, the inclusion proof will use nil for the empty leaf value.
	GetLeaves(context.Context, *GetMapLeavesRequest) (*GetMapLeavesResponse, error)
	GetLeavesByRevision(context.Context, *GetMapLeavesByRevisionRequest) (*GetMapLeavesResponse, error)
	SetLeaves(context.Context, *SetMapLeavesRequest) (*SetMapLeavesResponse, error)
	GetSignedMapRoot(context.Context, *GetSignedMapRootRequest) (*GetSignedMapRootResponse, error)
	GetSignedMapRootByRevision(context.Context, *GetSignedMapRootByRevisionRequest) (*GetSignedMapRootResponse, error)
}

type UndeleteTreeRequest

type UndeleteTreeRequest struct {
	// ID of the tree to undelete.
	TreeId int64 `protobuf:"varint,1,opt,name=tree_id,json=treeId" json:"tree_id,omitempty"`
}

UndeleteTree request.

func (*UndeleteTreeRequest) Descriptor

func (*UndeleteTreeRequest) Descriptor() ([]byte, []int)

func (*UndeleteTreeRequest) GetTreeId

func (m *UndeleteTreeRequest) GetTreeId() int64

func (*UndeleteTreeRequest) ProtoMessage

func (*UndeleteTreeRequest) ProtoMessage()

func (*UndeleteTreeRequest) Reset

func (m *UndeleteTreeRequest) Reset()

func (*UndeleteTreeRequest) String

func (m *UndeleteTreeRequest) String() string

type UpdateTreeRequest

type UpdateTreeRequest struct {
	// Tree to be updated.
	Tree *Tree `protobuf:"bytes,1,opt,name=tree" json:"tree,omitempty"`
	// Fields modified by the update request.
	// For example: "tree_state", "display_name", "description".
	UpdateMask *google_protobuf4.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask" json:"update_mask,omitempty"`
}

UpdateTree request.

func (*UpdateTreeRequest) Descriptor

func (*UpdateTreeRequest) Descriptor() ([]byte, []int)

func (*UpdateTreeRequest) GetTree

func (m *UpdateTreeRequest) GetTree() *Tree

func (*UpdateTreeRequest) GetUpdateMask

func (m *UpdateTreeRequest) GetUpdateMask() *google_protobuf4.FieldMask

func (*UpdateTreeRequest) ProtoMessage

func (*UpdateTreeRequest) ProtoMessage()

func (*UpdateTreeRequest) Reset

func (m *UpdateTreeRequest) Reset()

func (*UpdateTreeRequest) String

func (m *UpdateTreeRequest) String() string

Source Files

gen.go trillian.pb.go trillian_admin_api.pb.go trillian_admin_api.pb.gw.go trillian_log_api.pb.go trillian_log_api.pb.gw.go trillian_map_api.pb.go trillian_map_api.pb.gw.go

Directories

PathSynopsis
clientPackage client verifies responses from the Trillian log.
client/backoffPackage backoff allows retrying an operation with backoff.
cmd
cmd/createtreePackage main contains the implementation and entry point for the createtree command.
cmd/createtree/keys
cmd/createtree/testonly
cryptoPackage crypto provides signing functionality for Trillian.
crypto/keysPackage keys provides access to public and private keys for signing and verification of signatures.
crypto/keys/der
crypto/keys/der/protoPackage proto registers a DER keys.ProtoHandler using keys.RegisterHandler.
crypto/keyspbPackage keyspb is a generated protocol buffer package.
crypto/keys/pem
crypto/keys/pem/protoPackage proto registers a PEM keys.ProtoHandler using keys.RegisterHandler.
crypto/keys/pkcs11Package pkcs11 provides access to private keys using a PKCS#11 interface.
crypto/keys/pkcs11/protoPackage proto registers a PKCS#11 keys.ProtoHandler using keys.RegisterHandler.
crypto/keys/testonlyPackage testonly contains code and data that should only be used by tests.
crypto/sigpbPackage sigpb is a generated protocol buffer package.
docs
docs/storage
docs/storage/commit_logThe commit_log binary runs a simulation of the design for a commit-log based signer, with a simulated Kafka-like interface and a simulated master election package (which can be triggered to incorrectly report multiple masters), and with the core algorithm in the signer code.
docs/storage/commit_log/signerPackage signer is a sample implementation of a commit-log based signer.
docs/storage/commit_log/simelectionPackage simelection simulates a master election.
docs/storage/commit_log/simkafkaPackage simkafka is a toy simulation of a Kafka commit log.
errorsPackage errors defines an error representation that associates an error message to an error code.
examples
examples/ct
examples/ct/ctmapperPackage ctmapper maps from a verifiable log to verifiable map.
examples/ct/ctmapper/ctmapperpbPackage ctmapperpb is a generated protocol buffer package.
examples/ct/ctmapper/lookupThe lookup binary looks up a specific ID in a map.
examples/ct/ctmapper/mapperThe mapper binary performs log->map mapping.
examples/vmap
examples/vmap/trillian_map_clientThe trillian_map_client binary performs a trivial map operation.
extensionPackage extension provides an extension mechanism for Trillian code to access fork-specific functionality.
integrationPackage integration contains some integration tests which are intended to serve as a way of checking that various top-level binaries work as intended, as well as providing a simple example of how to run and use the various servers.
integration/adminPackage admin contains integration tests for the Admin server.
integration/maptest
integration/quotaPackage quota contains quota-related integration tests.
logPackage log includes code that is specific to Trillian's log mode, particularly code for running sequencing operations.
merklePackage merkle provides Merkle tree manipulation functions.
merkle/coniksPackage coniks provides hashing for maps.
merkle/hashers
merkle/maphasherPackage maphasher provides hashing for maps.
merkle/objhasherPackage objhasher provides generic object hashing functionality.
merkle/rfc6962Package rfc6962 provides hashing functionality according to RFC6962.
monitoringPackage monitoring provides monitoring functionality.
monitoring/prometheusPackage prometheus provides a Prometheus-based implementation of the MetricFactory abstraction.
monitoring/prometheus/etcdiscoverThe etcdiscover binary monitors etcd to track the set of instances that support a gRPC service, and updates a file so that Prometheus can track those instances.
monitoring/testonly
quotaPackage quota defines Trillian's Quota Management service.
quota/cacheqmPackage cacheqm contains a caching quota.Manager implementation.
quota/etcd
quota/etcd/etcdqmPackage etcdqm contains an etcd-based quota.Manager implementation.
quota/etcd/quotaapiPackage quotaapi provides a Quota admin server implementation.
quota/etcd/quotapbPackage quotapb contains definitions for quota API protos and RPC service.
quota/etcd/storagePackage storage contains storage classes for etcd-based quotas.
quota/etcd/storagepbPackage storagepb is a generated protocol buffer package.
quota/mysqlqmPackage mysqlqm defines a MySQL-based quota.Manager implementation.
serverPackage server holds code for core Trillian servers.
server/adminPackage admin contains the TrillianAdminServer implementation.
server/errorsPackage errors contains utilities to translate TrillianErrors to gRPC errors.
server/interceptorPackage interceptor defines gRPC interceptors for Trillian.
server/trillian_log_serverThe trillian_log_server binary runs the Trillian log server, and also provides an admin server.
server/trillian_log_signerThe trillian_log_signer binary runs the log signing code.
server/trillian_map_server
storagePackage storage provides general interfaces to Trillian storage layers.
storage/cachePackage cache provides subtree caching functionality.
storage/memoryPackage memory provides a simple in-process implementation of the tree- and log-storage interfaces.
storage/mysqlPackage mysql provides a MySQL-based storage layer implementation.
storage/storagepbPackage storagepb is a generated protocol buffer package.
storage/testdbPackage testdb creates new databases for tests.
storage/testonlyPackage testonly holds test-specific code for Trillian storage layers.
storage/tools
storage/tools/dump_treeThe dump_tree program uses the in memory storage implementation to create a sequenced log tree of a particular size using known leaf data and then dumps out the resulting SubTree protos for examination and debugging.
storage/tools/dump_tree/dumplib
storage/tools/fetch_leavesThe fetch_leaves program retrieves leaves from a tree.
storage/tools/hasherThe hasher program provides a simple CLI for producing Merkle tree hashes.
storage/tools/log_clientThe log_client binary retrieves leaves from a log.
storage/tools/queue_leavesThe queue_leaves binary queues a number of leaves for a log from a given start point with predictable hashes.
testonlyPackage testonly contains code and data that should only be used by tests.
testonly/hammer
testonly/hammer/maphammermaphammer is a stress/load test for a Trillian Map.
testonly/integrationPackage integration provides test-only code for performing integrated tests of Trillian functionality.
testonly/integration/etcd
testonly/matchersPackage matchers contains additional gomock matchers.
treesPackage trees contains utility method for retrieving trees and acquiring objects (hashers, signers) associated with them.
utilPackage util holds various utility functions used throughout the Trillian codebase.
util/etcdPackage etcd holds an etcd-specific implementation of the util.MasterElection interface.
util/flagsaverPackage flagsaver provides a simple way to save and restore flag values.
util/proxyPackage proxy forwards Trillian Log Server requests to another server.
vmap
vmap/rpctoy
vmap/toy
Version
v1.0.5
Published
Jan 23, 2018
Platform
js/wasm
Imports
20 packages
Last checked
1 second ago

Tools for package owners.