Skip to content

lukas8219/sf-operator-poc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ServerFramework EventSubscriptions Operator

Operator to manage, control and operate the ServerFramework Eventsubscriptions filters. Exposing a CRD for a LumaQueue.

  • Visibility into filters via K8s
  • Removes need for Redis and ephemeral storage
  • Makes it possible for IAM in Kubernetes to control access to eventsubscriptions
  • Automate removal of orphan queues in RabbitMQ

Roadmap

  • Listen to RabbitMQ AMQP Resources changes and reconcile with CRD State
  • Externalize RabbitMQ Credentials and configs

Setup using K3d

How to Run the operator

brew install k3d
k3d cluster create --api-port 6550 -p "8081:80@loadbalancer" --agents 1
node src/api.js

This should initilize the CRD and the local cluster

Via Postman hit on the current APIs

PUT -> /subscriptions/:namespace

{
    "service": "followup-service",
    "queue": "LastMessageUpdatedAfterYou",
    "filters": [
        { "assignee": { "$whenDirty": true } },
        "['chat'].includes(ref)",
        "name === 'john'"
    ]
}

GET -> /subscriptions/:namespace

Returns

[
    {
        "apiNamespace": "api:chatActivities:update",
        "filters": [
            "{\"assignee\":{\"$whenDirty\":true}}",
            "['chat'].includes(ref)",
            "name === 'lucas'"
        ],
        "queue": "LastMessageUpdatedAfterYou",
        "service": "pubsub-service"
    }
]

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published