server

package
v0.54.0 Latest Latest
Warning

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

Go to latest
Published: Apr 1, 2024 License: Apache-2.0 Imports: 32 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrDryRunFinished = errors.New("dry run finished")

Functions

This section is empty.

Types

type Options

type Options struct {
	Address             string `group:"Networking" default:"127.0.0.1:8765" help:"address to listen to"`
	UseSystemdSocket    bool   `group:"Networking" help:"use a systemd socket instead of opening a port"`
	GzipResponses       bool   `group:"Networking" help:"compress most responses with gzip"`
	DatabaseUrl         string `group:"Database" default:"postgresql:///letsblockit" help:"psql database to connect to"`
	DatabasePoolOptions string `group:"Database" default:"" help:"pgxpool additional options"`
	AuthMethod          string `group:"Authentication" required:"" enum:"kratos,proxy" help:"authentication method to use"`
	AuthKratosUrl       string `group:"Authentication" default:"http://localhost:4000/.ory" help:"url of the kratos API, defaults to using local ory proxy"`
	AuthProxyHeaderName string `group:"Authentication" placeholder:"X-Auth-Request-User" help:"name for the cookie set by the reverse proxy"`
	LogLevel            string `group:"Development" default:"info" enum:"debug,info,warn,error,off" help:"http log level"`
	CacheDir            string `group:"Development" placeholder:"/tmp" help:"folder to cache external resources in during local development"`
	HotReload           bool   `group:"Development" help:"reload frontend when the backend restarts"`
	StatsdTarget        string `group:"Monitoring" placeholder:"localhost:8125" help:"address to send statsd metrics to, disabled by default"`
	LogsFolder          string `group:"Monitoring" help:"output access logs to files instead of stdout"`
	PlausibleScript     string `group:"Monitoring" help:"URL to the Plausible script for web analytics"`
	ListDownloadDomain  string `group:"Miscellaneous" help:"domain to use for list downloads, leave empty to use the main domain"`
	OfficialInstance    bool   `group:"Miscellaneous" help:"turn on behaviours specific to the official letsblock.it instances"`
	Sunset              bool   `group:"Miscellaneous" help:"Project sunset mode: require an existing account to use"`
	DryRun              bool   `hidden:""`
}

type PageRenderer

type PageRenderer interface {
	RegisterHelpers(helpers map[string]interface{})
	RegisterContextBuilder(b pages.ContextBuilder)
	BuildPageContext(c echo.Context, title string) *pages.Context
	Render(c echo.Context, name string, data *pages.Context) error
	RenderWithSidebar(c echo.Context, name, sidebar string, data *pages.Context) error
	RedirectToPage(c echo.Context, name string, params ...interface{}) error
	Redirect(c echo.Context, code int, target string) error
}

type ReleaseClient

type ReleaseClient interface {
	GetReleases() ([]*news.Release, string)
	GetLatestAt() time.Time
}

type Server

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

func NewServer

func NewServer(options *Options) *Server

func (*Server) Start

func (s *Server) Start() error

Directories

Path Synopsis
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.

Jump to

Keyboard shortcuts

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