consoleweb

package
v1.73.5 Latest Latest
Warning

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

Go to latest
Published: Feb 28, 2023 License: AGPL-3.0 Imports: 38 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"`
	AllProjectsDashboard            bool               `help:"indicates if all projects dashboard should be used" default:"false"`
	NewBillingScreen                bool               `help:"indicates if new billing screens should be used" default:"true"`
	NewAccessGrantFlow              bool               `help:"indicates if new access grant flow should be used" default:"false"`
	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"`

	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, analytics *analytics.Service, abTesting *abtesting.Service, accountFreezeService *console.AccountFreezeService, listener net.Listener, stripePublicKey string, 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