Skip to content

[Phase 10] Create ecosystem integrations and deployment tools #28

@konard

Description

@konard

Summary

Provide integrations with common frameworks and deployment tools to ease adoption.

Background

Good ecosystem integration reduces friction for developers adopting Links Queue.

Requirements

Framework Integrations (JavaScript)

  1. Express.js middleware
  2. Fastify plugin
  3. NestJS module
  4. Hono middleware
// Express
import express from 'express';
import { linksQueueMiddleware } from 'links-queue/express';

const app = express();
app.use(linksQueueMiddleware({ mode: 'single-memory' }));

// NestJS
@Module({
  imports: [LinksQueueModule.forRoot({ mode: 'single-stored' })]
})
export class AppModule {}

Framework Integrations (Rust)

  1. Actix-web integration
  2. Axum integration
  3. Rocket integration
// Axum
use links_queue::axum::LinksQueueLayer;

let app = Router::new()
    .layer(LinksQueueLayer::new(config));

Deployment Tools

  1. Docker image

    • Multi-stage build for minimal size
    • Both JS and Rust versions
    • Configuration via environment variables
  2. Kubernetes Helm chart

    • Deployment configuration
    • Service discovery
    • ConfigMaps and Secrets
    • Horizontal Pod Autoscaler
  3. Docker Compose examples

    • Single node setup
    • Multi-node cluster setup
  4. Terraform provider (future)

CLI Administration Tool

# Queue management
links-queue queue list
links-queue queue create tasks --options '{"retryLimit": 3}'
links-queue queue delete tasks

# Message inspection
links-queue messages peek tasks --count 10
links-queue messages purge tasks

# Cluster management
links-queue cluster status
links-queue cluster nodes

Client Libraries for Other Languages

  1. Python client (via Links Notation)
  2. Go client (via Links Notation)
  3. .NET client (via Links Notation)

Deliverables

JavaScript

  1. packages/links-queue-express - Express middleware
  2. packages/links-queue-fastify - Fastify plugin
  3. packages/links-queue-nestjs - NestJS module

Rust

  1. links-queue-axum - Axum integration
  2. links-queue-actix - Actix-web integration

Deployment

  1. docker/Dockerfile - Container image
  2. helm/links-queue/ - Helm chart
  3. docker-compose.yml - Local development
  4. docker-compose.cluster.yml - Cluster example

CLI

  1. src/cli/ - Administration CLI

Dependencies

  • All core features must be implemented first

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions