pillars

package pillars

Members list

Type members

Classlikes

final case class AdminServer[F[_]](config: Config, infos: AppInfo, obs: Observability[F], controllers: List[Controller[F]])(implicit evidence$1: Async[F])

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object AdminServer

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
trait ApiServer[F[_]]

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
object ApiServer

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
ApiServer.type
trait App[F[_]]

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
opaque object App

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
App.type
case class AppInfo(name: Name, version: Version, description: Description)

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
trait BuildInfo

Attributes

Supertypes
class Object
trait Matchable
class Any
trait Config

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class FlagsConfig
class Config
class Node
class RedisConfig
class Config
class Config
class Config
class Config
class HttpConfig
class Config
class ProbeConfig
Show all
object Config

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
Config.type
object Controller

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
Controller.type
trait EntryPoint extends IOApp

Attributes

Supertypes
trait IOApp
class Object
trait Matchable
class Any
object HttpServer

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
HttpServer.type
trait Loader

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class DBLoader
class DBLoader
class Loader
class RedisLoader
Show all
object Loader

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
Loader.type
opaque object Logging

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
Logging.type
case class Metrics[F[_]](meter: Meter[F], metrics: List[Metric[F, _]])(implicit evidence$1: Applicative[F])

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object Metrics

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
Metrics.type
trait Module[F[_]]

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class DBMigration[F]
class DB[F]
class DB[F]
trait FlagManager[F]
class HttpClient[F]
class RabbitMQ[F]
class Redis[F]
Show all
object Module

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
Module.type
case class Modules[F[_]](values: Map[Key, Module[F]])

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object Modules

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
Modules.type
final case class Observability[F[_]](tracer: Tracer[F], metrics: Meter[F], interceptor: Interceptor[F])

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
opaque object Observability

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
trait Pillars[F[_]]

The Pillars trait defines the main components of the application.

The Pillars trait defines the main components of the application.

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
object Pillars

The Pillars object provides methods to initialize the application.

The Pillars object provides methods to initialize the application.

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
Pillars.type
trait PillarsError extends Throwable, NoStackTrace

Attributes

Companion
object
Supertypes
trait NoStackTrace
class Throwable
trait Serializable
class Object
trait Matchable
class Any
Show all
Known subtypes
enum FlagError
enum Error
case Missing
case Multiple[R]
case Mismatch
trait Error
Show all
opaque object PillarsError

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
final case class Traces[F[_]](tracer: Tracer[F])(implicit evidence$1: Async[F]) extends EndpointInterceptor[F]

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait EndpointInterceptor[F]
trait Interceptor[F]
class Object
trait Matchable
class Any
Show all
object codec

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
codec.type
object given_Argument_Path extends Argument[Path]

Attributes

Supertypes
trait Argument[Path]
class Object
trait Matchable
class Any
Self type
object probes

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
probes.type
object syntax

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
syntax.type

Types

type Controller[F[_]] = List[HttpEndpoint[F]]
type Run[F[_], A] = (Pillars[F]) ?=> A

Type alias for a Pillars[F] context bound.

Type alias for a Pillars[F] context bound.

Type parameters

A

The type of the value that is being computed.

F

The effect type.

Attributes

type RunIO[A] = (IO) ?=> A

Value members

Concrete methods

def config[F[_]](using p: Pillars[F]): PillarsConfig
def logger[F[_]](using p: Pillars[F]): Scribe[F]
def server[F[_]](using p: Pillars[F]): F ?=> ApiServer[F]

Extensions

Extensions

extension [K, V](items: Map[K, V])
def topologicalSort(dependencies: V => Iterable[K]): Either[String, List[(K, V)]]