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.
 
 
 
 
 

453 lines
13 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", "digitalocean", "gcp", "ibm", "firebase", "k8s", "alibabacloud", "oci",
  12. "programming", "saas", "elastic", "generic", "openstack", "outscale")
  13. #########################
  14. # Resource Processing #
  15. #########################
  16. CMD_ROUND = "round"
  17. CMD_ROUND_OPTS = ("-w",)
  18. CMD_SVG2PNG = "inkscape"
  19. CMD_SVG2PNG_OPTS = ("-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. "digitalocean": (),
  27. "gcp": ("Cloud-",),
  28. "firebase": ("Cloud-",),
  29. "ibm": (),
  30. "k8s": (),
  31. "alibabacloud": (),
  32. "oci": ("OCI-icon-",),
  33. "programming": (),
  34. "saas": (),
  35. "elastic": (),
  36. "outscale": (),
  37. "generic": (),
  38. "openstack": (),
  39. }
  40. #########################
  41. # Doc Auto Generation #
  42. #########################
  43. TMPL_APIDOC = "apidoc.tmpl"
  44. #########################
  45. # Class Auto Generation #
  46. #########################
  47. TMPL_MODULE = "module.tmpl"
  48. UPPER_WORDS = {
  49. "aws": ("aws", "api", "ebs", "ec2", "efs", "emr", "rds", "ml", "mq", "nat", "vpc", "waf", "sdk"),
  50. "azure": ("ad", "b2c", "ai", "api", "cdn", "ddos", "dns", "fxt", "hana", "hd", "id", "sap", "sql", "vm", "vpn", "vpc"),
  51. "gcp": ("gcp", "ai", "api", "cdn", "dns", "gke", "gpu", "iap", "ml", "nat", "os", "sdk", "sql", "tpu", "vpn"),
  52. "firebase": ("ab", "fcm", "ml"),
  53. "k8s": (
  54. "api", "cm", "ccm", "crb", "crd", "ds", "etcd", "hpa", "k8s", "ns", "psp", "pv", "pvc", "rb", "rs",
  55. "sa", "sc", "sts", "svc",
  56. ),
  57. "oci": ("oci", "ocid", "oke", "ocir", "ddos", "waf", "bm", "vm", "cdn", "vpn", "dns", "nat", "dms", "api", "id"),
  58. "elastic": ("apm", "siem", "ece", "eck"),
  59. "generic": ("vpn", "ios", "xen", "sql", "lxc"),
  60. "outscale": ("osc",),
  61. "openstack": ("rpm", "loci", "nfv", "ec2api"),
  62. "pve": ("pve"),
  63. "ibm": ("ibm"),
  64. }
  65. TITLE_WORDS = {
  66. "onprem": {
  67. "onprem": "OnPrem",
  68. },
  69. "alibabacloud": {
  70. "alibabacloud": "AlibabaCloud"
  71. },
  72. "aws": {
  73. "cloudfront": "CloudFront"
  74. },
  75. "digitalocean": {
  76. "digitalocean": "DigitalOcean"
  77. },
  78. "openstack": {
  79. "openstack": "OpenStack"
  80. },
  81. "ibm": {
  82. "ibm": "IBMCloud"
  83. },
  84. }
  85. # TODO: check if the classname exists
  86. ALIASES = {
  87. "onprem": {
  88. "analytics": {
  89. "Powerbi": "PowerBI"
  90. },
  91. "ci": {
  92. "Circleci": "CircleCI",
  93. "Concourseci": "ConcourseCI",
  94. "Droneci": "DroneCI",
  95. "Gitlabci": "GitlabCI",
  96. "Travisci": "TravisCI",
  97. "Teamcity": "TC",
  98. "Zuulci": "ZuulCI",
  99. },
  100. "container": {
  101. "Lxc": "LXC",
  102. "Rkt": "RKT",
  103. },
  104. "database": {
  105. "Clickhouse": "ClickHouse",
  106. "Cockroachdb": "CockroachDB",
  107. "Couchdb": "CouchDB",
  108. "Hbase": "HBase",
  109. "Influxdb": "InfluxDB",
  110. "Janusgraph": "JanusGraph",
  111. "Mariadb": "MariaDB",
  112. "Mongodb": "MongoDB",
  113. "Mssql": "MSSQL",
  114. "Mysql": "MySQL",
  115. "Postgresql": "PostgreSQL",
  116. },
  117. "gitops": {
  118. "Argocd": "ArgoCD",
  119. },
  120. "logging": {
  121. "Fluentbit": "FluentBit",
  122. "Rsyslog": "RSyslog",
  123. },
  124. "network": {
  125. "Etcd": "ETCD",
  126. "Haproxy": "HAProxy",
  127. "OpenServiceMesh": "OSM",
  128. "Opnsense": "OPNSense",
  129. "Pfsense": "PFSense",
  130. "Vyos": "VyOS"
  131. },
  132. "proxmox": {
  133. "Pve": "ProxmoxVE",
  134. },
  135. "queue": {
  136. "Activemq": "ActiveMQ",
  137. "Rabbitmq": "RabbitMQ",
  138. "Zeromq": "ZeroMQ",
  139. },
  140. "storage": {
  141. "Ceph": "CEPH",
  142. "CephOsd": "CEPH_OSD",
  143. },
  144. "workflow": {
  145. "Kubeflow": "KubeFlow",
  146. "Nifi": "NiFi",
  147. }
  148. },
  149. "aws": {
  150. "analytics": {
  151. "ElasticsearchService": "ES",
  152. },
  153. "business": {
  154. "AlexaForBusiness": "A4B"
  155. },
  156. "blockchain": {
  157. "QuantumLedgerDatabaseQldb": "QLDB"
  158. },
  159. "compute": {
  160. "ApplicationAutoScaling": "AutoScaling",
  161. "EC2Ami": "AMI",
  162. "EC2ContainerRegistry": "ECR",
  163. "ElasticBeanstalk": "EB",
  164. "ElasticContainerService": "ECS",
  165. "ElasticKubernetesService": "EKS",
  166. "ServerlessApplicationRepository": "SAR",
  167. },
  168. "database": {
  169. "DatabaseMigrationService": "DMS",
  170. "DocumentdbMongodbCompatibility": "DocumentDB",
  171. "DynamodbDax": "DAX",
  172. "DynamodbGlobalSecondaryIndex": "DynamodbGSI",
  173. "Database": "DB",
  174. "Dynamodb": "DDB",
  175. "Elasticache": "ElastiCache",
  176. "QuantumLedgerDatabaseQldb": "QLDB",
  177. },
  178. "devtools": {
  179. "CommandLineInterface": "CLI",
  180. "DeveloperTools": "DevTools",
  181. },
  182. "engagement": {
  183. "SimpleEmailServiceSes": "SES",
  184. },
  185. "general": {
  186. "GenericOfficeBuilding": "OfficeBuilding",
  187. },
  188. "integration": {
  189. "SimpleNotificationServiceSns": "SNS",
  190. "SimpleQueueServiceSqs": "SQS",
  191. "StepFunctions": "SF",
  192. },
  193. "iot": {
  194. "Freertos": "FreeRTOS",
  195. "IotHardwareBoard": "IotBoard",
  196. },
  197. "management": {
  198. "SystemsManager": "SSM",
  199. "SystemsManagerParameterStore": "ParameterStore",
  200. },
  201. "migration": {
  202. "ApplicationDiscoveryService": "ADS",
  203. "CloudendureMigration": "CEM",
  204. "DatabaseMigrationService": "DMS",
  205. "MigrationAndTransfer": "MAT",
  206. "ServerMigrationService": "SMS",
  207. },
  208. "ml": {
  209. "DeepLearningContainers": "DLC",
  210. },
  211. "network": {
  212. "CloudFront": "CF",
  213. "ElasticLoadBalancing": "ELB",
  214. "ElbApplicationLoadBalancer": "ALB",
  215. "ElbClassicLoadBalancer": "CLB",
  216. "ElbNetworkLoadBalancer": "NLB",
  217. "GlobalAccelerator": "GAX",
  218. },
  219. "security": {
  220. "CertificateManager": "ACM",
  221. "Cloudhsm": "CloudHSM",
  222. "DirectoryService": "DS",
  223. "FirewallManager": "FMS",
  224. "IdentityAndAccessManagementIamAccessAnalyzer": "IAMAccessAnalyzer",
  225. "IdentityAndAccessManagementIamAWSSts": "IAMAWSSts",
  226. "IdentityAndAccessManagementIamPermissions": "IAMPermissions",
  227. "IdentityAndAccessManagementIamRole": "IAMRole",
  228. "IdentityAndAccessManagementIam": "IAM",
  229. "KeyManagementService": "KMS",
  230. "ResourceAccessManager": "RAM",
  231. },
  232. "storage": {
  233. "CloudendureDisasterRecovery": "CDR",
  234. "ElasticBlockStoreEBS": "EBS",
  235. "ElasticFileSystemEFS": "EFS",
  236. "Fsx": "FSx",
  237. "SimpleStorageServiceS3": "S3",
  238. },
  239. },
  240. "azure": {
  241. "compute": {
  242. "ContainerRegistries": "ACR",
  243. "KubernetesServices": "AKS",
  244. "VMScaleSet": "VMSS"
  245. },
  246. },
  247. "gcp": {
  248. "analytics": {
  249. "Bigquery": "BigQuery",
  250. "Pubsub": "PubSub",
  251. },
  252. "compute": {
  253. "AppEngine": "GAE",
  254. "Functions": "GCF",
  255. "ComputeEngine": "GCE",
  256. "KubernetesEngine": "GKE",
  257. },
  258. "database": {
  259. "Bigtable": "BigTable",
  260. },
  261. "devtools": {
  262. "ContainerRegistry": "GCR",
  263. },
  264. "ml": {
  265. "Automl": "AutoML",
  266. "NaturalLanguageAPI": "NLAPI",
  267. "SpeechToText": "STT",
  268. "TextToSpeech": "TTS",
  269. },
  270. "network": {
  271. "VirtualPrivateCloud": "VPC"
  272. },
  273. "security": {
  274. "KeyManagementService": "KMS",
  275. "SecurityCommandCenter": "SCC",
  276. },
  277. "storage": {
  278. "Storage": "GCS",
  279. },
  280. },
  281. "firebase": {
  282. "grow": {
  283. "Messaging": "FCM"
  284. }
  285. },
  286. "k8s": {
  287. "clusterconfig": {
  288. "Limits": "LimitRange",
  289. "HPA": "HorizontalPodAutoscaler",
  290. },
  291. "compute": {
  292. "Deploy": "Deployment",
  293. "DS": "DaemonSet",
  294. "RS": "ReplicaSet",
  295. "STS": "StatefulSet"
  296. },
  297. "controlplane": {
  298. "API": "APIServer",
  299. "CM": "ControllerManager",
  300. "KProxy": "KubeProxy",
  301. "Sched": "Scheduler",
  302. },
  303. "group": {
  304. "NS": "Namespace",
  305. },
  306. "network": {
  307. "Ep": "Endpoint",
  308. "Ing": "Ingress",
  309. "Netpol": "NetworkPolicy",
  310. "SVC": "Service",
  311. },
  312. "podconfig": {
  313. "CM": "ConfigMap",
  314. },
  315. "rbac": {
  316. "CRole": "ClusterRole",
  317. "CRB": "ClusterRoleBinding",
  318. "RB": "RoleBinding",
  319. "SA": "ServiceAccount",
  320. },
  321. "storage": {
  322. "PV": "PersistentVolume",
  323. "PVC": "PersistentVolumeClaim",
  324. "SC": "StorageClass",
  325. "Vol": "Volume",
  326. },
  327. },
  328. "alibabacloud": {
  329. "application": {
  330. "LogService": "SLS",
  331. "MessageNotificationService": "MNS",
  332. "PerformanceTestingService": "PTS",
  333. "SmartConversationAnalysis": "SCA",
  334. },
  335. "compute": {
  336. "AutoScaling": "ESS",
  337. "ElasticComputeService": "ECS",
  338. "ElasticContainerInstance": "ECI",
  339. "ElasticHighPerformanceComputing": "EHPC",
  340. "FunctionCompute": "FC",
  341. "OperationOrchestrationService": "OOS",
  342. "ResourceOrchestrationService": "ROS",
  343. "ServerLoadBalancer": "SLB",
  344. "ServerlessAppEngine": "SAE",
  345. "SimpleApplicationServer": "SAS",
  346. "WebAppService": "WAS",
  347. },
  348. "database": {
  349. "DataManagementService": "DMS",
  350. "DataTransmissionService": "DTS",
  351. "DatabaseBackupService": "DBS",
  352. "DisributeRelationalDatabaseService": "DRDS",
  353. "GraphDatabaseService": "GDS",
  354. "RelationalDatabaseService": "RDS",
  355. },
  356. "network": {
  357. "CloudEnterpriseNetwork": "CEN",
  358. "ElasticIpAddress": "EIP",
  359. "ServerLoadBalancer": "SLB",
  360. "VirtualPrivateCloud": "VPC",
  361. },
  362. "security": {
  363. "AntiBotService": "ABS",
  364. "AntifraudService": "AS",
  365. "CloudFirewall": "CFW",
  366. "ContentModeration": "CM",
  367. "DataEncryptionService": "DES",
  368. "WebApplicationFirewall": "WAF",
  369. },
  370. "storage": {
  371. "FileStorageHdfs": "HDFS",
  372. "FileStorageNas": "NAS",
  373. "HybridBackupRecovery": "HBR",
  374. "HybridCloudDisasterRecovery": "HDR",
  375. "ObjectStorageService": "OSS",
  376. "ObjectTableStore": "OTS",
  377. }
  378. },
  379. "digitalocean": {},
  380. "oci": {
  381. "compute": {
  382. "VM": "VirtualMachine",
  383. "VMWhite": "VirtualMachineWhite",
  384. "BM": "BareMetal",
  385. "BMWhite": "BareMetalWhite",
  386. "OCIR": "OCIRegistry",
  387. "OCIRWhite": "OCIRegistryWhite",
  388. "OKE": "ContainerEngine",
  389. "OKEWhite": "ContainerEngineWhite",
  390. },
  391. "database": {
  392. "Autonomous": "ADB",
  393. "AutonomousWhite": "ADBWhite",
  394. "DatabaseService": "DBService",
  395. "DatabaseServiceWhite": "DBServiceWhite",
  396. }
  397. },
  398. "programming": {
  399. "framework": {
  400. "Fastapi": "FastAPI",
  401. "Graphql": "GraphQL"
  402. },
  403. "language": {
  404. "Javascript": "JavaScript",
  405. "Nodejs": "NodeJS",
  406. "Php": "PHP",
  407. "Typescript": "TypeScript"
  408. },
  409. },
  410. "saas": {
  411. "logging": {
  412. "Datadog": "DataDog",
  413. "Newrelic": "NewRelic"
  414. }
  415. },
  416. "elastic": {
  417. "elasticsearch": {
  418. "Logstash": "LogStash",
  419. }
  420. },
  421. "outscale": {
  422. "Osc": "OSC",
  423. },
  424. "ibm": {},
  425. "generic": {},
  426. "openstack": {
  427. "user": {
  428. "Openstackclient": "OpenStackClient",
  429. },
  430. "billing": {
  431. "Cloudkitty": "CloudKitty",
  432. },
  433. "deployment": {
  434. "Kolla": "KollaAnsible",
  435. "Tripleo": "TripleO",
  436. }
  437. },
  438. }