Skip to content

Releases: ARGOeu/argo-messaging

Version: 1.0.4-1

03 Jul 12:57
0f0a7e5
Compare
Choose a tag to compare

New features/Enchantments

  • Consumer script
  • ARGO-1801 Update response Verify push endpoint call
  • ARGO-1692 Upgrade authorisation per resource handling
  • ARGO-1782 Adjust push worker workflow depending on the verification of the push endpoint of each subscription
  • ARGO-1792 API Call - Verify Push Endpoint
  • ARGO-1787 Add verification_hash and verified fields for push enabled subscriptions
  • ARGO-1683 Block push worker user from pulling when push enabled is false
  • ARGO-1723 Republishing of specific messages
  • ARGO-1649 API Call that returns a user's profile based on the provided auth token
  • ARGO-1721 [GRPC status check] - Update ams push server client to use the new status rpc call
  • ARGO-1684 update status call to handle push enabled false
  • ARGO-1669 Allow only push worker user to pull from push enabled subscription
  • ARGO-1632 Add ACL-based access in subscriptions:list
  • ARGO-1631 Add ACL-based access to topics:list
  • ARGO-1657 Add/remove push worker from sub's acl and link him with sub's project
  • ARGO-1661 Ams handling of push worker initialisation
  • ARGO-1656 Internal function - append project to user's projects
  • ARGO-1639 API Call - List topic's subscriptions
  • ARGO-1651 Internal function - remove user(s) from topic/sub ACL
  • ARGO-1650 Internal function - append user(s) to topic/sub ACL
  • ARGO-1630 Push worker role
  • ARGO-1604 Add health check call for grpc backends
  • ARGO-1600 Add push server interaction on modify push config api call
  • ARGO-1606 Update push status field api call
  • ARGO-1602 Ams push server single connection
  • ARGO-1553 Grpc client to interface with the push server
  • ARGO-1471 Create a streaming producer
  • ARGO-1469 Create a bulk producer
  • ARGO-486 Add pagination support for project subscriptions
  • ARGO-487 Add pagination support for project topics
  • ARGO-1436 Mongo _id field exposure for pagination affects user creation
  • ARGO-1432 Add pagination support for users
  • ARGO-1431 Add daily msg count for projects:metrics
  • ARGO-1427 Add daily msg count for topics:metrics
  • ARGO-1401 Number of messages send via the Argo Messaging Service (per day)
  • ARGO-421 Modify sub's ack deadline
  • ARGO-1375 Script to export AMS kafka data
  • ARGO-1827 Update connectivity logging format
  • ARGO-1925 API support predefined policies in push mode subscription
  • AO-492 Make syslog logging configurable for AMS
  • ARGO-1825 Update the request logging format
  • ARGO-1840 Update the error response for topic:publish and subscription:pull whenever a kafka error is encountered
  • ARGO-1454 Migrate argo-messaging to golang/dep tool
  • ARGO-1376 Extend ams-migrate script to support import
  • ARGO-1554 Add a status field at the subscription struct that will contain information regarding its activation on the ams push server
  • ARGO-1550 Disable push functionality in ams
  • ARGO-1252 Update config to handle push server information

Fixes

  • ARGO-1803 Update service file to include service restart on failure
  • ARGO-1627 Check if the respective topic exists when pulling messages
  • ARGO-1592 ACL for topic/sub should not contain empty names
  • ARGO-1446 Improve the receiver endpoint to be more robust
  • ARGO-1399 Topic:metrics && Subscription:metrics check if topic/sub exIsts
  • ARGO-1410 Fix nil context bug
  • ARGO-1373 argo-messaging add failsafe check to not allow admin empty tokens

v1.0.3-1

31 Jul 07:15
979bfc9
Compare
Choose a tag to compare
  • ARGO-1365 Add config noreplace param in spec file
  • ARGO-1364 Set-cap option in spec file
  • ARGO-1359 Handle empty project_uuid references
  • ARGO-1122 Subscriptions - Set default functionality for pulling messages to return immediately
  • ARGO-1279 API CALL - Health check
  • ARGO-1307 Update ams service file to include a syslog identifier
  • ARGO-1307 Update ams service file to include a syslog identifier
  • ARGO-1282 Fix Metrics package timestamp to be utc
  • ARGO-1281 Add support for logging to syslog
  • ARGO-571 Use const for error messages in messaging service

