platform: modularize api/gui, add docs-tests-web foundation, and refresh root config
This commit is contained in:
115
selective-vpn-api/app/transport_backends_config_helpers.go
Normal file
115
selective-vpn-api/app/transport_backends_config_helpers.go
Normal file
@@ -0,0 +1,115 @@
|
||||
package app
|
||||
|
||||
import transportcfg "selective-vpn-api/app/transportcfg"
|
||||
|
||||
func transportBackendUnit(client TransportClient) string {
|
||||
return transportcfg.BackendUnit(transportCfgClient(client))
|
||||
}
|
||||
|
||||
func defaultTransportBackendUnit(kind TransportClientKind) string {
|
||||
return transportcfg.DefaultBackendUnit(string(kind))
|
||||
}
|
||||
|
||||
func transportDNSTTSSHTunnelEnabled(client TransportClient) bool {
|
||||
return transportcfg.DNSTTSSHTunnelEnabled(transportCfgClient(client))
|
||||
}
|
||||
|
||||
func transportDNSTTSSHUnit(client TransportClient) string {
|
||||
return transportcfg.DNSTTSSHUnit(transportCfgClient(client))
|
||||
}
|
||||
|
||||
func transportRuntimeMode(cfg map[string]any) string {
|
||||
return transportcfg.RuntimeMode(cfg)
|
||||
}
|
||||
|
||||
func transportSystemdActionUnits(client TransportClient, action string) ([]string, string, string) {
|
||||
return transportcfg.SystemdActionUnits(transportCfgClient(client), action)
|
||||
}
|
||||
|
||||
func transportSystemdHealthUnits(client TransportClient) ([]string, string, string) {
|
||||
return transportcfg.SystemdHealthUnits(transportCfgClient(client))
|
||||
}
|
||||
|
||||
func transportConfigString(cfg map[string]any, key string) string {
|
||||
return transportcfg.ConfigString(cfg, key)
|
||||
}
|
||||
|
||||
func transportConfigBool(cfg map[string]any, key string) bool {
|
||||
return transportcfg.ConfigBool(cfg, key)
|
||||
}
|
||||
|
||||
func transportCfgClient(client TransportClient) transportcfg.Client {
|
||||
return transportcfg.Client{
|
||||
ID: client.ID,
|
||||
Kind: string(client.Kind),
|
||||
Config: client.Config,
|
||||
}
|
||||
}
|
||||
|
||||
func resolveTransportPrimaryExecStart(client TransportClient) (string, string, error) {
|
||||
return transportcfg.ResolvePrimaryExecStart(
|
||||
transportCfgClient(client),
|
||||
transportSingBoxConfigPath(client),
|
||||
defaultTransportConfigPath(client.ID, "client.toml"),
|
||||
)
|
||||
}
|
||||
|
||||
func buildTransportSingBoxCommand(client TransportClient) (string, error) {
|
||||
return transportcfg.BuildSingBoxCommand(transportCfgClient(client), transportSingBoxConfigPath(client))
|
||||
}
|
||||
|
||||
func buildTransportPhoenixClientCommand(client TransportClient) (string, error) {
|
||||
return transportcfg.BuildPhoenixClientCommand(transportCfgClient(client), defaultTransportConfigPath(client.ID, "client.toml"))
|
||||
}
|
||||
|
||||
func buildTransportDNSTTClientCommand(client TransportClient) (string, error) {
|
||||
return transportcfg.BuildDNSTTClientCommand(transportCfgClient(client))
|
||||
}
|
||||
|
||||
func defaultTransportConfigPath(clientID, fileName string) string {
|
||||
return transportcfg.DefaultConfigPath(clientID, fileName, sanitizeID)
|
||||
}
|
||||
|
||||
func resolveTransportBinary(cfg map[string]any, kind string, systemCandidates ...string) (string, error) {
|
||||
return transportcfg.ResolveBinary(cfg, kind, systemCandidates...)
|
||||
}
|
||||
|
||||
func validateRequiredBinary(cfg map[string]any, kind, bin string) error {
|
||||
return transportcfg.ValidateRequiredBinary(cfg, kind, bin)
|
||||
}
|
||||
|
||||
func transportPackagingProfile(cfg map[string]any) string {
|
||||
return transportcfg.PackagingProfile(cfg)
|
||||
}
|
||||
|
||||
func transportBinaryName(kind string) string {
|
||||
return transportcfg.BinaryName(kind)
|
||||
}
|
||||
|
||||
func firstExistingBinaryCandidate(candidates ...string) (string, bool) {
|
||||
return transportcfg.FirstExistingBinaryCandidate(candidates...)
|
||||
}
|
||||
|
||||
func findBinaryPath(candidate string) (string, bool) {
|
||||
return transportcfg.FindBinaryPath(candidate)
|
||||
}
|
||||
|
||||
func transportBinaryExists(candidate string) bool {
|
||||
return transportcfg.BinaryExists(candidate)
|
||||
}
|
||||
|
||||
func shellJoinArgs(args []string) string {
|
||||
return transportcfg.ShellJoinArgs(args, shellQuoteArg)
|
||||
}
|
||||
|
||||
func shellQuoteArg(in string) string {
|
||||
return transportcfg.ShellQuoteArg(in)
|
||||
}
|
||||
|
||||
func buildTransportSSHOverlayCommand(cfg map[string]any) (string, error) {
|
||||
return transportcfg.BuildSSHOverlayCommand(cfg, transportConfigInt, shellQuoteArg)
|
||||
}
|
||||
|
||||
func transportConfigInt(cfg map[string]any, key string, defaultVal int) int {
|
||||
return transportcfg.ConfigInt(cfg, key, defaultVal)
|
||||
}
|
||||
Reference in New Issue
Block a user