Skip to content

feat(aws): add compute icons#2

Open
rlunar wants to merge 2 commits into
masterfrom
icons/aws/20260704T190431Z-compute
Open

feat(aws): add compute icons#2
rlunar wants to merge 2 commits into
masterfrom
icons/aws/20260704T190431Z-compute

Conversation

@rlunar

@rlunar rlunar commented Jul 4, 2026

Copy link
Copy Markdown

Adds the AWS compute architecture icons.

New icon classes:

  • Bottlerocket
  • Dcv
  • EC2AWSMicroserviceExtractorForDotNet
  • EC2DbInstance
  • EC2InstanceWithCloudwatch
  • EcsAnywhere
  • EksAnywhere
  • EksDistro
  • ElasticContainerRegistry
  • ElasticContainerRegistryImage
  • ElasticContainerRegistryRegistry
  • ElasticContainerServiceContainer1
  • ElasticContainerServiceContainer2
  • ElasticContainerServiceContainer3
  • ElasticContainerServiceCopiiotCli
  • ElasticContainerServiceEcsServiceConnect
  • ElasticFabricAdapter
  • ElasticKubernetesServiceEksOnOutposts
  • ElasticVmwareService
  • LightsailForResearch
  • NitroEnclaves
  • OutpostsFamily
  • OutpostsRack
  • OutpostsServers
  • ParallelCluster
  • ParallelComputingService
  • RedHatOpenshiftServiceOnAWS
  • SimspaceWeaver

Closes #1

Summary by CodeRabbit

  • New Features
    • Added a range of new AWS compute and container-related icons, including EC2, ECS/EKS, Outposts, Lightsail, Nitro Enclaves, and several Elastic services.
    • Added a new Aurora Amazon RDS instance icon variant.
  • Documentation
    • Updated the AWS node catalog to include the new icon options and refreshed the database entry naming.

rlunar added 2 commits July 4, 2026 14:37
Add 1 new database icon(s), regenerate classes/docs, stacked on master.

Signed-off-by: Roberto Luna-Rojas <roberto.luna.rojas@gmail.com>
Add 28 new compute icon(s), regenerate classes/docs, stacked on master.

Signed-off-by: Roberto Luna-Rojas <roberto.luna.rojas@gmail.com>

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your trial has ended. Reactivate Greptile to resume code reviews.

@coderabbitai

coderabbitai Bot commented Jul 4, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: e76f183b-f355-48e3-a227-38139f49f7b5

📥 Commits

Reviewing files that changed from the base of the PR and between ed09a76 and e53e184.

