consoleweb

package
v1.70.0-rc Latest Latest
Warning

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

Go to latest
Published: Jan 4, 2023 License: AGPL-3.0 Imports: 40 Imported by: 0

Documentation

Index

Constants

View Source
const ContentLengthLimit = 4 * memory.KB

ContentLengthLimit describes 4KB limit.

Variables

View Source
var (
	// Error is satellite console error type.
	Error = errs.Class("consoleweb")
)

Functions

func NewUserIDRateLimiter added in v1.39.4

func NewUserIDRateLimiter(config web.RateLimiterConfig, log *zap.Logger) *web.RateLimiter

NewUserIDRateLimiter constructs a RateLimiter that limits based on user ID.

Types

type Config

type Config struct {
	Address         string `help:"server address of the graphql api gateway and frontend app" devDefault:"127.0.0.1:0" releaseDefault:":10100"`
	StaticDir       string `help:"path to static resources" default:""`
	Watch           bool   `help:"whether to load templates on each request" default:"false" devDefault:"true"`
	ExternalAddress string `help:"external endpoint of the satellite if hosted" default:""`

	AuthToken       string `help:"auth token needed for access to registration token creation endpoint" default:"" testDefault:"very-secret-token"`
	AuthTokenSecret string `help:"secret used to sign auth tokens" releaseDefault:"" devDefault:"my-suppa-secret-key"`

	ContactInfoURL                     string             `help:"url link to contacts page" default:"https://forum.storj.io"`
	FrameAncestors                     string             `help:"allow domains to embed the satellite in a frame, space separated" default:"tardigrade.io storj.io"`
	LetUsKnowURL                       string             `help:"url link to let us know page" default:"https://storjlabs.atlassian.net/servicedesk/customer/portals"`
	SEO                                string             `help:"used to communicate with web crawlers and other web robots" default:"User-agent: *\nDisallow: \nDisallow: /cgi-bin/"`
	SatelliteName                      string             `help:"used to display at web satellite console" default:"Storj"`
	SatelliteOperator                  string             `help:"name of organization which set up satellite" default:"Storj Labs" `
	TermsAndConditionsURL              string             `help:"url link to terms and conditions page" default:"https://www.storj.io/terms-of-service/"`
	AccountActivationRedirectURL       string             `help:"url link for account activation redirect" default:""`
	PartneredSatellites                console.Satellites `` /* 250-byte string literal not displayed */
	GeneralRequestURL                  string             `` /* 127-byte string literal not displayed */
	ProjectLimitsIncreaseRequestURL    string             `` /* 142-byte string literal not displayed */
	GatewayCredentialsRequestURL       string             `help:"url link for gateway credentials requests" default:"https://auth.storjshare.io" devDefault:"http://localhost:8000"`
	IsBetaSatellite                    bool               `help:"indicates if satellite is in beta" default:"false"`
	BetaSatelliteFeedbackURL           string             `help:"url link for for beta satellite feedback" default:""`
	BetaSatelliteSupportURL            string             `help:"url link for for beta satellite support" default:""`
	DocumentationURL                   string             `help:"url link to documentation" default:"https://docs.storj.io/"`
	CouponCodeBillingUIEnabled         bool               `help:"indicates if user is allowed to add coupon codes to account from billing" default:"false"`
	CouponCodeSignupUIEnabled          bool               `help:"indicates if user is allowed to add coupon codes to account from signup" default:"false"`
	FileBrowserFlowDisabled            bool               `help:"indicates if file browser flow is disabled" default:"false"`
	CSPEnabled                         bool               `help:"indicates if Content Security Policy is enabled" devDefault:"false" releaseDefault:"true"`
	LinksharingURL                     string             `help:"url link for linksharing requests" default:"https://link.storjshare.io" devDefault:"http://localhost:8001"`
	PathwayOverviewEnabled             bool               `help:"indicates if the overview onboarding step should render with pathways" default:"true"`
	NewProjectDashboard                bool               `help:"indicates if new project dashboard should be used" default:"true"`
	NewBillingScreen                   bool               `help:"indicates if new billing screens should be used" default:"true"`
	GeneratedAPIEnabled                bool               `help:"indicates if generated console api should be used" default:"false"`
	OptionalSignupSuccessURL           string             `help:"optional url to external registration success page" default:""`
	HomepageURL                        string             `help:"url link to storj.io homepage" default:"https://www.storj.io"`
	NativeTokenPaymentsEnabled         bool               `help:"indicates if storj native token payments system is enabled" default:"false"`
	NewEncryptionPassphraseFlowEnabled bool               `help:"indicates if new encryption passphrase flow is enabled" default:"false"`

	OauthCodeExpiry         time.Duration `help:"how long oauth authorization codes are issued for" default:"10m"`
	OauthAccessTokenExpiry  time.Duration `help:"how long oauth access tokens are issued for" default:"24h"`
	OauthRefreshTokenExpiry time.Duration `help:"how long oauth refresh tokens are issued for" default:"720h"`

	// RateLimit defines the configuration for the IP and userID rate limiters.
	RateLimit web.RateLimiterConfig

	ABTesting abtesting.Config

	console.Config
}

Config contains configuration for console web server.

type Server

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

Server represents console web server.

architecture: Endpoint

func NewServer

func NewServer(logger *zap.Logger, config Config, service *console.Service, oidcService *oidc.Service, mailService *mailservice.Service, partners *rewards.PartnersService, analytics *analytics.Service, abTesting *abtesting.Service, accountFreezeService *console.AccountFreezeService, listener net.Listener, stripePublicKey string, usagePrice paymentsconfig.ProjectUsagePrice, nodeURL storj.NodeURL) *Server

NewServer creates new instance of console server.

func (*Server) Close

func (server *Server) Close() error

Close closes server and underlying listener.

func (*Server) Run

func (server *Server) Run(ctx context.Context) (err error)

Run starts the server that host webapp and api endpoint.

Directories

Path Synopsis
gen

Jump to

Keyboard shortcuts

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