Skip to content
Asier Galdos edited this page Oct 26, 2021 · 19 revisions

Here is a listing of the Duct framework (integrant based) supported modules:

Core

  • core - Core for Duct
  • module.web - Module for running web applications
  • duct.module.pedestal - Module for Pedestal, a library for building APIs/services (an alternative to module.web)

Logging

  • logger.timbre - Integrant methods for the Timbre logging library
  • module.logging - Logging module using the logger.timbre library
  • duct.module.cambium - Module for Cambium, a library for structured (JSON) logging (an alternative to module.logging)

Databases

  • database.sql - Integrant methods for connecting to a SQL database
  • module.sql - Module for working with a SQL database
  • database.sql.hikaricp - A JDBC connection pool based on HikariCP
  • handler.sql - Duct library for building simple database-driven handlers
  • database.redis.carmine - Integrant methods for connecting to Redis via Carmine
  • duct-mongodb - Integrant methods for connecting to MongoDB via Monger
  • duct-elasticsearch - Integrant methods for connecting to ElasticSearch via Spandex
  • migrator.ragtime - Running database migrations using Ragtime
  • stork - A Clojure/Datomic migrations library heavily inspired by rkneufeld/conformity

Routing

Handlers

Middlewares

Servers

Frontend

GraphQL

  • duct-lacinia - Integrant keys for using Lacinia graphQL library, with graphiQL IDE

OpenID Authentication

  • buddy-auth.jwt-oidc - Integrant keys and associated code implementing a :duct.middleware.buddy/authentication compatible JWT token validation function for OpenID Connect ID Tokens

Object storage

Secret storage

Integration with third party systems

Messaging protocols

  • pubsub - MQTT and AMQP Publish Subscribe library

Scheduling

  • scheduling.twarc - Integrant keys for using Twarc scheduling library, with persistent JobStore backed by a Postgresql database

Notifications