From 83b34dd3c5ba305396c757dddcb30f207bda4b55 Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Fri, 12 Jun 2020 09:27:46 +0200 Subject: [PATCH] Add: Tekton CLI Signed-off-by: Nicolas Lamirault --- diagrams/onprem/cd.py | 4 + docs/nodes/alibabacloud.md | 144 ++++++++++----------- docs/nodes/aws.md | 156 ++++++---------------- docs/nodes/azure.md | 201 ++++++++++++++--------------- docs/nodes/gcp.md | 136 +++++++++---------- docs/nodes/k8s.md | 66 +++++----- docs/nodes/oci.md | 130 +++++++++---------- docs/nodes/onprem.md | 181 +++++++++++++------------- docs/nodes/programming.md | 28 ++-- resources/onprem/cd/tekton-cli.png | Bin 0 -> 36375 bytes 10 files changed, 481 insertions(+), 565 deletions(-) create mode 100644 resources/onprem/cd/tekton-cli.png diff --git a/diagrams/onprem/cd.py b/diagrams/onprem/cd.py index 9e7f577b1..bda0b6829 100644 --- a/diagrams/onprem/cd.py +++ b/diagrams/onprem/cd.py @@ -12,6 +12,10 @@ class Spinnaker(_Cd): _icon = "spinnaker.png" +class TektonCli(_Cd): + _icon = "tekton-cli.png" + + class Tekton(_Cd): _icon = "tekton.png" diff --git a/docs/nodes/alibabacloud.md b/docs/nodes/alibabacloud.md index fc8ea0bff..cc274c240 100644 --- a/docs/nodes/alibabacloud.md +++ b/docs/nodes/alibabacloud.md @@ -5,33 +5,13 @@ title: AlibabaCloud Node classes list of alibabacloud provider. -## alibabacloud.security - -- **diagrams.alibabacloud.security.AntiBotService**, **ABS** (alias) -- **diagrams.alibabacloud.security.AntiDdosBasic** -- **diagrams.alibabacloud.security.AntiDdosPro** -- **diagrams.alibabacloud.security.AntifraudService**, **AS** (alias) -- **diagrams.alibabacloud.security.BastionHost** -- **diagrams.alibabacloud.security.CloudFirewall**, **CFW** (alias) -- **diagrams.alibabacloud.security.CloudSecurityScanner** -- **diagrams.alibabacloud.security.ContentModeration**, **CM** (alias) -- **diagrams.alibabacloud.security.CrowdsourcedSecurityTesting** -- **diagrams.alibabacloud.security.DataEncryptionService**, **DES** (alias) -- **diagrams.alibabacloud.security.DbAudit** -- **diagrams.alibabacloud.security.GameShield** -- **diagrams.alibabacloud.security.IdVerification** -- **diagrams.alibabacloud.security.ManagedSecurityService** -- **diagrams.alibabacloud.security.SecurityCenter** -- **diagrams.alibabacloud.security.ServerGuard** -- **diagrams.alibabacloud.security.SslCertificates** -- **diagrams.alibabacloud.security.WebApplicationFirewall**, **WAF** (alias) - -## alibabacloud.iot +## alibabacloud.analytics -- **diagrams.alibabacloud.iot.IotInternetDeviceId** -- **diagrams.alibabacloud.iot.IotLinkWan** -- **diagrams.alibabacloud.iot.IotMobileConnectionPackage** -- **diagrams.alibabacloud.iot.IotPlatform** +- **diagrams.alibabacloud.analytics.AnalyticDb** +- **diagrams.alibabacloud.analytics.ClickHouse** +- **diagrams.alibabacloud.analytics.DataLakeAnalytics** +- **diagrams.alibabacloud.analytics.ElaticMapReduce** +- **diagrams.alibabacloud.analytics.OpenSearch** ## alibabacloud.application @@ -50,36 +30,28 @@ Node classes list of alibabacloud provider. - **diagrams.alibabacloud.application.SmartConversationAnalysis**, **SCA** (alias) - **diagrams.alibabacloud.application.Yida** -## alibabacloud.network - -- **diagrams.alibabacloud.network.Cdn** -- **diagrams.alibabacloud.network.CloudEnterpriseNetwork**, **CEN** (alias) -- **diagrams.alibabacloud.network.ElasticIpAddress**, **EIP** (alias) -- **diagrams.alibabacloud.network.ExpressConnect** -- **diagrams.alibabacloud.network.NatGateway** -- **diagrams.alibabacloud.network.ServerLoadBalancer**, **SLB** (alias) -- **diagrams.alibabacloud.network.SmartAccessGateway** -- **diagrams.alibabacloud.network.VirtualPrivateCloud**, **VPC** (alias) -- **diagrams.alibabacloud.network.VpnGateway** - -## alibabacloud.storage +## alibabacloud.communication -- **diagrams.alibabacloud.storage.CloudStorageGateway** -- **diagrams.alibabacloud.storage.FileStorageHdfs**, **HDFS** (alias) -- **diagrams.alibabacloud.storage.FileStorageNas**, **NAS** (alias) -- **diagrams.alibabacloud.storage.HybridBackupRecovery**, **HBR** (alias) -- **diagrams.alibabacloud.storage.HybridCloudDisasterRecovery**, **HDR** (alias) -- **diagrams.alibabacloud.storage.Imm** -- **diagrams.alibabacloud.storage.ObjectStorageService**, **OSS** (alias) -- **diagrams.alibabacloud.storage.ObjectTableStore**, **OTS** (alias) +- **diagrams.alibabacloud.communication.DirectMail** +- **diagrams.alibabacloud.communication.MobilePush** -## alibabacloud.analytics +## alibabacloud.compute -- **diagrams.alibabacloud.analytics.AnalyticDb** -- **diagrams.alibabacloud.analytics.ClickHouse** -- **diagrams.alibabacloud.analytics.DataLakeAnalytics** -- **diagrams.alibabacloud.analytics.ElaticMapReduce** -- **diagrams.alibabacloud.analytics.OpenSearch** +- **diagrams.alibabacloud.compute.AutoScaling**, **ESS** (alias) +- **diagrams.alibabacloud.compute.BatchCompute** +- **diagrams.alibabacloud.compute.ContainerRegistry** +- **diagrams.alibabacloud.compute.ContainerService** +- **diagrams.alibabacloud.compute.ElasticComputeService**, **ECS** (alias) +- **diagrams.alibabacloud.compute.ElasticContainerInstance**, **ECI** (alias) +- **diagrams.alibabacloud.compute.ElasticHighPerformanceComputing**, **EHPC** (alias) +- **diagrams.alibabacloud.compute.ElasticSearch** +- **diagrams.alibabacloud.compute.FunctionCompute**, **FC** (alias) +- **diagrams.alibabacloud.compute.OperationOrchestrationService**, **OOS** (alias) +- **diagrams.alibabacloud.compute.ResourceOrchestrationService**, **ROS** (alias) +- **diagrams.alibabacloud.compute.ServerLoadBalancer**, **SLB** (alias) +- **diagrams.alibabacloud.compute.ServerlessAppEngine**, **SAE** (alias) +- **diagrams.alibabacloud.compute.SimpleApplicationServer**, **SAS** (alias) +- **diagrams.alibabacloud.compute.WebAppService**, **WAS** (alias) ## alibabacloud.database @@ -101,28 +73,56 @@ Node classes list of alibabacloud provider. - **diagrams.alibabacloud.database.HybriddbForMysql** - **diagrams.alibabacloud.database.RelationalDatabaseService**, **RDS** (alias) -## alibabacloud.compute +## alibabacloud.iot -- **diagrams.alibabacloud.compute.AutoScaling**, **ESS** (alias) -- **diagrams.alibabacloud.compute.BatchCompute** -- **diagrams.alibabacloud.compute.ContainerRegistry** -- **diagrams.alibabacloud.compute.ContainerService** -- **diagrams.alibabacloud.compute.ElasticComputeService**, **ECS** (alias) -- **diagrams.alibabacloud.compute.ElasticContainerInstance**, **ECI** (alias) -- **diagrams.alibabacloud.compute.ElasticHighPerformanceComputing**, **EHPC** (alias) -- **diagrams.alibabacloud.compute.ElasticSearch** -- **diagrams.alibabacloud.compute.FunctionCompute**, **FC** (alias) -- **diagrams.alibabacloud.compute.OperationOrchestrationService**, **OOS** (alias) -- **diagrams.alibabacloud.compute.ResourceOrchestrationService**, **ROS** (alias) -- **diagrams.alibabacloud.compute.ServerLoadBalancer**, **SLB** (alias) -- **diagrams.alibabacloud.compute.ServerlessAppEngine**, **SAE** (alias) -- **diagrams.alibabacloud.compute.SimpleApplicationServer**, **SAS** (alias) -- **diagrams.alibabacloud.compute.WebAppService**, **WAS** (alias) +- **diagrams.alibabacloud.iot.IotInternetDeviceId** +- **diagrams.alibabacloud.iot.IotLinkWan** +- **diagrams.alibabacloud.iot.IotMobileConnectionPackage** +- **diagrams.alibabacloud.iot.IotPlatform** -## alibabacloud.communication +## alibabacloud.network -- **diagrams.alibabacloud.communication.DirectMail** -- **diagrams.alibabacloud.communication.MobilePush** +- **diagrams.alibabacloud.network.Cdn** +- **diagrams.alibabacloud.network.CloudEnterpriseNetwork**, **CEN** (alias) +- **diagrams.alibabacloud.network.ElasticIpAddress**, **EIP** (alias) +- **diagrams.alibabacloud.network.ExpressConnect** +- **diagrams.alibabacloud.network.NatGateway** +- **diagrams.alibabacloud.network.ServerLoadBalancer**, **SLB** (alias) +- **diagrams.alibabacloud.network.SmartAccessGateway** +- **diagrams.alibabacloud.network.VirtualPrivateCloud**, **VPC** (alias) +- **diagrams.alibabacloud.network.VpnGateway** + +## alibabacloud.security + +- **diagrams.alibabacloud.security.AntiBotService**, **ABS** (alias) +- **diagrams.alibabacloud.security.AntiDdosBasic** +- **diagrams.alibabacloud.security.AntiDdosPro** +- **diagrams.alibabacloud.security.AntifraudService**, **AS** (alias) +- **diagrams.alibabacloud.security.BastionHost** +- **diagrams.alibabacloud.security.CloudFirewall**, **CFW** (alias) +- **diagrams.alibabacloud.security.CloudSecurityScanner** +- **diagrams.alibabacloud.security.ContentModeration**, **CM** (alias) +- **diagrams.alibabacloud.security.CrowdsourcedSecurityTesting** +- **diagrams.alibabacloud.security.DataEncryptionService**, **DES** (alias) +- **diagrams.alibabacloud.security.DbAudit** +- **diagrams.alibabacloud.security.GameShield** +- **diagrams.alibabacloud.security.IdVerification** +- **diagrams.alibabacloud.security.ManagedSecurityService** +- **diagrams.alibabacloud.security.SecurityCenter** +- **diagrams.alibabacloud.security.ServerGuard** +- **diagrams.alibabacloud.security.SslCertificates** +- **diagrams.alibabacloud.security.WebApplicationFirewall**, **WAF** (alias) + +## alibabacloud.storage + +- **diagrams.alibabacloud.storage.CloudStorageGateway** +- **diagrams.alibabacloud.storage.FileStorageHdfs**, **HDFS** (alias) +- **diagrams.alibabacloud.storage.FileStorageNas**, **NAS** (alias) +- **diagrams.alibabacloud.storage.HybridBackupRecovery**, **HBR** (alias) +- **diagrams.alibabacloud.storage.HybridCloudDisasterRecovery**, **HDR** (alias) +- **diagrams.alibabacloud.storage.Imm** +- **diagrams.alibabacloud.storage.ObjectStorageService**, **OSS** (alias) +- **diagrams.alibabacloud.storage.ObjectTableStore**, **OTS** (alias) ## alibabacloud.web diff --git a/docs/nodes/aws.md b/docs/nodes/aws.md index 5ab1e4857..ef5bdec2d 100644 --- a/docs/nodes/aws.md +++ b/docs/nodes/aws.md @@ -89,25 +89,9 @@ Node classes list of aws provider. ## aws.engagement -- **diagrams.aws.ml.ApacheMxnetOnAWS** -- **diagrams.aws.ml.Comprehend** -- **diagrams.aws.ml.DeepLearningAmis** -- **diagrams.aws.ml.DeepLearningContainers**, **DLC** (alias) -- **diagrams.aws.ml.Deeplens** -- **diagrams.aws.ml.Deepracer** -- **diagrams.aws.ml.ElasticInference** -- **diagrams.aws.ml.Forecast** -- **diagrams.aws.ml.Lex** -- **diagrams.aws.ml.MachineLearning** -- **diagrams.aws.ml.Personalize** -- **diagrams.aws.ml.Polly** -- **diagrams.aws.ml.Rekognition** -- **diagrams.aws.ml.SagemakerGroundTruth** -- **diagrams.aws.ml.Sagemaker** -- **diagrams.aws.ml.TensorflowOnAWS** -- **diagrams.aws.ml.Textract** -- **diagrams.aws.ml.Transcribe** -- **diagrams.aws.ml.Translate** +- **diagrams.aws.engagement.Connect** +- **diagrams.aws.engagement.Pinpoint** +- **diagrams.aws.engagement.SimpleEmailServiceSes**, **SES** (alias) ## aws.game @@ -138,7 +122,7 @@ Node classes list of aws provider. - **diagrams.aws.integration.SimpleQueueServiceSqs**, **SQS** (alias) - **diagrams.aws.integration.StepFunctions**, **SF** (alias) -## aws.media +## aws.iot - **diagrams.aws.iot.Freertos**, **FreeRTOS** (alias) - **diagrams.aws.iot.InternetOfThings** @@ -184,20 +168,19 @@ Node classes list of aws provider. - **diagrams.aws.management.TrustedAdvisor** - **diagrams.aws.management.WellArchitectedTool** -## aws.iot +## aws.media -- **diagrams.aws.iot.Freertos**, **FreeRTOS** (alias) -- **diagrams.aws.iot.InternetOfThings** -- **diagrams.aws.iot.Iot1Click** -- **diagrams.aws.iot.IotAnalytics** -- **diagrams.aws.iot.IotButton** -- **diagrams.aws.iot.IotCore** -- **diagrams.aws.iot.IotDeviceDefender** -- **diagrams.aws.iot.IotDeviceManagement** -- **diagrams.aws.iot.IotEvents** -- **diagrams.aws.iot.IotGreengrass** -- **diagrams.aws.iot.IotSitewise** -- **diagrams.aws.iot.IotThingsGraph** +- **diagrams.aws.media.ElasticTranscoder** +- **diagrams.aws.media.ElementalConductor** +- **diagrams.aws.media.ElementalDelta** +- **diagrams.aws.media.ElementalLive** +- **diagrams.aws.media.ElementalMediaconnect** +- **diagrams.aws.media.ElementalMediaconvert** +- **diagrams.aws.media.ElementalMedialive** +- **diagrams.aws.media.ElementalMediapackage** +- **diagrams.aws.media.ElementalMediastore** +- **diagrams.aws.media.ElementalMediatailor** +- **diagrams.aws.media.ElementalServer** ## aws.migration @@ -213,6 +196,28 @@ Node classes list of aws provider. - **diagrams.aws.migration.Snowmobile** - **diagrams.aws.migration.TransferForSftp** +## aws.ml + +- **diagrams.aws.ml.ApacheMxnetOnAWS** +- **diagrams.aws.ml.Comprehend** +- **diagrams.aws.ml.DeepLearningAmis** +- **diagrams.aws.ml.DeepLearningContainers**, **DLC** (alias) +- **diagrams.aws.ml.Deeplens** +- **diagrams.aws.ml.Deepracer** +- **diagrams.aws.ml.ElasticInference** +- **diagrams.aws.ml.Forecast** +- **diagrams.aws.ml.Lex** +- **diagrams.aws.ml.MachineLearning** +- **diagrams.aws.ml.Personalize** +- **diagrams.aws.ml.Polly** +- **diagrams.aws.ml.Rekognition** +- **diagrams.aws.ml.SagemakerGroundTruth** +- **diagrams.aws.ml.Sagemaker** +- **diagrams.aws.ml.TensorflowOnAWS** +- **diagrams.aws.ml.Textract** +- **diagrams.aws.ml.Transcribe** +- **diagrams.aws.ml.Translate** + ## aws.network - **diagrams.aws.network.APIGateway** @@ -290,88 +295,3 @@ Node classes list of aws provider. - **diagrams.aws.storage.Snowmobile** - **diagrams.aws.storage.StorageGateway** - **diagrams.aws.storage.Storage** - -## aws.analytics - -- **diagrams.aws.analytics.Analytics** -- **diagrams.aws.analytics.Athena** -- **diagrams.aws.analytics.CloudsearchSearchDocuments** -- **diagrams.aws.analytics.Cloudsearch** -- **diagrams.aws.analytics.DataPipeline** -- **diagrams.aws.analytics.ElasticsearchService**, **ES** (alias) -- **diagrams.aws.analytics.EMRCluster** -- **diagrams.aws.analytics.EMRHdfsCluster** -- **diagrams.aws.analytics.EMR** -- **diagrams.aws.analytics.GlueCrawlers** -- **diagrams.aws.analytics.GlueDataCatalog** -- **diagrams.aws.analytics.Glue** -- **diagrams.aws.analytics.KinesisDataAnalytics** -- **diagrams.aws.analytics.KinesisDataFirehose** -- **diagrams.aws.analytics.KinesisDataStreams** -- **diagrams.aws.analytics.KinesisVideoStreams** -- **diagrams.aws.analytics.Kinesis** -- **diagrams.aws.analytics.LakeFormation** -- **diagrams.aws.analytics.ManagedStreamingForKafka** -- **diagrams.aws.analytics.Quicksight** -- **diagrams.aws.analytics.RedshiftDenseComputeNode** -- **diagrams.aws.analytics.RedshiftDenseStorageNode** -- **diagrams.aws.analytics.Redshift** - -## aws.database - -- **diagrams.aws.database.Aurora** -- **diagrams.aws.database.DatabaseMigrationService**, **DMS** (alias) -- **diagrams.aws.database.Database**, **DB** (alias) -- **diagrams.aws.database.DocumentdbMongodbCompatibility**, **DocumentDB** (alias) -- **diagrams.aws.database.Dynamodb**, **DDB** (alias) -- **diagrams.aws.database.Elasticache**, **ElastiCache** (alias) -- **diagrams.aws.database.Neptune** -- **diagrams.aws.database.QuantumLedgerDatabaseQldb**, **QLDB** (alias) -- **diagrams.aws.database.RDSOnVmware** -- **diagrams.aws.database.RDS** -- **diagrams.aws.database.Redshift** -- **diagrams.aws.database.Timestream** - -## aws.compute - -- **diagrams.aws.compute.ApplicationAutoScaling**, **AutoScaling** (alias) -- **diagrams.aws.compute.Batch** -- **diagrams.aws.compute.Compute** -- **diagrams.aws.compute.EC2ContainerRegistry**, **ECR** (alias) -- **diagrams.aws.compute.EC2** -- **diagrams.aws.compute.ElasticBeanstalk**, **EB** (alias) -- **diagrams.aws.compute.ElasticContainerService**, **ECS** (alias) -- **diagrams.aws.compute.ElasticKubernetesService**, **EKS** (alias) -- **diagrams.aws.compute.Fargate** -- **diagrams.aws.compute.Lambda** -- **diagrams.aws.compute.Lightsail** -- **diagrams.aws.compute.Outposts** -- **diagrams.aws.compute.ServerlessApplicationRepository**, **SAR** (alias) -- **diagrams.aws.compute.ThinkboxDeadline** -- **diagrams.aws.compute.ThinkboxDraft** -- **diagrams.aws.compute.ThinkboxFrost** -- **diagrams.aws.compute.ThinkboxKrakatoa** -- **diagrams.aws.compute.ThinkboxSequoia** -- **diagrams.aws.compute.ThinkboxStoke** -- **diagrams.aws.compute.ThinkboxXmesh** -- **diagrams.aws.compute.VmwareCloudOnAWS** - -## aws.engagement - -- **diagrams.aws.engagement.Connect** -- **diagrams.aws.engagement.Pinpoint** -- **diagrams.aws.engagement.SimpleEmailServiceSes**, **SES** (alias) - -## aws.devtools - -- **diagrams.aws.devtools.CloudDevelopmentKit** -- **diagrams.aws.devtools.Cloud9** -- **diagrams.aws.devtools.Codebuild** -- **diagrams.aws.devtools.Codecommit** -- **diagrams.aws.devtools.Codedeploy** -- **diagrams.aws.devtools.Codepipeline** -- **diagrams.aws.devtools.Codestar** -- **diagrams.aws.devtools.CommandLineInterface**, **CLI** (alias) -- **diagrams.aws.devtools.DeveloperTools**, **DevTools** (alias) -- **diagrams.aws.devtools.ToolsAndSdks** -- **diagrams.aws.devtools.XRay** diff --git a/docs/nodes/azure.md b/docs/nodes/azure.md index 41216a52d..076b18d83 100644 --- a/docs/nodes/azure.md +++ b/docs/nodes/azure.md @@ -5,42 +5,73 @@ title: Azure Node classes list of azure provider. -## azure.ml +## azure.analytics -- **diagrams.azure.ml.BatchAI** -- **diagrams.azure.ml.BotServices** -- **diagrams.azure.ml.CognitiveServices** -- **diagrams.azure.ml.GenomicsAccounts** -- **diagrams.azure.ml.MachineLearningServiceWorkspaces** -- **diagrams.azure.ml.MachineLearningStudioWebServicePlans** -- **diagrams.azure.ml.MachineLearningStudioWebServices** -- **diagrams.azure.ml.MachineLearningStudioWorkspaces** +- **diagrams.azure.analytics.AnalysisServices** +- **diagrams.azure.analytics.DataExplorerClusters** +- **diagrams.azure.analytics.DataFactories** +- **diagrams.azure.analytics.DataLakeAnalytics** +- **diagrams.azure.analytics.DataLakeStoreGen1** +- **diagrams.azure.analytics.Databricks** +- **diagrams.azure.analytics.EventHubClusters** +- **diagrams.azure.analytics.EventHubs** +- **diagrams.azure.analytics.Hdinsightclusters** +- **diagrams.azure.analytics.LogAnalyticsWorkspaces** +- **diagrams.azure.analytics.StreamAnalyticsJobs** -## azure.integration +## azure.compute -- **diagrams.azure.integration.APIForFhir** -- **diagrams.azure.integration.APIManagement** -- **diagrams.azure.integration.AppConfiguration** -- **diagrams.azure.integration.DataCatalog** -- **diagrams.azure.integration.EventGridDomains** -- **diagrams.azure.integration.EventGridSubscriptions** -- **diagrams.azure.integration.EventGridTopics** -- **diagrams.azure.integration.IntegrationAccounts** -- **diagrams.azure.integration.IntegrationServiceEnvironments** -- **diagrams.azure.integration.LogicAppsCustomConnector** -- **diagrams.azure.integration.LogicApps** -- **diagrams.azure.integration.SendgridAccounts** -- **diagrams.azure.integration.ServiceBusRelays** -- **diagrams.azure.integration.ServiceBus** -- **diagrams.azure.integration.ServiceCatalogManagedApplicationDefinitions** -- **diagrams.azure.integration.SoftwareAsAService** -- **diagrams.azure.integration.StorsimpleDeviceManagers** +- **diagrams.azure.compute.AvailabilitySets** +- **diagrams.azure.compute.BatchAccounts** +- **diagrams.azure.compute.CitrixVirtualDesktopsEssentials** +- **diagrams.azure.compute.CloudServicesClassic** +- **diagrams.azure.compute.CloudServices** +- **diagrams.azure.compute.CloudsimpleVirtualMachines** +- **diagrams.azure.compute.ContainerInstances** +- **diagrams.azure.compute.ContainerRegistries**, **ACR** (alias) +- **diagrams.azure.compute.DiskSnapshots** +- **diagrams.azure.compute.Disks** +- **diagrams.azure.compute.FunctionApps** +- **diagrams.azure.compute.KubernetesServices**, **AKS** (alias) +- **diagrams.azure.compute.MeshApplications** +- **diagrams.azure.compute.SAPHANAOnAzure** +- **diagrams.azure.compute.ServiceFabricClusters** +- **diagrams.azure.compute.VMClassic** +- **diagrams.azure.compute.VMImages** +- **diagrams.azure.compute.VMLinux** +- **diagrams.azure.compute.VMWindows** +- **diagrams.azure.compute.VM** -## azure.security +## azure.database -- **diagrams.azure.security.KeyVaults** -- **diagrams.azure.security.SecurityCenter** -- **diagrams.azure.security.Sentinel** +- **diagrams.azure.database.BlobStorage** +- **diagrams.azure.database.CacheForRedis** +- **diagrams.azure.database.CosmosDb** +- **diagrams.azure.database.DataLake** +- **diagrams.azure.database.DatabaseForMariadbServers** +- **diagrams.azure.database.DatabaseForMysqlServers** +- **diagrams.azure.database.DatabaseForPostgresqlServers** +- **diagrams.azure.database.ElasticDatabasePools** +- **diagrams.azure.database.ElasticJobAgents** +- **diagrams.azure.database.ManagedDatabases** +- **diagrams.azure.database.SQLDatabases** +- **diagrams.azure.database.SQLDatawarehouse** +- **diagrams.azure.database.SQLManagedInstances** +- **diagrams.azure.database.SQLServerStretchDatabases** +- **diagrams.azure.database.SQLServers** +- **diagrams.azure.database.VirtualClusters** +- **diagrams.azure.database.VirtualDatacenter** + +## azure.devops + +- **diagrams.azure.devops.ApplicationInsights** +- **diagrams.azure.devops.Artifacts** +- **diagrams.azure.devops.Boards** +- **diagrams.azure.devops.Devops** +- **diagrams.azure.devops.DevtestLabs** +- **diagrams.azure.devops.Pipelines** +- **diagrams.azure.devops.Repos** +- **diagrams.azure.devops.TestPlans** ## azure.general @@ -73,9 +104,19 @@ Node classes list of azure provider. ## azure.identity -- **diagrams.azure.mobile.AppServiceMobile** -- **diagrams.azure.mobile.MobileEngagement** -- **diagrams.azure.mobile.NotificationHubs** +- **diagrams.azure.identity.AccessReview** +- **diagrams.azure.identity.ActiveDirectoryConnectHealth** +- **diagrams.azure.identity.ActiveDirectory** +- **diagrams.azure.identity.ADB2C** +- **diagrams.azure.identity.ADDomainServices** +- **diagrams.azure.identity.ADIdentityProtection** +- **diagrams.azure.identity.ADPrivilegedIdentityManagement** +- **diagrams.azure.identity.AppRegistrations** +- **diagrams.azure.identity.ConditionalAccess** +- **diagrams.azure.identity.EnterpriseApplications** +- **diagrams.azure.identity.IdentityGovernance** +- **diagrams.azure.identity.InformationProtection** +- **diagrams.azure.identity.ManagedIdentities** ## azure.integration @@ -116,6 +157,23 @@ Node classes list of azure provider. - **diagrams.azure.migration.MigrationProjects** - **diagrams.azure.migration.RecoveryServicesVaults** +## azure.ml + +- **diagrams.azure.ml.BatchAI** +- **diagrams.azure.ml.BotServices** +- **diagrams.azure.ml.CognitiveServices** +- **diagrams.azure.ml.GenomicsAccounts** +- **diagrams.azure.ml.MachineLearningServiceWorkspaces** +- **diagrams.azure.ml.MachineLearningStudioWebServicePlans** +- **diagrams.azure.ml.MachineLearningStudioWebServices** +- **diagrams.azure.ml.MachineLearningStudioWorkspaces** + +## azure.mobile + +- **diagrams.azure.mobile.AppServiceMobile** +- **diagrams.azure.mobile.MobileEngagement** +- **diagrams.azure.mobile.NotificationHubs** + ## azure.network - **diagrams.azure.network.ApplicationGateway** @@ -145,21 +203,11 @@ Node classes list of azure provider. - **diagrams.azure.network.VirtualNetworks** - **diagrams.azure.network.VirtualWans** -## azure.identity +## azure.security -- **diagrams.azure.identity.AccessReview** -- **diagrams.azure.identity.ActiveDirectoryConnectHealth** -- **diagrams.azure.identity.ActiveDirectory** -- **diagrams.azure.identity.ADB2C** -- **diagrams.azure.identity.ADDomainServices** -- **diagrams.azure.identity.ADIdentityProtection** -- **diagrams.azure.identity.ADPrivilegedIdentityManagement** -- **diagrams.azure.identity.AppRegistrations** -- **diagrams.azure.identity.ConditionalAccess** -- **diagrams.azure.identity.EnterpriseApplications** -- **diagrams.azure.identity.IdentityGovernance** -- **diagrams.azure.identity.InformationProtection** -- **diagrams.azure.identity.ManagedIdentities** +- **diagrams.azure.security.KeyVaults** +- **diagrams.azure.security.SecurityCenter** +- **diagrams.azure.security.Sentinel** ## azure.storage @@ -180,63 +228,6 @@ Node classes list of azure provider. - **diagrams.azure.storage.StorsimpleDeviceManagers** - **diagrams.azure.storage.TableStorage** -## azure.analytics - -- **diagrams.azure.analytics.AnalysisServices** -- **diagrams.azure.analytics.DataExplorerClusters** -- **diagrams.azure.analytics.DataFactories** -- **diagrams.azure.analytics.DataLakeAnalytics** -- **diagrams.azure.analytics.DataLakeStoreGen1** -- **diagrams.azure.analytics.Databricks** -- **diagrams.azure.analytics.EventHubClusters** -- **diagrams.azure.analytics.EventHubs** -- **diagrams.azure.analytics.Hdinsightclusters** -- **diagrams.azure.analytics.LogAnalyticsWorkspaces** -- **diagrams.azure.analytics.StreamAnalyticsJobs** - -## azure.database - -- **diagrams.azure.database.BlobStorage** -- **diagrams.azure.database.CacheForRedis** -- **diagrams.azure.database.CosmosDb** -- **diagrams.azure.database.DataLake** -- **diagrams.azure.database.DatabaseForMariadbServers** -- **diagrams.azure.database.DatabaseForMysqlServers** -- **diagrams.azure.database.DatabaseForPostgresqlServers** -- **diagrams.azure.database.ElasticDatabasePools** -- **diagrams.azure.database.ElasticJobAgents** -- **diagrams.azure.database.ManagedDatabases** -- **diagrams.azure.database.SQLDatabases** -- **diagrams.azure.database.SQLDatawarehouse** -- **diagrams.azure.database.SQLManagedInstances** -- **diagrams.azure.database.SQLServerStretchDatabases** -- **diagrams.azure.database.SQLServers** -- **diagrams.azure.database.VirtualClusters** -- **diagrams.azure.database.VirtualDatacenter** - -## azure.compute - -- **diagrams.azure.compute.AvailabilitySets** -- **diagrams.azure.compute.BatchAccounts** -- **diagrams.azure.compute.CitrixVirtualDesktopsEssentials** -- **diagrams.azure.compute.CloudServicesClassic** -- **diagrams.azure.compute.CloudServices** -- **diagrams.azure.compute.CloudsimpleVirtualMachines** -- **diagrams.azure.compute.ContainerInstances** -- **diagrams.azure.compute.ContainerRegistries**, **ACR** (alias) -- **diagrams.azure.compute.DiskSnapshots** -- **diagrams.azure.compute.Disks** -- **diagrams.azure.compute.FunctionApps** -- **diagrams.azure.compute.KubernetesServices**, **AKS** (alias) -- **diagrams.azure.compute.MeshApplications** -- **diagrams.azure.compute.SAPHANAOnAzure** -- **diagrams.azure.compute.ServiceFabricClusters** -- **diagrams.azure.compute.VMClassic** -- **diagrams.azure.compute.VMImages** -- **diagrams.azure.compute.VMLinux** -- **diagrams.azure.compute.VMWindows** -- **diagrams.azure.compute.VM** - ## azure.web - **diagrams.azure.web.APIConnections** diff --git a/docs/nodes/gcp.md b/docs/nodes/gcp.md index 35c435341..91032ce32 100644 --- a/docs/nodes/gcp.md +++ b/docs/nodes/gcp.md @@ -5,6 +5,65 @@ title: GCP Node classes list of gcp provider. +## gcp.analytics + +- **diagrams.gcp.analytics.Bigquery**, **BigQuery** (alias) +- **diagrams.gcp.analytics.Composer** +- **diagrams.gcp.analytics.DataCatalog** +- **diagrams.gcp.analytics.DataFusion** +- **diagrams.gcp.analytics.Dataflow** +- **diagrams.gcp.analytics.Datalab** +- **diagrams.gcp.analytics.Dataprep** +- **diagrams.gcp.analytics.Dataproc** +- **diagrams.gcp.analytics.Genomics** +- **diagrams.gcp.analytics.Pubsub**, **PubSub** (alias) + +## gcp.compute + +- **diagrams.gcp.compute.AppEngine**, **GAE** (alias) +- **diagrams.gcp.compute.ComputeEngine**, **GCE** (alias) +- **diagrams.gcp.compute.ContainerOptimizedOS** +- **diagrams.gcp.compute.Functions**, **GCF** (alias) +- **diagrams.gcp.compute.GKEOnPrem** +- **diagrams.gcp.compute.GPU** +- **diagrams.gcp.compute.KubernetesEngine**, **GKE** (alias) +- **diagrams.gcp.compute.Run** + +## gcp.database + +- **diagrams.gcp.database.Bigtable**, **BigTable** (alias) +- **diagrams.gcp.database.Datastore** +- **diagrams.gcp.database.Firestore** +- **diagrams.gcp.database.Memorystore** +- **diagrams.gcp.database.Spanner** +- **diagrams.gcp.database.SQL** + +## gcp.devtools + +- **diagrams.gcp.devtools.Build** +- **diagrams.gcp.devtools.CodeForIntellij** +- **diagrams.gcp.devtools.Code** +- **diagrams.gcp.devtools.ContainerRegistry**, **GCR** (alias) +- **diagrams.gcp.devtools.GradleAppEnginePlugin** +- **diagrams.gcp.devtools.IdePlugins** +- **diagrams.gcp.devtools.MavenAppEnginePlugin** +- **diagrams.gcp.devtools.Scheduler** +- **diagrams.gcp.devtools.SDK** +- **diagrams.gcp.devtools.SourceRepositories** +- **diagrams.gcp.devtools.Tasks** +- **diagrams.gcp.devtools.TestLab** +- **diagrams.gcp.devtools.ToolsForEclipse** +- **diagrams.gcp.devtools.ToolsForPowershell** +- **diagrams.gcp.devtools.ToolsForVisualStudio** + +## gcp.iot + +- **diagrams.gcp.iot.IotCore** + +## gcp.migration + +- **diagrams.gcp.migration.TransferAppliance** + ## gcp.ml - **diagrams.gcp.ml.AdvancedSolutionsLab** @@ -29,23 +88,6 @@ Node classes list of gcp provider. - **diagrams.gcp.ml.VideoIntelligenceAPI** - **diagrams.gcp.ml.VisionAPI** -## gcp.security - -- **diagrams.gcp.security.Iam** -- **diagrams.gcp.security.IAP** -- **diagrams.gcp.security.KeyManagementService**, **KMS** (alias) -- **diagrams.gcp.security.ResourceManager** -- **diagrams.gcp.security.SecurityCommandCenter**, **SCC** (alias) -- **diagrams.gcp.security.SecurityScanner** - -## gcp.iot - -- **diagrams.gcp.iot.IotCore** - -## gcp.migration - -- **diagrams.gcp.migration.TransferAppliance** - ## gcp.network - **diagrams.gcp.network.Armor** @@ -66,59 +108,17 @@ Node classes list of gcp provider. - **diagrams.gcp.network.VirtualPrivateCloud**, **VPC** (alias) - **diagrams.gcp.network.VPN** +## gcp.security + +- **diagrams.gcp.security.Iam** +- **diagrams.gcp.security.IAP** +- **diagrams.gcp.security.KeyManagementService**, **KMS** (alias) +- **diagrams.gcp.security.ResourceManager** +- **diagrams.gcp.security.SecurityCommandCenter**, **SCC** (alias) +- **diagrams.gcp.security.SecurityScanner** + ## gcp.storage - **diagrams.gcp.storage.Filestore** - **diagrams.gcp.storage.PersistentDisk** - **diagrams.gcp.storage.Storage**, **GCS** (alias) - -## gcp.analytics - -- **diagrams.gcp.analytics.Bigquery**, **BigQuery** (alias) -- **diagrams.gcp.analytics.Composer** -- **diagrams.gcp.analytics.DataCatalog** -- **diagrams.gcp.analytics.DataFusion** -- **diagrams.gcp.analytics.Dataflow** -- **diagrams.gcp.analytics.Datalab** -- **diagrams.gcp.analytics.Dataprep** -- **diagrams.gcp.analytics.Dataproc** -- **diagrams.gcp.analytics.Genomics** -- **diagrams.gcp.analytics.Pubsub**, **PubSub** (alias) - -## gcp.database - -- **diagrams.gcp.database.Bigtable**, **BigTable** (alias) -- **diagrams.gcp.database.Datastore** -- **diagrams.gcp.database.Firestore** -- **diagrams.gcp.database.Memorystore** -- **diagrams.gcp.database.Spanner** -- **diagrams.gcp.database.SQL** - -## gcp.compute - -- **diagrams.gcp.compute.AppEngine**, **GAE** (alias) -- **diagrams.gcp.compute.ComputeEngine**, **GCE** (alias) -- **diagrams.gcp.compute.ContainerOptimizedOS** -- **diagrams.gcp.compute.Functions**, **GCF** (alias) -- **diagrams.gcp.compute.GKEOnPrem** -- **diagrams.gcp.compute.GPU** -- **diagrams.gcp.compute.KubernetesEngine**, **GKE** (alias) -- **diagrams.gcp.compute.Run** - -## gcp.devtools - -- **diagrams.gcp.devtools.Build** -- **diagrams.gcp.devtools.CodeForIntellij** -- **diagrams.gcp.devtools.Code** -- **diagrams.gcp.devtools.ContainerRegistry**, **GCR** (alias) -- **diagrams.gcp.devtools.GradleAppEnginePlugin** -- **diagrams.gcp.devtools.IdePlugins** -- **diagrams.gcp.devtools.MavenAppEnginePlugin** -- **diagrams.gcp.devtools.Scheduler** -- **diagrams.gcp.devtools.SDK** -- **diagrams.gcp.devtools.SourceRepositories** -- **diagrams.gcp.devtools.Tasks** -- **diagrams.gcp.devtools.TestLab** -- **diagrams.gcp.devtools.ToolsForEclipse** -- **diagrams.gcp.devtools.ToolsForPowershell** -- **diagrams.gcp.devtools.ToolsForVisualStudio** diff --git a/docs/nodes/k8s.md b/docs/nodes/k8s.md index 6c9daa7dd..d52584d0a 100644 --- a/docs/nodes/k8s.md +++ b/docs/nodes/k8s.md @@ -5,27 +5,41 @@ title: K8S Node classes list of k8s provider. -## k8s.infra - -- **diagrams.k8s.infra.ETCD** -- **diagrams.k8s.infra.Master** -- **diagrams.k8s.infra.Node** - -## k8s.others - -- **diagrams.k8s.others.CRD** -- **diagrams.k8s.others.PSP** - ## k8s.clusterconfig - **diagrams.k8s.clusterconfig.HPA**, **HorizontalPodAutoscaler** (alias) - **diagrams.k8s.clusterconfig.Limits**, **LimitRange** (alias) - **diagrams.k8s.clusterconfig.Quota** +## k8s.compute + +- **diagrams.k8s.compute.Cronjob** +- **diagrams.k8s.compute.Deploy**, **Deployment** (alias) +- **diagrams.k8s.compute.DS**, **DaemonSet** (alias) +- **diagrams.k8s.compute.Job** +- **diagrams.k8s.compute.Pod** +- **diagrams.k8s.compute.RS**, **ReplicaSet** (alias) +- **diagrams.k8s.compute.STS**, **StatefulSet** (alias) + +## k8s.controlplane + +- **diagrams.k8s.controlplane.API**, **APIServer** (alias) +- **diagrams.k8s.controlplane.CCM** +- **diagrams.k8s.controlplane.CM**, **ControllerManager** (alias) +- **diagrams.k8s.controlplane.KProxy**, **KubeProxy** (alias) +- **diagrams.k8s.controlplane.Kubelet** +- **diagrams.k8s.controlplane.Sched**, **Scheduler** (alias) + ## k8s.group - **diagrams.k8s.group.NS**, **Namespace** (alias) +## k8s.infra + +- **diagrams.k8s.infra.ETCD** +- **diagrams.k8s.infra.Master** +- **diagrams.k8s.infra.Node** + ## k8s.network - **diagrams.k8s.network.Ep**, **Endpoint** (alias) @@ -33,22 +47,10 @@ Node classes list of k8s provider. - **diagrams.k8s.network.Netpol**, **NetworkPolicy** (alias) - **diagrams.k8s.network.SVC**, **Service** (alias) -## k8s.storage - -- **diagrams.k8s.storage.PV**, **PersistnetVolume** (alias) -- **diagrams.k8s.storage.PVC**, **PersistentVolumeClaim** (alias) -- **diagrams.k8s.storage.SC**, **StorageClass** (alias) -- **diagrams.k8s.storage.Vol**, **Volume** (alias) - -## k8s.compute +## k8s.others -- **diagrams.k8s.compute.Cronjob** -- **diagrams.k8s.compute.Deploy**, **Deployment** (alias) -- **diagrams.k8s.compute.DS**, **DaemonSet** (alias) -- **diagrams.k8s.compute.Job** -- **diagrams.k8s.compute.Pod** -- **diagrams.k8s.compute.RS**, **ReplicaSet** (alias) -- **diagrams.k8s.compute.STS**, **StatefulSet** (alias) +- **diagrams.k8s.others.CRD** +- **diagrams.k8s.others.PSP** ## k8s.podconfig @@ -65,11 +67,9 @@ Node classes list of k8s provider. - **diagrams.k8s.rbac.SA**, **ServiceAccount** (alias) - **diagrams.k8s.rbac.User** -## k8s.controlplane +## k8s.storage -- **diagrams.k8s.controlplane.API**, **APIServer** (alias) -- **diagrams.k8s.controlplane.CCM** -- **diagrams.k8s.controlplane.CM**, **ControllerManager** (alias) -- **diagrams.k8s.controlplane.KProxy**, **KubeProxy** (alias) -- **diagrams.k8s.controlplane.Kubelet** -- **diagrams.k8s.controlplane.Sched**, **Scheduler** (alias) +- **diagrams.k8s.storage.PV**, **PersistnetVolume** (alias) +- **diagrams.k8s.storage.PVC**, **PersistentVolumeClaim** (alias) +- **diagrams.k8s.storage.SC**, **StorageClass** (alias) +- **diagrams.k8s.storage.Vol**, **Volume** (alias) diff --git a/docs/nodes/oci.md b/docs/nodes/oci.md index 8cda20683..568fe9abe 100644 --- a/docs/nodes/oci.md +++ b/docs/nodes/oci.md @@ -5,6 +5,15 @@ title: OCI Node classes list of oci provider. +## oci.compute + +- **diagrams.oci.compute.BmGrey**, **BareMetalGrey** (alias) +- **diagrams.oci.compute.Bm**, **BareMetal** (alias) +- **diagrams.oci.compute.ContainerGrey** +- **diagrams.oci.compute.Container** +- **diagrams.oci.compute.VmGrey**, **VirtualMachineGrey** (alias) +- **diagrams.oci.compute.Vm**, **VirtualMachine** (alias) + ## oci.connectivity - **diagrams.oci.connectivity.BackboneGrey** @@ -18,28 +27,17 @@ Node classes list of oci provider. - **diagrams.oci.connectivity.VpnGrey** - **diagrams.oci.connectivity.Vpn** -## oci.security +## oci.database -- **diagrams.oci.security.AuditGrey** -- **diagrams.oci.security.Audit** -- **diagrams.oci.security.CompartmentsGrey** -- **diagrams.oci.security.Compartments** -- **diagrams.oci.security.DdosGrey** -- **diagrams.oci.security.Ddos** -- **diagrams.oci.security.EncryptionGrey** -- **diagrams.oci.security.Encryption** -- **diagrams.oci.security.GroupsGrey** -- **diagrams.oci.security.Groups** -- **diagrams.oci.security.IdAccessGrey** -- **diagrams.oci.security.IdAccess** -- **diagrams.oci.security.KeymgmtGrey** -- **diagrams.oci.security.Keymgmt** -- **diagrams.oci.security.OcidGrey** -- **diagrams.oci.security.Ocid** -- **diagrams.oci.security.PoliciesGrey** -- **diagrams.oci.security.Policies** -- **diagrams.oci.security.TaggingGrey** -- **diagrams.oci.security.Tagging** +- **diagrams.oci.database.DatabaseserviceGrey**, **DBServiceGrey** (alias) +- **diagrams.oci.database.Databaseservice**, **DBService** (alias) + +## oci.devops + +- **diagrams.oci.devops.ApiserviceGrey** +- **diagrams.oci.devops.Apiservice** +- **diagrams.oci.devops.ResourcemgmtGrey** +- **diagrams.oci.devops.Resourcemgmt** ## oci.edge @@ -52,6 +50,29 @@ Node classes list of oci provider. - **diagrams.oci.edge.WafGrey** - **diagrams.oci.edge.Waf** +## oci.monitoring + +- **diagrams.oci.monitoring.AlarmGrey** +- **diagrams.oci.monitoring.Alarm** +- **diagrams.oci.monitoring.EventGrey** +- **diagrams.oci.monitoring.Event** +- **diagrams.oci.monitoring.HealthcheckGrey** +- **diagrams.oci.monitoring.Healthcheck** +- **diagrams.oci.monitoring.LoggingGrey** +- **diagrams.oci.monitoring.Logging** +- **diagrams.oci.monitoring.NotificationsGrey** +- **diagrams.oci.monitoring.Notifications** +- **diagrams.oci.monitoring.QueuingGrey** +- **diagrams.oci.monitoring.Queuing** +- **diagrams.oci.monitoring.SearchGrey** +- **diagrams.oci.monitoring.Search** +- **diagrams.oci.monitoring.StreamingGrey** +- **diagrams.oci.monitoring.Streaming** +- **diagrams.oci.monitoring.TelemetryGrey** +- **diagrams.oci.monitoring.Telemetry** +- **diagrams.oci.monitoring.WorkflowGrey** +- **diagrams.oci.monitoring.Workflow** + ## oci.network - **diagrams.oci.network.DrgGrey** @@ -71,6 +92,29 @@ Node classes list of oci provider. - **diagrams.oci.network.VcloudnetworkGrey** - **diagrams.oci.network.Vcloudnetwork** +## oci.security + +- **diagrams.oci.security.AuditGrey** +- **diagrams.oci.security.Audit** +- **diagrams.oci.security.CompartmentsGrey** +- **diagrams.oci.security.Compartments** +- **diagrams.oci.security.DdosGrey** +- **diagrams.oci.security.Ddos** +- **diagrams.oci.security.EncryptionGrey** +- **diagrams.oci.security.Encryption** +- **diagrams.oci.security.GroupsGrey** +- **diagrams.oci.security.Groups** +- **diagrams.oci.security.IdAccessGrey** +- **diagrams.oci.security.IdAccess** +- **diagrams.oci.security.KeymgmtGrey** +- **diagrams.oci.security.Keymgmt** +- **diagrams.oci.security.OcidGrey** +- **diagrams.oci.security.Ocid** +- **diagrams.oci.security.PoliciesGrey** +- **diagrams.oci.security.Policies** +- **diagrams.oci.security.TaggingGrey** +- **diagrams.oci.security.Tagging** + ## oci.storage - **diagrams.oci.storage.BackuprestoreGrey** @@ -87,47 +131,3 @@ Node classes list of oci provider. - **diagrams.oci.storage.Objectstorage** - **diagrams.oci.storage.StoragegatewayGrey** - **diagrams.oci.storage.Storagegateway** - -## oci.database - -- **diagrams.oci.database.DatabaseserviceGrey**, **DBServiceGrey** (alias) -- **diagrams.oci.database.Databaseservice**, **DBService** (alias) - -## oci.compute - -- **diagrams.oci.compute.BmGrey**, **BareMetalGrey** (alias) -- **diagrams.oci.compute.Bm**, **BareMetal** (alias) -- **diagrams.oci.compute.ContainerGrey** -- **diagrams.oci.compute.Container** -- **diagrams.oci.compute.VmGrey**, **VirtualMachineGrey** (alias) -- **diagrams.oci.compute.Vm**, **VirtualMachine** (alias) - -## oci.monitoring - -- **diagrams.oci.monitoring.AlarmGrey** -- **diagrams.oci.monitoring.Alarm** -- **diagrams.oci.monitoring.EventGrey** -- **diagrams.oci.monitoring.Event** -- **diagrams.oci.monitoring.HealthcheckGrey** -- **diagrams.oci.monitoring.Healthcheck** -- **diagrams.oci.monitoring.LoggingGrey** -- **diagrams.oci.monitoring.Logging** -- **diagrams.oci.monitoring.NotificationsGrey** -- **diagrams.oci.monitoring.Notifications** -- **diagrams.oci.monitoring.QueuingGrey** -- **diagrams.oci.monitoring.Queuing** -- **diagrams.oci.monitoring.SearchGrey** -- **diagrams.oci.monitoring.Search** -- **diagrams.oci.monitoring.StreamingGrey** -- **diagrams.oci.monitoring.Streaming** -- **diagrams.oci.monitoring.TelemetryGrey** -- **diagrams.oci.monitoring.Telemetry** -- **diagrams.oci.monitoring.WorkflowGrey** -- **diagrams.oci.monitoring.Workflow** - -## oci.devops - -- **diagrams.oci.devops.ApiserviceGrey** -- **diagrams.oci.devops.Apiservice** -- **diagrams.oci.devops.ResourcemgmtGrey** -- **diagrams.oci.devops.Resourcemgmt** diff --git a/docs/nodes/onprem.md b/docs/nodes/onprem.md index 0c9795799..b065ba78a 100644 --- a/docs/nodes/onprem.md +++ b/docs/nodes/onprem.md @@ -5,10 +5,23 @@ title: OnPrem Node classes list of onprem provider. -## onprem.security +## onprem.analytics -- **diagrams.onprem.security.Trivy** -- **diagrams.onprem.security.Vault** +- **diagrams.onprem.analytics.Beam** +- **diagrams.onprem.analytics.Flink** +- **diagrams.onprem.analytics.Hadoop** +- **diagrams.onprem.analytics.Hive** +- **diagrams.onprem.analytics.Metabase** +- **diagrams.onprem.analytics.Norikra** +- **diagrams.onprem.analytics.Spark** +- **diagrams.onprem.analytics.Storm** +- **diagrams.onprem.analytics.Tableau** + +## onprem.cd + +- **diagrams.onprem.cd.Spinnaker** +- **diagrams.onprem.cd.TektonCli** +- **diagrams.onprem.cd.Tekton** ## onprem.ci @@ -19,75 +32,22 @@ Node classes list of onprem provider. - **diagrams.onprem.ci.Travisci**, **TravisCI** (alias) - **diagrams.onprem.ci.Zuulci**, **ZuulCI** (alias) -## onprem.cd +## onprem.client -- **diagrams.onprem.cd.Spinnaker** -- **diagrams.onprem.cd.Tekton** +- **diagrams.onprem.client.Client** +- **diagrams.onprem.client.User** +- **diagrams.onprem.client.Users** -## onprem.mlops +## onprem.compute -- **diagrams.onprem.mlops.Polyaxon** +- **diagrams.onprem.compute.Nomad** +- **diagrams.onprem.compute.Server** ## onprem.container - **diagrams.onprem.container.Docker** - **diagrams.onprem.container.Rkt**, **RKT** (alias) -## onprem.etl - -- **diagrams.onprem.etl.Embulk** - -## onprem.vcs - -- **diagrams.onprem.vcs.Git** -- **diagrams.onprem.vcs.Github** -- **diagrams.onprem.vcs.Gitlab** - -## onprem.network - -- **diagrams.onprem.network.Apache** -- **diagrams.onprem.network.Caddy** -- **diagrams.onprem.network.Consul** -- **diagrams.onprem.network.Envoy** -- **diagrams.onprem.network.Etcd**, **ETCD** (alias) -- **diagrams.onprem.network.Haproxy**, **HAProxy** (alias) -- **diagrams.onprem.network.Internet** -- **diagrams.onprem.network.Istio** -- **diagrams.onprem.network.Kong** -- **diagrams.onprem.network.Linkerd** -- **diagrams.onprem.network.Nginx** -- **diagrams.onprem.network.Pfsense**, **PFSense** (alias) -- **diagrams.onprem.network.Pomerium** -- **diagrams.onprem.network.Tomcat** -- **diagrams.onprem.network.Traefik** -- **diagrams.onprem.network.Vyos**, **VyOS** (alias) -- **diagrams.onprem.network.Zookeeper** - -## onprem.iac - -- **diagrams.onprem.iac.Ansible** -- **diagrams.onprem.iac.Awx** -- **diagrams.onprem.iac.Terraform** - -## onprem.logging - -- **diagrams.onprem.logging.Fluentbit**, **FluentBit** (alias) -- **diagrams.onprem.logging.Fluentd** -- **diagrams.onprem.logging.Logstash**, **LogStash** (alias) -- **diagrams.onprem.logging.Loki** - -## onprem.analytics - -- **diagrams.onprem.analytics.Beam** -- **diagrams.onprem.analytics.Flink** -- **diagrams.onprem.analytics.Hadoop** -- **diagrams.onprem.analytics.Hive** -- **diagrams.onprem.analytics.Metabase** -- **diagrams.onprem.analytics.Norikra** -- **diagrams.onprem.analytics.Spark** -- **diagrams.onprem.analytics.Storm** -- **diagrams.onprem.analytics.Tableau** - ## onprem.database - **diagrams.onprem.database.Cassandra** @@ -108,28 +68,9 @@ Node classes list of onprem provider. - **diagrams.onprem.database.Postgresql**, **PostgreSQL** (alias) - **diagrams.onprem.database.Scylla** -## onprem.client - -- **diagrams.onprem.client.Client** -- **diagrams.onprem.client.User** -- **diagrams.onprem.client.Users** - -## onprem.compute - -- **diagrams.onprem.compute.Nomad** -- **diagrams.onprem.compute.Server** - -## onprem.search - -- **diagrams.onprem.search.Elasticsearch** -- **diagrams.onprem.search.Solr** - -## onprem.workflow +## onprem.etl -- **diagrams.onprem.workflow.Airflow** -- **diagrams.onprem.workflow.Digdag** -- **diagrams.onprem.workflow.Kubeflow**, **KubeFlow** (alias) -- **diagrams.onprem.workflow.Nifi**, **NiFi** (alias) +- **diagrams.onprem.etl.Embulk** ## onprem.gitops @@ -137,13 +78,11 @@ Node classes list of onprem provider. - **diagrams.onprem.gitops.Flagger** - **diagrams.onprem.gitops.Flux** -## onprem.queue +## onprem.iac -- **diagrams.onprem.queue.Activemq**, **ActiveMQ** (alias) -- **diagrams.onprem.queue.Celery** -- **diagrams.onprem.queue.Kafka** -- **diagrams.onprem.queue.Rabbitmq**, **RabbitMQ** (alias) -- **diagrams.onprem.queue.Zeromq**, **ZeroMQ** (alias) +- **diagrams.onprem.iac.Ansible** +- **diagrams.onprem.iac.Awx** +- **diagrams.onprem.iac.Terraform** ## onprem.inmemory @@ -152,6 +91,17 @@ Node classes list of onprem provider. - **diagrams.onprem.inmemory.Memcached** - **diagrams.onprem.inmemory.Redis** +## onprem.logging + +- **diagrams.onprem.logging.Fluentbit**, **FluentBit** (alias) +- **diagrams.onprem.logging.Fluentd** +- **diagrams.onprem.logging.Logstash**, **LogStash** (alias) +- **diagrams.onprem.logging.Loki** + +## onprem.mlops + +- **diagrams.onprem.mlops.Polyaxon** + ## onprem.monitoring - **diagrams.onprem.monitoring.Datadog** @@ -161,3 +111,54 @@ Node classes list of onprem provider. - **diagrams.onprem.monitoring.Sentry** - **diagrams.onprem.monitoring.Splunk** - **diagrams.onprem.monitoring.Thanos** + +## onprem.network + +- **diagrams.onprem.network.Apache** +- **diagrams.onprem.network.Caddy** +- **diagrams.onprem.network.Consul** +- **diagrams.onprem.network.Envoy** +- **diagrams.onprem.network.Etcd**, **ETCD** (alias) +- **diagrams.onprem.network.Haproxy**, **HAProxy** (alias) +- **diagrams.onprem.network.Internet** +- **diagrams.onprem.network.Istio** +- **diagrams.onprem.network.Kong** +- **diagrams.onprem.network.Linkerd** +- **diagrams.onprem.network.Nginx** +- **diagrams.onprem.network.Pfsense**, **PFSense** (alias) +- **diagrams.onprem.network.Pomerium** +- **diagrams.onprem.network.Tomcat** +- **diagrams.onprem.network.Traefik** +- **diagrams.onprem.network.Vyos**, **VyOS** (alias) +- **diagrams.onprem.network.Zookeeper** + +## onprem.queue + +- **diagrams.onprem.queue.Activemq**, **ActiveMQ** (alias) +- **diagrams.onprem.queue.Celery** +- **diagrams.onprem.queue.Kafka** +- **diagrams.onprem.queue.Rabbitmq**, **RabbitMQ** (alias) +- **diagrams.onprem.queue.Zeromq**, **ZeroMQ** (alias) + +## onprem.search + +- **diagrams.onprem.search.Elasticsearch** +- **diagrams.onprem.search.Solr** + +## onprem.security + +- **diagrams.onprem.security.Trivy** +- **diagrams.onprem.security.Vault** + +## onprem.vcs + +- **diagrams.onprem.vcs.Git** +- **diagrams.onprem.vcs.Github** +- **diagrams.onprem.vcs.Gitlab** + +## onprem.workflow + +- **diagrams.onprem.workflow.Airflow** +- **diagrams.onprem.workflow.Digdag** +- **diagrams.onprem.workflow.Kubeflow**, **KubeFlow** (alias) +- **diagrams.onprem.workflow.Nifi**, **NiFi** (alias) diff --git a/docs/nodes/programming.md b/docs/nodes/programming.md index 9753161dc..60c8a0e3b 100644 --- a/docs/nodes/programming.md +++ b/docs/nodes/programming.md @@ -5,6 +5,20 @@ title: Programming Node classes list of programming provider. +## programming.framework + +- **diagrams.programming.framework.Angular** +- **diagrams.programming.framework.Backbone** +- **diagrams.programming.framework.Django** +- **diagrams.programming.framework.Ember** +- **diagrams.programming.framework.Flask** +- **diagrams.programming.framework.Flutter** +- **diagrams.programming.framework.Laravel** +- **diagrams.programming.framework.Rails** +- **diagrams.programming.framework.React** +- **diagrams.programming.framework.Spring** +- **diagrams.programming.framework.Vue** + ## programming.language - **diagrams.programming.language.Bash** @@ -25,17 +39,3 @@ Node classes list of programming provider. - **diagrams.programming.language.Rust** - **diagrams.programming.language.Swift** - **diagrams.programming.language.Typescript**, **TypeScript** (alias) - -## programming.framework - -- **diagrams.programming.framework.Angular** -- **diagrams.programming.framework.Backbone** -- **diagrams.programming.framework.Django** -- **diagrams.programming.framework.Ember** -- **diagrams.programming.framework.Flask** -- **diagrams.programming.framework.Flutter** -- **diagrams.programming.framework.Laravel** -- **diagrams.programming.framework.Rails** -- **diagrams.programming.framework.React** -- **diagrams.programming.framework.Spring** -- **diagrams.programming.framework.Vue** diff --git a/resources/onprem/cd/tekton-cli.png b/resources/onprem/cd/tekton-cli.png new file mode 100644 index 0000000000000000000000000000000000000000..9adcb0ae697748a62ef751a30e871a60c4ae8704 GIT binary patch literal 36375 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 literal 0 HcmV?d00001