Maint: inject Commander to openvpn and firewall
This commit is contained in:
@@ -71,10 +71,11 @@ func main() {
|
|||||||
unix := unix.New()
|
unix := unix.New()
|
||||||
cli := cli.New()
|
cli := cli.New()
|
||||||
env := params.NewEnv()
|
env := params.NewEnv()
|
||||||
|
cmder := command.NewCommander()
|
||||||
|
|
||||||
errorCh := make(chan error)
|
errorCh := make(chan error)
|
||||||
go func() {
|
go func() {
|
||||||
errorCh <- _main(ctx, buildInfo, args, logger, env, unix, cli)
|
errorCh <- _main(ctx, buildInfo, args, logger, env, unix, cmder, cli)
|
||||||
}()
|
}()
|
||||||
|
|
||||||
select {
|
select {
|
||||||
@@ -113,7 +114,7 @@ var (
|
|||||||
//nolint:gocognit,gocyclo
|
//nolint:gocognit,gocyclo
|
||||||
func _main(ctx context.Context, buildInfo models.BuildInformation,
|
func _main(ctx context.Context, buildInfo models.BuildInformation,
|
||||||
args []string, logger logging.ParentLogger, env params.Env,
|
args []string, logger logging.ParentLogger, env params.Env,
|
||||||
unix unix.Unix, cli cli.CLI) error {
|
unix unix.Unix, cmder command.Commander, cli cli.CLI) error {
|
||||||
if len(args) > 1 { // cli operation
|
if len(args) > 1 { // cli operation
|
||||||
switch args[1] {
|
switch args[1] {
|
||||||
case "healthcheck":
|
case "healthcheck":
|
||||||
@@ -135,7 +136,7 @@ func _main(ctx context.Context, buildInfo models.BuildInformation,
|
|||||||
alpineConf := alpine.NewConfigurator()
|
alpineConf := alpine.NewConfigurator()
|
||||||
ovpnConf := openvpn.NewConfigurator(
|
ovpnConf := openvpn.NewConfigurator(
|
||||||
logger.NewChild(logging.Settings{Prefix: "openvpn configurator: "}),
|
logger.NewChild(logging.Settings{Prefix: "openvpn configurator: "}),
|
||||||
unix)
|
unix, cmder)
|
||||||
dnsCrypto := dnscrypto.New(httpClient, "", "")
|
dnsCrypto := dnscrypto.New(httpClient, "", "")
|
||||||
const cacertsPath = "/etc/ssl/certs/ca-certificates.crt"
|
const cacertsPath = "/etc/ssl/certs/ca-certificates.crt"
|
||||||
dnsConf := unbound.NewConfigurator(nil, dnsCrypto,
|
dnsConf := unbound.NewConfigurator(nil, dnsCrypto,
|
||||||
@@ -162,8 +163,6 @@ func _main(ctx context.Context, buildInfo models.BuildInformation,
|
|||||||
fmt.Println(line)
|
fmt.Println(line)
|
||||||
}
|
}
|
||||||
|
|
||||||
cmder := command.NewCommander()
|
|
||||||
|
|
||||||
err = printVersions(ctx, logger, []printVersionElement{
|
err = printVersions(ctx, logger, []printVersionElement{
|
||||||
{name: "Alpine", getVersion: alpineConf.Version},
|
{name: "Alpine", getVersion: alpineConf.Version},
|
||||||
{name: "OpenVPN 2.4", getVersion: ovpnConf.Version24},
|
{name: "OpenVPN 2.4", getVersion: ovpnConf.Version24},
|
||||||
@@ -233,7 +232,7 @@ func _main(ctx context.Context, buildInfo models.BuildInformation,
|
|||||||
Prefix: "firewall: ",
|
Prefix: "firewall: ",
|
||||||
Level: firewallLogLevel,
|
Level: firewallLogLevel,
|
||||||
})
|
})
|
||||||
firewallConf := firewall.NewConfigurator(firewallLogger, routingConf)
|
firewallConf := firewall.NewConfigurator(firewallLogger, cmder, routingConf)
|
||||||
|
|
||||||
defaultInterface, defaultGateway, err := routingConf.DefaultRoute()
|
defaultInterface, defaultGateway, err := routingConf.DefaultRoute()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
@@ -50,14 +50,13 @@ type configurator struct { //nolint:maligned
|
|||||||
}
|
}
|
||||||
|
|
||||||
// NewConfigurator creates a new Configurator instance.
|
// NewConfigurator creates a new Configurator instance.
|
||||||
func NewConfigurator(logger logging.Logger, routing routing.Routing) Configurator {
|
func NewConfigurator(logger logging.Logger, cmder command.Commander, routing routing.Routing) Configurator {
|
||||||
commander := command.NewCommander()
|
|
||||||
return &configurator{
|
return &configurator{
|
||||||
commander: commander,
|
commander: cmder,
|
||||||
logger: logger,
|
logger: logger,
|
||||||
routing: routing,
|
routing: routing,
|
||||||
allowedInputPorts: make(map[uint16]string),
|
allowedInputPorts: make(map[uint16]string),
|
||||||
ip6Tables: ip6tablesSupported(context.Background(), commander),
|
ip6Tables: ip6tablesSupported(context.Background(), cmder),
|
||||||
customRulesPath: "/iptables/post-rules.txt",
|
customRulesPath: "/iptables/post-rules.txt",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,10 +29,11 @@ type configurator struct {
|
|||||||
tunDevPath string
|
tunDevPath string
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewConfigurator(logger logging.Logger, unix unix.Unix) Configurator {
|
func NewConfigurator(logger logging.Logger, unix unix.Unix,
|
||||||
|
cmder command.Commander) Configurator {
|
||||||
return &configurator{
|
return &configurator{
|
||||||
logger: logger,
|
logger: logger,
|
||||||
commander: command.NewCommander(),
|
commander: cmder,
|
||||||
unix: unix,
|
unix: unix,
|
||||||
authFilePath: constants.OpenVPNAuthConf,
|
authFilePath: constants.OpenVPNAuthConf,
|
||||||
tunDevPath: constants.TunnelDevice,
|
tunDevPath: constants.TunnelDevice,
|
||||||
|
|||||||
Reference in New Issue
Block a user