diff options
author | 2022-05-30 13:41:24 +0100 | |
---|---|---|
committer | 2022-05-30 14:41:24 +0200 | |
commit | 43ac0cdb9c4eea9d3c5eceb2c11b9e5b98b87b00 (patch) | |
tree | f0d5967d0ce639b6bc82aaf607f62e228fdf4559 /internal/config/keys.go | |
parent | [chore] Mastodon api fixups (#617) (diff) | |
download | gotosocial-43ac0cdb9c4eea9d3c5eceb2c11b9e5b98b87b00.tar.xz |
[chore] Global server configuration overhaul (#575)
* move config flag names and usage to config package, rewrite config package to use global Configuration{} struct
Signed-off-by: kim <grufwub@gmail.com>
* improved code comment
Signed-off-by: kim <grufwub@gmail.com>
* linter
Signed-off-by: kim <grufwub@gmail.com>
* fix unmarshaling
Signed-off-by: kim <grufwub@gmail.com>
* remove kim's custom go compiler changes
Signed-off-by: kim <grufwub@gmail.com>
* generate setter and flag-name functions, implement these in codebase
Signed-off-by: kim <grufwub@gmail.com>
* update deps
Signed-off-by: kim <grufwub@gmail.com>
* small change
Signed-off-by: kim <grufwub@gmail.com>
* appease the linter...
Signed-off-by: kim <grufwub@gmail.com>
* move configuration into ConfigState structure, ensure reloading to/from viper settings to keep in sync
Signed-off-by: kim <grufwub@gmail.com>
* lint
Signed-off-by: kim <grufwub@gmail.com>
* update code comments
Signed-off-by: kim <grufwub@gmail.com>
* fix merge issue
Signed-off-by: kim <grufwub@gmail.com>
* fix merge issue
Signed-off-by: kim <grufwub@gmail.com>
* improved version string (removes time + go version)
Signed-off-by: kim <grufwub@gmail.com>
* fix version string build to pass test script + consolidate logic in func
Signed-off-by: kim <grufwub@gmail.com>
* add license text, update config.Defaults comment
Signed-off-by: kim <grufwub@gmail.com>
* add license text to generated config helpers file
Signed-off-by: kim <grufwub@gmail.com>
* defer unlock on config.Set___(), to ensure unlocked on panic
Signed-off-by: kim <grufwub@gmail.com>
* make it more obvious which cmd flags are being attached
Signed-off-by: kim <grufwub@gmail.com>
Diffstat (limited to 'internal/config/keys.go')
-rw-r--r-- | internal/config/keys.go | 182 |
1 files changed, 0 insertions, 182 deletions
diff --git a/internal/config/keys.go b/internal/config/keys.go deleted file mode 100644 index 50a9c2fa7..000000000 --- a/internal/config/keys.go +++ /dev/null @@ -1,182 +0,0 @@ -/* - GoToSocial - Copyright (C) 2021-2022 GoToSocial Authors admin@gotosocial.org - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Affero General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. -*/ - -package config - -// KeyNames is a struct that just contains the names of configuration keys. -type KeyNames struct { - // root - LogLevel string - LogDbQueries string - ConfigPath string - - // general - ApplicationName string - Host string - AccountDomain string - Protocol string - BindAddress string - Port string - TrustedProxies string - SoftwareVersion string - - // database - DbType string - DbAddress string - DbPort string - DbUser string - DbPassword string - DbDatabase string - DbTLSMode string - DbTLSCACert string - - // template - WebTemplateBaseDir string - WebAssetBaseDir string - - // accounts - AccountsRegistrationOpen string - AccountsApprovalRequired string - AccountsReasonRequired string - - // media - MediaImageMaxSize string - MediaVideoMaxSize string - MediaDescriptionMinChars string - MediaDescriptionMaxChars string - MediaRemoteCacheDays string - - // storage - StorageBackend string - StorageLocalBasePath string - - // statuses - StatusesMaxChars string - StatusesCWMaxChars string - StatusesPollMaxOptions string - StatusesPollOptionMaxChars string - StatusesMediaMaxFiles string - - // letsencrypt - LetsEncryptEnabled string - LetsEncryptCertDir string - LetsEncryptEmailAddress string - LetsEncryptPort string - - // oidc - OIDCEnabled string - OIDCIdpName string - OIDCSkipVerification string - OIDCIssuer string - OIDCClientID string - OIDCClientSecret string - OIDCScopes string - - // smtp - SMTPHost string - SMTPPort string - SMTPUsername string - SMTPPassword string - SMTPFrom string - - // syslog - SyslogEnabled string - SyslogProtocol string - SyslogAddress string - - // admin - AdminAccountUsername string - AdminAccountEmail string - AdminAccountPassword string - AdminTransPath string -} - -// Keys contains the names of the various keys used for initializing and storing flag variables, -// and retrieving values from the viper config store. -var Keys = KeyNames{ - LogLevel: "log-level", - LogDbQueries: "log-db-queries", - ApplicationName: "application-name", - ConfigPath: "config-path", - Host: "host", - AccountDomain: "account-domain", - Protocol: "protocol", - BindAddress: "bind-address", - Port: "port", - TrustedProxies: "trusted-proxies", - SoftwareVersion: "software-version", - - DbType: "db-type", - DbAddress: "db-address", - DbPort: "db-port", - DbUser: "db-user", - DbPassword: "db-password", - DbDatabase: "db-database", - DbTLSMode: "db-tls-mode", - DbTLSCACert: "db-tls-ca-cert", - - WebTemplateBaseDir: "web-template-base-dir", - WebAssetBaseDir: "web-asset-base-dir", - - AccountsRegistrationOpen: "accounts-registration-open", - AccountsApprovalRequired: "accounts-approval-required", - AccountsReasonRequired: "accounts-reason-required", - - MediaImageMaxSize: "media-image-max-size", - MediaVideoMaxSize: "media-video-max-size", - MediaDescriptionMinChars: "media-description-min-chars", - MediaDescriptionMaxChars: "media-description-max-chars", - MediaRemoteCacheDays: "media-remote-cache-days", - - StorageBackend: "storage-backend", - StorageLocalBasePath: "storage-local-base-path", - - StatusesMaxChars: "statuses-max-chars", - StatusesCWMaxChars: "statuses-cw-max-chars", - StatusesPollMaxOptions: "statuses-poll-max-options", - StatusesPollOptionMaxChars: "statuses-poll-option-max-chars", - StatusesMediaMaxFiles: "statuses-media-max-files", - - LetsEncryptEnabled: "letsencrypt-enabled", - LetsEncryptPort: "letsencrypt-port", - LetsEncryptCertDir: "letsencrypt-cert-dir", - LetsEncryptEmailAddress: "letsencrypt-email-address", - - OIDCEnabled: "oidc-enabled", - OIDCIdpName: "oidc-idp-name", - OIDCSkipVerification: "oidc-skip-verification", - OIDCIssuer: "oidc-issuer", - OIDCClientID: "oidc-client-id", - OIDCClientSecret: "oidc-client-secret", - OIDCScopes: "oidc-scopes", - - SMTPHost: "smtp-host", - SMTPPort: "smtp-port", - SMTPUsername: "smtp-username", - SMTPPassword: "smtp-password", - SMTPFrom: "smtp-from", - - SyslogEnabled: "syslog-enabled", - SyslogProtocol: "syslog-protocol", - SyslogAddress: "syslog-address", - - AdminAccountUsername: "username", - AdminAccountEmail: "email", - AdminAccountPassword: "password", - AdminTransPath: "path", -} |