cmd

package
v4.0.0+incompatible Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 10, 2020 License: MIT Imports: 36 Imported by: 1

Documentation

Index

Constants

View Source
const (
	UnlockChannelFlag = "unlock"
	UserIdFlag        = "user-id"
)

Variables

View Source
var ChannelCmd = &cobra.Command{
	Use:   "channel",
	Short: "Manage operations on payment channels",
	Long: "allows us to perform operations on channels with given channel ID." +
		" User can use 'snetd channel --unlock {channelID}' command to unlock the channel manually.",
	RunE: func(cmd *cobra.Command, args []string) error {
		return RunAndCleanup(cmd, args, newChannelCommand)
	},
}

ListChannelsCmd shows list of channels from shared storage

View Source
var FreeCallUserCmd = &cobra.Command{
	Use:   "freecall",
	Short: "Manage operations on free call users",
	Long: "List commands prints a list of all free call users for the given service," +
		"reset will set the counter to zero on free calls used, " +
		"unlock will release the lock on the given user ",
}
View Source
var FreeCallUserResetCmd = &cobra.Command{
	Use:   "reset",
	Short: "Reset the count on free calls used for the given user to zero",
	Long:  "User can use 'snetd freecall reset -u {user-id}' command to reset the free call used of this User manually.",
	RunE: func(cmd *cobra.Command, args []string) error {
		return RunAndCleanup(cmd, args, newFreeCallResetCountCommand)
	},
}
View Source
var FreeCallUserUnLockCmd = &cobra.Command{
	Use:   "unlock",
	Short: "Unlock a free call user",
	Long: "allows us to perform operations on free call users with given user_id(email_id)." +
		" User can use 'snetd freecall unlock -u {userId}' command to unlock the User manually.",
	RunE: func(cmd *cobra.Command, args []string) error {
		return RunAndCleanup(cmd, args, newFreeCallUserUnLockCommandCommand)
	},
}
View Source
var InitCmd = &cobra.Command{
	Use:   "init",
	Short: "Write default configuration to file",
	Long:  "Use this command to create default configuration file. Then update the file with your settings.",
	Run: func(cmd *cobra.Command, args []string) {
		var err error
		var configFile = cmd.Flags().Lookup("config").Value.String()

		log.WithField("configFile", configFile).Info("Writing default configuration to the file")

		if isFileExist(configFile) {
			log.WithField("configFile", configFile).Fatal("configFile already exists, please remove file first")
		}

		err = config.WriteConfig(configFile)
		if err != nil {
			log.WithError(err).WithField("configFile", configFile).Fatal("Cannot write default configuration")
		}
	},
}
View Source
var ListChannelsCmd = &cobra.Command{
	Use:   "channels",
	Short: "List payment channels",
	Long: "List payment channels for which at least on payment was received." +
		" User can use 'snetd claim --channel-id' command to claim funds from channel.",
	RunE: func(cmd *cobra.Command, args []string) error {
		return RunAndCleanup(cmd, args, newListChannelsCommand)
	},
}

ListChannelsCmd shows list of channels from shared storage

View Source
var ListClaimsCmd = &cobra.Command{
	Use:   "claims",
	Short: "List payments which are not written to blockchain yet",
	Long: "List payments which are in progress state and not written" +
		" to the blockchain.",
	RunE: func(cmd *cobra.Command, args []string) error {
		return RunAndCleanup(cmd, args, newListClaimsCommand)
	},
}

ListClaimsCmd shows list of channels from shared storage

View Source
var ListCmd = &cobra.Command{
	Use:   "list",
	Short: "List channels, claims in progress, etc",
	Long:  "List command prints lists of objects from the shared storage; each object type has separate subcommand",
}

ListCmd command to list channels, claims, etc

