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"}, }, }