Provider icon
Stackにはprovider-neutralなcore icon catalogが含まれます。AWS、Google Cloud、Azure、主要な開発・collaboration toolのartworkは、user-managed icon storeに保存するprovider packとして利用できます。
利用可能なprovider catalog
監査済みcatalogには合計1,051 IDがあります。AWS Architecture Icons 305件、Google Cloudのproduct・category icon 45件、Azure service icon 639件、主要tool icon 62件です。Tool catalogにはGitHub、GitHub Actions、Notion、Linear、Atlassian、Jira、Confluence、Docker、Kubernetes、Terraform、Datadog、Grafana、Sentryなどが含まれます。
Provider cardを選ぶとimport commandを確認できます。全catalogを検索・filterでき、小さいdeviceでも見やすいよう100件ずつ表示します。
1,051 件
aws:amazon-api-gatewayAmazon API GatewayNetworking Content Deliveryserviceaws:amazon-appflowAmazon AppFlowApplication Integrationserviceaws:amazon-application-recovery-controllerAmazon Application Recovery ControllerNetworking Content Deliveryserviceaws:amazon-athenaAmazon AthenaAnalyticsserviceaws:amazon-augmented-ai-a2iAmazon Augmented AI A2IArtificial Intelligenceserviceaws:amazon-auroraAmazon AuroraDatabasesdatabaseaws:amazon-bedrockAmazon BedrockArtificial Intelligenceserviceaws:amazon-bedrock-agentcoreAmazon Bedrock AgentCoreArtificial Intelligenceserviceaws:amazon-braketAmazon BraketQuantum Technologiesserviceaws:amazon-chimeAmazon ChimeBusiness Applicationsserviceaws:amazon-chime-sdkAmazon Chime SDKBusiness Applicationsserviceaws:amazon-cloud-directoryAmazon Cloud DirectorySecurity Identityserviceaws:amazon-cloudfrontAmazon CloudFrontNetworking Content Deliveryserviceaws:amazon-cloudsearchAmazon CloudSearchAnalyticsserviceaws:amazon-cloudwatchAmazon CloudWatchManagement Toolsserviceaws:amazon-codecatalystAmazon CodeCatalystDeveloper Toolsserviceaws:amazon-codeguruAmazon CodeGuruArtificial Intelligenceserviceaws:amazon-codewhispererAmazon CodeWhispererArtificial Intelligenceserviceaws:amazon-cognitoAmazon CognitoSecurity Identityserviceaws:amazon-comprehendAmazon ComprehendArtificial Intelligenceserviceaws:amazon-comprehend-medicalAmazon Comprehend MedicalArtificial Intelligenceserviceaws:amazon-connectAmazon ConnectBusiness Applicationsserviceaws:amazon-correttoAmazon CorrettoDeveloper Toolsserviceaws:amazon-data-firehoseAmazon Data FirehoseAnalyticsserviceaws:amazon-datazoneAmazon DataZoneAnalyticsserviceaws:amazon-dcvAmazon DCVComputeserviceaws:amazon-detectiveAmazon DetectiveSecurity Identityserviceaws:amazon-devops-guruAmazon DevOps GuruArtificial Intelligenceserviceaws:amazon-documentdbAmazon DocumentDBDatabasesdatabaseaws:amazon-ec2-auto-scalingAmazon EC2 Auto ScalingComputeserviceaws:amazon-ec2-image-builderAmazon EC2 Image BuilderComputeserviceaws:amazon-ecs-anywhereAmazon ECS AnywhereContainersserviceaws:amazon-efsAmazon EFSStoragestorageaws:amazon-eks-anywhereAmazon EKS AnywhereContainersserviceaws:amazon-eks-distroAmazon EKS DistroContainersserviceaws:amazon-elastic-block-storeAmazon Elastic Block StoreStoragestorageaws:amazon-elastic-container-registryAmazon Elastic Container RegistryContainersserviceaws:amazon-elastic-container-serviceAmazon Elastic Container ServiceContainersserviceaws:amazon-elastic-inferenceAmazon Elastic InferenceArtificial Intelligenceserviceaws:amazon-elastic-vmware-serviceAmazon Elastic VMware ServiceComputeserviceaws:amazon-elasticacheAmazon ElastiCacheDatabasescacheaws:amazon-emrAmazon EMRAnalyticsserviceaws:amazon-eventbridgeAmazon EventBridgeApplication Integrationqueueaws:amazon-file-cacheAmazon File CacheStoragestorageaws:amazon-finspaceAmazon FinSpaceAnalyticsserviceaws:amazon-forecastAmazon ForecastArtificial Intelligenceserviceaws:amazon-fraud-detectorAmazon Fraud DetectorArtificial Intelligenceserviceaws:amazon-fsxAmazon FSxStoragestorageaws:amazon-fsx-for-lustreAmazon FSx for LustreStoragestorageaws:amazon-fsx-for-netapp-ontapAmazon FSx for NetApp ONTAPStoragestorageaws:amazon-fsx-for-openzfsAmazon FSx for OpenZFSStoragestorageaws:amazon-fsx-for-wfsAmazon FSx for WFSStoragestorageaws:amazon-gamelift-serversAmazon GameLift ServersGamesserviceaws:amazon-gamelift-streamsAmazon GameLift StreamsGamesserviceaws:amazon-guarddutyAmazon GuardDutySecurity Identityserviceaws:amazon-inspectorAmazon InspectorSecurity Identityserviceaws:amazon-interactive-video-serviceAmazon Interactive Video ServiceMedia Servicesserviceaws:amazon-kendraAmazon KendraArtificial Intelligenceserviceaws:amazon-keyspacesAmazon KeyspacesDatabasesdatabaseaws:amazon-kinesisAmazon KinesisAnalyticsserviceaws:amazon-kinesis-data-streamsAmazon Kinesis Data StreamsAnalyticsserviceaws:amazon-kinesis-video-streamsAmazon Kinesis Video StreamsAnalyticsserviceaws:amazon-kinesis-video-streams-media-servicesAmazon Kinesis Video StreamsMedia Servicesserviceaws:amazon-lexAmazon LexArtificial Intelligenceserviceaws:amazon-lightsailAmazon LightsailComputeserviceaws:amazon-lightsail-for-researchAmazon Lightsail for ResearchComputeserviceaws:amazon-location-serviceAmazon Location ServiceFront End Web Mobileserviceaws:amazon-lookout-for-equipmentAmazon Lookout for EquipmentArtificial Intelligenceserviceaws:amazon-lookout-for-visionAmazon Lookout for VisionArtificial Intelligenceserviceaws:amazon-macieAmazon MacieSecurity Identityserviceaws:amazon-managed-blockchainAmazon Managed BlockchainBlockchainserviceaws:amazon-managed-grafanaAmazon Managed GrafanaManagement Toolsserviceaws:amazon-managed-service-for-apache-flinkAmazon Managed Service for Apache FlinkAnalyticsserviceaws:amazon-managed-service-for-prometheusAmazon Managed Service for PrometheusManagement Toolsserviceaws:amazon-managed-streaming-for-apache-kafkaAmazon Managed Streaming for Apache KafkaAnalyticsserviceaws:amazon-managed-workflows-for-apache-airflowAmazon Managed Workflows for Apache AirflowApplication Integrationserviceaws:amazon-memorydbAmazon MemoryDBDatabasescacheaws:amazon-monitronAmazon MonitronArtificial Intelligenceserviceaws:amazon-mqAmazon MQApplication Integrationserviceaws:amazon-neptuneAmazon NeptuneDatabasesdatabaseaws:amazon-novaAmazon NovaArtificial Intelligenceserviceaws:amazon-opensearch-serviceAmazon OpenSearch ServiceAnalyticsserviceaws:amazon-personalizeAmazon PersonalizeArtificial Intelligenceserviceaws:amazon-pinpointAmazon PinpointBusiness Applicationsserviceaws:amazon-pinpoint-apisAmazon Pinpoint APIsBusiness Applicationsserviceaws:amazon-pollyAmazon PollyArtificial Intelligenceserviceaws:amazon-qAmazon QArtificial Intelligenceserviceaws:amazon-quickAmazon QuickBusiness Applicationsserviceaws:amazon-redshiftAmazon RedshiftAnalyticsserviceaws:amazon-rekognitionAmazon RekognitionArtificial Intelligenceserviceaws:amazon-route-53Amazon Route 53Networking Content Deliveryserviceaws:amazon-s3-on-outpostsAmazon S3 on OutpostsStoragestorageaws:amazon-sagemakerAmazon SageMakerAnalyticsserviceaws:amazon-sagemaker-aiAmazon SageMaker AIArtificial Intelligenceserviceaws:amazon-sagemaker-ground-truthAmazon SageMaker Ground TruthArtificial Intelligenceserviceaws:amazon-sagemaker-studio-labAmazon SageMaker Studio LabArtificial Intelligenceserviceaws:amazon-security-lakeAmazon Security LakeSecurity Identityserviceaws:amazon-simple-email-serviceAmazon Simple Email ServiceBusiness Applicationsserviceaws:amazon-simple-notification-serviceAmazon Simple Notification ServiceApplication Integrationserviceaws:amazon-simple-storage-service-glacierAmazon Simple Storage Service GlacierStoragestorageProvider packが追加するのはartworkです。Semantic stylingとlayoutはStack sourceに書いたnode kindが引き続き決めます。
Quick start
Diagramで使うproviderを一度ずつimportします。--accept-termsは、link先のprovider・brand termsを確認して同意したことを記録します。
$ stack icons import gcp --accept-terms
$ stack icons import simple-icons --accept-terms
$ stack render architecture.stack -o architecture.svgCLIは監査済みの公式archiveをdownloadし、archive全体のSHA-256を検証し、選択したSVGをsanitizeして、処理済みprovider packをshared icon storeへ保存します。Google Cloudのproduct・category artworkは1つのgcp commandで一緒にimportされます。
CLIでprovider iconを使う
1つのStack fileで複数providerを利用できます。次の例はGoogle CloudのCloud RunとSimple IconsのGitHubを組み合わせます。
stack 1.0
diagram "Deploy from GitHub to Cloud Run" {
node repository "GitHub" {
kind external
icon "simple-icons:github"
}
node service "Cloud Run" {
kind service
icon "gcp:cloud-run"
}
edge repository -> service "Deploy" {
kind dependency
}
}2つをimportした後は、通常のrender commandが両方のpackを見つけます。
$ stack render architecture.stack -o architecture.svg --notice architecture.NOTICE.mdShared icon store
Default icon storeは$XDG_CONFIG_HOME/stack/iconsです。XDG_CONFIG_HOMEが未設定の場合は$HOME/.config/stack/iconsを使います。
icons/
aws/
gcp/
azure/
simple-icons/$XDG_CONFIG_HOME/stack/config.yamlにabsolute pathを書くと、shared locationを変更できます。
default_icons_path: /absolute/path/to/stack-iconsこのlocationはstack icons importとstack renderの両方で使われます。
Playgroundでprovider iconを使う
Iconsを開いてstack/icons folderを選ぶと、Playgroundがstore内の認識可能なprovider directoryをすべてloadします。Loadしたartworkを検索し、選択するとIDをStack sourceへcopyできます。
選択したpackは現在のbrowser tabで処理されます。生成diagramにprovider artworkが含まれる場合は、SVG download横のNoticeからsource、terms、使用iconの記録を取得できます。
Iconをprojectと一緒に管理する
Import済みpackをrepositoryへ含める場合は、-oでproject directoryを指定します。
$ stack icons import gcp --accept-terms -o .stack-icons
$ stack icons import simple-icons --accept-terms -o .stack-iconsRender時は--provider-packへ同じicon-store rootを渡します。
$ stack render architecture.stack \
--provider-pack .stack-icons \
-o architecture.svg \
--notice architecture.NOTICE.mdIcon IDを探す
CLIまたはこのpageでcatalogを検索できます。
$ stack icons list
$ stack icons list aws s3
$ stack icons list azure database
$ stack icons list simple-icons githubCLI outputにはID、PRODUCT、CATEGORY、推奨KINDが含まれます。gcp:cloud-runやsimple-icons:githubのようなnamespaced IDが対応するpackのartworkを選択します。
検証・terms・notice
CLI catalogは公式HTTPS archive URL、release、archive全体のSHA-256、allowlist済みentry path、terms URL、review dateをpinしています。Importではarchive・SVGのsizeを制限し、active・external SVG contentをsanitizeして、packをatomicに保存します。
各packにはNOTICE.mdが含まれます。stack render --notice <PATH>は、実際のpack revision、source release、terms URL、attribution、non-endorsement text、使用icon IDを出力します。Catalogから各providerの公式sourceとterms、Simple Iconsのbrand sourceとguidelineを確認できます。