You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

385 line
11 KiB

  1. # fmt: off
  2. #########################
  3. # Application #
  4. #########################
  5. APP_NAME = "diagrams"
  6. DIR_DOC_ROOT = "docs/nodes"
  7. DIR_APP_ROOT = "diagrams"
  8. DIR_RESOURCE = "resources"
  9. DIR_TEMPLATE = "templates"
  10. PROVIDERS = (
  11. "base", "onprem", "aws", "azure", "gcp", "firebase", "k8s", "alibabacloud", "oci", "programming", "saas", "elastic",
  12. "generic")
  13. #########################
  14. # Resource Processing #
  15. #########################
  16. CMD_ROUND = "round"
  17. CMD_ROUND_OPTS = ("-w",)
  18. CMD_SVG2PNG = "inkscape"
  19. CMD_SVG2PNG_OPTS = ("-z", "-w", "256", "-h", "256", "--export-type", "png")
  20. CMD_SVG2PNG_IM = "convert"
  21. CMD_SVG2PNG_IM_OPTS = ("-shave", "25%x25%", "-resize", "256x256!")
  22. FILE_PREFIXES = {
  23. "onprem": (),
  24. "aws": ("Amazon-", "AWS-"),
  25. "azure": ("Azure-",),
  26. "gcp": ("Cloud-",),
  27. "firebase": ("Cloud-",),
  28. "k8s": (),
  29. "alibabacloud": (),
  30. "oci": ("OCI-",),
  31. "programming": (),
  32. "saas": (),
  33. "elastic": (),
  34. "generic": (),
  35. }
  36. #########################
  37. # Doc Auto Generation #
  38. #########################
  39. TMPL_APIDOC = "apidoc.tmpl"
  40. #########################
  41. # Class Auto Generation #
  42. #########################
  43. TMPL_MODULE = "module.tmpl"
  44. UPPER_WORDS = {
  45. "aws": ("aws", "api", "ebs", "ec2", "efs", "emr", "rds", "ml", "mq", "nat", "vpc", "waf", "sdk"),
  46. "azure": ("ad", "b2c", "ai", "api", "cdn", "ddos", "dns", "fxt", "hana", "hd", "id", "sap", "sql", "vm"),
  47. "gcp": ("gcp", "ai", "api", "cdn", "dns", "gke", "gpu", "iap", "ml", "nat", "os", "sdk", "sql", "tpu", "vpn"),
  48. "firebase": ("ab", "fcm", "ml"),
  49. "k8s": (
  50. "api", "cm", "ccm", "crb", "crd", "ds", "etcd", "hpa", "k8s", "ns", "psp", "pv", "pvc", "rb", "rs",
  51. "sa", "sc", "sts", "svc",
  52. ),
  53. "oci": ("oci",),
  54. "elastic": ("apm", "siem", "ece", "eck"),
  55. "generic": ("vpn", "ios", "xen"),
  56. }
  57. TITLE_WORDS = {
  58. "onprem": {
  59. "onprem": "OnPrem",
  60. },
  61. "alibabacloud": {
  62. "alibabacloud": "AlibabaCloud"
  63. },
  64. "aws": {
  65. "cloudfront": "CloudFront"
  66. }
  67. }
  68. # TODO: check if the classname exists
  69. ALIASES = {
  70. "onprem": {
  71. "ci": {
  72. "Circleci": "CircleCI",
  73. "Concourseci": "ConcourseCI",
  74. "Gitlabci": "GitlabCI",
  75. "Travisci": "TravisCI",
  76. "Teamcity": "TC",
  77. "Zuulci": "ZuulCI",
  78. },
  79. "container": {
  80. "Rkt": "RKT",
  81. },
  82. "database": {
  83. "Clickhouse": "ClickHouse",
  84. "Cockroachdb": "CockroachDB",
  85. "Couchdb": "CouchDB",
  86. "Hbase": "HBase",
  87. "Influxdb": "InfluxDB",
  88. "Janusgraph": "JanusGraph",
  89. "Mariadb": "MariaDB",
  90. "Mongodb": "MongoDB",
  91. "Mssql": "MSSQL",
  92. "Mysql": "MySQL",
  93. "Postgresql": "PostgreSQL",
  94. },
  95. "gitops": {
  96. "Argocd": "ArgoCD",
  97. },
  98. "logging": {
  99. "Fluentbit": "FluentBit",
  100. "Logstash": "LogStash",
  101. },
  102. "network": {
  103. "Etcd": "ETCD",
  104. "Haproxy": "HAProxy",
  105. "Pfsense": "PFSense",
  106. "Vyos": "VyOS"
  107. },
  108. "queue": {
  109. "Activemq": "ActiveMQ",
  110. "Rabbitmq": "RabbitMQ",
  111. "Zeromq": "ZeroMQ",
  112. },
  113. "workflow": {
  114. "Kubeflow": "KubeFlow",
  115. "Nifi": "NiFi",
  116. }
  117. },
  118. "aws": {
  119. "analytics": {
  120. "ElasticsearchService": "ES",
  121. },
  122. "business": {
  123. "AlexaForBusiness": "A4B"
  124. },
  125. "blockchain": {
  126. "QuantumLedgerDatabaseQldb": "QLDB"
  127. },
  128. "compute": {
  129. "ApplicationAutoScaling": "AutoScaling",
  130. "EC2ContainerRegistry": "ECR",
  131. "ElasticBeanstalk": "EB",
  132. "ElasticContainerService": "ECS",
  133. "ElasticKubernetesService": "EKS",
  134. "ServerlessApplicationRepository": "SAR",
  135. },
  136. "database": {
  137. "DatabaseMigrationService": "DMS",
  138. "DocumentdbMongodbCompatibility": "DocumentDB",
  139. "DynamodbDax": "DAX",
  140. "DynamodbGlobalSecondaryIndex": "DynamodbGSI",
  141. "Database": "DB",
  142. "Dynamodb": "DDB",
  143. "Elasticache": "ElastiCache",
  144. "QuantumLedgerDatabaseQldb": "QLDB",
  145. },
  146. "devtools": {
  147. "CommandLineInterface": "CLI",
  148. "DeveloperTools": "DevTools",
  149. },
  150. "engagement": {
  151. "SimpleEmailServiceSes": "SES",
  152. },
  153. "general": {
  154. "GenericOfficeBuilding": "OfficeBuilding",
  155. },
  156. "integration": {
  157. "SimpleNotificationServiceSns": "SNS",
  158. "SimpleQueueServiceSqs": "SQS",
  159. "StepFunctions": "SF",
  160. },
  161. "iot": {
  162. "Freertos": "FreeRTOS",
  163. "IotHardwareBoard": "IotBoard",
  164. },
  165. "management": {
  166. "SystemsManager": "SSM",
  167. "SystemsManagerParameterStore": "ParameterStore",
  168. },
  169. "migration": {
  170. "ApplicationDiscoveryService": "ADS",
  171. "CloudendureMigration": "CEM",
  172. "DatabaseMigrationService": "DMS",
  173. "MigrationAndTransfer": "MAT",
  174. "ServerMigrationService": "SMS",
  175. },
  176. "ml": {
  177. "DeepLearningContainers": "DLC",
  178. },
  179. "network": {
  180. "CloudFront": "CF",
  181. "ElasticLoadBalancing": "ELB",
  182. "GlobalAccelerator": "GAX",
  183. },
  184. "security": {
  185. "CertificateManager": "ACM",
  186. "Cloudhsm": "CloudHSM",
  187. "DirectoryService": "DS",
  188. "FirewallManager": "FMS",
  189. "IdentityAndAccessManagementIamAccessAnalyzer": "IAMAccessAnalyzer",
  190. "IdentityAndAccessManagementIamAWSSts": "IAMAWSSts",
  191. "IdentityAndAccessManagementIamPermissions": "IAMPermissions",
  192. "IdentityAndAccessManagementIamRole": "IAMRole",
  193. "IdentityAndAccessManagementIam": "IAM",
  194. "KeyManagementService": "KMS",
  195. "ResourceAccessManager": "RAM",
  196. },
  197. "storage": {
  198. "CloudendureDisasterRecovery": "CDR",
  199. "ElasticBlockStoreEBS": "EBS",
  200. "ElasticFileSystemEFS": "EFS",
  201. "Fsx": "FSx",
  202. "SimpleStorageServiceS3": "S3",
  203. },
  204. },
  205. "azure": {
  206. "compute": {
  207. "ContainerRegistries": "ACR",
  208. "KubernetesServices": "AKS",
  209. },
  210. },
  211. "gcp": {
  212. "analytics": {
  213. "Bigquery": "BigQuery",
  214. "Pubsub": "PubSub",
  215. },
  216. "compute": {
  217. "AppEngine": "GAE",
  218. "Functions": "GCF",
  219. "ComputeEngine": "GCE",
  220. "KubernetesEngine": "GKE",
  221. },
  222. "database": {
  223. "Bigtable": "BigTable",
  224. },
  225. "devtools": {
  226. "ContainerRegistry": "GCR",
  227. },
  228. "ml": {
  229. "Automl": "AutoML",
  230. "NaturalLanguageAPI": "NLAPI",
  231. "SpeechToText": "STT",
  232. "TextToSpeech": "TTS",
  233. },
  234. "network": {
  235. "VirtualPrivateCloud": "VPC"
  236. },
  237. "security": {
  238. "KeyManagementService": "KMS",
  239. "SecurityCommandCenter": "SCC",
  240. },
  241. "storage": {
  242. "Storage": "GCS",
  243. },
  244. },
  245. "firebase": {
  246. "grow": {
  247. "Messaging": "FCM"
  248. }
  249. },
  250. "k8s": {
  251. "clusterconfig": {
  252. "Limits": "LimitRange",
  253. "HPA": "HorizontalPodAutoscaler",
  254. },
  255. "compute": {
  256. "Deploy": "Deployment",
  257. "DS": "DaemonSet",
  258. "RS": "ReplicaSet",
  259. "STS": "StatefulSet"
  260. },
  261. "controlplane": {
  262. "API": "APIServer",
  263. "CM": "ControllerManager",
  264. "KProxy": "KubeProxy",
  265. "Sched": "Scheduler",
  266. },
  267. "group": {
  268. "NS": "Namespace",
  269. },
  270. "network": {
  271. "Ep": "Endpoint",
  272. "Ing": "Ingress",
  273. "Netpol": "NetworkPolicy",
  274. "SVC": "Service",
  275. },
  276. "podconfig": {
  277. "CM": "ConfigMap",
  278. },
  279. "rbac": {
  280. "CRole": "ClusterRole",
  281. "CRB": "ClusterRoleBinding",
  282. "RB": "RoleBinding",
  283. "SA": "ServiceAccount",
  284. },
  285. "storage": {
  286. "PV": "PersistentVolume",
  287. "PVC": "PersistentVolumeClaim",
  288. "SC": "StorageClass",
  289. "Vol": "Volume",
  290. },
  291. },
  292. "alibabacloud": {
  293. "application": {
  294. "LogService": "SLS",
  295. "MessageNotificationService": "MNS",
  296. "PerformanceTestingService": "PTS",
  297. "SmartConversationAnalysis": "SCA",
  298. },
  299. "compute": {
  300. "AutoScaling": "ESS",
  301. "ElasticComputeService": "ECS",
  302. "ElasticContainerInstance": "ECI",
  303. "ElasticHighPerformanceComputing": "EHPC",
  304. "FunctionCompute": "FC",
  305. "OperationOrchestrationService": "OOS",
  306. "ResourceOrchestrationService": "ROS",
  307. "ServerLoadBalancer": "SLB",
  308. "ServerlessAppEngine": "SAE",
  309. "SimpleApplicationServer": "SAS",
  310. "WebAppService": "WAS",
  311. },
  312. "database": {
  313. "DataManagementService": "DMS",
  314. "DataTransmissionService": "DTS",
  315. "DatabaseBackupService": "DBS",
  316. "DisributeRelationalDatabaseService": "DRDS",
  317. "GraphDatabaseService": "GDS",
  318. "RelationalDatabaseService": "RDS",
  319. },
  320. "network": {
  321. "CloudEnterpriseNetwork": "CEN",
  322. "ElasticIpAddress": "EIP",
  323. "ServerLoadBalancer": "SLB",
  324. "VirtualPrivateCloud": "VPC",
  325. },
  326. "security": {
  327. "AntiBotService": "ABS",
  328. "AntifraudService": "AS",
  329. "CloudFirewall": "CFW",
  330. "ContentModeration": "CM",
  331. "DataEncryptionService": "DES",
  332. "WebApplicationFirewall": "WAF",
  333. },
  334. "storage": {
  335. "FileStorageHdfs": "HDFS",
  336. "FileStorageNas": "NAS",
  337. "HybridBackupRecovery": "HBR",
  338. "HybridCloudDisasterRecovery": "HDR",
  339. "ObjectStorageService": "OSS",
  340. "ObjectTableStore": "OTS",
  341. }
  342. },
  343. "oci": {
  344. "compute": {
  345. "Vm": "VirtualMachine",
  346. "VmGrey": "VirtualMachineGrey",
  347. "Bm": "BareMetal",
  348. "BmGrey": "BareMetalGrey",
  349. },
  350. "database": {
  351. "Databaseservice": "DBService",
  352. "DatabaseserviceGrey": "DBServiceGrey",
  353. }
  354. },
  355. "programming": {
  356. "language": {
  357. "Javascript": "JavaScript",
  358. "Nodejs": "NodeJS",
  359. "Php": "PHP",
  360. "Typescript": "TypeScript"
  361. },
  362. },
  363. "saas": {},
  364. "elastic": {
  365. "elasticsearch": {
  366. "Logstash": "LogStash",
  367. }
  368. },
  369. "generic": {},
  370. }