⛔ Files ignored due to path filters (58)
  • resources/aws/compute/bottlerocket.png is excluded by !**/*.png
  • resources/aws/compute/dcv.png is excluded by !**/*.png
  • resources/aws/compute/ec2-aws-microservice-extractor-for-dot-net.png is excluded by !**/*.png
  • resources/aws/compute/ec2-db-instance.png is excluded by !**/*.png
  • resources/aws/compute/ec2-instance-with-cloudwatch.png is excluded by !**/*.png
  • resources/aws/compute/ecs-anywhere.png is excluded by !**/*.png
  • resources/aws/compute/eks-anywhere.png is excluded by !**/*.png
  • resources/aws/compute/eks-distro.png is excluded by !**/*.png
  • resources/aws/compute/elastic-container-registry-image.png is excluded by !**/*.png
  • resources/aws/compute/elastic-container-registry-registry.png is excluded by !**/*.png
  • resources/aws/compute/elastic-container-registry.png is excluded by !**/*.png
  • resources/aws/compute/elastic-container-service-container-1.png is excluded by !**/*.png
  • resources/aws/compute/elastic-container-service-container-2.png is excluded by !**/*.png
  • resources/aws/compute/elastic-container-service-container-3.png is excluded by !**/*.png
  • resources/aws/compute/elastic-container-service-copiiot-cli.png is excluded by !**/*.png
  • resources/aws/compute/elastic-container-service-ecs-service-connect.png is excluded by !**/*.png
  • resources/aws/compute/elastic-fabric-adapter.png is excluded by !**/*.png
  • resources/aws/compute/elastic-kubernetes-service-eks-on-outposts.png is excluded by !**/*.png
  • resources/aws/compute/elastic-vmware-service.png is excluded by !**/*.png
  • resources/aws/compute/lightsail-for-research.png is excluded by !**/*.png
  • resources/aws/compute/nitro-enclaves.png is excluded by !**/*.png
  • resources/aws/compute/outposts-family.png is excluded by !**/*.png
  • resources/aws/compute/outposts-rack.png is excluded by !**/*.png
  • resources/aws/compute/outposts-servers.png is excluded by !**/*.png
  • resources/aws/compute/parallel-cluster.png is excluded by !**/*.png
  • resources/aws/compute/parallel-computing-service.png is excluded by !**/*.png
  • resources/aws/compute/red-hat-openshift-service-on-aws.png is excluded by !**/*.png
  • resources/aws/compute/simspace-weaver.png is excluded by !**/*.png
  • resources/aws/database/aurora-amazon-rds-instance-aternate.png is excluded by !**/*.png
  • website/static/img/resources/aws/compute/bottlerocket.png is excluded by !**/*.png
  • website/static/img/resources/aws/compute/dcv.png is excluded by !**/*.png
  • website/static/img/resources/aws/compute/ec2-aws-microservice-extractor-for-dot-net.png is excluded by !**/*.png
  • website/static/img/resources/aws/compute/ec2-db-instance.png is excluded by !**/*.png
  • website/static/img/resources/aws/compute/ec2-instance-with-cloudwatch.png is excluded by !**/*.png
  • website/static/img/resources/aws/compute/ecs-anywhere.png is excluded by !**/*.png
  • website/static/img/resources/aws/compute/eks-anywhere.png is excluded by !**/*.png
  • website/static/img/resources/aws/compute/eks-distro.png is excluded by !**/*.png
  • website/static/img/resources/aws/compute/elastic-container-registry-image.png is excluded by !**/*.png
  • website/static/img/resources/aws/compute/elastic-container-registry-registry.png is excluded by !**/*.png
  • website/static/img/resources/aws/compute/elastic-container-registry.png is excluded by !**/*.png
  • website/static/img/resources/aws/compute/elastic-container-service-container-1.png is excluded by !**/*.png
  • website/static/img/resources/aws/compute/elastic-container-service-container-2.png is excluded by !**/*.png
  • website/static/img/resources/aws/compute/elastic-container-service-container-3.png is excluded by !**/*.png
  • website/static/img/resources/aws/compute/elastic-container-service-copiiot-cli.png is excluded by !**/*.png
  • website/static/img/resources/aws/compute/elastic-container-service-ecs-service-connect.png is excluded by !**/*.png
  • website/static/img/resources/aws/compute/elastic-fabric-adapter.png is excluded by !**/*.png
  • website/static/img/resources/aws/compute/elastic-kubernetes-service-eks-on-outposts.png is excluded by !**/*.png
  • website/static/img/resources/aws/compute/elastic-vmware-service.png is excluded by !**/*.png
  • website/static/img/resources/aws/compute/lightsail-for-research.png is excluded by !**/*.png
  • website/static/img/resources/aws/compute/nitro-enclaves.png is excluded by !**/*.png
  • website/static/img/resources/aws/compute/outposts-family.png is excluded by !**/*.png
  • website/static/img/resources/aws/compute/outposts-rack.png is excluded by !**/*.png
  • website/static/img/resources/aws/compute/outposts-servers.png is excluded by !**/*.png
  • website/static/img/resources/aws/compute/parallel-cluster.png is excluded by !**/*.png
  • website/static/img/resources/aws/compute/parallel-computing-service.png is excluded by !**/*.png
  • website/static/img/resources/aws/compute/red-hat-openshift-service-on-aws.png is excluded by !**/*.png
  • website/static/img/resources/aws/compute/simspace-weaver.png is excluded by !**/*.png
  • website/static/img/resources/aws/database/aurora-amazon-rds-instance-aternate.png is excluded by !**/*.png
📒 Files selected for processing (3)
  • diagrams/aws/compute.py
  • diagrams/aws/database.py
  • docs/nodes/aws.md

📝 Walkthrough

Walkthrough

This PR adds numerous new AWS compute icon classes (e.g., Bottlerocket, Dcv, EC2DbInstance, ECS/EKS variants, Elastic Container Registry/Service variants, Outposts variants) to compute.py, one new database icon class in database.py, and updates docs/nodes/aws.md to document these additions.

Changes

AWS Icon Classes and Documentation

Layer / File(s) Summary
EC2/DCV/Bottlerocket icon classes
diagrams/aws/compute.py
Adds Bottlerocket, Dcv, EC2AWSMicroserviceExtractorForDotNet, EC2DbInstance, and EC2InstanceWithCloudwatch as new _Compute subclasses with _icon assignments.
ECS/EKS and container registry/service icon classes
diagrams/aws/compute.py
Adds EcsAnywhere, EksAnywhere, EksDistro, and expands Elastic Container Registry/Service classes with multiple new variants (containers, CLI, service connect).
Elastic Kubernetes/VMware/Fabric icon classes
diagrams/aws/compute.py
Adds ElasticFabricAdapter, ElasticKubernetesServiceEksOnOutposts, and ElasticVmwareService alongside existing ElasticKubernetesService.
Lightsail, Outposts, and remaining compute icon classes
diagrams/aws/compute.py
Adds LightsailForResearch, NitroEnclaves, Outposts variants (Family/Rack/Servers), ParallelCluster, ParallelComputingService, RedHatOpenshiftServiceOnAWS, and SimspaceWeaver.
Database icon class addition
diagrams/aws/database.py
Adds AuroraAmazonRDSInstanceAternate as a new _Database subclass with _icon assignment.
Documentation updates for new nodes
docs/nodes/aws.md
Adds corresponding node list entries for all newly added compute and database icon classes.

Estimated code review effort: 2 (Simple) | ~10 minutes

Related issues: #1 (Add AWS compute architecture icons)

Suggested labels: documentation, enhancement

Suggested reviewers: maintainers of diagrams/aws module

Poem:

A rabbit hopped through icons anew,
Bottlerocket, Outposts, EKS too,
Registries stacked in tidy rows,
Docs updated as the list grows,
Hop, hop — another PNG in view! 🐰

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Out of Scope Changes check ⚠️ Warning The PR also adds an Aurora RDS database icon and docs updates, which are outside the compute-icons issue. Move the database icon and related docs changes to a separate PR, or add an issue that explicitly covers them.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title concisely describes the main change: adding AWS compute icons.
Linked Issues check ✅ Passed The PR adds the requested AWS compute icons and all listed classes, matching issue #1.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch icons/aws/20260704T190431Z-compute

Comment @coderabbitai help to get the list of available commands.

@rlunar

rlunar commented Jul 4, 2026

Copy link
Copy Markdown
Author

@greptileai

@greptile-apps

greptile-apps Bot commented Jul 4, 2026

Copy link
Copy Markdown

Greptile Summary

This PR extends diagrams/aws/compute.py with 28 new AWS compute icon classes and adds one new database icon variant. The additions follow the established pattern of thin wrapper classes pointing to PNG assets, but two naming defects and a duplicate class family need attention before merge.

  • ElasticContainerServiceCopiiotCli has a doubled-'i' typo ("Copiiot" instead of "Copilot") in both the class name and the backing PNG filename, meaning the correctly-spelled import path will never resolve.
  • AuroraAmazonRDSInstanceAternate in database.py ("Aternate") is a misspelled near-duplicate of the already-present AuroraAmazonRDSInstanceAlternate; both class name and PNG filename are missing the letter 'l'.
  • Three new ElasticContainerRegistry* classes parallel existing EC2ContainerRegistry* classes without re-pointing the ECR alias or documenting the relationship.

Confidence Score: 3/5

Not safe to merge as-is — two class names carry spelling errors that will make the correctly-spelled import paths permanently unresolvable, and the database file introduces a near-duplicate class that will confuse users.

The ElasticContainerServiceCopiiotCli typo and the AuroraAmazonRDSInstanceAternate misspelling are locked into the public API the moment this merges; renaming them later would be a breaking change for any user who adopted the wrong name. The duplicate ElasticContainerRegistry* family and the stale ECR alias add user-facing confusion. The PNG assets and the bulk of the new classes are straightforward and low-risk.

