mirror of
https://github.com/fosrl/pangolin.git
synced 2026-03-06 18:56:39 +00:00
Seperate ask for base domain and dashboard domain
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
app:
|
app:
|
||||||
dashboard_url: https://{{.Domain}}
|
dashboard_url: https://{{.DashboardDomain}}
|
||||||
base_domain: {{.Domain}}
|
base_domain: {{.BaseDomain}}
|
||||||
log_level: info
|
log_level: info
|
||||||
save_logs: false
|
save_logs: false
|
||||||
|
|
||||||
|
|||||||
@@ -18,7 +18,8 @@ import (
|
|||||||
var configFiles embed.FS
|
var configFiles embed.FS
|
||||||
|
|
||||||
type Config struct {
|
type Config struct {
|
||||||
Domain string `yaml:"domain"`
|
BaseDomain string `yaml:"baseDomain"`
|
||||||
|
DashboardDomain string `yaml:"dashboardUrl"`
|
||||||
LetsEncryptEmail string `yaml:"letsEncryptEmail"`
|
LetsEncryptEmail string `yaml:"letsEncryptEmail"`
|
||||||
AdminUserEmail string `yaml:"adminUserEmail"`
|
AdminUserEmail string `yaml:"adminUserEmail"`
|
||||||
AdminUserPassword string `yaml:"adminUserPassword"`
|
AdminUserPassword string `yaml:"adminUserPassword"`
|
||||||
@@ -102,12 +103,13 @@ func collectUserInput(reader *bufio.Reader) Config {
|
|||||||
|
|
||||||
// Basic configuration
|
// Basic configuration
|
||||||
fmt.Println("\n=== Basic Configuration ===")
|
fmt.Println("\n=== Basic Configuration ===")
|
||||||
config.Domain = readString(reader, "Enter your domain name", "")
|
config.BaseDomain = readString(reader, "Enter your base domain (no subdomain e.g. example.com)", "")
|
||||||
|
config.DashboardDomain = readString(reader, "Enter the domain for the Pangolin dashboard (e.g. example.com OR proxy.example.com)", config.BaseDomain)
|
||||||
config.LetsEncryptEmail = readString(reader, "Enter email for Let's Encrypt certificates", "")
|
config.LetsEncryptEmail = readString(reader, "Enter email for Let's Encrypt certificates", "")
|
||||||
|
|
||||||
// Admin user configuration
|
// Admin user configuration
|
||||||
fmt.Println("\n=== Admin User Configuration ===")
|
fmt.Println("\n=== Admin User Configuration ===")
|
||||||
config.AdminUserEmail = readString(reader, "Enter admin user email", "admin@"+config.Domain)
|
config.AdminUserEmail = readString(reader, "Enter admin user email", "admin@"+config.BaseDomain)
|
||||||
for {
|
for {
|
||||||
config.AdminUserPassword = readString(reader, "Enter admin user password", "")
|
config.AdminUserPassword = readString(reader, "Enter admin user password", "")
|
||||||
if valid, message := validatePassword(config.AdminUserPassword); valid {
|
if valid, message := validatePassword(config.AdminUserPassword); valid {
|
||||||
@@ -140,10 +142,14 @@ func collectUserInput(reader *bufio.Reader) Config {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Validate required fields
|
// Validate required fields
|
||||||
if config.Domain == "" {
|
if config.BaseDomain == "" {
|
||||||
fmt.Println("Error: Domain name is required")
|
fmt.Println("Error: Domain name is required")
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
|
if config.DashboardDomain == "" {
|
||||||
|
fmt.Println("Error: Dashboard Domain name is required")
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
if config.LetsEncryptEmail == "" {
|
if config.LetsEncryptEmail == "" {
|
||||||
fmt.Println("Error: Let's Encrypt email is required")
|
fmt.Println("Error: Let's Encrypt email is required")
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
|
|||||||
Reference in New Issue
Block a user