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. abstract class AnnouncerConfig extends PolymorphicConfig

    Permalink
  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. abstract class BackoffConfig extends PolymorphicConfig

    Permalink
    Annotations
    @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 FailureAccrualConfig extends PolymorphicConfig

    Permalink
  11. abstract class FailureAccrualInitializer extends ConfigInitializer

    Permalink
  12. abstract class FutureAnnouncer extends Announcer

    Permalink
  13. class Heap extends LoadBalancerConfig

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

    Permalink
  15. abstract class IdentifierInitializer extends ConfigInitializer

    Permalink
  16. 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

  17. trait Linker extends AnyRef

    Permalink

    Represents the total configuration of a Linkerd process.

  18. abstract class LoadBalancerConfig extends PolymorphicConfig

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

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

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

    Permalink
  22. implicit final class ParamsMaybeWith extends AnyVal

    Permalink
  23. 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.

  24. abstract class ResponseClassifierConfig extends PolymorphicConfig

    Permalink
  25. abstract class ResponseClassifierInitializer extends ConfigInitializer

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

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

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

    Permalink
  29. 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 initialization 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.

  30. trait RouterConfig extends AnyRef

    Permalink
    Annotations
    @JsonTypeInfo()
  31. 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.

  32. class ServerConfig extends AnyRef

    Permalink
  33. abstract class TlsClientConfig extends PolymorphicConfig

    Permalink
  34. 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.

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

    Permalink

Value Members

  1. object Build extends Serializable

    Permalink
  2. object ClearContext

    Permalink

    Clears local and broadcast contexts from the request

  3. object FailureAccrualConfig

    Permalink
  4. object Linker

    Permalink
  5. object ProtocolInitializer

    Permalink
  6. object Router

    Permalink
  7. object Server

    Permalink
  8. package telemeter

    Permalink
  9. package usage

    Permalink

Inherited from AnyRef

Inherited from Any

Ungrouped