CHANGELOG#
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.
Unreleased#
support logical
and
, andor
operations for matchers/filtersremove redundant imports
log shipping usage example (Splunk)
AWS Lambda layer distribution
basic unit tests
stdin Input Handling#
In addition to using the AWS CloudTrail API as an input, it is planned to support input from stdin as new-line delimited JSON object streaming and optionaly HTTP multipart/byterange MIME type, where the byterange represents a single line JSON object stream (the Python standard library can support that).
One can basically just stream whatever CloudTrail events into stdin, wheras aws-spitzel will act as a proxy. Should the capabilities of a single aws-spitzel not suffice, one can then just chain multiple aws-spitzel together and achieve a higher query complexity.
Lambda layer distribution#
lambda layer distributions will be made available with each release in the future. Additionally, the build tools for the lambda layer distribution will be part of the repository. This will be a milestone, since aws-spitzel has the potential to replace the (rather difficult to maintain at large) AWS solution of streaming CloudTrail log events with Kinesis Data streams. Instead, aws-spitzel can be used as an interval log-shipper. AWS CloudTrail log delivery is delayed by 5 minutes anyway. It is not necessary to put an event-driven architecture in place for that. Sometimes logs may not even have to be delivered as fast as possible (performance-oriented logs). Amazon Kinesis just feels too mighty for the task, if one can basically built an adequate solution with AWS Lambda, the Python standard library, and a single, compact third-party Python module for JSONPath. Luckily the API’s of log management solutions aren’t too complicated because of the quantitative requirements they have. The more complex their interface, the slower the throughput. It should be fairly easy to extend aws-spitzel to a full AWS CloudTrail log shipping solution (for e.g. Splunk). Private networking requirements could be fulfilled through AWS Lambda VPC networking (which AWS Kinesis Data Stream can’t).
support for and
and or
operators in expressions#
Advanced Input Handling has higher precedence, since you could achieve and, and or logic through shell piping, however it would be nice to work on this, since it would require the expression tokenizer to be hardened as to support escaping reserved characters.
v1.0.7 - 2023-04-03#
Changed
added throttling support for standalone Splunk integration reference implementation
added timestamp and source to Splunk integration reference implementation
updated documentation
v1.0.6 - 2023-04-02#
Changed
documentation on Splunk Integration reference implementation
v1.0.5 - 2023-04-02#
Added
Splunk reference implementation
Changed
refactored cli interface
refactory main Python interface
v1.0.4 - 2023-04-02#
Added
documentation hint for CloudTrail format in README
documentation hint for AWS CLI configuration in README
Changed
description of Releasing in Contribution Guidelines to match updated build tools
v1.0.3 - 2023-04-02#
Added
Python module documentation
Changed
updated build tools interface
documentation wording and order
v1.0.2 - 2023-04-02#
Changed
updated documentation
v1.0.1 - 2023-04-01#
Fixed
fixed documentation workflow
Changed
updated docs
v1.0.0 - 2023-04-01#
Added
initial commits
[unreleased]: https://bitbucket.org/victorykit/py-aws-spitzel/src/dev/
[1.0.7]: https://bitbucket.org/victorykit/py-aws-spitzel/src/v1.0.7/
[1.0.6]: https://bitbucket.org/victorykit/py-aws-spitzel/src/v1.0.6/
[1.0.5]: https://bitbucket.org/victorykit/py-aws-spitzel/src/v1.0.5/
[1.0.4]: https://bitbucket.org/victorykit/py-aws-spitzel/src/v1.0.4/
[1.0.3]: https://bitbucket.org/victorykit/py-aws-spitzel/src/v1.0.3/
[1.0.2]: https://bitbucket.org/victorykit/py-aws-spitzel/src/v1.0.2/
[1.0.1]: https://bitbucket.org/victorykit/py-aws-spitzel/src/v1.0.1/
[1.0.0]: https://bitbucket.org/victorykit/py-aws-spitzel/src/v1.0.0/