Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ChurpSchemeStatus ¶ added in v0.2400.0
type ChurpSchemeStatus struct { // Status is the consensus status of the CHURP scheme. Status *churp.Status `json:"status,omitempty"` }
ChurpSchemeStatus represents the status of a CHURP scheme.
type ChurpStatus ¶ added in v0.2400.0
type ChurpStatus struct { // Schemes is a list of CHURP scheme configurations. Schemes map[uint8]ChurpSchemeStatus `json:"schemes,omitempty"` }
ChurpStatus represents the status of the key manager CHURP extension.
type EphemeralSecretStats ¶ added in v0.2300.0
type EphemeralSecretStats struct { // NumLoaded is the number of loaded secrets. NumLoaded int `json:"num_loaded"` // LastLoaded is the epoch of the last loaded secret. LastLoaded beacon.EpochTime `json:"last_loaded_epoch"` // NumGenerated is the number of generated secrets. NumGenerated int `json:"num_generated"` // LastGenerated is the epoch of the last generated secret. LastGenerated beacon.EpochTime `json:"last_generated_epoch"` }
EphemeralSecretStats are the ephemeral secret generation and replication stats.
type MasterSecretStats ¶ added in v0.2300.0
type MasterSecretStats struct { // NumLoaded is the number of loaded secrets. NumLoaded int `json:"num_loaded"` // LastLoaded is the generation of the last loaded secret. LastLoaded uint64 `json:"last_loaded_generation"` // NumGenerated is the number of generated secrets. NumGenerated int `json:"num_generated"` // LastGenerated is the generation of the last generated secret. LastGenerated uint64 `json:"last_generated_generation"` }
MasterSecretStats are the master secret generation and replication stats.
type RPCAccessController ¶ added in v0.2400.0
type RPCAccessController interface { // Methods returns a list of allowed methods. Methods() []string // Connect verifies whether the peer is allowed to establish a secure Noise connection, // meaning it is authorized to invoke at least one secure RPC method. Connect(ctx context.Context, peerID core.PeerID) bool // Authorize verifies whether the peer is allowed to invoke the specified RPC method. Authorize(ctx context.Context, method string, kind enclaverpc.Kind, peerID core.PeerID) error }
RPCAccessController handles the authorization of enclave RPC calls.
type RuntimeAccessList ¶
type RuntimeAccessList struct { // RuntimeID is the runtime ID of the runtime this access list is for. RuntimeID common.Namespace `json:"runtime_id"` // Peers is a list of peers that are allowed to call protected methods. Peers []core.PeerID `json:"peers"` }
RuntimeAccessList is an access control lists for a runtime.
type SecretsStatus ¶ added in v0.2400.0
type SecretsStatus struct { // Status is the global key manager committee status. Status *secrets.Status `json:"status"` // Worker is the key manager master and ephemeral secrets worker status. Worker SecretsWorkerStatus `json:"worker"` }
SecretsStatus is the key manager master and ephemeral secrets status.
type SecretsWorkerStatus ¶ added in v0.2400.0
type SecretsWorkerStatus struct { // Status is a concise status of the worker. Status StatusState `json:"status"` // LastRegistration is the time of the last successful registration with the consensus registry // service. In case the worker did not successfully register yet, it will be the zero timestamp. LastRegistration time.Time `json:"last_registration"` // Policy is the master and ephemeral secrets access control policy. Policy *secrets.SignedPolicySGX `json:"policy"` // PolicyChecksum is the checksum of the policy. PolicyChecksum []byte `json:"policy_checksum"` // MasterSecrets are the master secret generation and replication stats. MasterSecrets MasterSecretStats `json:"master_secrets"` // EphemeralSecrets are the ephemeral secret generation and replication stats. EphemeralSecrets EphemeralSecretStats `json:"ephemeral_secrets"` // PrivatePeers is a list of peers that are always allowed to call protected methods. PrivatePeers []core.PeerID `json:"private_peers"` }
SecretsWorkerStatus is the key manager master and ephemeral secrets worker status.
type Status ¶
type Status struct { // Status is a concise status of the key manager worker. Status StatusState `json:"status"` // ActiveVersion is the currently active version. ActiveVersion *version.Version `json:"active_version"` // RuntimeID is the runtime ID of the key manager. RuntimeID *common.Namespace `json:"runtime_id"` // ClientRuntimes is a list of compute runtimes that use this key manager. ClientRuntimes []common.Namespace `json:"client_runtimes"` // AccessList is per-runtime list of peers that are allowed to call protected methods. AccessList []RuntimeAccessList `json:"access_list"` // Secrets is the master and ephemeral secrets status. Secrets *SecretsStatus `json:"secrets"` // Churp is the CHURP status. Churp ChurpStatus `json:"churp"` }
Status is the key manager worker status.
type StatusState ¶
type StatusState uint8
StatusState is the concise status state of the key manager worker.
const ( // StatusStateReady is the ready status state. StatusStateReady StatusState = 0 // StatusStateStarting is the starting status state. StatusStateStarting StatusState = 1 // StatusStateStopped is the stopped status state. StatusStateStopped StatusState = 2 // StatusStateDisabled is the disabled status state. StatusStateDisabled StatusState = 3 )
func (StatusState) MarshalText ¶
func (s StatusState) MarshalText() ([]byte, error)
MarshalText encodes a StatusState into text form.
func (StatusState) String ¶
func (s StatusState) String() string
String returns a string representation of a status state.
func (*StatusState) UnmarshalText ¶
func (s *StatusState) UnmarshalText(text []byte) error
UnmarshalText decodes a text slice into a StatusState.