Documentation
¶
Index ¶
- type ModuleCustomizer
- type ModuleManager
- type ModulePair
- type ModuleProcessor
- type ModuleProvisioner
- type ModuleReadinessChecker
- type ModuleSvc
- func (ms *ModuleSvc) CheckModuleAndSidecarReadiness(pair *ModulePair) error
- func (ms *ModuleSvc) CheckModuleReadiness(wg *sync.WaitGroup, errCh chan<- error, moduleName string, port int)
- func (ms *ModuleSvc) DeployCustomModule(client *client.Client, pair *ModulePair) error
- func (ms *ModuleSvc) DeployCustomSidecar(client *client.Client, pair *ModulePair) error
- func (ms *ModuleSvc) DeployModule(client *client.Client, c *models.Container) error
- func (ms *ModuleSvc) DeployModules(client *client.Client, containers *models.Containers, sidecarImage string, ...) (map[string]int, error)
- func (ms *ModuleSvc) GetBackendModule(containers *models.Containers, moduleName string) (*models.BackendModule, *models.ProxyModule)
- func (ms *ModuleSvc) GetDeployedModules(client *client.Client, filters filters.Args) ([]container.Summary, error)
- func (ms *ModuleSvc) GetLocalModuleImage(namespace, moduleName, moduleVersion string) string
- func (ms *ModuleSvc) GetModuleEnv(container *models.Containers, module *models.ProxyModule, ...) []string
- func (ms *ModuleSvc) GetModuleImage(module *models.ProxyModule) string
- func (ms *ModuleSvc) GetModuleImageVersion(backendModule models.BackendModule, module *models.ProxyModule) string
- func (ms *ModuleSvc) GetSidecarEnv(containers *models.Containers, module *models.ProxyModule, ...) []string
- func (ms *ModuleSvc) GetSidecarImage(modules []*models.ProxyModule) (string, bool, error)
- func (ms *ModuleSvc) GetVaultRootToken(client *client.Client) (string, error)
- func (ms *ModuleSvc) PullModule(client *client.Client, imageName string) error
- func (ms *ModuleSvc) UndeployModuleAndSidecarPair(client *client.Client, pair *ModulePair) error
- func (ms *ModuleSvc) UndeployModuleByNamePattern(client *client.Client, pattern string) error
- type ModuleVaultHandler
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ModuleCustomizer ¶
type ModuleCustomizer interface {
UndeployModuleAndSidecarPair(client *client.Client, pair *ModulePair) error
DeployCustomModule(client *client.Client, pair *ModulePair) error
DeployCustomSidecar(client *client.Client, pair *ModulePair) error
CheckModuleAndSidecarReadiness(pair *ModulePair) error
}
ModuleCustomizer defines the interface for managing custom module deployment and lifecycle
type ModuleManager ¶
type ModuleManager interface {
GetDeployedModules(client *client.Client, filters filters.Args) ([]container.Summary, error)
PullModule(client *client.Client, imageName string) error
DeployModules(client *client.Client, containers *models.Containers, sidecarImage string, sidecarResources *container.Resources) (map[string]int, error)
DeployModule(client *client.Client, container *models.Container) error
UndeployModuleByNamePattern(client *client.Client, pattern string) error
}
ModuleManager defines the interface for managing module deployment and lifecycle
type ModulePair ¶
type ModulePair struct {
ID string
ModuleName string
ModuleVersion string
ModuleURL string
SidecarURL string
Namespace string
Module *models.ProxyModule
Containers *models.Containers
NetworkConfig *network.NetworkingConfig
BackendModule *models.BackendModule
}
ModulePair represents a module configured for traffic interception and debugging
func NewModulePair ¶
NewModulePair creates a new ModulePair instance with configured URLs for interception
func (*ModulePair) ClearModuleURL ¶
func (mp *ModulePair) ClearModuleURL()
ClearModuleURL clears the module URL from the intercept module
func (*ModulePair) ClearSidecarURL ¶
func (mp *ModulePair) ClearSidecarURL()
ClearSidecarURL clears the sidecar URL from the intercept module
type ModuleProcessor ¶
type ModuleProcessor interface {
ModuleVaultHandler
ModuleReadinessChecker
ModuleProvisioner
ModuleManager
ModuleCustomizer
}
ModuleProcessor defines the composite interface for all module-related operations
type ModuleProvisioner ¶
type ModuleProvisioner interface {
GetBackendModule(containers *models.Containers, moduleName string) (*models.BackendModule, *models.ProxyModule)
GetModuleImageVersion(backendModule models.BackendModule, module *models.ProxyModule) string
GetSidecarImage(modules []*models.ProxyModule) (string, bool, error)
GetModuleImage(module *models.ProxyModule) string
GetLocalModuleImage(namespace, moduleName, moduleVersion string) string
GetModuleEnv(container *models.Containers, module *models.ProxyModule, backendModule models.BackendModule) []string
GetSidecarEnv(containers *models.Containers, module *models.ProxyModule, backendModule models.BackendModule, moduleURL, sidecarURL string) []string
}
ModuleProvisioner defines the interface for module provisioning operations
type ModuleReadinessChecker ¶
type ModuleReadinessChecker interface {
CheckModuleReadiness(wg *sync.WaitGroup, errCh chan<- error, moduleName string, port int)
}
ModuleReadinessChecker defines the interface for module readiness check operations
type ModuleSvc ¶
type ModuleSvc struct {
Action *action.Action
HTTPClient httpclient.HTTPClientRunner
DockerClient dockerclient.DockerClientRunner
RegistrySvc registrysvc.RegistryProcessor
ModuleEnv moduleenv.ModuleEnvProcessor
ReadinessMaxRetries int
ReadinessWait time.Duration
}
ModuleSvc provides comprehensive functionality for managing backend modules
func New ¶
func New(action *action.Action, httpClient httpclient.HTTPClientRunner, dockerClient dockerclient.DockerClientRunner, registrySvc registrysvc.RegistryProcessor, moduleEnv moduleenv.ModuleEnvProcessor) *ModuleSvc
func (*ModuleSvc) CheckModuleAndSidecarReadiness ¶
func (ms *ModuleSvc) CheckModuleAndSidecarReadiness(pair *ModulePair) error
func (*ModuleSvc) CheckModuleReadiness ¶
func (*ModuleSvc) DeployCustomModule ¶
func (ms *ModuleSvc) DeployCustomModule(client *client.Client, pair *ModulePair) error
func (*ModuleSvc) DeployCustomSidecar ¶
func (ms *ModuleSvc) DeployCustomSidecar(client *client.Client, pair *ModulePair) error
func (*ModuleSvc) DeployModule ¶
func (*ModuleSvc) DeployModules ¶
func (*ModuleSvc) GetBackendModule ¶
func (ms *ModuleSvc) GetBackendModule(containers *models.Containers, moduleName string) (*models.BackendModule, *models.ProxyModule)
func (*ModuleSvc) GetDeployedModules ¶
func (*ModuleSvc) GetLocalModuleImage ¶
func (*ModuleSvc) GetModuleEnv ¶
func (ms *ModuleSvc) GetModuleEnv(container *models.Containers, module *models.ProxyModule, backendModule models.BackendModule) []string
func (*ModuleSvc) GetModuleImage ¶
func (ms *ModuleSvc) GetModuleImage(module *models.ProxyModule) string
func (*ModuleSvc) GetModuleImageVersion ¶
func (ms *ModuleSvc) GetModuleImageVersion(backendModule models.BackendModule, module *models.ProxyModule) string
func (*ModuleSvc) GetSidecarEnv ¶
func (ms *ModuleSvc) GetSidecarEnv(containers *models.Containers, module *models.ProxyModule, backendModule models.BackendModule, moduleURL, sidecarURL string) []string
func (*ModuleSvc) GetSidecarImage ¶
func (*ModuleSvc) GetVaultRootToken ¶
func (*ModuleSvc) PullModule ¶
func (*ModuleSvc) UndeployModuleAndSidecarPair ¶
func (ms *ModuleSvc) UndeployModuleAndSidecarPair(client *client.Client, pair *ModulePair) error