v1.0.2

07 Jun 10:19
3323df0
Compare
Choose a tag to compare
  • ARGO-1003 Fix publishedTime to be in UTC instead of localtime
  • ARGO-1085 Add info on Ack timeout error for argo-messaging service
  • ARGO-1154 API CALL - Return User given a UUID
  • ARGO-1158 Expose UUID field when querying users
  • ARGO-1157 Add get user by Token
  • ARGO-1177 Fix utc generation in utc-formatted fields
  • ARGO-1216 Retry if backends are unavailable

Version 1.0.1

17 Oct 14:33
Compare
Choose a tag to compare

ARGO-925 Fix return Immediately functionality in pull operation
ARGO-909 Fix bug on project metrics topics,sub zero values
ARGO-891 Implement ams request: get User info by Token. Expand user info
Fix metrics typo. Fix package dependencies
Add CORS support
ARGO-859 Add operational metric: memory usage for ams nodes
ARGO-860 Add CPU Usage metric for ams service nodes
ARGO-863 Add metric: Aggregation of topics per user at project.
ARGO-865 aggregation of subscriptions based on project_admin
Change precedence of project:metrics route
ARGO-866 Metric: number of subscriptions per topic
ARGO-862 Add metric: number of topics per project/user
ARGO-780 Implement Metric: data volume consumed by subscription
ARGO-779 Implement metric: data volume published to a topic
ARGO-778 Implement Sub Metric: number of messages consumed
ARGO-777 Implement metric: number of messages per topic
ARGO-669 Enable offset changes in subscriptions for event replay
ARGO-813 Handle gracefully "not found" error during datastore updates
ARGO-796 Increase consumer default fetch size to handle larger messages
Updated messaging documentation
example to api_subs documentation

ARGO-646 Sub pull update
ARGO-640 Add latest topic offset when creating a new subscription
ARGO-630 Fix msg id mapping to broker offset issue
ARGO-628 Fix offset off
ARGO-624 Fix consumer acl bug
Changes to the documentation
ARGO-615 Add secondary logging of messages that exceed size threshold
Add category Q&A
ARGO-595 Fix users listing null details if user doesn't exist
ARGO-519 Implement configurable level-logging
ARGO-580 Add command line config parameters and help

v1.0.0-1

25 Oct 11:23
Compare
Choose a tag to compare

Features

  • Implement Create Topic Request
  • Implement Topic Delete Request
  • Implement Create Subscription Request
  • Implement Subscription Delete Request
  • Add small description and team information
  • Add ACK mechanism. Refactor Error Messages
  • Make Auth and Ack mandatory
  • Implement Push workers
  • Enforce HTTPS.
  • Create subscriptions in push mode
  • Receive Push Messages. Fix Msg Attributes
  • In pull mode keep connection alive until msg retrieval
  • Dynamic discovery of kafka instances
  • Add systemd service definition file
  • Fix add useradd groupadd in spec file
  • Support for configurable retry policy
  • Allow dash as a valid character in topic names
  • Enable Publish/Pull authorization per topic/subscription
  • Allow admins to list and modify acls
  • Check user existence before modifying topic ACL
  • Respond with Error when message exceeds kafka's max allowed
  • Use the default cipher suite
  • When a list of ack IDs is given, take into account the maximum number
  • Implement API Call to create projects
  • Refactor project to projectUUID references
  • Implement API Call to update, delete, get, view projects
  • Implement API Call to create,update, delete, get, view users
  • Add Service Token functionality
  • Display project modified_on, created_on dates in zulu format
  • Project created_by field uses user uuid as a reference
  • Add support for deployment via docker

