All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- For GenericAPIAction, handle when the response is a no content response
- Fix dependency issue
- Added universal classes for a checkpoint
- Increase number of retries and time between retries when sending requests
- Increase the allowed size for events to 250 kio (instead of 64 kio)
- Use file for batch url computation
- Fixes batch url computation
- Limit the number of concurrent async tasks run at the same time
- When forwarding events, use a http session to reuse the existing HTTP connection
- Improve concurrency of async tasks that forward events
- Fixes connector configuration file name
- remove redundant logs for connectors
- Upload files by chunks to support files bigger than 100MB
- Add heartbeat in triggers
The heartbeat allows to mark the trigger as not alive if no heartbeat was received for a certain amount of time.
To support this feature triggers must:
- Set the
last_heartbeat_threshold
class attribute to a value greater than 0 - Call periodically
self.heartbeat()
to update the last heartbeat date
- Set the
- Thread to push logs at regular interval
- Remove redundant slash in URL path
- Improve retry for generic actions
- Fix the initializer arguments for AsyncConnector
- Add graceful delay on startup where unhandled errors won't trigger a critical exit
- Add property to connector with
User-Agent
header to third party services - Forward exceptions to the API
- Fix json_argument fonction when url arg is empty or None
- Fixes batch url computation
- Added support for Connectors
- In script to generate new modules lock requirements
- In script to generate new modules fix module import for modules with spaces
- Store TLS related files in a writable storage
- Improve error message when it is not possible to access the data storage
- Remove
chunk_size
parameter from configuration - Try to take Intake URL from an environment var first
- Create volume storage if it doesn't exist before writing cert files
- Add new wrappers to work with aio libraries such as aiohttp, aiobotocore, etc.
- New AsyncConnector that contains async implementation of push events
- Add retry when accessing the storage
- On critical error wait until the pod is killed instead of keep running
- Increase time to wait without events before restarting the pod
- Send logs by batch
- Add support for base64 encoded env variables
- Fix secrets handling for triggers/connectors
- Retry to up to 1 hour before discarding events
- Script to bump SDK version in all modules
- Fixes retry when pushing events to Sekoia.io
- Handle potential errors while handling exceptions
- Change HTTP header to check if an image exists in the registry
- In
synchronize-lib
error display docker image name used previously - In module template don't use a specific python package index
- In
synchronize-lib
script:- Specify the registry in the image name
- Improve checking the existence of the image in the registry
- In
synchronize-lib
script add support for slug based docker names - In
synchronize-lib
script allow to use environment variable for secrets
- Add support for TLS client authentication in S3 storage
- Launch the metrics exporter when the trigger starts
- Do not exit on critical
- Add graceful period before logging a critical error
- Add command to synchronize the module library
- Fix secret handling for
BaseModel
module configurations
- Handle internal errors without increasing the error count
- Add helpers to define threads in a connector
- Exit infinite loop when stop event is set
- Reset error counter when pushing events to intake
- Fix logging
- Fix the last event date computation used for automatic restart of connectors
- Fix threading error on shutdown
- Fix setting Module configuration with Model object
- Triggers can retrieve module's configuration secrets by REST call to API
- Secrets can be set in Pydantic models used for generating a manifest (e.g.
api_key: str = Field(secret=True)
) - add the ability to handle the trigger exit
- parallelize the forward of chunks of events
- Add module to create metrics in triggers
- Add support for config stored inside env variables
- Add liveness HTTP endpoint to check if the trigger is still working
- Don't retry requests to Sekoia.io with a status code of 4xx and ignore 409 errors
- When updating a module's configuration, a verification is made on potential missing required properties
- Specify timeout to HTTP requests
- Small fixes in cli commands
- Better handling of error on data path access
- Ignore tests packages to find code in the
generate-files-from-code
command - Don't remove other menu items when generating the documentation for a single module
- Initial release of the SDK