Class

nelson.storage

H2Storage

Related Doc: package storage

Permalink

final case class H2Storage(cfg: DatabaseConfig) extends ~>[StoreOp, Task] with Product with Serializable

Linear Supertypes
Serializable, Serializable, Product, Equals, NaturalTransformation[StoreOp, Task], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. H2Storage
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. NaturalTransformation
  7. AnyRef
  8. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new H2Storage(cfg: DatabaseConfig)

    Permalink

Type Members

  1. type AuditRow = (ID, Instant, Option[Long], String, String, String, Option[String])

    Permalink
  2. type DeploymentRow = (ID, ID, ID, String, Instant, WorkflowRef, PlanRef, GUID, ExpirationPolicyRef)

    Permalink
  3. type DeploymentWithStatusRow = (ID, ID, ID, String, Instant, WorkflowRef, PlanRef, GUID, ExpirationPolicyRef, DeploymentStatusString)

    Permalink
  4. type LoadbalancerRow = (ID, ID, String, ID, String, MajorVersion, Instant, GUID, String)

    Permalink
  5. case class ReleaseRow(slug: Slug, version: Version, timestamp: Instant, releaseId: Long, releaseHtmlUrl: URI, unitName: String, namespace: String, hash: String, deployid: Long, deployTimestamp: Instant, deployStatus: DeploymentStatus, deployGuid: GUID) extends Product with Serializable

    Permalink
  6. type ReleaseTuple = (String, String, Instant, Option[Long], Option[String], Option[String], String, String, Long, Instant, Option[String], GUID)

    Permalink
  7. type RouteRow = (Int, String, String, String, String)

    Permalink
  8. type TrafficShiftRow = (String, Instant, FiniteDuration, Option[Instant], ID, ID, ID, String, Instant, WorkflowRef, PlanRef, GUID, ExpirationPolicyRef, ID, ID, ID, String, Instant, WorkflowRef, PlanRef, GUID, ExpirationPolicyRef)

    Permalink

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. def addUnit(vunit: @@[UnitDef, Versioned], repo_id: ID): ConnectionIO[Unit]

    Permalink
  5. def apply[A](s: StoreOp[A]): Task[A]

    Permalink
    Definition Classes
    H2Storage → NaturalTransformation
  6. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  7. def audit[A](event: AuditEvent[A]): ConnectionIO[ID]

    Permalink
  8. def auditLogFromRow(row: AuditRow): AuditLog

    Permalink
  9. val cfg: DatabaseConfig

    Permalink
  10. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  11. def compose[E[_]](f: ~>[E, StoreOp]): ~>[E, Task]

    Permalink
    Definition Classes
    NaturalTransformation
  12. def countDeploymentsByStatus(since: Long): ConnectionIO[List[(String, Int)]]

    Permalink
  13. def createDatacenter(dc: Datacenter): ConnectionIO[Unit]

    Permalink
  14. def createDeployment(unitId: ID, hash: String, namespace: Namespace, wf: WorkflowRef, plan: PlanRef, expPolicy: String): ConnectionIO[ID]

    Permalink

  15. def createDeploymentExpiration(id: ID, exp: Instant): ConnectionIO[ID]

    Permalink
  16. def createDeploymentResource(deploymentId: ID, name: String, uri: URI): ConnectionIO[ID]

    Permalink
  17. def createDeploymentStatus(id: ID, status: DeploymentStatus, msg: Option[String]): ConnectionIO[Unit]

    Permalink

  18. def createManualDeployment(datacenter: Datacenter, namespace: NamespaceName, serviceType: String, version: String, hash: String, description: String, port: Int, exp: Instant): ConnectionIO[GUID]

    Permalink
  19. def createNamespace(dc: String, name: NamespaceName): ConnectionIO[ID]

    Permalink

    datacenter is the primary key and here acts as a forigen key for namespaces.

    datacenter is the primary key and here acts as a forigen key for namespaces. We never want two datacenters with the same name.

  20. def createRelease(repositoryId: Long, r: Release): ConnectionIO[Unit]

    Permalink

  21. def createTrafficShift(nsid: ID, to: Deployment, policy: TrafficShiftPolicy, dur: FiniteDuration): ConnectionIO[ID]

    Permalink
  22. def deleteAndThenCreateExpiration(id: ID, exp: Instant): ConnectionIO[ID]

    Permalink
  23. def deleteExpirations(id: ID): ConnectionIO[Int]

    Permalink
  24. def deleteLoadbalancerDeployment(lbid: ID): ConnectionIO[Int]

    Permalink
  25. def deleteRepositories(repos: NonEmptyList[Repo]): ConnectionIO[Unit]

    Permalink
  26. def deploymentFromRow(row: DeploymentRow): ConnectionIO[Deployment]

    Permalink
  27. def deploymentWithStatusFromRow(row: DeploymentWithStatusRow): ConnectionIO[(Deployment, DeploymentStatus)]

    Permalink
  28. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  29. def fetchDeployments(sql: ConnectionIO[List[DeploymentRow]]): ConnectionIO[Set[Deployment]]

    Permalink
  30. def fetchDeploymentsWithStatuses(sql: ConnectionIO[List[DeploymentWithStatusRow]]): ConnectionIO[Set[(Deployment, DeploymentStatus)]]

    Permalink
  31. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  32. def findDeployment(stackName: StackName): ConnectionIO[Option[Deployment]]

    Permalink
  33. def findDeploymentExpiration(id: ID): ConnectionIO[Option[Instant]]

    Permalink
  34. def findLastReleaseDeploymentStatus(r: Slug, u: UnitName): ConnectionIO[Option[DeploymentStatus]]

    Permalink

  35. def findLoadbalancerDeployment(name: String, v: MajorVersion, nsid: ID): ConnectionIO[Option[LoadbalancerDeployment]]

    Permalink
  36. def findRelease(id: Long): ConnectionIO[==>>[Released, List[ReleasedDeployment]]]

    Permalink

  37. def findReleaseByDeploymentGuid(guid: GUID): ConnectionIO[Option[(Released, ReleasedDeployment)]]

    Permalink

    Given a deployment ID, find all the associated gubbins.

  38. def findReleasedByUnitNameAndVersion(un: UnitName, v: Version): ConnectionIO[Option[Released]]

    Permalink
  39. def findRepository(u: User, slug: Slug): ConnectionIO[Option[Repo]]

    Permalink

    Fetch a single repository based on the supplied slug.

  40. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  41. def getCurrentTargetForServiceName(ns: ID, sn: ServiceName): ConnectionIO[Option[Target]]

    Permalink

    This will first try to find a traffic shift, if none is found, it will try to find the latest matching deployment

  42. def getDeployment(id: ID): ConnectionIO[Deployment]

    Permalink
  43. def getDeploymentByGuid(guid: GUID): ConnectionIO[Option[Deployment]]

    Permalink
  44. def getDeploymentResources(id: ID): ConnectionIO[Set[(String, URI)]]

    Permalink
  45. def getDeploymentStatus(id: ID): ConnectionIO[Option[DeploymentStatus]]

    Permalink
  46. def getDeploymentsForServiceNameByStatus(sn: ServiceName, ns: ID, status: NonEmptyList[DeploymentStatus]): ConnectionIO[List[Deployment]]

    Permalink
  47. def getLatestReleaseForLoadbalancer(name: String, mv: MajorVersion): ConnectionIO[Option[Released]]

    Permalink
  48. def getLoadbalancer(name: String, v: MajorVersion): ConnectionIO[Option[DCLoadbalancer]]

    Permalink
  49. def getLoadbalancerDeployment(id: ID): ConnectionIO[Option[LoadbalancerDeployment]]

    Permalink
  50. def getLoadbalancerDeploymentByGUID(guid: GUID): ConnectionIO[Option[LoadbalancerDeployment]]

    Permalink
  51. def getLoadbalancerRoutes(id: ID): ConnectionIO[Vector[Route]]

    Permalink
  52. def getMostAndLeastDeployed(since: Long, number: Int, sortOrder: String): ConnectionIO[List[(String, Int)]]

    Permalink
  53. def getNamespace(dc: String, nsName: NamespaceName): ConnectionIO[Option[Namespace]]

    Permalink
  54. def getNamespaceByID(id: ID): ConnectionIO[Namespace]

    Permalink
  55. def getTrafficShiftForServiceName(ns: ID, sn: ServiceName): ConnectionIO[Option[TrafficShift]]

    Permalink
  56. def getUnit(name: String, version: Version): ConnectionIO[Option[DCUnit]]

    Permalink
  57. def getUnitById(id: ID): ConnectionIO[DCUnit]

    Permalink
  58. def getUnitDependencies(id: ID): ConnectionIO[Set[ServiceName]]

    Permalink
  59. def getUnitResources(id: ID): ConnectionIO[Set[String]]

    Permalink
  60. def insertLoadbalancer(lb: Loadbalancer, version: MajorVersion, repoId: ID): ConnectionIO[ID]

    Permalink
  61. def insertLoadbalancerDeployment(lbid: ID, nsid: ID, hash: String, address: String): ConnectionIO[ID]

    Permalink
  62. def insertLoadbalancerIfAbsent(lbv: @@[Loadbalancer, Versioned], repoId: ID): ConnectionIO[ID]

    Permalink
  63. def insertOrUpdateRepositories(list: List[Repo]): ConnectionIO[Unit]

    Permalink

    Does what it says on the function.

  64. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  65. def killRelease(slug: Slug, version: String): ConnectionIO[\/[Throwable, Unit]]

    Permalink
  66. def linkRepositoriesToUser(list: List[Repo], u: User): ConnectionIO[Unit]

    Permalink

    Given a set of repositories, associate them with a specific user.

    Given a set of repositories, associate them with a specific user. This is used when we are syncing repositories at the behence of a user.

  67. def listAuditLog(limit: Long, offset: Long, action: Option[String], category: Option[String]): ConnectionIO[List[AuditLog]]

    Permalink
  68. def listAuditLogByReleaseId(limit: Long, offset: Long, releaseId: Long): ConnectionIO[List[AuditLog]]

    Permalink
  69. def listDatacenters: ConnectionIO[Set[String]]

    Permalink
  70. def listDeploymentStatuses(id: ID): ConnectionIO[List[(DeploymentStatus, Option[StatusMessage], Instant)]]

    Permalink

  71. def listDeploymentsForDatacenter(dc: String): ConnectionIO[Set[Deployment]]

    Permalink

  72. def listDeploymentsForNamespaceByStatus(ns: ID, stats: NonEmptyList[DeploymentStatus], unit: Option[UnitName] = None): ConnectionIO[Set[(Deployment, DeploymentStatus)]]

    Permalink
  73. def listDeploymentsForUnitByStatus(nsid: ID, name: UnitName, stats: NonEmptyList[DeploymentStatus]): ConnectionIO[Set[Deployment]]

    Permalink

  74. def listLoadbalancerDeploymentsForNamespace(nsid: ID): ConnectionIO[Vector[LoadbalancerDeployment]]

    Permalink
  75. def listNamespacesForDatacenter(dc: String): ConnectionIO[Set[Namespace]]

    Permalink
  76. def listRecentReleasesForRepository(slug: Slug): ConnectionIO[==>>[Released, List[ReleasedDeployment]]]

    Permalink

  77. def listReleases(limit: Int): ConnectionIO[==>>[Released, List[ReleasedDeployment]]]

    Permalink

  78. def listRepositories(u: User): ConnectionIO[List[Repo]]

    Permalink

    Fetch all repositories for a given user.

  79. def listRepositoriesWithActiveHooks(u: User): ConnectionIO[List[Repo]]

    Permalink

    List all the repositories the user has access too that have webhooks enabled.

  80. def listRepositoriesWithOwner(u: User, owner: String): ConnectionIO[List[Repo]]

    Permalink

    Fetch all repositories for a given owner, that the specified user has access too.

  81. def listShiftableDeployments(unit: UnitDef, ns: ID): ConnectionIO[List[Deployment]]

    Permalink
  82. def listUnitsByStatus(nsid: ID, statuses: NonEmptyList[DeploymentStatus]): ConnectionIO[Vector[(GUID, ServiceName)]]

    Permalink
  83. val log: Logger

    Permalink
  84. implicit val metaFeatureVersion: Meta[FeatureVersion]

    Permalink
  85. implicit val metaFiniteDuration: Meta[FiniteDuration]

    Permalink
  86. implicit val metaInstant: Meta[Instant]

    Permalink
  87. implicit val metaMajorVersion: Meta[MajorVersion]

    Permalink
  88. implicit val metaVersion: Meta[Version]

    Permalink
  89. def migrate: Task[Unit]

    Permalink
  90. implicit val namespaceName: Meta[NamespaceName]

    Permalink
  91. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  92. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  93. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  94. def reverseTrafficShift(toID: ID, rev: Instant): ConnectionIO[Option[ID]]

    Permalink
  95. def rowToReleased(row: (String, String, Instant, Long, String)): Option[Released]

    Permalink
  96. def startTrafficShift(from: ID, to: ID, st: Instant): ConnectionIO[Option[ID]]

    Permalink
  97. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  98. def unitDependencies(id: ID): ConnectionIO[Set[ServiceName]]

    Permalink
  99. def unitPorts(id: ID): ConnectionIO[Set[Port]]

    Permalink
  100. def verifyDeployable(dcName: String, ns: NamespaceName, unit: UnitDef): ConnectionIO[ValidationNel[NelsonError, Unit]]

    Permalink
  101. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  102. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  103. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  104. val xa: Transactor[Task]

    Permalink

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from NaturalTransformation[StoreOp, Task]

Inherited from AnyRef

Inherited from Any

Ungrouped