add full config struct
This commit is contained in:
parent
326fdcae6e
commit
03acc4d5a3
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -19,5 +19,8 @@
|
|||
# ignore logfiles (/* so the .gitkeep override works)
|
||||
/logs/*
|
||||
|
||||
# ignore configuration file
|
||||
/config.json
|
||||
|
||||
# Keep all gitkeep files (This needs to stay at the bottom)
|
||||
!.gitkeep
|
||||
|
|
1
config.example.json
Normal file
1
config.example.json
Normal file
|
@ -0,0 +1 @@
|
|||
{}
|
|
@ -7,15 +7,73 @@ import (
|
|||
// Config contains the configuration of the Pterodactyl Daemon
|
||||
type Config struct {
|
||||
|
||||
// Web contains the settings of the api webserver
|
||||
Web struct {
|
||||
// ListenAddress is the address to bind the api webserver to
|
||||
ListenAddress string `json:"address"`
|
||||
// ListenPort is the port to bind the api webserver to
|
||||
ListenPort int16 `json:"port"`
|
||||
|
||||
// SSL contains https configuration for the api webserver
|
||||
SSL struct {
|
||||
// Enabled allows to enable or disable ssl
|
||||
Enabled bool `json:"enabled"`
|
||||
// Certificate is the certificate file path to use
|
||||
Certificate string `json:"certificate"`
|
||||
// Key is the path to the private key for the certificate
|
||||
Key string `json:"key"`
|
||||
} `json:"ssl"`
|
||||
|
||||
// Uploads contains file upload configuration
|
||||
Uploads struct {
|
||||
// MaximumSize is the maximum file upload size
|
||||
MaximumSize int64 `json:"maximumSize"`
|
||||
} `json:"uploads"`
|
||||
} `json:"web"`
|
||||
|
||||
// Docker contains docker related configuration
|
||||
Docker struct {
|
||||
// Socket is the path to the docker control socket
|
||||
Socket string `json:"socket"`
|
||||
// AutoupdateImages allows to disable automatic Image updates
|
||||
AutoupdateImages bool `json:"autoupdateImages"`
|
||||
// NetworkInterface is the interface for the pterodactyl network
|
||||
NetworkInterface string `json:"networkInterface"`
|
||||
// TimezonePath is the path to the timezone file to mount in the containers
|
||||
TimezonePath string `json:"timezonePath"`
|
||||
} `json:"docker"`
|
||||
|
||||
// Sftp contains information on the integrated sftp server
|
||||
Sftp struct {
|
||||
// Path is the base path of the sftp server
|
||||
Path string `json:"path"`
|
||||
// Port is the port to bind the sftp server to
|
||||
Port int16 `json:"port"`
|
||||
} `json:"sftp"`
|
||||
|
||||
// Query contains parameters related to queriying of running gameservers
|
||||
Query struct {
|
||||
KillOnFail bool `json:"killOnFail"`
|
||||
FailLimit bool `json:"failLimit"`
|
||||
} `json:"query"`
|
||||
|
||||
// Remote is the url of the panel
|
||||
Remote string `json:"remote"`
|
||||
|
||||
// Log contains configuration related to logging
|
||||
Log struct {
|
||||
// Path is the folder where logfiles should be stored
|
||||
Path string `json:"path"`
|
||||
// Level is the preferred log level
|
||||
Level string `json:"level"`
|
||||
|
||||
// DeleteAfterDays is the time in days after which logfiles are deleted
|
||||
// If set to <= 0 logs are kept forever
|
||||
DeleteAfterDays int
|
||||
DeleteAfterDays int `json:"deleteAfterDays"`
|
||||
} `json:"log"`
|
||||
}
|
||||
|
||||
// LoadConfiguration loads the configuration from the disk.
|
||||
func LoadConfiguration() error {
|
||||
viper.SetConfigName("config")
|
||||
viper.AddConfigPath(".")
|
||||
|
|
Loading…
Reference in New Issue
Block a user