Back to godoc.org

Package applicationproxy

v10.286.1+incompatible
Latest Go to latest

The latest major version is .

Published: Jul 8, 2020 | License: Apache-2.0 | Module: go.aporeto.io/trireme-lib

Index

type AppProxy

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

AppProxy maintains state for proxies connections from listen to backend.

func NewAppProxy

func NewAppProxy(
	tp tokenaccessor.TokenAccessor,
	c collector.EventCollector,
	puFromID cache.DataStore,
	certificate *tls.Certificate,
	s secrets.Secrets,
	t tcommon.ServiceTokenIssuer,
) (*AppProxy, error)

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) 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) 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 {
	RunNetworkServer(ctx context.Context, l net.Listener, encrypted bool) error
	UpdateSecrets(cert *tls.Certificate, ca *x509.CertPool, secrets secrets.Secrets, certPEM, keyPEM string)
	ShutDown() error
}

ServerInterface describes the methods required by an application processor.

Package Files

Documentation was rendered with GOOS=linux and GOARCH=amd64.

Jump to identifier

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to identifier