You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
bit4sat/config/vars.go

76 lines
2.0 KiB
Go

package config
import (
"fmt"
"github.com/namsral/flag"
)
const (
ChargeCallbackEndpoint = "chargecallback"
ShortIdMinLength = 8
LongIdMinLength = 32
)
var (
Env,
StoragePath,
ApiPort,
ApiInterface,
ApiListen,
ApiHost,
SessionSecret,
LnChargeApi,
LnChargeToken,
LndGrpcHost,
LndGrpcPort,
LndCertPath,
LndAdminMacaroonPath,
LockMacaroonIp,
ShortIdSalt,
HttpProxy,
SqlDbHost,
SqlDbUser,
SqlDbPass string
)
func init() {
// Storage
flag.StringVar(&StoragePath, "bit4sat-storage-path", "file-storage", "base file storage path")
// Api
flag.StringVar(&ApiPort, "api-port", "8880", "api port number")
flag.StringVar(&ApiInterface, "api-interface", "", "api listening interface")
flag.StringVar(&ApiHost, "api-host", "", "reachable hostname for api (used by callbacks)")
ApiListen = fmt.Sprintf("%s:%s", ApiInterface, ApiPort)
flag.StringVar(&SessionSecret, "session-secret", "default-secret", "cookie sessions secret")
// Database
flag.StringVar(&SqlDbHost, "sql-db-host", "bit4sat", "sql db hostname")
flag.StringVar(&SqlDbUser, "sql-db-user", "bit4sat", "sql db username")
flag.StringVar(&SqlDbPass, "sql-db-pass", "bit4sat", "sql db pass")
// LN Charge
flag.StringVar(&LnChargeApi, "ln-charge-api", "", "ln charge api endpoint")
flag.StringVar(&LnChargeToken, "ln-charge-token", "", "ln charge api token")
// LND
flag.StringVar(&LndGrpcHost, "lnd-grpc-host", "", "lnd host address")
flag.StringVar(&LndGrpcPort, "lnd-grpc-port", "", "lnd port address")
flag.StringVar(&LndCertPath, "lnd-cert-path", "", "lnd tls cert path")
flag.StringVar(&LndAdminMacaroonPath, "lnd-macaroon-admin-path", "", "admin macaroon path")
flag.StringVar(&LockMacaroonIp, "lock-macaroon-ip", "", "lock macaroon to ip address")
flag.StringVar(&HttpProxy, "http-proxy", "", "http proxy for clients")
flag.StringVar(&ShortIdSalt, "short-id-salt", "bit4sat-23591", "hashid salt")
flag.StringVar(&Env, "env", "dev", "dev or prod")
//log.Printf("locking macaroon to ip %s", LockMacaroonIp)
flag.Parse()
}