View Source
var ListFreeCallUserCmd = &cobra.Command{
	Use:   "list",
	Short: "List of all free call users",
	Long:  "List all users who have availed free calls to your service",
	RunE: func(cmd *cobra.Command, args []string) error {
		return RunAndCleanup(cmd, args, newListFreeCallUserCommand)
	},
}

ListFreeCallUserCmd displays all the users of free call for the given service and group

View Source
var RootCmd = &cobra.Command{
	Use: "snetd",
	Run: func(cmd *cobra.Command, args []string) {
		if command, _, err := cmd.Find(args); err != nil && command != nil {
			command.Execute()
		} else {
			ServeCmd.Run(cmd, args)
		}
	},
}
View Source
var ServeCmd = &cobra.Command{
	Use:   "serve",
	Short: "Is the default option which starts the Daemon.",
	Run: func(cmd *cobra.Command, args []string) {
		var err error

		components := InitComponents(cmd)
		defer components.Close()

		etcdServer := components.EtcdServer()
		if etcdServer == nil {
			log.Info("Etcd server is disabled in the config file.")
		}

		err = logger.InitLogger(config.SubWithDefault(config.Vip(), config.LogKey))
		if err != nil {
			log.WithError(err).Fatal("Unable to initialize logger")
		}
		config.LogConfig()

		var d daemon
		d, err = newDaemon(components)
		if err != nil {
			log.WithError(err).Fatal("Unable to initialize daemon")
		}

		d.start()
		defer d.stop()

		sigChan := make(chan os.Signal, 1)
		signal.Notify(sigChan, syscall.SIGTERM, syscall.SIGINT)
		<-sigChan

		log.Debug("exiting")
	},
}
View Source
var VersionCmd = &cobra.Command{
	Use:   "version",
	Short: "List the current version of the Daemon.",
	Long:  "To check the current version of the Daemon, the sha1 revision and the time the Binary was built User can use `snetd version`",
	RunE: func(cmd *cobra.Command, args []string) error {
		return RunAndCleanup(cmd, args, newListVersionCommand)
	},
}

Shows the current version of the Daemons Version tag: v0.1.4-181-g2fd9f04 was build on: 2019-03-19_13:52:58 with sha1 revision from github: 2fd9f04bfb279aaf66291cd6bd2ca734fd4f70b5

Functions

func RunAndCleanup added in v0.1.2

func RunAndCleanup(cmd *cobra.Command, args []string, constructor CommandConstructor) (err error)

RunAndCleanup initializes components, constructs command, runs it, cleanups components and returns results

Types

type Command added in v0.1.2

type Command interface {
	Run() error
}

Command is an CLI command abstraction

type CommandConstructor added in v0.1.2

type CommandConstructor func(cmd *cobra.Command, args []string, components *Components) (command Command, err error)

CommandConstructor creates new command using command line arguments, cobra context and initialized components

type Components added in v0.1.2

type Components struct {
	// contains filtered or unexported fields
}

func InitComponents added in v0.1.2

func InitComponents(cmd *cobra.Command) (components *Components)

func (*Components) AllowedUserPaymentHandler

func (components *Components) AllowedUserPaymentHandler() handler.PaymentHandler

func (*Components) AtomicStorage added in v0.1.2

func (components *Components) AtomicStorage() escrow.AtomicStorage

create new PrefixedStorage using /<network_name> as a prefix, use this storage as base for other storages (i.e. return it from GetAtomicStorage of components.go); this guarantees that storages for different networks never intersect

func (*Components) Blockchain added in v0.1.2

func (components *Components) Blockchain() *blockchain.Processor

func (*Components) ChannelBroadcast added in v1.1.0

func (components *Components) ChannelBroadcast() *configuration_service.MessageBroadcaster

func (*Components) Close added in v0.1.2

func (components *Components) Close()

func (*Components) ConfigurationService added in v1.1.0

func (components *Components) ConfigurationService() *configuration_service.ConfigurationService

func (*Components) DaemonHeartBeat added in v0.1.8