Fixes

  • Optimize Mongo connectivity by using session clones
  • Fix bug: unexpected closures of mongodb sessions.
  • Fix api panic when multiple consuming from same topic
  • Lock Per topic. Stop pusher on subscription delete
  • Fix delete subscription bug
  • Further fix of delete subscription bug
  • Fix TLS cipher config precedence
  • Fix Query ACLs Bug
  • Fix swagger Definition
  • Fix push ack http status code from 101 to 102
  • Fix swagger modifyAcl from get to post
  • Fix acl null value response
  • Handlers: Fix to return immediately after responding Error
  • Fix Mongo interface queries during authentication
  • Fix mongo topic & sub project_uuid reference
  • Fix ACL issues. Transfer Topic/Sub ACL logic to auth package
  • Fix sub mod ACL issues
  • Fix subscription:pull response null

Documentation

  • Swagger: Minor corrections in swagger.yaml
  • Mkdocs: Add Documentation For ARGO Messaging Service
  • Mkdocs: Update mkdocs file
  • ARGOEU: Added messaging service documentation for argoeu
  • Swagger: Changed scheme from http to https
  • Swagger: Fix swagger modifyPushConfig request definition
  • Μkdocs: Error Codes in messaging api
  • Μkdocs: Publisher guide
  • Mkdocs: Update messaging API - users documentation
  • MKdocs: Add available user roles table in docs

v0.9.2-1

24 Mar 15:46
Compare
Choose a tag to compare

ARGO-375 [FEATURE] - Added Authentication to Messaging API

  • Added Authentication mechanism
  • Added also authorization (role based system)
  • Added Checks for project exists in store. Use for verification in handlers (topic:publish, subscription:pull)
  • Added Checks for project/topic , project/subscription exists. Use for verification in handlers (topic:publish, subscription:pull)
  • Updated unittests
  • Added auth package
  • Implemented Authentication wrapper to check if a token corresponds to a user of project
  • Implemented Authorization wrapper to check if resource is accessible based on role given
  • Swagger updated

ARGO-324 [FEATURE] - Implemented Subscription pull method

  • Added store support for retrieving subscription info
  • Added generic Store interface
  • Added MongoStore implementation
  • Added MockStore implementation for unit testing
  • Refactored config to support store parameter
  • Refactored subscriptions to load info from store
  • Refactored handle wrappers to add store reference to context object
  • Refactored subscription list handlers to use store reference from context object
  • Added offset updates to subscription info
  • Used store in pull method
  • Refactored config to hold broker_host, store_host and store_db info
  • Advance offset when consuming messages

ARGO-323 [FEATURE] - Implemented Topic:Publish call
Implemented API call to publish a list of messages to a specific topic. Changes & Improvements:

  • Refactored API routing and handlers for more clear and robust use.
  • Use API error objects for generating rich JSON error responses.
  • Added Generic Broker Interface and two implementations: KafkaBroker & MockBroker
  • Use of MockBroker in http unittests
  • Added Backend Logging and Access Logging
  • Use router Context to pass references to cfg and broker entities

ARGO-321 [FEATURE] - Implemented Topics resource model and calls

  • Implemented Topics model gives the ability to load available topic information from broker configuration and list them by project or topic.
  • Added handlers support. Handlers implement the api calls to List a specific topic or a list of topics based on project.

ARGO-320 [FEATURE] - Implemented Message Resource
Implemented robust model for message resource handling. Messages are created and retrieved from rest API requests and are correctly forwarded to (or retrieved from) the broker network.

  • New message package with appropriate structs (for message and attribute store)
  • Functions for creating new messages based on data input or from a json definition
  • CRUD attribute store functions for adding,deleting,updating and getting message attributes
  • Get Decoded data to return decoded payload (from base64)
  • Export to Json function to produce json string representation of the Message
  • Unittests for the above

ARGO-319 [FEATURE] - Added initial api frontend

  • Added brokers package with kafka connector implementation
  • Created publish function to return topic,partition and offset
  • Added configuration handling using viper library
  • Configured tests
  • Conf option
  • Added temp api publish call
  • Added verbose info in pub call
  • Added InSync Consume capability
  • Implemented KafkaBroker encapsulating pub/sub functionality in methods
  • Added broker publish unittest
  • Added Travis env