Documentation ¶
Overview ¶
Package config holds and assists in the configuration of a writefreely instance.
Index ¶
- Constants
- func DefaultHTTPClient() *http.Client
- func OrDefaultString(input, defaultValue string) string
- func Save(uc *Config, fname string) error
- type AppCfg
- type Config
- type DatabaseCfg
- type EmailCfg
- type GenericOauthCfg
- type GiteaOauthCfg
- type GitlabOauthCfg
- type ServerCfg
- type SetupData
- type SlackOauthCfg
- type UserCreation
- type UserType
- type WriteAsOauthCfg
Constants ¶
View Source
const ( // FileName is the default configuration file name FileName = "config.ini" UserNormal UserType = "user" UserAdmin = "admin" )
Variables ¶
This section is empty.
Functions ¶
func DefaultHTTPClient ¶ added in v0.13.0
DefaultHTTPClient returns a sane default HTTP client.
func OrDefaultString ¶ added in v0.13.0
OrDefaultString returns input or a default value if input is empty.
Types ¶
type AppCfg ¶
type AppCfg struct { SiteName string `ini:"site_name"` SiteDesc string `ini:"site_description"` Host string `ini:"host"` // Site appearance Theme string `ini:"theme"` Editor string `ini:"editor"` JSDisabled bool `ini:"disable_js"` WebFonts bool `ini:"webfonts"` Landing string `ini:"landing"` WFModesty bool `ini:"wf_modesty"` // Site functionality Chorus bool `ini:"chorus"` Forest bool `ini:"forest"` // The admin cares about the forest, not the trees. Hide unnecessary technical info. DisableDrafts bool `ini:"disable_drafts"` // Users SingleUser bool `ini:"single_user"` OpenRegistration bool `ini:"open_registration"` OpenDeletion bool `ini:"open_deletion"` MinUsernameLen int `ini:"min_username_len"` MaxBlogs int `ini:"max_blogs"` // Options for public instances // Federation Federation bool `ini:"federation"` PublicStats bool `ini:"public_stats"` Monetization bool `ini:"monetization"` NotesOnly bool `ini:"notes_only"` // Access Private bool `ini:"private"` // Additional functions LocalTimeline bool `ini:"local_timeline"` UserInvites string `ini:"user_invites"` // Defaults DefaultVisibility string `ini:"default_visibility"` // Check for Updates UpdateChecks bool `ini:"update_checks"` // Disable password authentication if use only Oauth DisablePasswordAuth bool `ini:"disable_password_auth"` }
AppCfg holds values that affect how the application functions
func (AppCfg) CanCreateBlogs ¶
func (AppCfg) FriendlyHost ¶
FriendlyHost returns the app's Host sans any schema
func (*AppCfg) LandingPath ¶ added in v0.13.0
func (AppCfg) SignupPath ¶ added in v0.13.0
type Config ¶
type Config struct { Server ServerCfg `ini:"server"` Database DatabaseCfg `ini:"database"` App AppCfg `ini:"app"` Email EmailCfg `ini:"email"` SlackOauth SlackOauthCfg `ini:"oauth.slack"` WriteAsOauth WriteAsOauthCfg `ini:"oauth.writeas"` GitlabOauth GitlabOauthCfg `ini:"oauth.gitlab"` GiteaOauth GiteaOauthCfg `ini:"oauth.gitea"` GenericOauth GenericOauthCfg `ini:"oauth.generic"` }
Config holds the complete configuration for running a writefreely instance
func (*Config) IsSecureStandalone ¶ added in v0.4.0
IsSecureStandalone returns whether or not the application is running as a standalone server with TLS enabled.
type DatabaseCfg ¶
type DatabaseCfg struct { Type string `ini:"type"` FileName string `ini:"filename"` User string `ini:"username"` Password string `ini:"password"` Database string `ini:"database"` Host string `ini:"host"` Port int `ini:"port"` TLS bool `ini:"tls"` }
DatabaseCfg holds values that determine how the application connects to a datastore
type GenericOauthCfg ¶ added in v0.13.0
type GenericOauthCfg struct { ClientID string `ini:"client_id"` ClientSecret string `ini:"client_secret"` Host string `ini:"host"` DisplayName string `ini:"display_name"` CallbackProxy string `ini:"callback_proxy"` CallbackProxyAPI string `ini:"callback_proxy_api"` TokenEndpoint string `ini:"token_endpoint"` InspectEndpoint string `ini:"inspect_endpoint"` AuthEndpoint string `ini:"auth_endpoint"` Scope string `ini:"scope"` AllowDisconnect bool `ini:"allow_disconnect"` MapUserID string `ini:"map_user_id"` MapUsername string `ini:"map_username"` MapDisplayName string `ini:"map_display_name"` MapEmail string `ini:"map_email"` }
type GiteaOauthCfg ¶ added in v0.13.0
type GitlabOauthCfg ¶ added in v0.13.0
type ServerCfg ¶
type ServerCfg struct { HiddenHost string `ini:"hidden_host"` Port int `ini:"port"` Bind string `ini:"bind"` TLSCertPath string `ini:"tls_cert_path"` TLSKeyPath string `ini:"tls_key_path"` Autocert bool `ini:"autocert"` TemplatesParentDir string `ini:"templates_parent_dir"` StaticParentDir string `ini:"static_parent_dir"` PagesParentDir string `ini:"pages_parent_dir"` KeysParentDir string `ini:"keys_parent_dir"` HashSeed string `ini:"hash_seed"` GopherPort int `ini:"gopher_port"` Dev bool `ini:"-"` }
ServerCfg holds values that affect how the HTTP server runs
type SetupData ¶
type SetupData struct { User *UserCreation Config *Config }
type SlackOauthCfg ¶ added in v0.13.0
type UserCreation ¶
type WriteAsOauthCfg ¶ added in v0.13.0
type WriteAsOauthCfg struct { ClientID string `ini:"client_id"` ClientSecret string `ini:"client_secret"` AuthLocation string `ini:"auth_location"` TokenLocation string `ini:"token_location"` InspectLocation string `ini:"inspect_location"` CallbackProxy string `ini:"callback_proxy"` CallbackProxyAPI string `ini:"callback_proxy_api"` }
Click to show internal directories.
Click to hide internal directories.