Documentation
¶
Overview ¶
Package server provides the server subcommand.
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var Command = &cobra.Command{ Use: "server", Short: "Start the RUN-DSP server", Long: `Starts the RUN-DSP connector, which then connects to the provider and will start serving dataspace requests`, PersistentPreRunE: func(cmd *cobra.Command, args []string) error { _, err := url.Parse(viper.GetString(dspExternalURL)) if err != nil { return fmt.Errorf("Invalid external URL: %w", err) } err = cfg.CheckListenPort(viper.GetString(dspAddress), viper.GetInt(dspPort)) if err != nil { return err } err = cfg.CheckConnectAddr(viper.GetString(providerAddress)) if err != nil { return err } if !viper.GetBool(providerInsecure) { err = cfg.CheckFilesExist( viper.GetString(providerCACert), viper.GetString(providerClientCert), viper.GetString(providerClientCertKey), ) if err != nil { return err } } if viper.GetBool(contractServiceEnabled) { err = cfg.CheckConnectAddr(viper.GetString(contractServiceAddress)) if err != nil { return err } if !viper.GetBool(contractServiceInsecure) { err = cfg.CheckFilesExist( viper.GetString(contractServiceCACert), viper.GetString(contractServiceClientCert), viper.GetString(contractServiceClientCertKey), ) if err != nil { return err } } } err = cfg.CheckListenPort(viper.GetString(controlAddr), viper.GetInt(controlPort)) if err != nil { return err } if !viper.GetBool(controlInsecure) { err = cfg.CheckFilesExist( viper.GetString(controlCert), viper.GetString(controlCertKey), ) if err != nil { return err } if viper.GetBool(controlVerifyClientCertificates) { err = cfg.CheckFilesExist(viper.GetString(controlClientCACert)) if err != nil { return err } } } switch viper.GetString(persistenceBackend) { case "badger": mem := viper.GetBool(persistenceBadgerMemory) path := viper.GetString(persistenceBadgerDBPath) if mem && path != "" { return fmt.Errorf("in-memory database is mutually exclusive with a database path") } default: return fmt.Errorf("invalid persistence backend") } return nil }, RunE: func(cmd *cobra.Command, args []string) error { u, err := url.Parse(viper.GetString(dspExternalURL)) if err != nil { panic(err.Error()) } c := command{ ListenAddr: viper.GetString(dspAddress), Port: viper.GetInt(dspPort), ExternalURL: u, ProviderAddress: viper.GetString(providerAddress), ProviderTLSConfig: tlsConfig{ Insecure: viper.GetBool(providerInsecure), CACert: viper.GetString(providerCACert), ClientCert: viper.GetString(providerClientCert), ClientCertKey: viper.GetString(providerClientCertKey), }, ContractServiceEnabled: viper.GetBool(contractServiceEnabled), ContractServiceAddress: viper.GetString(contractServiceAddress), ContractServiceTLSConfig: tlsConfig{ Insecure: viper.GetBool(contractServiceInsecure), CACert: viper.GetString(contractServiceCACert), ClientCert: viper.GetString(contractServiceClientCert), ClientCertKey: viper.GetString(contractServiceClientCertKey), }, ControlListenAddr: viper.GetString(controlAddr), ControlPort: viper.GetInt(controlPort), ControlInsecure: viper.GetBool(controlInsecure), ControlCert: viper.GetString(controlCert), ControlCertKey: viper.GetString(controlCertKey), ControlVerifyClientCertificates: viper.GetBool(controlVerifyClientCertificates), ControlClientCACert: viper.GetString(controlClientCACert), PersistenceBackend: viper.GetString(persistenceBackend), BadgerMemoryDB: viper.GetBool(persistenceBadgerMemory), BadgerDBPath: viper.GetString(persistenceBadgerDBPath), } ctx, ok := viper.Get("initCTX").(context.Context) if !ok { return fmt.Errorf("couldn't fetch initial context") } return c.Run(ctx) }, }
Command validates the configuration and then runs the server.
Functions ¶
This section is empty.
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.