feat: added dynatrace-operator compatibility scraper#3207
feat: added dynatrace-operator compatibility scraper#3207michaeljguarino merged 3 commits intopluralsh:masterfrom
Conversation
Greptile OverviewGreptile SummaryAdds a new compatibility scraper for the Dynatrace operator that extracts Kubernetes version compatibility from Dynatrace's official support documentation and combines it with Helm chart version data. The scraper:
The implementation follows the established pattern used by other scrapers in the codebase and properly integrates with the existing compatibility system. Confidence Score: 4/5
|
| Filename | Overview |
|---|---|
| utils/compatibility/scrapers/dynatrace-operator.py | New scraper that parses Dynatrace support matrix and Helm index to generate compatibility data |
| static/compatibilities/dynatrace-operator.yaml | Generated compatibility data mapping Dynatrace operator versions to Kubernetes versions |
Sequence Diagram
sequenceDiagram
participant Scraper as dynatrace-operator.py
participant SupportDocs as Dynatrace Support Docs
participant HelmIndex as Helm Index (GitHub)
participant Utils as update_compatibility_info()
participant Output as YAML Files
Scraper->>SupportDocs: fetch_page(SUPPORT_URL)
SupportDocs-->>Scraper: HTML with compatibility table
Scraper->>Scraper: Parse table for K8s versions & min operator versions
Scraper->>HelmIndex: fetch_page(HELM_INDEX_URL)
HelmIndex-->>Scraper: index.yaml with chart entries
Scraper->>Scraper: Group versions by minor series (e.g., "1.6")
Scraper->>Scraper: Map K8s versions to operator series
Scraper->>Utils: update_compatibility_info(TARGET_FILE, versions)
Utils->>Utils: Fetch chart images from Helm repository
Utils->>Output: Write to dynatrace-operator.yaml
Utils->>Output: Merge into compatibilities.yaml
|
This doesn't seem to be using that compat table correctly. |
I have updated it. |
I'm not sure the logic that's being used here, but based on the table in the doc you linked, i'd expect we'd map the recommended dynatrace operator version to the kubernetes version (so 1.8.x -> 1.35, 1.7.x -> 1.34) etc. We can't guarantee prior k8s version compatibility beyond that. |
Okay, i have updated it |
https://docs.dynatrace.com/docs/shortlink/k8s-support-issues
Test Plan
Checklist
Plural Flow: console