diagrams/aws/database.py (misspelled duplicate class) and diagrams/aws/compute.py (Copilot typo, ECR duplication, ECS/EKS naming inconsistency) need review before merge.

Important Files Changed

Filename Overview
diagrams/aws/compute.py Adds 28 new compute icon classes; contains a class-name typo ("CopiiotCli"), inconsistent ECS/EKS abbreviated naming, and a duplicate ECR family without alias update.
diagrams/aws/database.py Adds AuroraAmazonRDSInstanceAternate — a misspelled near-duplicate of the already-present AuroraAmazonRDSInstanceAlternate, with a matching misspelled PNG filename.
docs/nodes/aws.md Documentation updated to list all new icon classes; reflects the same typos present in the source (Copiiot, Aternate) but is otherwise accurate.

Class Diagram

%%{init: {'theme': 'neutral'}}%%
classDiagram
    class _Compute {
        _type = "compute"
        _icon_dir = "resources/aws/compute"
    }
    class ElasticContainerRegistry { _icon = "elastic-container-registry.png" }
    class ElasticContainerRegistryImage { _icon = "elastic-container-registry-image.png" }
    class ElasticContainerRegistryRegistry { _icon = "elastic-container-registry-registry.png" }
    class EC2ContainerRegistry { _icon = "ec2-container-registry.png" }
    class EC2ContainerRegistryImage { _icon = "ec2-container-registry-image.png" }
    class EC2ContainerRegistryRegistry { _icon = "ec2-container-registry-registry.png" }
    class ElasticContainerServiceCopiiotCli { _icon = "elastic-container-service-copiiot-cli.png" }
    class EcsAnywhere { _icon = "ecs-anywhere.png" }
    class EksAnywhere { _icon = "eks-anywhere.png" }
    class EksDistro { _icon = "eks-distro.png" }
    class ElasticKubernetesServiceEksOnOutposts { _icon = "elastic-kubernetes-service-eks-on-outposts.png" }

    _Compute <|-- ElasticContainerRegistry
    _Compute <|-- ElasticContainerRegistryImage
    _Compute <|-- ElasticContainerRegistryRegistry
    _Compute <|-- EC2ContainerRegistry
    _Compute <|-- EC2ContainerRegistryImage
    _Compute <|-- EC2ContainerRegistryRegistry
    _Compute <|-- ElasticContainerServiceCopiiotCli
    _Compute <|-- EcsAnywhere
    _Compute <|-- EksAnywhere
    _Compute <|-- EksDistro
    _Compute <|-- ElasticKubernetesServiceEksOnOutposts

    note for ElasticContainerRegistry "Duplicates EC2ContainerRegistry family; ECR alias still points to old class"
    note for ElasticContainerServiceCopiiotCli "Typo: Copiiot should be Copilot"
    note for EcsAnywhere "Abbrev style inconsistent with ElasticContainerService* siblings"
Loading
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
classDiagram
    class _Compute {
        _type = "compute"
        _icon_dir = "resources/aws/compute"
    }
    class ElasticContainerRegistry { _icon = "elastic-container-registry.png" }
    class ElasticContainerRegistryImage { _icon = "elastic-container-registry-image.png" }
    class ElasticContainerRegistryRegistry { _icon = "elastic-container-registry-registry.png" }
    class EC2ContainerRegistry { _icon = "ec2-container-registry.png" }
    class EC2ContainerRegistryImage { _icon = "ec2-container-registry-image.png" }
    class EC2ContainerRegistryRegistry { _icon = "ec2-container-registry-registry.png" }
    class ElasticContainerServiceCopiiotCli { _icon = "elastic-container-service-copiiot-cli.png" }
    class EcsAnywhere { _icon = "ecs-anywhere.png" }
    class EksAnywhere { _icon = "eks-anywhere.png" }
    class EksDistro { _icon = "eks-distro.png" }
    class ElasticKubernetesServiceEksOnOutposts { _icon = "elastic-kubernetes-service-eks-on-outposts.png" }

    _Compute <|-- ElasticContainerRegistry
    _Compute <|-- ElasticContainerRegistryImage
    _Compute <|-- ElasticContainerRegistryRegistry
    _Compute <|-- EC2ContainerRegistry
    _Compute <|-- EC2ContainerRegistryImage
    _Compute <|-- EC2ContainerRegistryRegistry
    _Compute <|-- ElasticContainerServiceCopiiotCli
    _Compute <|-- EcsAnywhere
    _Compute <|-- EksAnywhere
    _Compute <|-- EksDistro
    _Compute <|-- ElasticKubernetesServiceEksOnOutposts

    note for ElasticContainerRegistry "Duplicates EC2ContainerRegistry family; ECR alias still points to old class"
    note for ElasticContainerServiceCopiiotCli "Typo: Copiiot should be Copilot"
    note for EcsAnywhere "Abbrev style inconsistent with ElasticContainerService* siblings"
