LeaseRepository

io.github.jchapuis.leases4s.LeaseRepository
See theLeaseRepository companion trait

Attributes

Companion
trait
Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Members list

Type members

Classlikes

object LeaseEvent

Attributes

Companion
trait
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
LeaseEvent.type
sealed trait LeaseEvent[F[_]]

Event indicating a change in the repository

Event indicating a change in the repository

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class Acquired[F]
class Released[F]
final case class LeaseParameters(leaseDuration: FiniteDuration, renewalFrequencyRatio: Double, initialOnErrorRetryDelay: FiniteDuration, watcherStreamTimeout: FiniteDuration)

Parameters for lease acquisition and renewal

Parameters for lease acquisition and renewal

Value parameters

initialOnErrorRetryDelay

base delay between retries in case of error, grows exponentially with each retry

leaseDuration

duration of the lease, after which the lease can be considered expired (unless it is renewed, which happens automatically while the lease is actively held)

renewalFrequencyRatio

ratio of the lease duration at which the lease is renewed: this should be smaller than 1 to ensure safe operation (typically 1/3)

Attributes

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

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type

Value members

Concrete methods

def kubernetes[F[_]](label: Label, labels: Label*)(using evidence$1: Async[F], evidence$2: Logger[F], client: KubernetesClient[F], namespace: Namespace, parameters: LeaseParameters): Resource[F, LeaseRepository[F]]

Creates a new lease repository

Creates a new lease repository

Value parameters

client

Kubernetes client

label

label of leases tracked by this repository (labels act as a filter)

labels

additional labels of leases tracked by this repository

namespace

Kubernetes namespace

parameters

lease parameters

Attributes

Returns

a new lease repository