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
fooand declares that the port exposed byfoounit with the referencedefaultwill 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