mirror of
https://tangled.org/evan.jarrett.net/at-container-registry
synced 2026-04-20 16:40:29 +00:00
62 lines
2.4 KiB
Go
62 lines
2.4 KiB
Go
package main
|
|
|
|
import "strings"
|
|
|
|
// Naming derives all infrastructure names and paths from a single ClientName.
|
|
type Naming struct {
|
|
ClientName string // e.g. "seamark"
|
|
}
|
|
|
|
// DisplayName returns the title-cased client name (e.g. "Seamark").
|
|
func (n Naming) DisplayName() string {
|
|
if n.ClientName == "" {
|
|
return ""
|
|
}
|
|
return strings.ToUpper(n.ClientName[:1]) + n.ClientName[1:]
|
|
}
|
|
|
|
// SystemUser returns the unix user name.
|
|
func (n Naming) SystemUser() string { return n.ClientName }
|
|
|
|
// InstallDir returns the source/build directory (e.g. "/opt/seamark").
|
|
func (n Naming) InstallDir() string { return "/opt/" + n.ClientName }
|
|
|
|
// ConfigDir returns the config directory (e.g. "/etc/seamark").
|
|
func (n Naming) ConfigDir() string { return "/etc/" + n.ClientName }
|
|
|
|
// BasePath returns the data directory (e.g. "/var/lib/seamark").
|
|
func (n Naming) BasePath() string { return "/var/lib/" + n.ClientName }
|
|
|
|
// LogFile returns the setup log path (e.g. "/var/log/seamark-setup.log").
|
|
func (n Naming) LogFile() string { return "/var/log/" + n.ClientName + "-setup.log" }
|
|
|
|
// Appview returns the appview binary/service/server name (e.g. "seamark-appview").
|
|
func (n Naming) Appview() string { return n.ClientName + "-appview" }
|
|
|
|
// Hold returns the hold binary/service/server name (e.g. "seamark-hold").
|
|
func (n Naming) Hold() string { return n.ClientName + "-hold" }
|
|
|
|
// AppviewConfigPath returns the appview config file path.
|
|
func (n Naming) AppviewConfigPath() string { return n.ConfigDir() + "/appview.yaml" }
|
|
|
|
// HoldConfigPath returns the hold config file path.
|
|
func (n Naming) HoldConfigPath() string { return n.ConfigDir() + "/hold.yaml" }
|
|
|
|
// NetworkName returns the private network name (e.g. "seamark-private").
|
|
func (n Naming) NetworkName() string { return n.ClientName + "-private" }
|
|
|
|
// LBName returns the load balancer name (e.g. "seamark-lb").
|
|
func (n Naming) LBName() string { return n.ClientName + "-lb" }
|
|
|
|
// Scanner returns the scanner binary/service name (e.g. "seamark-scanner").
|
|
func (n Naming) Scanner() string { return n.ClientName + "-scanner" }
|
|
|
|
// ScannerConfigPath returns the scanner config file path.
|
|
func (n Naming) ScannerConfigPath() string { return n.ConfigDir() + "/scanner.yaml" }
|
|
|
|
// ScannerDataDir returns the scanner data directory (e.g. "/var/lib/seamark/scanner").
|
|
func (n Naming) ScannerDataDir() string { return n.BasePath() + "/scanner" }
|
|
|
|
// S3Name returns the name used for S3 storage, user, and bucket.
|
|
func (n Naming) S3Name() string { return n.ClientName }
|