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
- Listen to RabbitMQ AMQP Resources changes and reconcile with CRD State
- Externalize RabbitMQ Credentials and configs
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"
}
]