()
| 36 | } |
| 37 | |
| 38 | func Load() Config { |
| 39 | return Config{ |
| 40 | ServerAddr: envOrDefault("PULSE_SERVER_ADDR", ":8080"), |
| 41 | DataDir: envOrDefault("PULSE_DATA_DIR", "./data"), |
| 42 | DatabaseURL: envOrDefault("PULSE_DATABASE_URL", ""), |
| 43 | NodeCACertFile: envOrDefault("PULSE_NODE_CA_CERT_FILE", "./node_ca_cert.pem"), |
| 44 | NodeCAKeyFile: envOrDefault("PULSE_NODE_CA_KEY_FILE", "./node_ca_key.pem"), |
| 45 | NodeGRPCURL: envOrDefault("PULSE_NODE_GRPC_URL", ""), |
| 46 | NodeID: envOrDefault("PULSE_NODE_ID", ""), |
| 47 | NodeServerAddr: envOrDefault("PULSE_NODE_SERVER_ADDR", ""), |
| 48 | NodeClientCert: envOrDefault("PULSE_NODE_CLIENT_CERT_FILE", "./node_cert.pem"), |
| 49 | NodeClientKey: envOrDefault("PULSE_NODE_CLIENT_KEY_FILE", "./node_key.pem"), |
| 50 | NodeServerCAFile: envOrDefault("PULSE_NODE_SERVER_CA_FILE", "./node_ca.pem"), |
| 51 | NodeServerName: envOrDefault("PULSE_NODE_SERVER_NAME", ""), |
| 52 | DiscourseURL: envOrDefault("PULSE_DISCOURSE_URL", ""), |
| 53 | DiscourseSSOSecret: envOrDefault("PULSE_DISCOURSE_SSO_SECRET", ""), |
| 54 | DiscourseAdminUsers: envOrDefault("PULSE_DISCOURSE_ADMIN_USERS", ""), |
| 55 | StripeSecretKey: envOrDefault("PULSE_STRIPE_SECRET_KEY", ""), |
| 56 | StripeWebhookSecret: envOrDefault("PULSE_STRIPE_WEBHOOK_SECRET", ""), |
| 57 | } |
| 58 | } |
| 59 | |
| 60 | func envOrDefault(key, fallback string) string { |
| 61 | if value := os.Getenv(key); value != "" { |
no test coverage detected