summaryrefslogtreecommitdiff
path: root/config
diff options
from:
to:
context:
space:
mode:
Diffstat (limited to 'config')
-rw-r--r--config/config.go15
-rw-r--r--config/config.local.yaml26
-rw-r--r--config/config.prod.yaml6
-rw-r--r--config/config.stage.yaml6
4 files changed, 53 insertions, 0 deletions
diff --git a/config/config.go b/config/config.go
index 8c0321e..7438fe1 100644
--- a/config/config.go
+++ b/config/config.go
@@ -13,6 +13,7 @@ type Config struct {
BlogPages BlogPagesConfig `json:"BlogPages" yaml:"blogPages" validate:"required"`
LocalePath string `json:"LocalePath" yaml:"localePath" validate:"required,filepath"`
AvailableLanguages []AvailableLanguageConfig `json:"AvailableLanguages" yaml:"availableLanguages" validate:"required"`
+ Auth AuthConfig `json:"Auth" yaml:"auth" validate:"required"`
}
type BlogPagesConfig struct {
@@ -39,6 +40,20 @@ type AvailableLanguageConfig struct {
LocFile string `json:"LocFile" yaml:"locFile" validate:"required,filepath"`
}
+type AuthConfig struct {
+ Salt string `json:"Salt" yaml:"salt" validate:"required"`
+ Db DbConfig `json:"Db" yaml:"db" validate:"required"`
+}
+
+type DbConfig struct {
+ Type string `json:"Type" yaml:"type" validate:"required,oneof=sqlite3"`
+ Cfg Sqlite3Config `json:"Config" yaml:"config"`
+}
+
+type Sqlite3Config struct {
+ DSN string `json:"DSN" yaml:"dsn" validate:"required"`
+}
+
func LoadConfig(path string, config *Config) error {
fileBytes, err := os.ReadFile(path)
if err != nil {
diff --git a/config/config.local.yaml b/config/config.local.yaml
new file mode 100644
index 0000000..0b48e47
--- /dev/null
+++ b/config/config.local.yaml
@@ -0,0 +1,26 @@
+logLevel: debug
+blogPages:
+ storage:
+ type: b2
+ config:
+ bucketName: sayana-pages
+ region: eu-central-003
+ prefix: 'stage-'
+ keyID: '${B2_KEY_ID}'
+ applicationKey: '${B2_APPLICATION_KEY}'
+localePath: ./locale/
+availableLanguages:
+ - name: ru
+ alt: Русский
+ flag: https://f003.backblazeb2.com/file/sayana-static/flags/ru.svg
+ locFile: localization.ru.yaml
+ - name: en
+ alt: English
+ flag: https://f003.backblazeb2.com/file/sayana-static/flags/gb.svg
+ locFile: localization.en.yaml
+auth:
+ db:
+ type: sqlite3
+ config:
+ dsn: 'file:/tmp/auth.db?cache=shared&mode=rwc'
+ salt: '123'
diff --git a/config/config.prod.yaml b/config/config.prod.yaml
index 2d050bf..e1294c0 100644
--- a/config/config.prod.yaml
+++ b/config/config.prod.yaml
@@ -18,3 +18,9 @@ availableLanguages:
alt: English
flag: https://f003.backblazeb2.com/file/sayana-static/flags/gb.svg
locFile: localization.en.yaml
+auth:
+ db:
+ type: sqlite3
+ config:
+ dsn: 'file:/data/auth.db?cache=private&mode=rwc&_locking_mode=EXCLUSIVE&_mutex=no&_auto_vacuum=2'
+ salt: '${AUTH_SALT}'
diff --git a/config/config.stage.yaml b/config/config.stage.yaml
index a34a33e..30233c1 100644
--- a/config/config.stage.yaml
+++ b/config/config.stage.yaml
@@ -18,3 +18,9 @@ availableLanguages:
alt: English
flag: https://f003.backblazeb2.com/file/sayana-static/flags/gb.svg
locFile: localization.en.yaml
+auth:
+ db:
+ type: sqlite3
+ config:
+ dsn: 'file:/data/auth.db?cache=private&mode=rwc&_locking_mode=EXCLUSIVE&_mutex=no&_auto_vacuum=2'
+ salt: '${AUTH_SALT}'