All Downloads are FREE. Search and download functionalities are using the official Maven repository.

main.misk.cloud.gcp.security.keys.GcpKeyManagementModule.kt Maven / Gradle / Ivy

There is a newer version: 2024.09.17.200749-4708422
Show newest version
package misk.cloud.gcp.security.keys

import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport.newTrustedTransport
import com.google.api.client.json.jackson2.JacksonFactory
import com.google.api.services.cloudkms.v1.CloudKMS
import com.google.inject.Provides
import misk.config.AppName
import misk.inject.KAbstractModule
import misk.inject.asSingleton
import misk.security.keys.KeyService
import jakarta.inject.Singleton

class GcpKeyManagementModule(private val config: GcpKmsConfig) : KAbstractModule() {
  override fun configure() {
    bind().toInstance(config)
    bind().to().asSingleton()
  }

  @Provides
  @Singleton
  fun providesKms(@AppName appName: String): CloudKMS =
    CloudKMS.Builder(newTrustedTransport(), JacksonFactory(), null)
      .setApplicationName(appName)
      .build()
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy