applicationproxy

package
v10.318.3+incompatible Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 23, 2021 License: Apache-2.0 Imports: 28 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AppProxy

type AppProxy struct {
	sync.RWMutex
	// contains filtered or unexported fields
}

AppProxy maintains state for proxies connections from listen to backend.

func NewAppProxy

NewAppProxy creates a new instance of the application proxy.

func (*AppProxy) Enforce

func (p *AppProxy) Enforce(ctx context.Context, puID string, puInfo *policy.PUInfo) error

Enforce implements enforcer.Enforcer interface. It will create the necessary proxies for the particular PU. Enforce can be called multiple times, once for every policy update.

func (*AppProxy) GetFilterQueue

func (p *AppProxy) GetFilterQueue() *fqconfig.FilterQueue

GetFilterQueue is a stub for TCP proxy

func (*AppProxy) Ping

Ping runs ping to the given config based on the service type. Returns error on invalid types.

func (*AppProxy) Run

func (p *AppProxy) Run(ctx context.Context) error

Run starts all the network side proxies. Application side proxies will have to start during enforce in order to support multiple Linux processes.

func (*AppProxy) ServiceData

func (p *AppProxy) ServiceData(
	contextID string,
	ip net.IP,
	port int,
	serviceAddresses map[string][]string) (*serviceregistry.ServiceContext, *serviceregistry.DependentServiceData, error)

ServiceData returns the servicectx and dependentservice for the given ip:port.

func (*AppProxy) Unenforce

func (p *AppProxy) Unenforce(ctx context.Context, puID string) error

Unenforce implements enforcer.Enforcer interface. It will shutdown the app side of the proxy.

func (*AppProxy) UpdateSecrets

func (p *AppProxy) UpdateSecrets(secret secrets.Secrets) error

UpdateSecrets updates the secrets of running enforcers managed by trireme. Remote enforcers will get the secret updates with the next policy push.

type ServerInterface

type ServerInterface interface {
	UpdateSecrets(cert *tls.Certificate, ca *x509.CertPool, secrets secrets.Secrets, certPEM, keyPEM string)
	ShutDown() error
}

ServerInterface describes the methods required by an application processor.

Directories

Path Synopsis
tcp

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL