prowler icon indicating copy to clipboard operation
prowler copied to clipboard

feat(ionos): add IONOS Cloud as a new provider with 5 checks

Open afp91-ua opened this issue 7 months ago • 4 comments

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.

afp91-ua avatar May 25 '25 18:05 afp91-ua

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.

HugoPBrito avatar Jun 02 '25 12:06 HugoPBrito

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.

HugoPBrito avatar Jun 03 '25 10:06 HugoPBrito

Hi @HugoPBrito, thank you so much for the support! I'll be pleased to do the checks that you have mentioned.

afp91-ua avatar Jun 03 '25 10:06 afp91-ua

I've made the suggested changes, everything works perfectly

afp91-ua avatar Jun 03 '25 11:06 afp91-ua

Hi @afp91-ua, Please remember to add tests for the provider, service and checks. Also remove compliance folder if is going to be empty.

HugoPBrito avatar Jul 21 '25 12:07 HugoPBrito

Conflict Markers Resolved

All conflict markers have been successfully resolved in this pull request.

github-actions[bot] avatar Oct 30 '25 12:10 github-actions[bot]

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     
Flag Coverage Δ
prowler-py3.10-aws 90.59% <ø> (+0.05%) :arrow_up:
prowler-py3.10-azure 89.82% <ø> (?)
prowler-py3.10-gcp 90.06% <ø> (?)
prowler-py3.10-github 89.32% <ø> (?)
prowler-py3.10-iac 89.10% <ø> (?)
prowler-py3.10-kubernetes 89.68% <ø> (?)
prowler-py3.10-m365 89.23% <ø> (?)
prowler-py3.10-mongodbatlas 89.01% <ø> (?)
prowler-py3.10-nhn 89.26% <ø> (?)
prowler-py3.11-aws 90.52% <ø> (-0.03%) :arrow_down:
prowler-py3.11-azure 89.76% <ø> (?)
prowler-py3.11-gcp 90.00% <ø> (?)
prowler-py3.11-github 89.26% <ø> (?)
prowler-py3.11-iac 89.05% <ø> (?)
prowler-py3.11-kubernetes 89.63% <ø> (?)
prowler-py3.11-m365 89.18% <ø> (?)
prowler-py3.11-mongodbatlas 88.96% <ø> (?)
prowler-py3.11-nhn 89.21% <ø> (?)
prowler-py3.11-oraclecloud 86.58% <ø> (?)
prowler-py3.12-aws 90.56% <ø> (+0.02%) :arrow_up:
prowler-py3.12-azure 89.79% <ø> (?)
prowler-py3.12-gcp 90.03% <ø> (?)
prowler-py3.12-github 89.29% <ø> (?)
prowler-py3.12-iac 89.08% <ø> (?)
prowler-py3.12-kubernetes 89.65% <ø> (?)
prowler-py3.12-m365 89.20% <ø> (?)
prowler-py3.12-mongodbatlas 88.99% <ø> (?)
prowler-py3.12-nhn 89.24% <ø> (?)
prowler-py3.12-oraclecloud 86.60% <ø> (?)
prowler-py3.9-aws 90.55% <ø> (+0.01%) :arrow_up:
prowler-py3.9-azure 89.78% <ø> (?)
prowler-py3.9-gcp 90.02% <ø> (?)
prowler-py3.9-github 89.28% <ø> (?)
prowler-py3.9-kubernetes 89.65% <ø> (?)
prowler-py3.9-nhn 89.23% <ø> (?)

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.

codecov[bot] avatar Oct 30 '25 13:10 codecov[bot]