ipfs-cluster/rpc_policy.go
Kishan Sagathiya 5258a4d428 Remove map pintracker (#944)
This removes mappintracker and sets stateless tracker as the default (and only) pintracker component.

Because the stateless tracker matches the cluster state with only ongoing operations being kept on memory, and additional information provided by ipfs-pin-ls, syncing operations are not necessary. Therefore the Sync/SyncAll operations are removed cluster-wide.
2019-12-12 21:22:54 +01:00

68 lines
2.8 KiB
Go

package ipfscluster
// This file can be generated with rpcutil/policygen.
// DefaultRPCPolicy associates all rpc endpoints offered by cluster peers to an
// endpoint type. See rpcutil/policygen.go as a quick way to generate this
// without missing any endpoint.
var DefaultRPCPolicy = map[string]RPCEndpointType{
// Cluster methods
"Cluster.BlockAllocate": RPCClosed,
"Cluster.ConnectGraph": RPCClosed,
"Cluster.ID": RPCOpen,
"Cluster.Join": RPCClosed,
"Cluster.PeerAdd": RPCOpen, // Used by Join()
"Cluster.PeerRemove": RPCTrusted,
"Cluster.Peers": RPCTrusted, // Used by ConnectGraph()
"Cluster.Pin": RPCClosed,
"Cluster.PinGet": RPCClosed,
"Cluster.PinPath": RPCClosed,
"Cluster.Pins": RPCClosed, // Used in stateless tracker, ipfsproxy, restapi
"Cluster.Recover": RPCClosed,
"Cluster.RecoverAll": RPCClosed,
"Cluster.RecoverAllLocal": RPCTrusted,
"Cluster.RecoverLocal": RPCTrusted,
"Cluster.RepoGC": RPCClosed,
"Cluster.RepoGCLocal": RPCTrusted,
"Cluster.SendInformerMetric": RPCClosed,
"Cluster.SendInformersMetrics": RPCClosed,
"Cluster.Status": RPCClosed,
"Cluster.StatusAll": RPCClosed,
"Cluster.StatusAllLocal": RPCClosed,
"Cluster.StatusLocal": RPCClosed,
"Cluster.Unpin": RPCClosed,
"Cluster.UnpinPath": RPCClosed,
"Cluster.Version": RPCOpen,
// PinTracker methods
"PinTracker.Recover": RPCTrusted, // Called in broadcast from Recover()
"PinTracker.RecoverAll": RPCClosed, // Broadcast in RecoverAll unimplemented
"PinTracker.Status": RPCTrusted,
"PinTracker.StatusAll": RPCTrusted,
"PinTracker.Track": RPCClosed,
"PinTracker.Untrack": RPCClosed,
// IPFSConnector methods
"IPFSConnector.BlockGet": RPCClosed,
"IPFSConnector.BlockPut": RPCTrusted, // Called from Add()
"IPFSConnector.ConfigKey": RPCClosed,
"IPFSConnector.Pin": RPCClosed,
"IPFSConnector.PinLs": RPCClosed,
"IPFSConnector.PinLsCid": RPCClosed,
"IPFSConnector.RepoStat": RPCTrusted, // Called in broadcast from proxy/repo/stat
"IPFSConnector.Resolve": RPCClosed,
"IPFSConnector.SwarmPeers": RPCTrusted, // Called in ConnectGraph
"IPFSConnector.Unpin": RPCClosed,
// Consensus methods
"Consensus.AddPeer": RPCTrusted, // Called by Raft/redirect to leader
"Consensus.LogPin": RPCTrusted, // Called by Raft/redirect to leader
"Consensus.LogUnpin": RPCTrusted, // Called by Raft/redirect to leader
"Consensus.Peers": RPCClosed,
"Consensus.RmPeer": RPCTrusted, // Called by Raft/redirect to leader
// PeerMonitor methods
"PeerMonitor.LatestMetrics": RPCClosed,
"PeerMonitor.MetricNames": RPCClosed,
}