Documentation
¶
Overview ¶
Package config contains various utility functions and loads the configuration via envs
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func UpdateSettings ¶
UpdateSettings sets various pocketbase and app related settings
Types ¶
type Config ¶
type Config struct {
// General Backend Settings
AppURL string `env:"PB_APP_URL" envDefault:""`
AppName string `env:"PB_APP_NAME" envDefault:"SSH Nexus"`
LogsMaxDays int `env:"PB_LOG_MAX_DAYS" envDefault:"30"`
AdminEmail string `env:"PB_ADMIN_EMAIL" envDefault:"root@nexus.local"`
AdminPassword string `env:"PB_ADMIN_PASSWORD,notEmpty" envDefault:""`
SenderName string `env:"PB_SENDER_NAME" envDefault:"SSH Nexus"`
SenderAddress string `env:"PB_SENDER_EMAIL" envDefault:"no-reply@nexus.local"`
SMTPEnabled bool `env:"PB_SMTP_ENABLED" envDefault:"false"`
SMTPHost string `env:"PB_SMTP_HOST" envDefault:""`
SMTPPort int `env:"PB_SMTP_PORT" envDefault:"587"`
SMTPUsername string `env:"PB_SMTP_USER" envDefault:""`
SMTPPassword string `env:"PB_SMTP_PASSWORD" envDefault:""`
SMTPTLS bool `env:"PB_SMTP_TLS" envDefault:"false"`
S3Enabled bool `env:"PB_S3_ENABLED" envDefault:"false"`
S3Endpoint string `env:"PB_S3_ENDPOINT" envDefault:""`
S3Region string `env:"PB_S3_REGION" envDefault:""`
S3Bucket string `env:"PB_S3_BUCKET" envDefault:"ssh-nexus"`
S3Secret string `env:"PB_S3_SECRET" envDefault:""`
S3AccessKey string `env:"PB_S3_ACCESS_KEY" envDefault:""`
S3ForcePathStyle bool `env:"PB_S3_FORCE_PATH_STYLE" envDefault:"false"`
OIDCURL string `env:"PB_OIDC_URL" envDefault:""`
OIDCName string `env:"PB_OIDC_NAME" envDefault:""`
OIDCRealm string `env:"PB_OIDC_REALM" envDefault:"master"`
OIDCClientID string `env:"PB_OIDC_CLIENT_ID" envDefault:"ssh-nexus"`
OIDCClientSecret string `env:"PB_OIDC_CLIENT_SECRET" envDefault:""`
// SSH Specific Settings
DefaultRetention string `env:"DEFAULT_RETENTION" envDefault:"2592000"`
UserLease string `env:"USER_LEASE" envDefault:"86400"`
HostLease string `env:"HOST_LEASE" envDefault:"2592000"`
MaxLease string `env:"MAX_LEASE" envDefault:"7776000"`
SSHConfig string `env:"SSH_CONFIG" envDefault:""`
InstallAgent string `env:"INSTALL_AGENT" envDefault:"true"`
}
type OIDCConfig ¶
type OIDCConfig struct {
Name string `json:"name,omitempty"`
URL string `json:"url,omitempty"`
Realm string `json:"realm,omitempty"`
AuthEndpoint string `json:"authorization_endpoint,omitempty"`
TokenEndpoint string `json:"token_endpoint,omitempty"`
UserInfoEndpoint string `json:"userinfo_endpoint,omitempty"`
}
Click to show internal directories.
Click to hide internal directories.