object Manifest extends Serializable
- Source
- Manifest.scala
- Alphabetic
- By Inheritance
- Manifest
- Serializable
- Serializable
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
- final case class Action(config: ActionConfig, run: Kleisli[IO, (NelsonConfig, ActionConfig), Unit]) extends Product with Serializable
- final case class ActionConfig(datacenter: Datacenter, namespace: Namespace, plan: Plan, hash: String, notifications: NotificationSubscriptions) extends Product with Serializable
- final case class AlertOptOut(ref: String) extends Product with Serializable
- final case class Alerting(prometheus: PrometheusConfig) extends Product with Serializable
- final case class BackendDestination(name: UnitName, portReference: String) extends Product with Serializable
- sealed trait Constraint extends AnyRef
- final case class Deployable(name: String, version: Version, output: Output) extends Product with Serializable
- sealed trait DeploymentTarget extends AnyRef
- final case class Environment(cpu: ResourceSpec = ResourceSpec.unspecified, memory: ResourceSpec = ResourceSpec.unspecified, desiredInstances: Option[Int] = None, retries: Option[Int] = None, constraints: List[Constraint] = Nil, alertOptOuts: List[AlertOptOut] = Nil, bindings: List[EnvironmentVariable] = Nil, healthChecks: List[HealthCheck] = Nil, resources: Map[String, URI] = Map.empty, schedule: Option[Schedule] = None, policy: Option[ExpirationPolicy] = None, trafficShift: Option[TrafficShift] = None, volumes: List[Volume] = List.empty, workflow: Workflow[Unit] = Magnetar, blueprint: Option[Either[BlueprintRef, Blueprint]] = None) extends Product with Serializable
- final case class EnvironmentVariable(name: String, value: String) extends Product with Serializable
- final case class HealthCheck(name: String, portRef: String, protocol: String, path: Option[String], interval: FiniteDuration, timeout: FiniteDuration) extends Product with Serializable
- final case class Loadbalancer(name: String, routes: Vector[Route], majorVersion: Option[MajorVersion] = None) extends Product with Serializable
- final case class Namespace(name: NamespaceName, units: Set[(UnitRef, Set[PlanRef])], loadbalancers: Set[(LoadbalancerRef, Option[PlanRef])]) extends Product with Serializable
- final case class Plan(name: String, environment: Environment) extends Product with Serializable
- final case class Port(ref: String, port: Int, protocol: String) extends Product with Serializable
- final case class Ports(default: Port, others: List[Port]) extends Product with Serializable
- final case class PrometheusAlert(alert: String, expression: String) extends Product with Serializable
- final case class PrometheusConfig(alerts: List[PrometheusAlert], rules: List[PrometheusRule]) extends Product with Serializable
- final case class PrometheusRule(rule: String, expression: String) extends Product with Serializable
- final case class Resource(name: String, description: Option[String] = None) extends Product with Serializable
- sealed abstract class ResourceSpec extends Product with Serializable
-
final
case class
Route(port: Port, destination: BackendDestination) extends Product with Serializable
The concept over here is that a loadbalancer has routable units associated to it, which form a superset of the "dependency" concept.
The concept over here is that a loadbalancer has routable units associated to it, which form a superset of the "dependency" concept. An example of a loadbalanced dependecy would be:
Route -> BackendDestination("foo", "default")
This makes *nelson* resolve the most recent stack for
foo
and declares that the port exposed byfoo
unit with the referencedefault
will be the destination for traffic from this proxy config.The Route also defines a port which is exposed externally on the loadbalancer
- final case class TrafficShift(policy: TrafficShiftPolicy, duration: FiniteDuration) extends Product with Serializable
- final case class UnitDef(name: String, description: String, dependencies: Map[String, FeatureVersion], resources: Set[Resource], alerting: Alerting, ports: Option[Ports], deployable: Option[Deployable], meta: Set[String]) extends Product with Serializable
- trait Versioned extends AnyRef
-
final
case class
Volume(name: String, mountPath: Path, size: Int) extends Product with Serializable
An empty scratch volume to be mounted onto a container
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- val Versioned: TagOf[Versioned]
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
- def foldLoadbalancers[A](m: Manifest, dcs: Seq[Datacenter], f: (Datacenter, Namespace, Plan, Loadbalancer, A) ⇒ A, a: A): A
- def foldNamespaces[A](m: Manifest, dcs: Seq[Datacenter], f: (Datacenter, Namespace, A) ⇒ A, a: A): A
-
def
foldUnits[A](m: Manifest, dcs: Seq[Datacenter], f: (Datacenter, Namespace, Plan, UnitDef, A) ⇒ A, a: A): A
fold over all the datacenters, namespaces, (unit, plans) combinations specified by the Manifest.
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def getExpirationPolicy(plan: Plan): Option[ExpirationPolicy]
- def getSchedule(plan: Plan): Option[Schedule]
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def isPeriodic(plan: Plan): Boolean
- def loadbalancerActions(m: @@[Manifest, Versioned], dcs: Seq[Datacenter], f: (Datacenter, Namespace, Plan, Loadbalancer) ⇒ Boolean): List[Action]
- def loadbalancers(m: Manifest, dcs: Seq[Datacenter]): List[(Datacenter, Namespace, Plan, Loadbalancer)]
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def saturateManifest(m: Manifest)(e: Deployment): IO[@@[Manifest, Versioned]]
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
- def toAction[A](a: A, dc: Datacenter, ns: Namespace, p: Plan, n: NotificationSubscriptions)(implicit A: Actionable[A]): Action
-
def
toString(): String
- Definition Classes
- AnyRef → Any
- def unitActions(m: @@[Manifest, Versioned], dcs: Seq[Datacenter], f: (Datacenter, Namespace, Plan, UnitDef) ⇒ Boolean): List[Action]
- def units(m: Manifest, dcs: Seq[Datacenter]): List[(Datacenter, Namespace, Plan, UnitDef)]
- def verifyDeployable(m: Manifest, dcs: Seq[Datacenter], storage: ~>[StoreOp, IO]): IO[ValidatedNel[NelsonError, Unit]]
- def versionedUnits(m: @@[Manifest, Versioned]): List[@@[UnitDef, Versioned]]
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
- object Alerting extends Serializable
- object Constraint
- object Deployable extends Serializable
- object DeploymentTarget
- object Plan extends Serializable
- object Port extends Serializable
- object PrometheusConfig extends Serializable
- object ResourceSpec extends Serializable