Packages

package tcp

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. All

Type Members

  1. class KvTcpServiceDataStoreDataStore extends TcpServiceDataStore with RedisLikeStore[TcpService]
  2. case class RunningServer(port: Int, oldService: TcpService, binding: Future[ServerBinding]) extends Product with Serializable
  3. class RunningServers extends AnyRef
  4. case class SniSettings(enabled: Boolean, forwardIfNoMatch: Boolean, forwardsTo: TcpTarget = ...) extends Product with Serializable
  5. class TcpEngineProvider extends AnyRef
  6. class TcpProxy extends AnyRef
  7. case class TcpRule(domain: String, targets: Seq[TcpTarget]) extends Product with Serializable
  8. case class TcpService(id: String = IdGenerator.token, name: String = "TCP Proxy", description: String = "A TCP Proxy", enabled: Boolean, tls: TlsMode, sni: SniSettings, clientAuth: ClientAuth, port: Int, interface: String = "0.0.0.0", rules: Seq[TcpRule], tags: Seq[String], metadata: Map[String, String], location: EntityLocation = otoroshi.models.EntityLocation()) extends EntityLocationSupport with Product with Serializable

    - [x] TCP service can be disabled - [x] TCP service without sni is defined on a port and forwards to targets - [x] Target can define their own dns resolving - [x] TCP service can match a sni domain for a same port (need to catch sni name per request) - [x] TCP service can forward non matching request to local http server (only for sni request) - [x] TCP service can be exposed over tls using dyn tls stuff - [x] TCP service can passthrough tls – [x] TCP service can specify if it needs or wants mtls – [x] Passthrough + SNI - [x] rules if no sni matching, then only one Tcp service can exists with a specific port number if sni matching, then multiple Tcp services can exists with a the port number if sni matching, then all Tcp services using the same port number must have the same Tls mode - [x] We need a new datastore for tcp services - [x] We need to include tcp services in backup/restore - [x] We need a new admin api for tcp services - [x] We need a new UI for tcp services - [x] We need to wire routexxx functions to the new datastore - [x] We need to generate access events - [x] A job will request all tcp services with unique ports and stats tcp server.

    - [x] TCP service can be disabled - [x] TCP service without sni is defined on a port and forwards to targets - [x] Target can define their own dns resolving - [x] TCP service can match a sni domain for a same port (need to catch sni name per request) - [x] TCP service can forward non matching request to local http server (only for sni request) - [x] TCP service can be exposed over tls using dyn tls stuff - [x] TCP service can passthrough tls – [x] TCP service can specify if it needs or wants mtls – [x] Passthrough + SNI - [x] rules if no sni matching, then only one Tcp service can exists with a specific port number if sni matching, then multiple Tcp services can exists with a the port number if sni matching, then all Tcp services using the same port number must have the same Tls mode - [x] We need a new datastore for tcp services - [x] We need to include tcp services in backup/restore - [x] We need a new admin api for tcp services - [x] We need a new UI for tcp services - [x] We need to wire routexxx functions to the new datastore - [x] We need to generate access events - [x] A job will request all tcp services with unique ports and stats tcp server. Servers will be shut down with otoroshi app - [ ] add api in swagger when feature is ready - [ ] support ClientConfig for tcp - [ ] support ClientValidator for tcp - [ ] support IpFiltering - [ ] support healthCheck for tcp (+UI) - [ ] support snowMonkey for tcp - [ ] support live metrics (+UI) - [ ] support analytics in UI (metrics + events)

  9. sealed trait TcpServiceDataStore extends BasicStore[TcpService]
  10. case class TcpTarget(host: String, ip: Option[String], port: Int, tls: Boolean) extends Product with Serializable
  11. sealed trait TlsMode extends AnyRef

Value Members

  1. object SniSettings extends Serializable
  2. object TcpProxy
  3. object TcpRule extends Serializable
  4. object TcpService extends Serializable
  5. object TcpTarget extends Serializable
  6. object TlsMode

Ungrouped