apache / apache/libcloud

[Docs] Add "Feature Matrix" or "Capability Status" table to Provider pages

Open
#2,084 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
2.1k
Forks
931
Avg merge
1d 2h
Merged PRs (30d)
4

Description

### Is your feature request related to a problem? Please describe.
Currently, the "Supported Providers" documentation lists which drivers exist (e.g., EC2, Azure ARM, GCE), but it is difficult for a user to determine the **depth of support** for each provider without diving into the source code.

**The Problem:**
A user looking at the [Compute Providers page](https://libcloud.apache.org/supported_providers.html) sees that "Amazon EC2" is supported. However, they cannot easily verify:
1. Does it support recent features like IMDSv2 (Instance Metadata Service v2)?
2. Does it support Spot Instance requests via the unified API?
3. Are the `list_sizes` or `list_images` methods hardcoded or dynamically fetched?

This opacity makes it hard for architects to evaluate Libcloud against the native SDKs (Boto3, Azure SDK) for their specific needs.

### Describe the solution you'd like
I propose enhancing the documentation for major providers (Compute/Storage) to include a **Capability Status Matrix**.

**Proposed Documentation Update:**
On the individual provider pages (or a centralized matrix), we should track the support status of standard API methods.

*Example Table:*
| Feature | Support Status | Notes |
| :--- | :--- | :--- |
| `create_node` | ✅ Full | Supports user_data, SSH keys |
| `list_sizes` | ⚠️ Partial | Hardcoded list (last updated 2024) |
| `deploy_node` | ✅ Full | |
| `ex_start_node` | ✅ Extension | Provider-specific extension |
| `IPv6 Support` | ❌ No | |

### Describe alternatives you've considered
* **Status Quo:** Users must install the library and run `dir(driver)` or inspect the source code to find capabilities.
* **Automated Badge:** Generating this matrix automatically from the test suite (e.g., based on which methods are overridden in the driver class). This would be the ideal long-term solution.

### Additional Context
As cloud providers add features rapidly, Libcloud's value proposition is "unification." Clear documentation on *what* is unified vs. what requires extension methods (`ex_*`) is critical for adoption.

Contributor guide

Open the contributing guide

Research direction

Start with the Supported Providers page at libcloud.apache.org/supported_providers.html and review the individual Compute and Storage provider pages. Determine whether the matrix belongs on provider pages or in a centralized document, then inventory standard methods and provider-specific ex_* extensions from the relevant drivers. Done means the selected major providers have documented capability statuses and notes, with the scope and maintenance approach made explicit.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
cloud, documentation
Issue type
Documentation
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.