Documentation
¶
Overview ¶
Example (Flags) ¶
package main
import (
"context"
"flag"
"fmt"
"moul.io/u"
"berty.tech/berty/v2/go/internal/initutil"
)
func main() {
// init manager
ctx := context.Background()
manager, err := initutil.New(ctx)
if err != nil {
panic(err)
}
defer manager.Close(nil)
// configure flags
fmt.Println("before", u.JSON(manager.Node.GRPC))
fs := flag.NewFlagSet("test", flag.ExitOnError)
manager.SetupLocalProtocolServerFlags(fs)
manager.SetupRemoteNodeFlags(fs)
manager.SetupDefaultGRPCListenersFlags(fs)
err = fs.Parse([]string{"-store.inmem", "-p2p.min-backoff=2m10s", "-node.remote-addr=1.2.3.4:5678"})
if err != nil {
panic(err)
}
fmt.Println("after ", u.JSON(manager.Node.GRPC))
}
Output: before {} after {"RemoteAddr":"1.2.3.4:5678","Listeners":"/ip4/127.0.0.1/tcp/9091/grpc"}
Example (Noflags) ¶
package main
import (
"context"
"flag"
"fmt"
"berty.tech/berty/v2/go/internal/initutil"
"berty.tech/berty/v2/go/pkg/protocoltypes"
)
func main() {
// init manager
ctx := context.Background()
manager, err := initutil.New(ctx)
if err != nil {
panic(err)
}
defer manager.Close(nil)
fs := flag.NewFlagSet("", flag.ExitOnError)
manager.SetupLocalProtocolServerFlags(fs)
manager.SetupRemoteNodeFlags(fs)
fs.Parse([]string{})
// configure manager without flags
manager.Node.GRPC.Listeners = ""
manager.Node.Protocol.DisableIPFSNetwork = true
manager.Datastore.InMemory = true
// start a local berty protocol server
_, err = manager.GetLocalProtocolServer()
if err != nil {
panic(err)
}
// build a client for the previously created protocol server
client, err := manager.GetProtocolClient()
if err != nil {
panic(err)
}
// retrieve config
ret, err := client.InstanceGetConfiguration(ctx, &protocoltypes.InstanceGetConfiguration_Request{})
if err != nil {
panic(err)
}
// check that the reply is valid (cannot check hardcoded value, since it's random)
fmt.Println(ret.AccountPK != nil)
}
Output: true
Index ¶
- Constants
- func ReplaceGRPCLogger(l *zap.Logger)
- type Manager
- func (m *Manager) AdvancedHelp() string
- func (m *Manager) Close(prog *progress.Progress) error
- func (m *Manager) DisableIPFSNetwork()
- func (m *Manager) GetContext() context.Context
- func (m *Manager) GetDatastoreDir() (string, error)
- func (m *Manager) GetGRPCClientConn() (*grpc.ClientConn, error)
- func (m *Manager) GetGRPCListeners() []grpcutil.Listener
- func (m *Manager) GetGRPCServer() (*grpc.Server, *grpcgw.ServeMux, error)
- func (m *Manager) GetLifecycleManager() *lifecycle.Manager
- func (m *Manager) GetLocalIPFS() (ipfsutil.ExtendedCoreAPI, *ipfs_core.IpfsNode, error)
- func (m *Manager) GetLocalMessengerServer() (messengertypes.MessengerServiceServer, error)
- func (m *Manager) GetLocalProtocolServer() (bertyprotocol.Service, error)
- func (m *Manager) GetLogger() (*zap.Logger, error)
- func (m *Manager) GetMessengerClient() (messengertypes.MessengerServiceClient, error)
- func (m *Manager) GetMessengerDB() (*gorm.DB, error)
- func (m *Manager) GetMetricsRegistry() (*prometheus.Registry, error)
- func (m *Manager) GetNotificationManager() (notification.Manager, error)
- func (m *Manager) GetOrbitDB() (*bertyprotocol.BertyOrbitDB, error)
- func (m *Manager) GetProtocolClient() (protocoltypes.ProtocolServiceClient, error)
- func (m *Manager) GetRootDatastore() (datastore.Batching, error)
- func (m *Manager) RunWorkers() error
- func (m *Manager) SetLifecycleManager(manager *lifecycle.Manager)
- func (m *Manager) SetLogger(logger *zap.Logger)
- func (m *Manager) SetNotificationManager(manager notification.Manager)
- func (m *Manager) SetupDatastoreFlags(fs *flag.FlagSet)
- func (m *Manager) SetupDefaultGRPCListenersFlags(fs *flag.FlagSet)
- func (m *Manager) SetupEmptyGRPCListenersFlags(fs *flag.FlagSet)
- func (m *Manager) SetupInitTimeout(fs *flag.FlagSet)
- func (m *Manager) SetupLocalIPFSFlags(fs *flag.FlagSet)
- func (m *Manager) SetupLocalMessengerServerFlags(fs *flag.FlagSet)
- func (m *Manager) SetupLocalProtocolServerFlags(fs *flag.FlagSet)
- func (m *Manager) SetupLoggingFlags(fs *flag.FlagSet)
- func (m *Manager) SetupMetricsFlags(fs *flag.FlagSet)
- func (m *Manager) SetupNotificationManagerFlags(fs *flag.FlagSet)
- func (m *Manager) SetupPresetFlags(fs *flag.FlagSet)
- func (m *Manager) SetupProtocolAuth(fs *flag.FlagSet)
- func (m *Manager) SetupRemoteNodeFlags(fs *flag.FlagSet)
Examples ¶
Constants ¶
View Source
const ( PerformancePreset = "performance" AnonymityPreset = "anonymity" VolatilePreset = "volatile" TorDisabled = "disabled" TorOptional = "optional" TorRequired = "required" )
View Source
const InMemoryDir = ":memory:"
Variables ¶
This section is empty.
Functions ¶
func ReplaceGRPCLogger ¶ added in v2.211.1
Types ¶
type Manager ¶
type Manager struct {
Logging struct {
Format string `json:"Format,omitempty"`
Logfile string `json:"Logfile,omitempty"`
Filters string `json:"Filters,omitempty"`
Tracer string `json:"Tracer,omitempty"`
Service string `json:"Service,omitempty"`
// contains filtered or unexported fields
} `json:"Logging,omitempty"`
Metrics struct {
Listener string `json:"Listener,omitempty"`
Pedantic bool `json:"Pedantic,omitempty"`
// contains filtered or unexported fields
} `json:"Metrics,omitempty"`
Datastore struct {
Dir string `json:"Dir,omitempty"`
InMemory bool `json:"InMemory,omitempty"`
LowMemoryProfile bool `json:"LowMemoryProfile,omitempty"`
// contains filtered or unexported fields
} `json:"Datastore,omitempty"`
Node struct {
Preset string `json:"preset"`
Protocol struct {
SwarmListeners string `json:"SwarmListeners,omitempty"`
IPFSAPIListeners string `json:"IPFSAPIListeners,omitempty"`
IPFSWebUIListener string `json:"IPFSWebUIListener,omitempty"`
Announce string `json:"Announce,omitempty"`
NoAnnounce string `json:"NoAnnounce,omitempty"`
LocalDiscovery bool `json:"LocalDiscovery,omitempty"`
Ble bool `json:"Ble,omitempty"`
MultipeerConnectivity bool `json:"MultipeerConnectivity,omitempty"`
MinBackoff time.Duration `json:"MinBackoff,omitempty"`
MaxBackoff time.Duration `json:"MaxBackoff,omitempty"`
DisableIPFSNetwork bool `json:"DisableIPFSNetwork,omitempty"`
RdvpMaddrs string `json:"RdvpMaddrs,omitempty"`
AuthSecret string `json:"AuthSecret,omitempty"`
AuthPublicKey string `json:"AuthPublicKey,omitempty"`
PollInterval time.Duration `json:"PollInterval,omitempty"`
Tor struct {
Mode string `json:"Mode,omitempty"`
BinaryPath string `json:"BinaryPath,omitempty"`
} `json:"Tor,omitempty"`
// FIXME: Remove this option, this is a temporary fix
RelayHack bool `json:"RelayHack,omitempty"`
// contains filtered or unexported fields
}
Messenger struct {
DisableGroupMonitor bool `json:"DisableGroupMonitor,omitempty"`
DisplayName string `json:"DisplayName,omitempty"`
DisableNotifications bool `json:"DisableNotifications,omitempty"`
RebuildSqlite bool `json:"RebuildSqlite,omitempty"`
MessengerSqliteOpts string `json:"MessengerSqliteOpts,omitempty"`
ExportPathToRestore string `json:"ExportPathToRestore,omitempty"`
// contains filtered or unexported fields
}
GRPC struct {
RemoteAddr string `json:"RemoteAddr,omitempty"`
Listeners string `json:"Listeners,omitempty"`
// contains filtered or unexported fields
} `json:"GRPC,omitempty"`
} `json:"Node,omitempty"`
InitTimeout time.Duration `json:"InitTimeout,omitempty"`
// contains filtered or unexported fields
}
func (*Manager) AdvancedHelp ¶ added in v2.195.2
func (*Manager) DisableIPFSNetwork ¶
func (m *Manager) DisableIPFSNetwork()
func (*Manager) GetContext ¶
func (*Manager) GetDatastoreDir ¶
func (*Manager) GetGRPCClientConn ¶
func (m *Manager) GetGRPCClientConn() (*grpc.ClientConn, error)
func (*Manager) GetGRPCListeners ¶ added in v2.190.1
func (*Manager) GetGRPCServer ¶
func (*Manager) GetLifecycleManager ¶ added in v2.145.0
func (*Manager) GetLocalIPFS ¶ added in v2.141.0
func (*Manager) GetLocalMessengerServer ¶
func (m *Manager) GetLocalMessengerServer() (messengertypes.MessengerServiceServer, error)
func (*Manager) GetLocalProtocolServer ¶
func (m *Manager) GetLocalProtocolServer() (bertyprotocol.Service, error)
func (*Manager) GetMessengerClient ¶
func (m *Manager) GetMessengerClient() (messengertypes.MessengerServiceClient, error)
func (*Manager) GetMetricsRegistry ¶ added in v2.182.0
func (m *Manager) GetMetricsRegistry() (*prometheus.Registry, error)
func (*Manager) GetNotificationManager ¶ added in v2.190.1
func (m *Manager) GetNotificationManager() (notification.Manager, error)
func (*Manager) GetOrbitDB ¶ added in v2.141.0
func (m *Manager) GetOrbitDB() (*bertyprotocol.BertyOrbitDB, error)
func (*Manager) GetProtocolClient ¶
func (m *Manager) GetProtocolClient() (protocoltypes.ProtocolServiceClient, error)
func (*Manager) RunWorkers ¶
func (*Manager) SetLifecycleManager ¶ added in v2.190.1
func (*Manager) SetNotificationManager ¶ added in v2.190.1
func (m *Manager) SetNotificationManager(manager notification.Manager)
func (*Manager) SetupDatastoreFlags ¶
func (*Manager) SetupDefaultGRPCListenersFlags ¶ added in v2.141.1
func (*Manager) SetupEmptyGRPCListenersFlags ¶ added in v2.141.1
func (*Manager) SetupInitTimeout ¶ added in v2.221.2
func (*Manager) SetupLocalIPFSFlags ¶ added in v2.141.0
func (*Manager) SetupLocalMessengerServerFlags ¶
func (*Manager) SetupLocalProtocolServerFlags ¶
func (*Manager) SetupLoggingFlags ¶
func (*Manager) SetupMetricsFlags ¶ added in v2.182.0
func (*Manager) SetupNotificationManagerFlags ¶ added in v2.190.1
func (*Manager) SetupPresetFlags ¶ added in v2.195.2
func (*Manager) SetupProtocolAuth ¶ added in v2.154.0
func (*Manager) SetupRemoteNodeFlags ¶
Click to show internal directories.
Click to hide internal directories.