Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BaseNetworkManager ¶
type BaseNetworkManager struct {
// contains filtered or unexported fields
}
BaseNetworkManager is a concrete implementation of NetworkManager
func NewBaseNetworkManager ¶
func NewBaseNetworkManager(injector di.Injector) *BaseNetworkManager
NewNetworkManager creates a new NetworkManager
func (*BaseNetworkManager) ConfigureDNS ¶
func (n *BaseNetworkManager) ConfigureDNS() error
ConfigureDNS sets up DNS using systemd-resolved. If the DNS IP is configured, it ensures systemd-resolved is used by creating a drop-in configuration file. The function checks if /etc/resolv.conf is a symlink to systemd-resolved and restarts the service if necessary. It handles errors at each step to ensure proper DNS configuration.
func (*BaseNetworkManager) ConfigureGuest ¶
func (n *BaseNetworkManager) ConfigureGuest() error
ConfigureGuest sets up the guest VM network
func (*BaseNetworkManager) ConfigureHostRoute ¶
func (n *BaseNetworkManager) ConfigureHostRoute() error
ConfigureHostRoute sets up the local development network for Linux
func (*BaseNetworkManager) Initialize ¶
func (n *BaseNetworkManager) Initialize() error
Initialize resolves dependencies, sorts services, and assigns IPs based on network CIDR
type ColimaNetworkManager ¶
type ColimaNetworkManager struct { BaseNetworkManager // contains filtered or unexported fields }
colimaNetworkManager is a concrete implementation of NetworkManager
func NewColimaNetworkManager ¶
func NewColimaNetworkManager(injector di.Injector) *ColimaNetworkManager
NewColimaNetworkManager creates a new ColimaNetworkManager
func (*ColimaNetworkManager) ConfigureGuest ¶
func (n *ColimaNetworkManager) ConfigureGuest() error
ConfigureGuest sets up forwarding of guest traffic to the container network. It retrieves network CIDR and guest IP from the config, and configures SSH. It identifies the Docker bridge interface and ensures iptables rules are set. If the rule doesn't exist, it adds a new one to allow traffic forwarding.
func (*ColimaNetworkManager) Initialize ¶ added in v0.3.0
func (n *ColimaNetworkManager) Initialize() error
Initialize sets up the ColimaNetworkManager by resolving dependencies for sshClient, shell, and secureShell from the injector.
type MockNetworkInterfaceProvider ¶
type MockNetworkInterfaceProvider struct { InterfacesFunc func() ([]net.Interface, error) InterfaceAddrsFunc func(iface net.Interface) ([]net.Addr, error) }
MockNetworkInterfaceProvider is a struct that simulates a network interface provider for testing purposes.
func NewMockNetworkInterfaceProvider ¶ added in v0.5.7
func NewMockNetworkInterfaceProvider() *MockNetworkInterfaceProvider
NewMockNetworkInterfaceProvider creates a new instance of MockNetworkInterfaceProvider with default implementations.
func (*MockNetworkInterfaceProvider) InterfaceAddrs ¶
InterfaceAddrs calls the custom InterfaceAddrsFunc if provided.
func (*MockNetworkInterfaceProvider) Interfaces ¶
func (m *MockNetworkInterfaceProvider) Interfaces() ([]net.Interface, error)
Interfaces calls the custom InterfacesFunc if provided.
type MockNetworkManager ¶
type MockNetworkManager struct { NetworkManager InitializeFunc func() error ConfigureHostRouteFunc func() error ConfigureGuestFunc func() error ConfigureDNSFunc func() error }
MockNetworkManager is a struct that simulates a network manager for testing purposes.
func NewMockNetworkManager ¶
func NewMockNetworkManager() *MockNetworkManager
NewMockNetworkManager creates a new instance of MockNetworkManager.
func (*MockNetworkManager) ConfigureDNS ¶
func (m *MockNetworkManager) ConfigureDNS() error
ConfigureDNS calls the custom ConfigureDNSFunc if provided.
func (*MockNetworkManager) ConfigureGuest ¶
func (m *MockNetworkManager) ConfigureGuest() error
ConfigureGuest calls the custom ConfigureGuestFunc if provided.
func (*MockNetworkManager) ConfigureHostRoute ¶
func (m *MockNetworkManager) ConfigureHostRoute() error
ConfigureHostRoute calls the custom ConfigureHostRouteFunc if provided.
func (*MockNetworkManager) Initialize ¶
func (m *MockNetworkManager) Initialize() error
Initialize calls the custom InitializeFunc if provided.
type NetworkInterfaceProvider ¶
type NetworkInterfaceProvider interface { Interfaces() ([]net.Interface, error) InterfaceAddrs(iface net.Interface) ([]net.Addr, error) }
NetworkInterfaceProvider abstracts the system's network interface operations
func NewNetworkInterfaceProvider ¶ added in v0.5.7
func NewNetworkInterfaceProvider() NetworkInterfaceProvider
NewNetworkInterfaceProvider creates a new real implementation of NetworkInterfaceProvider
type NetworkManager ¶
type NetworkManager interface { Initialize() error ConfigureHostRoute() error ConfigureGuest() error ConfigureDNS() error }
NetworkManager handles configuring the local development network
type RealNetworkInterfaceProvider ¶
type RealNetworkInterfaceProvider struct{}
RealNetworkInterfaceProvider is the real implementation of NetworkInterfaceProvider
func (*RealNetworkInterfaceProvider) InterfaceAddrs ¶
InterfaceAddrs returns the addresses of a network interface
func (*RealNetworkInterfaceProvider) Interfaces ¶
func (p *RealNetworkInterfaceProvider) Interfaces() ([]net.Interface, error)
Interfaces returns the system's network interfaces
type Shims ¶ added in v0.5.7
type Shims struct { Goos func() string Stat func(string) (os.FileInfo, error) WriteFile func(string, []byte, os.FileMode) error ReadFile func(string) ([]byte, error) ReadLink func(string) (string, error) MkdirAll func(string, os.FileMode) error }
Shims provides mockable wrappers around system and runtime functions