trireme-lib: Index | Files | Directories

package applicationproxy

import ""


Package Files


type AppProxy Uses

type AppProxy struct {
    // contains filtered or unexported fields

AppProxy maintains state for proxies connections from listen to backend.

func NewAppProxy Uses

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 Uses

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 Uses

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

GetFilterQueue is a stub for TCP proxy

func (*AppProxy) Run Uses

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 Uses

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 Uses

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 Uses

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 applicationproxy imports 22 packages (graph) and is imported by 2 packages. Updated 2020-04-05. Refresh now. Tools for package owners.