feat(ionos): add IONOS Cloud as a new provider with 5 checks
Context
The main motivation of this implementation is a final degree project to my university.
Description
Added IONOS Cloud as a new provider with 5 checks
Server / Compute Engine
- Check if servers have public IP
- Verify if volumes in servers have recent snapshots
- Check if firewalls' servers have FTP ports exposed to the internet
- Check if firewalls' servers have SSH port exposed to the internet
Object Storage S3
- Check if buckets have public access
Checklist
- Are there new checks included in this PR? Yes / No
- If so, do we need to update permissions for the provider? Please review this carefully.
- [ ] Review if the code is being covered by tests.
- [ ] Review if code is being documented following this specification https://github.com/google/styleguide/blob/gh-pages/pyguide.md#38-comments-and-docstrings
- [ ] Review if backport is needed.
- [ ] Review if is needed to change the Readme.md
- [ ] Ensure new entries are added to CHANGELOG.md, if applicable.
API
- [ ] Verify if API specs need to be regenerated.
- [ ] Check if version updates are required (e.g., specs, Poetry, etc.).
- [ ] Ensure new entries are added to CHANGELOG.md, if applicable.
License
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
Hi @afp91-ua,
First of all, thanks for this huge contribution! You’ve done an impressive job, congratulations! 🙌
We’ll be reviewing this. In the meantime, could you please add tests? You can start with the basic ones:
- Provider exceptions during initialization.
- Services initialization and information gathering.
- Findings generation:
- Each check case (FAIL/PASS and status extended).
- HTML output.
- Mutelist
Thanks again for your contribution. If you have any doubts about the improvements we’re requesting, don’t hesitate to ask, we’re here to help.
Hi again @afp91-ua,
I’ll do an initial review focusing on the most important changes needed for this to be merged and align with Prowler’s criteria.
Hi @HugoPBrito, thank you so much for the support! I'll be pleased to do the checks that you have mentioned.
I've made the suggested changes, everything works perfectly
Hi @afp91-ua, Please remember to add tests for the provider, service and checks. Also remove compliance folder if is going to be empty.
✅ Conflict Markers Resolved
All conflict markers have been successfully resolved in this pull request.
Codecov Report
:white_check_mark: All modified and coverable lines are covered by tests.
:white_check_mark: Project coverage is 86.63%. Comparing base (46bf8e0) to head (214db37).
:warning: Report is 88 commits behind head on master.
Additional details and impacted files
@@ Coverage Diff @@
## master #7832 +/- ##
==========================================
- Coverage 90.59% 86.63% -3.97%
==========================================
Files 834 1403 +569
Lines 23521 40395 +16874
==========================================
+ Hits 21310 34995 +13685
- Misses 2211 5400 +3189
Flags with carried forward coverage won't be shown. Click here to find out more.
| Components | Coverage Δ | |
|---|---|---|
| prowler | 86.63% <ø> (-3.97%) |
:arrow_down: |
| api | ∅ <ø> (∅) |
:rocket: New features to boost your workflow:
- :snowflake: Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
- :package: JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.