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.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317
  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 = ("base", "onprem", "aws", "azure", "gcp", "k8s", "alibabacloud", "oci")
  11. #########################
  12. # Resource Processing #
  13. #########################
  14. CMD_ROUND = "round"
  15. CMD_ROUND_OPTS = ("-w",)
  16. CMD_SVG2PNG = "inkscape"
  17. CMD_SVG2PNG_OPTS = ("-z", "-w", "256", "-h", "256", "--export-type", "png")
  18. CMD_SVG2PNG_IM = "convert"
  19. CMD_SVG2PNG_IM_OPTS = ("-shave", "25%x25%", "-resize", "256x256!")
  20. FILE_PREFIXES = {
  21. "onprem": (),
  22. "aws": ("Amazon-", "AWS-"),
  23. "azure": ("Azure-",),
  24. "gcp": ("Cloud-",),
  25. "k8s": (),
  26. "alibabacloud": (),
  27. "oci": ("OCI-",),
  28. }
  29. #########################
  30. # Doc Auto Generation #
  31. #########################
  32. TMPL_APIDOC = "apidoc.tmpl"
  33. #########################
  34. # Class Auto Generation #
  35. #########################
  36. TMPL_MODULE = "module.tmpl"
  37. UPPER_WORDS = {
  38. "aws": ("aws", "api", "ebs", "ec2", "efs", "emr", "rds", "ml", "mq", "vpc", "waf"),
  39. "azure": ("ad", "b2c", "ai", "api", "cdn", "ddos", "dns", "fxt", "hana", "hd", "id", "sap", "sql", "vm"),
  40. "gcp": ("gcp", "ai", "api", "cdn", "dns", "gke", "gpu", "ml", "nat", "os", "sdk", "sql", "tpu", "vpn"),
  41. "k8s": (
  42. "api", "cm", "ccm", "crb", "crd", "ds", "etcd", "hpa", "k8s", "ns", "psp", "pv", "pvc", "rb", "rs",
  43. "sa", "sc", "sts", "svc",
  44. ),
  45. "oci": ("oci",),
  46. }
  47. TITLE_WORDS = {
  48. "onprem": {
  49. "onprem": "OnPrem",
  50. },
  51. "alibabacloud": {
  52. "alibabacloud": "AlibabaCloud"
  53. }
  54. }
  55. # TODO: check if the classname exists
  56. ALIASES = {
  57. "onprem": {
  58. "ci": {
  59. "Circleci": "CircleCI",
  60. "Travisci": "TravisCI",
  61. },
  62. "container": {
  63. "Rkt": "RKT",
  64. },
  65. "database": {
  66. "Cockroachdb": "CockroachDB",
  67. "Couchdb": "CouchDB",
  68. "Hbase": "HBase",
  69. "Influxdb": "InfluxDB",
  70. "Mariadb": "MariaDB",
  71. "Mongodb": "MongoDB",
  72. "Mssql": "MSSQL",
  73. "Mysql": "MySQL",
  74. "Postgresql": "PostgreSQL",
  75. },
  76. "gitops": {
  77. "Argocd": "ArgoCD",
  78. },
  79. "logging": {
  80. "Logstash": "LogStash",
  81. },
  82. "network": {
  83. "Etcd": "ETCD",
  84. "Haproxy": "HAProxy",
  85. },
  86. "queue": {
  87. "Activemq": "ActiveMQ",
  88. "Rabbitmq": "RabbitMQ",
  89. "Zeromq": "ZeroMQ",
  90. },
  91. "workflow": {
  92. "Kubeflow": "KubeFlow",
  93. "Nifi": "NiFi",
  94. }
  95. },
  96. "aws": {
  97. "analytics": {
  98. "ElasticsearchService": "ES",
  99. },
  100. "compute": {
  101. "ApplicationAutoScaling": "AutoScaling",
  102. "EC2ContainerRegistry": "ECR",
  103. "ElasticBeanstalk": "EB",
  104. "ElasticContainerService": "ECS",
  105. "ElasticKubernetesService": "EKS",
  106. "ServerlessApplicationRepository": "SAR",
  107. },
  108. "database": {
  109. "DatabaseMigrationService": "DMS",
  110. "DocumentdbMongodbCompatibility": "DocumentDB",
  111. "Database": "DB",
  112. "Dynamodb": "DDB",
  113. "Elasticache": "ElastiCache",
  114. "QuantumLedgerDatabaseQldb": "QLDB",
  115. },
  116. "devtools": {
  117. "CommandLineInterface": "CLI",
  118. "DeveloperTools": "DevTools",
  119. },
  120. "integration": {
  121. "SimpleNotificationServiceSns": "SNS",
  122. "SimpleQueueServiceSqs": "SQS",
  123. "StepFunctions": "SF",
  124. },
  125. "iot": {
  126. "Freertos": "FreeRTOS",
  127. },
  128. "management": {
  129. "SystemsManager": "SSM",
  130. "SystemsManagerParameterStore": "ParameterStore",
  131. },
  132. "migration": {
  133. "ApplicationDiscoveryService": "ADS",
  134. "CloudendureMigration": "CEM",
  135. "DatabaseMigrationService": "DMS",
  136. "MigrationAndTransfer": "MAT",
  137. "ServerMigrationService": "SMS",
  138. },
  139. "ml": {
  140. "DeepLearningContainers": "DLC",
  141. },
  142. "network": {
  143. "Cloudfront": "CF",
  144. "ElasticLoadBalancing": "ELB",
  145. "GlobalAccelerator": "GAX",
  146. },
  147. "security": {
  148. "CertificateManager": "ACM",
  149. "Cloudhsm": "CloudHSM",
  150. "DirectoryService": "DS",
  151. "FirewallManager": "FMS",
  152. "IdentityAndAccessManagementIam": "IAM",
  153. "KeyManagementService": "KMS",
  154. "ResourceAccessManager": "RAM",
  155. },
  156. "storage": {
  157. "CloudendureDisasterRecovery": "CDR",
  158. "ElasticBlockStoreEBS": "EBS",
  159. "ElasticFileSystemEFS": "EFS",
  160. "Fsx": "FSx",
  161. "SimpleStorageServiceS3": "S3",
  162. },
  163. },
  164. "azure": {
  165. "compute": {
  166. "ContainerRegistries": "ACR",
  167. "KubernetesServices": "AKS",
  168. },
  169. },
  170. "gcp": {
  171. "analytics": {
  172. "Bigquery": "BigQuery",
  173. "Pubsub": "PubSub",
  174. },
  175. "compute": {
  176. "AppEngine": "GAE",
  177. "Functions": "GCF",
  178. "ComputeEngine": "GCE",
  179. "KubernetesEngine": "GKE",
  180. },
  181. "database": {
  182. "Bigtable": "BigTable",
  183. },
  184. "devtools": {
  185. "ContainerRegistry": "GCR",
  186. },
  187. "ml": {
  188. "Automl": "AutoML",
  189. "NaturalLanguageAPI": "NLAPI",
  190. "SpeechToText": "STT",
  191. "TextToSpeech": "TTS",
  192. },
  193. "network": {
  194. "VirtualPrivateCloud": "VPC"
  195. },
  196. "security": {
  197. "KeyManagementService": "KMS",
  198. "SecurityCommandCenter": "SCC",
  199. },
  200. "storage": {
  201. "Storage": "GCS",
  202. },
  203. },
  204. "k8s": {
  205. "clusterconfig": {
  206. "Limits": "LimitRange",
  207. "HPA": "HorizontalPodAutoscaler",
  208. },
  209. "compute": {
  210. "Deploy": "Deployment",
  211. "DS": "DaemonSet",
  212. "RS": "ReplicaSet",
  213. "STS": "StatefulSet"
  214. },
  215. "controlplane": {
  216. "API": "APIServer",
  217. "CM": "ControllerManager",
  218. "KProxy": "KubeProxy",
  219. "Sched": "Scheduler",
  220. },
  221. "group": {
  222. "NS": "Namespace",
  223. },
  224. "network": {
  225. "Ep": "Endpoint",
  226. "Ing": "Ingress",
  227. "Netpol": "NetworkPolicy",
  228. "SVC": "Service",
  229. },
  230. "podconfig": {
  231. "CM": "ConfigMap",
  232. },
  233. "rbac": {
  234. "CRole": "ClusterRole",
  235. "CRB": "ClusterRoleBinding",
  236. "RB": "RoleBinding",
  237. "SA": "ServiceAccount",
  238. },
  239. "storage": {
  240. "PV": "PersistnetVolume",
  241. "PVC": "PersistentVolumeClaim",
  242. "SC": "StorageClass",
  243. "Vol": "Volume",
  244. },
  245. },
  246. "alibabacloud": {
  247. "application": {
  248. "LogService": "SLS",
  249. "MessageNotificationService": "MNS",
  250. "PerformanceTestingService": "PTS",
  251. "SmartConversationAnalysis": "SCA",
  252. },
  253. "compute": {
  254. "AutoScaling": "ESS",
  255. "ElasticComputeService": "ECS",
  256. "ElasticContainerInstance": "ECI",
  257. "ElasticHighPerformanceComputing": "EHPC",
  258. "FunctionCompute": "FC",
  259. "OperationOrchestrationService": "OOS",
  260. "ResourceOrchestrationService": "ROS",
  261. "ServerLoadBalancer": "SLB",
  262. "ServerlessAppEngine": "SAE",
  263. "SimpleApplicationServer": "SAS",
  264. "WebAppService": "WAS",
  265. },
  266. "database": {
  267. "DataManagementService": "DMS",
  268. "DataTransmissionService": "DTS",
  269. "DatabaseBackupService": "DBS",
  270. "DisributeRelationalDatabaseService": "DRDS",
  271. "GraphDatabaseService": "GDS",
  272. "RelationalDatabaseService": "RDS",
  273. },
  274. "network": {
  275. "CloudEnterpriseNetwork": "CEN",
  276. "ElasticIpAddress": "EIP",
  277. "ServerLoadBalancer": "SLB",
  278. "VirtualPrivateCloud": "VPC",
  279. },
  280. "security": {
  281. "AntiBotService": "ABS",
  282. "AntifraudService": "AS",
  283. "CloudFirewall": "CFW",
  284. "ContentModeration": "CM",
  285. "DataEncryptionService": "DES",
  286. "WebApplicationFirewall": "WAF",
  287. },
  288. "storage": {
  289. "FileStorageHdfs": "HDFS",
  290. "FileStorageNas": "NAS",
  291. "HybridBackupRecovery": "HBR",
  292. "HybridCloudDisasterRecovery": "HDR",
  293. "ObjectStorageService": "OSS",
  294. "ObjectTableStore": "OTS",
  295. }
  296. },
  297. "oci": {
  298. "compute": {
  299. "Vm": "VirtualMachine",
  300. "Bm": "BareMetal"
  301. },
  302. }
  303. }