DEVELOPMENT ENVIRONMENT

~liljamo/tixe

ref: 313b905edc5fb82b56f0aecde376b7468416e117 tixe/config/config.go -rw-r--r-- 1.5 KiB
313b905eJonni Liljamo feat: oidc option for issuer trailing slash 11 months ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
/*
 * Copyright (C) 2023 Jonni Liljamo <jonni@liljamo.com>
 *
 * This file is licensed under AGPL-3.0-or-later, see NOTICE and LICENSE for
 * more information.
 */
package config

import (
	"log"
	"tixe/util"
)

var TixeConfig *Config

type Config struct {
	// Tixe host, e.g. tixe.liljamo.dev
	// Defaults to 127.0.0.1:8080 for local testing
	Host   string
	// Tixe scheme, http or https (default)
	Scheme string

	PsqlHost   string
	// Postgres port, defaults to 5432
	PsqlPort   string
	PsqlUser   string
	PsqlPwd    string
	PsqlDb     string

	CookieSecret string

	OidcDomain              string
	OidcIssuerTrailingSlash bool
	OidcClientID            string
	OidcSecret              string
	// What is written on the login button
	OidcLoginVisual string
}

func ParseConfig() {
	log.Print("[tixe/config] Parsing config")

	TixeConfig = &Config{
		Host: util.LoadVar("TIXE_HOST", "127.0.0.1:8080"),
		Scheme: util.LoadVar("TIXE_SCHEME", "http"),

		PsqlHost: util.LoadVar("TIXE_PSQL_HOST", ""),
		PsqlPort: util.LoadVar("TIXE_PSQL_PORT", "5432"),
		PsqlUser: util.LoadVar("TIXE_PSQL_USER", ""),
		PsqlPwd: util.LoadVar("TIXE_PSQL_PASSWORD", ""),
		PsqlDb: util.LoadVar("TIXE_PSQL_DB", ""),

		CookieSecret: util.LoadVar("TIXE_COOKIE_SECRET", ""),

		OidcDomain: util.LoadVar("TIXE_OIDC_DOMAIN", ""),
		OidcIssuerTrailingSlash: util.LoadVarBool("TIXE_OIDC_ISSUER_TRAILING_SLASH", false),
		OidcClientID: util.LoadVar("TIXE_OIDC_CLIENTID", ""),
		OidcSecret: util.LoadVar("TIXE_OIDC_SECRET", ""),

		OidcLoginVisual: util.LoadVar("TIXE_OIDC_LOGIN_VISUAL", "oidc"),
	}
}