Loading

Reviews (1): Last reviewed commit: "feat(aws): add compute icons from AWS ar..." | Re-trigger Greptile

Comment thread diagrams/aws/database.py
Comment on lines +19 to +21
class AuroraAmazonRDSInstanceAternate(_Database):
_icon = "aurora-amazon-rds-instance-aternate.png"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Misspelled class name duplicates existing class

AuroraAmazonRDSInstanceAternate ("aternate") is a near-duplicate of the already-present AuroraAmazonRDSInstanceAlternate ("alternate") at line 15. The PNG filename is also missing the 'l': aurora-amazon-rds-instance-aternate.png. Any code that reaches for the "alternate" variant by name will silently use whichever one it happens to import; the correctly-spelled class already covers this icon slot, so this entry is redundant and can cause user confusion.

Comment thread diagrams/aws/compute.py
Comment on lines +151 to +152
class ElasticContainerServiceCopiiotCli(_Compute):
_icon = "elastic-container-service-copiiot-cli.png"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Typo in class name — "Copiiot" should be "Copilot"

ElasticContainerServiceCopiiotCli contains a doubled 'i' ("Copiiot"). The AWS service is ECS Copilot CLI. Because the class name and the underlying PNG filename (elastic-container-service-copiiot-cli.png) both carry the same misspelling, any downstream user who tries to import this by its correct name (ElasticContainerServiceCopilotCli) will get an ImportError.

Comment thread diagrams/aws/compute.py
Comment on lines +99 to +108
class EcsAnywhere(_Compute):
_icon = "ecs-anywhere.png"


class EksAnywhere(_Compute):
_icon = "eks-anywhere.png"


class EksDistro(_Compute):
_icon = "eks-distro.png"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Naming style inconsistency for ECS/EKS variant classes

EcsAnywhere, EksAnywhere, and EksDistro use abbreviated prefixes (Ecs, Eks) while every other ECS/EKS sub-resource in this module follows the full-name convention (ElasticContainerService*, ElasticKubernetesService*). This is inconsistent with, e.g., ElasticKubernetesServiceEksOnOutposts added in the same PR. Users discovering the API via autocomplete may not find these classes, and the mixed convention makes the module harder to reason about.

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

Comment thread diagrams/aws/compute.py
Comment on lines +123 to +133
class ElasticContainerRegistryImage(_Compute):
_icon = "elastic-container-registry-image.png"


class ElasticContainerRegistryRegistry(_Compute):
_icon = "elastic-container-registry-registry.png"


class ElasticContainerRegistry(_Compute):
_icon = "elastic-container-registry.png"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 ElasticContainerRegistry* duplicates the existing EC2ContainerRegistry* family without updating the alias

Three new classes — ElasticContainerRegistry, ElasticContainerRegistryImage, ElasticContainerRegistryRegistry — provide icons that are functionally equivalent to the pre-existing EC2ContainerRegistry, EC2ContainerRegistryImage, EC2ContainerRegistryRegistry. The ECR alias at line 295 still maps to EC2ContainerRegistry, so users relying on the alias will get the old class while new docs point to the new one. If the intent was to migrate naming, consider re-pointing the alias and noting the deprecation; if both sets are intentionally kept, a brief comment explaining the distinction would help.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add AWS compute architecture icons

1 participant