DEVELOPMENT ENVIRONMENT

~liljamo/tixe

ref: 6124b16e89cc33cf9e3b2df29c709b1f1465ac53 tixe/config/config.go -rw-r--r-- 1.4 KiB
6124b16eJonni Liljamo fix: abort if not logged in... 1 year, 1 month 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
/*
 * 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
	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", ""),
		OidcClientID: util.LoadVar("TIXE_OIDC_CLIENTID", ""),
		OidcSecret: util.LoadVar("TIXE_OIDC_SECRET", ""),

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