Class

com.drobisch.tresor.vault

SecretEngineProvider

Related Doc: package vault

Permalink

abstract class SecretEngineProvider[Effect[_], ProviderContext] extends Provider[Effect, ProviderContext, Lease] with HttpSupport

Linear Supertypes
HttpSupport, Provider[Effect, ProviderContext, Lease], AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. SecretEngineProvider
  2. HttpSupport
  3. Provider
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new SecretEngineProvider()(implicit sync: Sync[Effect], clock: Clock[Effect])

    Permalink

Abstract Value Members

  1. abstract def secret(context: ProviderContext)(implicit secret: Secret[Lease]): Effect[Lease]

    Permalink
    Definition Classes
    Provider

Concrete 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. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def autoRefresh(leaseRef: Ref[Effect, Option[Lease]], increment: Option[Long] = None, refreshRatio: Double = 0.5)(newLease: ReaderT[Effect, VaultConfig, Lease]): ReaderT[Effect, VaultConfig, Lease]

    Permalink

    Auto refresh a lease reference based on the current time.

    Auto refresh a lease reference based on the current time.

    This is not a continuous refresh, the flow is:

    1. if lease is not renewable or is expired, create a new one 2. if its not expired but half of the duration time has passed more time then configured by the refresh ratio: refresh the the lease 3. return current lease otherwise

    leaseRef

    a reference to the current (maybe empty) lease

    increment

    the increment to request in the renew

    refreshRatio

    the ratio of duration time that is allowed to pass before refreshing the lease

    newLease

    the fallback effect reader for creating a new lease

    returns

    an effect reader with the logic above applied

  6. implicit val backend: SttpBackend[Id, Nothing]

    Permalink
    Attributes
    protected
    Definition Classes
    HttpSupport
  7. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  9. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  10. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  11. def fromDto(dto: LeaseDTO, now: Long): Lease

    Permalink
    Attributes
    protected
  12. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  13. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  14. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  15. val log: Logger

    Permalink
    Attributes
    protected
  16. final def ne(arg0: AnyRef): Boolean

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

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

    Permalink
    Definition Classes
    AnyRef
  19. def parseLease(response: Response[String]): Effect[Lease]

    Permalink
    Attributes
    protected
  20. def renew(lease: Lease, increment: Option[Long]): ReaderT[Effect, VaultConfig, Lease]

    Permalink

    renew a lease

    renew a lease

    https://www.vaultproject.io/api/system/leases.html#renew-lease

    lease

    a lease

    increment

    time to extend the lease in seconds

    returns

    extended lease

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

    Permalink
    Definition Classes
    AnyRef
  22. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  23. final def wait(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from HttpSupport

Inherited from Provider[Effect, ProviderContext, Lease]

Inherited from AnyRef

Inherited from Any

Ungrouped