func (components *Components) DaemonHeartBeat() (service *metrics.DaemonHeartbeat)

func (*Components) EscrowPaymentHandler added in v0.1.2

func (components *Components) EscrowPaymentHandler() handler.PaymentHandler

func (*Components) EtcdClient added in v0.1.2

func (components *Components) EtcdClient() *etcddb.EtcdClient

func (*Components) EtcdServer added in v0.1.2

func (components *Components) EtcdServer() *etcddb.EtcdServer

func (*Components) FreeCallLockerStorage

func (components *Components) FreeCallLockerStorage() *escrow.PrefixedAtomicStorage

func (*Components) FreeCallPaymentHandler added in v1.1.1

func (components *Components) FreeCallPaymentHandler() handler.PaymentHandler

func (*Components) FreeCallStateService

func (components *Components) FreeCallStateService() (service escrow.FreeCallStateServiceServer)

func (*Components) FreeCallUserService

func (components *Components) FreeCallUserService() escrow.FreeCallUserService

func (*Components) FreeCallUserStorage

func (components *Components) FreeCallUserStorage() *escrow.FreeCallUserStorage

func (*Components) GrpcInterceptor added in v0.1.2

func (components *Components) GrpcInterceptor() grpc.StreamServerInterceptor

Add a chain of interceptors

func (*Components) GrpcPaymentValidationInterceptor added in v0.1.4

func (components *Components) GrpcPaymentValidationInterceptor() grpc.StreamServerInterceptor

func (*Components) LockerStorage added in v0.1.5

func (components *Components) LockerStorage() *escrow.PrefixedAtomicStorage

func (*Components) MPESpecificStorage

func (components *Components) MPESpecificStorage() *escrow.PrefixedAtomicStorage

add new component MPESpecificStorage; it is also instance of PrefixedStorage using /<mpe_contract_address> as a prefix; as it is also based on storage from previous item the effective prefix is /<network_id>/<mpe_contract_address>; this guarantees that storages which are specific for MPE contract version don't intersect; use MPESpecificStorage as base for PaymentChannelStorage, PaymentStorage, LockStorage for channels;

func (*Components) OrganizationMetaData added in v1.1.0

func (components *Components) OrganizationMetaData() *blockchain.OrganizationMetaData

func (*Components) PaymentChannelService added in v0.1.2

func (components *Components) PaymentChannelService() escrow.PaymentChannelService

func (*Components) PaymentChannelStateService added in v0.1.2

func (components *Components) PaymentChannelStateService() (service escrow.PaymentChannelStateServiceServer)

func (*Components) PaymentStorage added in v1.0.0

func (components *Components) PaymentStorage() *escrow.PaymentStorage

func (*Components) PrePaidPaymentHandler

func (components *Components) PrePaidPaymentHandler() handler.PaymentHandler

func (*Components) PrePaidService

func (components *Components) PrePaidService() escrow.PrePaidService

func (*Components) PrepaidUserStorage

func (components *Components) PrepaidUserStorage() escrow.TypedAtomicStorage

func (*Components) PricingStrategy added in v1.1.0

func (components *Components) PricingStrategy() *pricing.PricingStrategy

func (*Components) ProviderControlService added in v0.1.5

func (components *Components) ProviderControlService() (service escrow.ProviderControlServiceServer)

func (*Components) ServiceMetaData added in v0.1.3

func (components *Components) ServiceMetaData() *blockchain.ServiceMetadata

func (*Components) TokenManager

func (components *Components) TokenManager() token.Manager

func (*Components) TokenService

func (components *Components) TokenService() escrow.TokenServiceServer

type ListVersionCommand added in v0.1.9

type ListVersionCommand struct {
}

func (*ListVersionCommand) Run added in v0.1.9

func (command *ListVersionCommand) Run() (err error)

type VerifyMeteringResponse

type VerifyMeteringResponse struct {
	Data string `json:"data"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL