Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Configuration ¶
type Configuration struct {
HTTP struct {
Host string `json:"host"`
} `json:"http"`
App struct {
Name string `json:"name"`
APIKey string `json:"api_key"`
MasterKey string `json:"master_key"`
AccessControl string `json:"access_control"`
AuthRecordKeys [][]string `json:"auth_record_keys"`
DevMode bool `json:"dev_mode"`
CORSHost string `json:"cors_host"`
Slave bool `json:"slave"`
ResponseTimeout int64 `json:"response_timeout"`
} `json:"app"`
DB struct {
ImplName string `json:"implementation"`
Option string `json:"option"`
} `json:"database"`
TokenStore struct {
ImplName string `json:"implementation"`
Path string `json:"path"`
Prefix string `json:"prefix"`
Expiry int64 `json:"expiry"`
Secret string `json:"secret"`
} `json:"-"`
Auth struct {
CustomTokenSecret string `json:"custom_token_secret"`
} `json:"auth"`
AssetStore struct {
ImplName string `json:"implementation"`
Public bool `json:"public"`
FileSystemStore struct {
Path string `json:"-"`
URLPrefix string `json:"url_prefix"`
Secret string `json:"secret"`
} `json:"fs"`
S3Store struct {
AccessToken string `json:"access_key"`
SecretToken string `json:"secret_key"`
Region string `json:"region"`
Bucket string `json:"bucket"`
URLPrefix string `json:"url_prefix"`
} `json:"s3"`
CloudStore struct {
Host string `json:"host"`
Token string `json:"token"`
PublicPrefix string `json:"public_prefix"`
PrivatePrefix string `json:"private_prefix"`
} `json:"cloud"`
} `json:"asset_store"`
APNS struct {
Enable bool `json:"enable"`
Type string `json:"type"`
Env string `json:"env"`
Keepalive int `json:"keepalive"`
CertConfig struct {
Cert string `json:"cert"`
Key string `json:"key"`
CertPath string `json:"-"`
KeyPath string `json:"-"`
} `json:"cert_config"`
TokenConfig struct {
TeamID string `json:"team_id"`
KeyID string `json:"key_id"`
Key string `json:"key"`
KeyPath string `json:"-"`
} `json:"token_config"`
} `json:"apns"`
FCM struct {
Enable bool `json:"enable"`
Type string `json:"type"`
ServiceAccount struct {
Key string `json:"key"`
KeyPath string `json:"-"`
} `json:"service_account"`
Server struct {
Key string `json:"key"`
}
} `json:"fcm"`
Baidu struct {
Enable bool `json:"enable"`
APIKey string `json:"api_key"`
SecretKey string `json:"secret_key"`
} `json:"baidu"`
LOG struct {
Level string `json:"-"`
LoggersLevel map[string]string `json:"-"`
RouterByteLimit int64 `json:"-"`
Formatter string `json:"-"`
} `json:"log"`
LogHook struct {
SentryDSN string
SentryLevel string
} `json:"-"`
Zmq struct {
Timeout int `json:"timeout"`
MaxBounce int `json:"max_bounce"`
} `json:"zmq"`
Plugin map[string]*PluginConfig `json:"-"`
UserAudit struct {
Enabled bool `json:"enabled"`
TrailHandlerURL string `json:"trail_handler_url"`
PwMinLength int `json:"pw_min_length"`
PwUppercaseRequired bool `json:"pw_uppercase_required"`
PwLowercaseRequired bool `json:"pw_lowercase_required"`
PwDigitRequired bool `json:"pw_digit_required"`
PwSymbolRequired bool `json:"pw_symbol_required"`
PwMinGuessableLevel int `json:"pw_min_guessable_level"`
PwExcludedKeywords []string `json:"pw_excluded_keywords"`
PwExcludedFields []string `json:"pw_excluded_fields"`
PwHistorySize int `json:"pw_history_size"`
PwHistoryDays int `json:"pw_history_days"`
PwExpiryDays int `json:"pw_expiry_days"`
} `json:"user_audit"`
Verification struct {
Required bool `json:"required"`
} `json:"verification"`
}
Configuration is Skygear's configuration The configuration will load in following order: 1. The ENV 2. The key/value in .env file 3. The config in *.ini (To-be depreacted)
func NewConfiguration ¶
func NewConfiguration() Configuration
func NewConfigurationWithKeys ¶
func NewConfigurationWithKeys() Configuration
func (*Configuration) ReadFromEnv ¶
func (config *Configuration) ReadFromEnv()
ReadFromEnv reads from environment variable and update the configuration. nolint: gocyclo
func (*Configuration) Validate ¶
func (config *Configuration) Validate() error
type PluginConfig ¶
Click to show internal directories.
Click to hide internal directories.