Releases: ARGOeu/argo-messaging
Version: 1.0.4-1
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
- 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
- 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
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
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
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