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.
This paragraph may describe WIP/unreleased features. They are merged to main branch but not tagged.
- Update version of Boavizta API to 1.3 and Grafana to 11.2.3 in docker-compose
- Use latest version of Boaviztapi SDK · Issue #595 · Boavizta/cloud-scanner
- chore: update to Rust 1.80.1 · Issue #564 · Boavizta/cloud-scanner
- Display cpu and storage size metrics in the demo dashboard · Issue #465 · Boavizta/cloud-scanner
- Doc: reference Boavizta methodology paper. · Issue #552 · Boavizta/cloud-scanner
- Expose the json schema of the inventory format · Issue #558 · Boavizta/cloud-scanner. Use
cargo run inventory --print-json-schema
with CLI to get the schema on stdout. - Add an Adopters file to mention who is using cloud-scanner · Issue #419 · Boavizta/cloud-scanner
- Manage regions in a file · Issue #197 · Boavizta/cloud-scanner
Special thanks to @NevinDry for his first contributions !
- Add cloud-scanner version to inventory metadata · Issue #519 · Boavizta/cloud-scanner
- Document how cloud scanner provides estimations for Block storage (EBS) · Issue #532 · Boavizta/cloud-scanner
- Support AWS io1 io2 and standard EBS volumes · Issue #535 · Boavizta/cloud-scanner
- Doc(faq): explicit the positioning of cloud scanner compared to API and datavizta · Issue #528 · Boavizta/cloud-scanner
- 352 estimate impacts of an existing inventory by demeringo · Pull Request #505 · Boavizta/cloud-scanner. ⚠ This introduces breaking changes on the CLI options. The option to get results as metrics (using the flag
--as-metrics
on the 'estimate' command is replaced by a direct command namemetrics
). - JSON output: use snake_case for all keys. · Issue #521 · Boavizta/cloud-scanner
- 406 expose additional metrics like CPU usage and storage size by @demeringo in #464
- Add -summary option to estimate command by @jnioche in #466
- Organises the dashboard into rows: Intro / PE / GWP / ADP by @jnioche in #457
- chore: dependencies by @demeringo in #459
- 460 update serverless framework dependencies by @demeringo in #461
- Remove old dashboard from the docker-compose example, fixes #438 by @jnioche in #449
- chore: dependencies updates by @demeringo in #463
- test: adapt tests values to BoaviztAPI v1.2.4 by @demeringo in #468
- Update image version for Boavizta API in docker-compose by @jnioche in #470
- Update image version for Boavizta API to 1.2.4 in docker-compose by @demeringo in #472
- 474-High Security issues status "Unapproved" in latest alpine docker image by @damienfernandes in #475
- Explicit versions of images in docker compose by @jnioche in #481
- Missing param summary_only in cloud_scanner_lambda, fixes #473 by @jnioche in #478
- New version of dashboard by @jnioche in #480
- @jnioche made their first contribution in #457
Full Changelog: https://github.com/Boavizta/cloud-scanner/compare/v2.0.4...v2.0.5
- Add a Prometheus data volume in the docker-compose example Document how to persist prometheus data when the container is recreated · Issue #434 · Boavizta/cloud-scanner
- Support all AWS regions Improve region support · Issue #48 · Boavizta/cloud-scanner
- Cli and Serverless parameters
--hours-use-time
were renamed into--use-duration-hours
. Short form remain-u
.
- Refactor code to make it more readable · Issue #209 · Boavizta/cloud-scanner
- Improve error message when a region is incorrect · Issue #439 · Boavizta/cloud-scanner
- Release 2.0.3 uses dev Boavizta API URL instead of stable · Issue #425 · Boavizta/cloud-scanner
- Improve doc about passing AWS credentials · Issue #77 · Boavizta/cloud-scanner
- Thanks to @jnioche for his contribution to testing and documenting issues related to regions !
- Use latest released version of Rust client for Boavizta API v1.0.1
- Make filter tags optional in the API routes.
- Update to latest aws SDK 1.x · Issue #410 · Boavizta/cloud-scanner
- Return instance state (either Running or Stopped) with the inventory: Add instance state to the inventory.
- Return metrics of individual resources: Expose individual metrics (label metrics with resource id's and other metadata)
- Breaking change: Renamed the count summary metrics (instances become resources because we now take into account additional resources like storage):
boavizta_number_of_instances_total
becomesboavizta_number_of_resources_total
boavizta_number_of_instances_assessed
becomesboavizta_number_of_resources_assessed
- Use Boavizta API v1.1.0 in docker-compose (this adds support for additional instances): #386
- Update logo in documentation: #381
- Add link checker when publishing documentation: #382
- Add logo in the doc website: #383
First stable release of cloud-scanner that supports latest Boavizta API v1.x Releases · Boavizta/boaviztapi.
Cloud-scanner 1.x is really based on the previous releases 0.4.x and 0.3.x , but renamed to v1.0.x to follow the Boavizta API naming.
Thanks to the contributions of @damienfernandes, @notCamelCaseName and the great work of members of the Boavizta collective, with a special mention for @da-ekchajzer !
- Update the parsing of JSON returned by Boavizta API to follow latest changes in API v1.0.0 (see Align verbose and non verbose json output format · Issue #229 · Boavizta/boaviztapi).
- 🧪 Experimental feature: Provide estimations related to storage · Issue #272 · Boavizta/cloud-scanner. Use the
--include-block-storage
command line flag or parameter to consider block storage (either in inventory or when requesting an estimation of impacts.). This parameter defaults tofalse
. This means that by default block storage (volumes) are not counted in the inventory nor in the results.
⚠ In any case, for storage, the impacts of the use phase are not counted. Boavizta API returns only the impacts of the manufacturing phase for HDD and SSD.
# Experimental: get impacts of instances and attached storage
cargo run estimate --hours-use-time 1 --include-block-storage --output-verbose-json
- Add optional verbose output with the details of the calculation · Issue #333 · Boavizta/cloud-scanner. This introduces and additional (optional CLI option). Verbose is deactivated by default.
- Add a parameter to pass the duration of use when exposing metrics and data in standalone server mode · Issue #332 · Boavizta/cloud-scanner, thanks to a contribution from @damienfernandes.
- Format of json output evolved: It now contains a additional field
raw_data
that returns the json data exactly as fetched from Boavizta API (so the format varies depending if using verbose output or not). - dependencies updates
- doc update
- Log time spend on actions · Issue #289 · Boavizta/cloud-scanner
- Return inventory as json in the standalone server mode · Issue #286 · Boavizta/cloud-scanner thanks to a contribution of @notCamelCaseName
- Return impacts as json in the standalone server mode · Issue #287 · Boavizta/cloud-scanner
- Expose OpenAPI spec · Issue #285 · Boavizta/cloud-scanner
- Update to latest AWS SDK · Issue #308 · Boavizta/cloud-scanner
- Serverless: update
lambda_runtime
andlambda_http
crates to v 0.8.1, bump version of cloud_scanner_lambda package to0.3.0-alpha3
.
Minor adaptations to the not yet released Boavizta API V1.0alpha.
This alpha release contains changes to integrate with the new version of Boavizta API (v0.3.0).
It does not bring any new feature but allow retrieving the latest data set.
- Use new Boavizta API SDK for API v0.2.2 and use new API routes (following deprecation of AWS specific URLs). Upgrade to stable Boavizta API v0.2.x SDK · Issue #243 · Boavizta/cloud-scanner and Update SDK for boaviztapi v2.x · Issue #4 · Boavizta/boaviztapi-sdk-rust
- Use Boavizta API v0.2.2 in the example docker-compose · Issue #208 · Boavizta/cloud-scanner)
- Doc: add aws command to list/start/stop instances in the testing chapter of the doc.
- Fix: use duration metric does not return zero anymore Value returned for boavizta_duration_of_use_hours metric is always zero · Issue #206 · Boavizta/cloud-scanner
- Docs: Add link and icon to github repo in the published documentation · Issue #223 · Boavizta/cloud-scanner + several schematics
- Docs: Add Link to boavizta cloud impact · Issue #222 · Boavizta/cloud-scanner
- Dependencies updates and use Rust 1.68.
- Support all US aws regions.
- Filter instances on tags with serveless / lambda functions.
- Doc update
- Filter instances on tags
- Update dependencies
- Retrieve instance tags when doing resources inventory. See #189.
- Clean up code to get rid of clippy warnings
- Update dependencies
- Use publicly published Boavizta API v0.2.x in tests.
- Doc updates.
- Use Boavizta API v0.2.x.
- Take in consideration the instances workload (cpu load) to calculate the impacts.
- Display scanner version on metrics server status route #179
- Pin docker image versions in docker compose, see #175
- Major refactoring to ease future evolution and testing.
- Simplified CLI commands.
- An example of usage in a monitoring stack (including dashboard) of via docker-compose. See Quickstart dashboard in documentation. Many Thanks to @obinjf for his contributions.
- Option to returns metrics through an http endpoint (Start the CLI with
cloud-scanner serve
). Metrics are recalculated each time the endpoint is scraped for example at http://localhost:8000/metrics?aws_region=eu-west-1).
⚠ Running metric server in container require setting extra variables:- to map AWS credentials
- to map SSL ca certificates
- and more importantly to configure rocket to listen to 0.0.0.0 instead of 127.0.0.1 (which is internal to the container):
ROCKET_ADDRESS=0.0.0.0
docker run -it -p 8000:8000 -v /etc/ssl/certs/ca-certificates.crt:/etc/ssl/certs/ca-certificates.crt -v $HOME/.aws/credentials:/root/.aws/credentials:ro -e ROCKET_ADDRESS=0.0.0.0 -e ROCKET_PORT=8000 -e AWS_PROFILE=$AWS_PROFILE ghcr.io/boavizta/cloud-scanner-cli:latest serve
- Update dependencies.
- Use feature flag on lambda http (support alb and apigw_rest).
- Clean up code to get rid of Clippy warnings.
- Improve error handling using Anyhow (see #17)
- Upgrade to Clap v 4.0.x to provide CLI parsing and help.
- Fix wrong default API url in CLI and serverless environment, see #125
- Use a public crate to provide boavizta-api-sdk . Previous version relies on local SDK code in this repository. This SDK is now maintained in its own repository at https://github.com/Boavizta/boaviztapi-sdk-rust (see #112).
- Cargo run CLI by default (see #123)
- Support using a custom (private) Boaviztapi URL instead of public demo instance.
- Initiate documentation as mdBook (see #61)
- Publish doc in CI Introduction - Boavizta cloud scanner 📡
- Support scanning a region different from where the lambda is deployed.
-Update dependencies (most notably AWS sdk 0.17).
- Serverless app supports
use hours_use_time
in default scan- passed as request parameters (example query
https://xxxxx.execute-api.eu-west-1.amazonaws.com/dev/scan?hours_use_time=10
- this parameter is mandatory
- passed as request parameters (example query
- Update serverless app to use
aws_region
in default scan- ⚠ This optional parameter is not yet supported by the scanner lib (which always defaults to the default region of the lambda)
- Export scan result summary as OpenMetrics/Prometheus metrics (see
-m
or--as-metrics
flag in CLI). - Add a route in serverless app that returns metrics for one hour use (e.g.
https://xxxx/dev/metrics?aws_region=eu-west-3
)
- Update AWS sdk dependencies.
- Remove the out-file CLI option
- Reduce size of docker image (use Alpine (5MB) instead of Ubuntu (80MB))
- Fix github workflow to publish image only on merge to main branch
- Serverless scanner: display version of library in log
- Allow deployment as serverless application (⚠ but with very limited functionality, only default scan works for now).
- First alpha version.