Package

io.buoyant

linkerd

Permalink

package linkerd

Linkerd provides a modular & pluggable configuration layer to support programmatic and configuration-driven initialization of software routers.

The library provides a family of configuration types:

     --------
    | Linker |
     --------
      |  --------
      |-| Router |
      |  --------
      |   |  --------
      |   |-| Server |
      |   |  --------
      |   `- ...
      `- ...

* A Linker represents the complete runtime configuration for a linkerd application (and not its virtual machine). A linker must have one or more Routers.

* A Router represents the complete runtime configuration for a router--the outbound client-side dispatching module--and its serving interfaces, Servers.

The ProtocolInitializer exposes a protocol-agnostic interface supporting protocol-aware configuration and initialization. ProtocolInitializer modules are discovered at runtime with finagle's LoadService facility.

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. linkerd
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Visibility
  1. Public
  2. All

Type Members

  1. abstract class Announcer extends AnyRef

    Permalink
  2. trait AnnouncerConfig extends AnyRef

    Permalink
    Annotations
    @JsonTypeInfo()
  3. trait AnnouncerInitializer extends ConfigInitializer

    Permalink
  4. case class Aperture(smoothWindowMs: Option[Int], maxEffort: Option[Int], lowLoad: Option[Double], highLoad: Option[Double], minAperture: Option[Int]) extends LoadBalancerConfig with Product with Serializable

    Permalink
  5. trait BackoffConfig extends AnyRef

    Permalink
    Annotations
    @JsonTypeInfo() @JsonSubTypes()
  6. case class BindingCacheConfig(paths: Option[Int], trees: Option[Int], bounds: Option[Int], clients: Option[Int]) extends Product with Serializable

    Permalink
  7. case class Build(version: String, revision: String, name: String) extends Product with Serializable

    Permalink

    Build metadata for a linker

  8. class ClientConfig extends AnyRef

    Permalink
  9. case class ConstantBackoffConfig(ms: Int) extends BackoffConfig with Product with Serializable

    Permalink
  10. abstract class FutureAnnouncer extends Announcer

    Permalink
  11. class Heap extends LoadBalancerConfig

    Permalink
  12. case class HostConnectionPool(minSize: Option[Int], maxSize: Option[Int], idleTimeMs: Option[Int], maxWaiters: Option[Int]) extends Product with Serializable

    Permalink
  13. abstract class IdentifierInitializer extends ConfigInitializer

    Permalink
  14. case class JitteredBackoffConfig(minMs: Option[Int], maxMs: Option[Int]) extends BackoffConfig with Product with Serializable

    Permalink

    See http://www.awsarchitectureblog.com/2015/03/backoff.html

  15. trait Linker extends AnyRef

    Permalink

    Represents the total configuration of a Linkerd process.

  16. trait LoadBalancerConfig extends AnyRef

    Permalink
    Annotations
    @JsonTypeInfo() @JsonSubTypes()
  17. implicit final class MaybeTransform[A] extends AnyVal

    Permalink
  18. case class P2C(maxEffort: Option[Int]) extends LoadBalancerConfig with Product with Serializable

    Permalink
  19. case class P2CEwma(decayTimeMs: Option[Int], maxEffort: Option[Int]) extends LoadBalancerConfig with Product with Serializable

    Permalink
  20. implicit final class ParamsMaybeWith extends AnyVal

    Permalink
  21. abstract class ProtocolInitializer extends ConfigInitializer

    Permalink

    Provides a protocol-agnostic interface for protocol-specific configuration & initialization.

    Provides a protocol-agnostic interface for protocol-specific configuration & initialization. Adapts linkerd's Router with io.buoyant.router.Router and Server to com.twitter.finagle.Server.

    Furthermore a protocol may provide parsers for protocol-specific configuration parameters.

  22. trait ResponseClassifierConfig extends AnyRef

    Permalink
    Annotations
    @JsonTypeInfo()
  23. abstract class ResponseClassifierInitializer extends ConfigInitializer

    Permalink
  24. case class RetriesConfig(backoff: Option[BackoffConfig] = None, budget: Option[RetryBudgetConfig] = None) extends Product with Serializable

    Permalink
  25. case class RetryBudgetConfig(ttlSecs: Option[Int], minRetriesPerSec: Option[Int], percentCanRetry: Option[Double]) extends Product with Serializable

    Permalink
  26. trait Router extends AnyRef

    Permalink

    A router configuration builder api.

    A router configuration builder api.

    Each router must have a protocol that assists in the parsing and intialization of a router and its services.

    params contains all params configured on this router, including (in order of ascending preference):

    • protocol-specific default router parameters
    • linker default parameters
    • router-specific params.

    Each router must have one or more Servers.

    Concrete implementations are provided by a ProtocolInitializer.

  27. trait RouterConfig extends AnyRef

    Permalink
    Annotations
    @JsonTypeInfo()
  28. trait Server extends AnyRef

    Permalink

    A Server configuration, describing a request-receiving interface for a Router.

    A Server configuration, describing a request-receiving interface for a Router.

    Concrete implementations are provided by ProtocolInitializer.

  29. class ServerConfig extends AnyRef

    Permalink
  30. trait TlsClientConfig extends AnyRef

    Permalink
    Annotations
    @JsonTypeInfo()
  31. abstract class TlsClientInitializer extends ConfigInitializer

    Permalink

    Loadable TLS client configuration module.

    Loadable TLS client configuration module.

    Implementers may read params from the config file and must produce a TlsClientPrep module which will control how this router makes TLS requests.

  32. case class TlsServerConfig(certPath: String, keyPath: String, caCertPath: Option[String], ciphers: Option[Seq[String]]) extends Product with Serializable

    Permalink
  33. trait TracerConfig extends AnyRef

    Permalink
    Annotations
    @JsonTypeInfo()
  34. abstract class TracerInitializer extends ConfigInitializer

    Permalink

Value Members

  1. object AnnouncerConfig

    Permalink
  2. object Build extends Serializable

    Permalink
  3. object Linker

    Permalink
  4. object ProtocolInitializer

    Permalink
  5. object Router

    Permalink
  6. object Server

    Permalink
  7. package util

    Permalink

Inherited from AnyRef

Inherited from Any

Ungrouped