{"id":22725487,"url":"https://github.com/ovotech/ciris-aiven-kafka","last_synced_at":"2025-04-13T20:33:35.548Z","repository":{"id":28804356,"uuid":"119371653","full_name":"ovotech/ciris-aiven-kafka","owner":"ovotech","description":"Aiven Kafka support for Ciris","archived":false,"fork":false,"pushed_at":"2023-03-30T20:47:12.000Z","size":139,"stargazers_count":6,"open_issues_count":5,"forks_count":3,"subscribers_count":24,"default_branch":"master","last_synced_at":"2025-03-27T10:51:21.802Z","etag":null,"topics":["company-kaluza","kaluza-to-migrate"],"latest_commit_sha":null,"homepage":null,"language":"Scala","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ovotech.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"license.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-01-29T11:04:07.000Z","updated_at":"2025-02-12T15:26:40.000Z","dependencies_parsed_at":"2023-02-16T22:45:49.432Z","dependency_job_id":null,"html_url":"https://github.com/ovotech/ciris-aiven-kafka","commit_stats":null,"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ovotech%2Fciris-aiven-kafka","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ovotech%2Fciris-aiven-kafka/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ovotech%2Fciris-aiven-kafka/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ovotech%2Fciris-aiven-kafka/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ovotech","download_url":"https://codeload.github.com/ovotech/ciris-aiven-kafka/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248778232,"owners_count":21160108,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["company-kaluza","kaluza-to-migrate"],"created_at":"2024-12-10T16:11:24.030Z","updated_at":"2025-04-13T20:33:35.521Z","avatar_url":"https://github.com/ovotech.png","language":"Scala","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Ciris Aiven Kafka\n\n[Aiven](https://aiven.io) Kafka support for [Ciris](https://cir.is).\n\n### Getting Started\n\nTo get started with [sbt](https://www.scala-sbt.org), simply add the following lines to your `build.sbt` file.\n\n```scala\nresolvers += \"Artifactory\" at \"https://kaluza.jfrog.io/artifactory/maven/\"\n\nlibraryDependencies += \"com.ovoenergy\" %% \"ciris-aiven-kafka\" % \"3.0.0\"\n```\n\nThe library is published for Scala 3.2.x, 2.13.x, and 2.12.x.\n\n### Usage\n\n`import ciris.aiven.kafka._` and use `aivenKafkaSetup` to set up the key and trust stores. Supplied credential strings are expected to be in PKCS 12 format.\n\n```scala\nimport cats.effect.{ExitCode, IO, IOApp}\nimport cats.implicits._\nimport ciris._\nimport ciris.aiven.kafka._\n\nobject Main extends IOApp {\n  def run(args: List[String]): IO[ExitCode] =\n      aivenKafkaSetup(\n        clientPrivateKey = env(\"CLIENT_PRIVATE_KEY\"),\n        clientCertificate = env(\"CLIENT_CERTIFICATE\"),\n        serviceCertificate = env(\"SERVICE_CERTIFICATE\")\n      ).load[IO]\n    .as(ExitCode.Success)\n}\n```\n\nIf the configuration loading was successful, `aivenKafkaSetup` will return an `AivenKafkaSetup` with the key and trust store locations, and their passwords. Temporary files and passwords are used and the files are set to be deleted automatically on exit. The key store is of type PKCS12 and the trust store is of type JKS.\n\n`AivenKafkaSetup` provides `properties: Map[String, String]` with suitable consumer properties.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fovotech%2Fciris-aiven-kafka","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fovotech%2Fciris-aiven-kafka","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fovotech%2Fciris-aiven-kafka/lists"}