hmn/src/config/config.go.example

66 lines
1.8 KiB
Plaintext

package config
import (
"github.com/jackc/pgx/v4"
"github.com/rs/zerolog"
)
var Config = HMNConfig{
Env: Dev,
Addr: ":9001",
PrivateAddr: ":9002",
BaseUrl: "http://handmade.local:9001",
LogLevel: zerolog.TraceLevel, // InfoLevel is recommended for production
Postgres: PostgresConfig{
User: "hmn",
Password: "password",
Hostname: "handmade.local",
Port: 5432,
DbName: "hmn",
LogLevel: pgx.LogLevelTrace, // LogLevelWarn is recommended for production
MinConn: 2, // Keep these low for dev, high for production
MaxConn: 10,
},
Auth: AuthConfig{
CookieDomain: ".handmade.local",
CookieSecure: false,
},
Admin: AdminConfig {
AtomUsername: "admin",
AtomPassword: "password",
},
Email: EmailConfig{
ServerAddress: "smtp.example.com",
ServerPort: 587,
FromAddress: "noreply@example.com",
FromAddressPassword: "",
FromName: "Handmade Network Team",
OverrideRecipientEmail: "override@handmade.network", // NOTE(asaf): If this is not empty, all emails will be redirected to this address.
},
DigitalOcean: DigitalOceanConfig{
AssetsSpacesKey: "",
AssetsSpacesSecret: "",
AssetsSpacesRegion: "",
AssetsSpacesEndpoint: "",
AssetsSpacesBucket: "",
AssetsPathPrefix: "", // Empty is fine for production, but may be necessary for dev
AssetsPublicUrlRoot: "", // e.g. "https://bucket-name.region.cdn.digitaloceanspaces.com/". Note the trailing slash...
},
Discord: DiscordConfig{
BotToken: "",
BotUserID: "",
OAuthClientID: "",
OAuthClientSecret: "",
GuildID: "",
MemberRoleID: "",
ShowcaseChannelID: "",
LibraryChannelID: "",
},
EpisodeGuide: EpisodeGuide{
CineraOutputPath: "./annotations/",
Projects: map[string]string{"hero": "code", "riscy": "riscy", "bitwise": "bitwise"},
},
}