envs

package
v0.0.0-...-3da28a4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 27, 2023 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var LocalConfig = ConfigDefs{
	Mode: "local",

	ApiDomain: url.URL{
		Host:   "localhost:8080",
		Scheme: "http",
	},
	PageDomain: url.URL{
		Host:   "localhost:3000",
		Scheme: "http",
	},

	Cors: middleware.CORSWithConfig(middleware.CORSConfig{
		AllowOrigins:     []string{"http://localhost:3000"},
		AllowHeaders:     []string{echo.HeaderOrigin, echo.HeaderContentType, echo.HeaderAccept},
		AllowCredentials: true,
	}),

	DBConfig: mysql.Config{
		DBName:    "cateiru",
		User:      "docker",
		Passwd:    "docker",
		Addr:      "db:3306",
		Net:       "tcp",
		ParseTime: true,
	},

	SessionCookieName: "cateirucom-session",
	DBSessionTime:     time.Hour * 5,
	SessionCookieConfig: http.Cookie{
		HttpOnly: true,
		Secure:   false,
		SameSite: http.SameSiteStrictMode,
		Path:     "/",
	},
	SessionConfirmationCookieName: "cateirucom-issession",
	SessionConfirmationCookieConfig: http.Cookie{
		HttpOnly: false,
		Secure:   false,
		SameSite: http.SameSiteStrictMode,
		Path:     "/",
	},

	SSOTokenSecret: "2974d92793c53756ec347fe2a8246fd9f91a2dde291147f081292907cc20b385",
	SSORedirectURI: url.URL{
		Host:   "localhost:8080",
		Scheme: "http",
		Path:   "/login",
	},
	SSOClientID: "e962e6d0db161d59ae5110736ae8ac",

	MailFromDomain:    "m.cateiru.com",
	MailgunAPIKey:     os.Getenv("MAILGUN_APIKEY"),
	SenderMailAddress: "Cateiru <info@m.cateiru.com>",
}
View Source
var ProdConfig = ConfigDefs{
	Mode: "prod",

	ApiDomain: url.URL{
		Host:   "api.cateiru.com",
		Scheme: "https",
	},
	PageDomain: url.URL{
		Host:   "cateiru.com",
		Scheme: "https",
	},

	Cors: middleware.CORSWithConfig(middleware.CORSConfig{
		AllowOrigins:     []string{"https://cateiru.com"},
		AllowHeaders:     []string{echo.HeaderOrigin, echo.HeaderContentType, echo.HeaderAccept},
		AllowCredentials: true,
	}),

	DBConfig: mysql.Config{
		DBName:               "cateirucom",
		User:                 os.Getenv("DB_USER"),
		Passwd:               os.Getenv("DB_PASSWORD"),
		Addr:                 fmt.Sprintf("/cloudsql/%s", os.Getenv("INSTANCE_CONNECTION_NAME")),
		Net:                  "unix",
		ParseTime:            true,
		AllowNativePasswords: true,
	},

	SessionCookieName: "cateirucom-session",
	DBSessionTime:     time.Hour * 5,
	SessionCookieConfig: http.Cookie{
		HttpOnly: true,
		Secure:   true,
		SameSite: http.SameSiteDefaultMode,
		Path:     "/",
	},
	SessionConfirmationCookieName: "cateirucom-issession",
	SessionConfirmationCookieConfig: http.Cookie{
		HttpOnly: false,
		Secure:   true,
		SameSite: http.SameSiteDefaultMode,
		Path:     "/",
	},

	SSOTokenSecret: os.Getenv("SSO_TOKEN_SECRET"),
	SSORedirectURI: url.URL{
		Host:   "api.cateiru.com",
		Scheme: "https",
		Path:   "/login",
	},
	SSOClientID: os.Getenv("SSO_CLIENT_ID"),

	MailFromDomain:    "m.cateiru.com",
	MailgunAPIKey:     os.Getenv("MAILGUN_APIKEY"),
	SenderMailAddress: "Cateiru <info@m.cateiru.com>",
}
View Source
var TestConfig = ConfigDefs{
	Mode: "test",

	ApiDomain: url.URL{
		Host:   "localhost:8080",
		Scheme: "http",
	},
	PageDomain: url.URL{
		Host:   "localhost:3000",
		Scheme: "http",
	},

	Cors: nil,

	DBConfig: mysql.Config{
		DBName:    "test",
		User:      "docker",
		Passwd:    "docker",
		Addr:      "localhost:3306",
		Net:       "tcp",
		ParseTime: true,
	},

	SessionCookieName: "cateirucom-session",
	DBSessionTime:     time.Hour * 5,
	SessionCookieConfig: http.Cookie{
		HttpOnly: true,
		Secure:   false,
		SameSite: http.SameSiteStrictMode,
		Path:     "/",
	},
	SessionConfirmationCookieName: "cateirucom-issession",
	SessionConfirmationCookieConfig: http.Cookie{
		HttpOnly: false,
		Secure:   false,
		SameSite: http.SameSiteStrictMode,
		Path:     "/",
	},

	SSOTokenSecret: "12345",
	SSORedirectURI: url.URL{
		Host:   "localhost:8080",
		Scheme: "http",
		Path:   "/login",
	},
	SSOClientID: "12345",

	MailFromDomain:    "m.cateiru.com",
	MailgunAPIKey:     "123456789abcd",
	SenderMailAddress: "Cateiru <info@m.cateiru.com>",
}

Functions

This section is empty.

Types

type ConfigDefs

type ConfigDefs struct {
	Mode string // Run mode. `local`, `test` or `prod`

	ApiDomain  url.URL
	PageDomain url.URL

	Cors echo.MiddlewareFunc

	// DB Connect config
	DBConfig mysql.Config

	SessionCookieName             string
	SessionConfirmationCookieName string
	DBSessionTime                 time.Duration
	// Cookie config
	// Name and domain is overwrite other config.
	SessionCookieConfig             http.Cookie
	SessionConfirmationCookieConfig http.Cookie

	// CateiruSSO config
	SSOTokenSecret string
	SSORedirectURI url.URL
	SSOClientID    string

	MailFromDomain    string
	MailgunAPIKey     string
	SenderMailAddress string
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL