diff --git a/README.md b/README.md
index 19499690..60a51d5e 100644
--- a/README.md
+++ b/README.md
@@ -14,6 +14,11 @@



+
+
+
+
+
**Diagram as Code**.
diff --git a/autogen.sh b/autogen.sh
index adc19c2a..1486dd0b 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -4,7 +4,7 @@ set -e
app_root_dir="diagrams"
# NOTE: azure icon set is not latest version
-providers=("onprem" "aws" "azure" "gcp" "firebase" "k8s" "alibabacloud" "oci" "programming" "saas" "generic")
+providers=("onprem" "aws" "azure" "gcp" "firebase" "k8s" "alibabacloud" "oci" "programming" "saas" "elastic" "generic")
if ! [ -x "$(command -v round)" ]; then
echo 'round is not installed'
diff --git a/config.py b/config.py
index 0625aa53..e5bba3a2 100644
--- a/config.py
+++ b/config.py
@@ -11,7 +11,7 @@ DIR_APP_ROOT = "diagrams"
DIR_RESOURCE = "resources"
DIR_TEMPLATE = "templates"
-PROVIDERS = ("base", "onprem", "aws", "azure", "gcp", "firebase", "k8s", "alibabacloud", "oci", "programming", "saas", "generic")
+PROVIDERS = ("base", "onprem", "aws", "azure", "gcp", "firebase", "k8s", "alibabacloud", "oci", "programming", "saas", "elastic", "generic")
#########################
# Resource Processing #
@@ -35,6 +35,7 @@ FILE_PREFIXES = {
"oci": ("OCI-",),
"programming": (),
"saas": (),
+ "elastic": (),
"generic": (),
}
@@ -60,6 +61,7 @@ UPPER_WORDS = {
"sa", "sc", "sts", "svc",
),
"oci": ("oci",),
+ "elastic": ("apm", "siem", "ece", "eck"),
"generic": ("vpn",),
}
@@ -139,6 +141,8 @@ ALIASES = {
"database": {
"DatabaseMigrationService": "DMS",
"DocumentdbMongodbCompatibility": "DocumentDB",
+ "DynamodbDax": "DAX",
+ "DynamodbGlobalSecondaryIndex": "DynamodbGSI",
"Database": "DB",
"Dynamodb": "DDB",
"Elasticache": "ElastiCache",
@@ -187,6 +191,10 @@ ALIASES = {
"Cloudhsm": "CloudHSM",
"DirectoryService": "DS",
"FirewallManager": "FMS",
+ "IdentityAndAccessManagementIamAccessAnalyzer": "IAMAccessAnalyzer",
+ "IdentityAndAccessManagementIamAWSSts": "IAMAWSSts",
+ "IdentityAndAccessManagementIamPermissions": "IAMPermissions",
+ "IdentityAndAccessManagementIamRole": "IAMRole",
"IdentityAndAccessManagementIam": "IAM",
"KeyManagementService": "KMS",
"ResourceAccessManager": "RAM",
@@ -358,5 +366,10 @@ ALIASES = {
},
},
"saas": {},
+ "elastic": {
+ "elasticsearch": {
+ "Logstash": "LogStash",
+ }
+ },
"generic": {},
}
diff --git a/diagrams/aws/database.py b/diagrams/aws/database.py
index 84065363..145fcb5d 100644
--- a/diagrams/aws/database.py
+++ b/diagrams/aws/database.py
@@ -24,6 +24,18 @@ class DocumentdbMongodbCompatibility(_Database):
_icon = "documentdb-mongodb-compatibility.png"
+class DynamodbDax(_Database):
+ _icon = "dynamodb-dax.png"
+
+
+class DynamodbGlobalSecondaryIndex(_Database):
+ _icon = "dynamodb-global-secondary-index.png"
+
+
+class DynamodbTable(_Database):
+ _icon = "dynamodb-table.png"
+
+
class Dynamodb(_Database):
_icon = "dynamodb.png"
@@ -60,6 +72,8 @@ class Timestream(_Database):
DMS = DatabaseMigrationService
DocumentDB = DocumentdbMongodbCompatibility
+DAX = DynamodbDax
+DynamodbGSI = DynamodbGlobalSecondaryIndex
DB = Database
DDB = Dynamodb
ElastiCache = Elasticache
diff --git a/diagrams/aws/security.py b/diagrams/aws/security.py
index d03d7175..61da75a9 100644
--- a/diagrams/aws/security.py
+++ b/diagrams/aws/security.py
@@ -28,6 +28,10 @@ class Cognito(_Security):
_icon = "cognito.png"
+class Detective(_Security):
+ _icon = "detective.png"
+
+
class DirectoryService(_Security):
_icon = "directory-service.png"
@@ -40,6 +44,22 @@ class Guardduty(_Security):
_icon = "guardduty.png"
+class IdentityAndAccessManagementIamAccessAnalyzer(_Security):
+ _icon = "identity-and-access-management-iam-access-analyzer.png"
+
+
+class IdentityAndAccessManagementIamAWSSts(_Security):
+ _icon = "identity-and-access-management-iam-aws-sts.png"
+
+
+class IdentityAndAccessManagementIamPermissions(_Security):
+ _icon = "identity-and-access-management-iam-permissions.png"
+
+
+class IdentityAndAccessManagementIamRole(_Security):
+ _icon = "identity-and-access-management-iam-role.png"
+
+
class IdentityAndAccessManagementIam(_Security):
_icon = "identity-and-access-management-iam.png"
@@ -90,6 +110,10 @@ ACM = CertificateManager
CloudHSM = Cloudhsm
DS = DirectoryService
FMS = FirewallManager
+IAMAccessAnalyzer = IdentityAndAccessManagementIamAccessAnalyzer
+IAMAWSSts = IdentityAndAccessManagementIamAWSSts
+IAMPermissions = IdentityAndAccessManagementIamPermissions
+IAMRole = IdentityAndAccessManagementIamRole
IAM = IdentityAndAccessManagementIam
KMS = KeyManagementService
RAM = ResourceAccessManager
diff --git a/diagrams/elastic/__init__.py b/diagrams/elastic/__init__.py
new file mode 100644
index 00000000..786fa60e
--- /dev/null
+++ b/diagrams/elastic/__init__.py
@@ -0,0 +1,12 @@
+"""
+Elastic provides a set of general elastic services.
+"""
+
+from diagrams import Node
+
+
+class _Elastic(Node):
+ _provider = "elastic"
+ _icon_dir = "resources/elastic"
+
+ fontcolor = "#ffffff"
diff --git a/diagrams/elastic/elasticsearch.py b/diagrams/elastic/elasticsearch.py
new file mode 100644
index 00000000..a903a42b
--- /dev/null
+++ b/diagrams/elastic/elasticsearch.py
@@ -0,0 +1,49 @@
+# This module is automatically generated by autogen.sh. DO NOT EDIT.
+
+from . import _Elastic
+
+
+class _Elasticsearch(_Elastic):
+ _type = "elasticsearch"
+ _icon_dir = "resources/elastic/elasticsearch"
+
+
+class Alerting(_Elasticsearch):
+ _icon = "alerting.png"
+
+
+class Elasticsearch(_Elasticsearch):
+ _icon = "elasticsearch.png"
+
+
+class Kibana(_Elasticsearch):
+ _icon = "kibana.png"
+
+
+class Logstash(_Elasticsearch):
+ _icon = "logstash.png"
+
+
+class MachineLearning(_Elasticsearch):
+ _icon = "machine-learning.png"
+
+
+class Maps(_Elasticsearch):
+ _icon = "maps.png"
+
+
+class Monitoring(_Elasticsearch):
+ _icon = "monitoring.png"
+
+
+class SecuritySettings(_Elasticsearch):
+ _icon = "security-settings.png"
+
+
+class Sql(_Elasticsearch):
+ _icon = "sql.png"
+
+
+# Aliases
+
+LogStash = Logstash
diff --git a/diagrams/elastic/enterprisesearch.py b/diagrams/elastic/enterprisesearch.py
new file mode 100644
index 00000000..d5e19459
--- /dev/null
+++ b/diagrams/elastic/enterprisesearch.py
@@ -0,0 +1,27 @@
+# This module is automatically generated by autogen.sh. DO NOT EDIT.
+
+from . import _Elastic
+
+
+class _Enterprisesearch(_Elastic):
+ _type = "enterprisesearch"
+ _icon_dir = "resources/elastic/enterprisesearch"
+
+
+class AppSearch(_Enterprisesearch):
+ _icon = "app-search.png"
+
+
+class EnterpriseSearch(_Enterprisesearch):
+ _icon = "enterprise-search.png"
+
+
+class SiteSearch(_Enterprisesearch):
+ _icon = "site-search.png"
+
+
+class WorkplaceSearch(_Enterprisesearch):
+ _icon = "workplace-search.png"
+
+
+# Aliases
diff --git a/diagrams/elastic/observability.py b/diagrams/elastic/observability.py
new file mode 100644
index 00000000..3001340d
--- /dev/null
+++ b/diagrams/elastic/observability.py
@@ -0,0 +1,31 @@
+# This module is automatically generated by autogen.sh. DO NOT EDIT.
+
+from . import _Elastic
+
+
+class _Observability(_Elastic):
+ _type = "observability"
+ _icon_dir = "resources/elastic/observability"
+
+
+class APM(_Observability):
+ _icon = "apm.png"
+
+
+class Logs(_Observability):
+ _icon = "logs.png"
+
+
+class Metrics(_Observability):
+ _icon = "metrics.png"
+
+
+class Observability(_Observability):
+ _icon = "observability.png"
+
+
+class Uptime(_Observability):
+ _icon = "uptime.png"
+
+
+# Aliases
diff --git a/diagrams/elastic/orchestration.py b/diagrams/elastic/orchestration.py
new file mode 100644
index 00000000..99084cc7
--- /dev/null
+++ b/diagrams/elastic/orchestration.py
@@ -0,0 +1,19 @@
+# This module is automatically generated by autogen.sh. DO NOT EDIT.
+
+from . import _Elastic
+
+
+class _Orchestration(_Elastic):
+ _type = "orchestration"
+ _icon_dir = "resources/elastic/orchestration"
+
+
+class ECE(_Orchestration):
+ _icon = "ece.png"
+
+
+class ECK(_Orchestration):
+ _icon = "eck.png"
+
+
+# Aliases
diff --git a/diagrams/elastic/security.py b/diagrams/elastic/security.py
new file mode 100644
index 00000000..34afe3e0
--- /dev/null
+++ b/diagrams/elastic/security.py
@@ -0,0 +1,23 @@
+# This module is automatically generated by autogen.sh. DO NOT EDIT.
+
+from . import _Elastic
+
+
+class _Security(_Elastic):
+ _type = "security"
+ _icon_dir = "resources/elastic/security"
+
+
+class Endpoint(_Security):
+ _icon = "endpoint.png"
+
+
+class Security(_Security):
+ _icon = "security.png"
+
+
+class SIEM(_Security):
+ _icon = "siem.png"
+
+
+# Aliases
diff --git a/diagrams/onprem/gitops.py b/diagrams/onprem/gitops.py
index 670bd2c5..c4702c62 100644
--- a/diagrams/onprem/gitops.py
+++ b/diagrams/onprem/gitops.py
@@ -12,6 +12,14 @@ class Argocd(_Gitops):
_icon = "argocd.png"
+class Flagger(_Gitops):
+ _icon = "flagger.png"
+
+
+class Flux(_Gitops):
+ _icon = "flux.png"
+
+
# Aliases
ArgoCD = Argocd
diff --git a/diagrams/programming/language.py b/diagrams/programming/language.py
index 60de2215..36c3d4c0 100644
--- a/diagrams/programming/language.py
+++ b/diagrams/programming/language.py
@@ -68,6 +68,10 @@ class Ruby(_Language):
_icon = "ruby.png"
+class Rust(_Language):
+ _icon = "rust.png"
+
+
class Swift(_Language):
_icon = "swift.png"
diff --git a/docs/nodes/aws.md b/docs/nodes/aws.md
index 1c8feb3f..ef5bdec2 100644
--- a/docs/nodes/aws.md
+++ b/docs/nodes/aws.md
@@ -61,6 +61,9 @@ Node classes list of aws provider.
- **diagrams.aws.database.DatabaseMigrationService**, **DMS** (alias)
- **diagrams.aws.database.Database**, **DB** (alias)
- **diagrams.aws.database.DocumentdbMongodbCompatibility**, **DocumentDB** (alias)
+- **diagrams.aws.database.DynamodbDax**, **DAX** (alias)
+- **diagrams.aws.database.DynamodbGlobalSecondaryIndex**, **DynamodbGSI** (alias)
+- **diagrams.aws.database.DynamodbTable**
- **diagrams.aws.database.Dynamodb**, **DDB** (alias)
- **diagrams.aws.database.Elasticache**, **ElastiCache** (alias)
- **diagrams.aws.database.Neptune**
@@ -254,9 +257,14 @@ Node classes list of aws provider.
- **diagrams.aws.security.CloudDirectory**
- **diagrams.aws.security.Cloudhsm**, **CloudHSM** (alias)
- **diagrams.aws.security.Cognito**
+- **diagrams.aws.security.Detective**
- **diagrams.aws.security.DirectoryService**, **DS** (alias)
- **diagrams.aws.security.FirewallManager**, **FMS** (alias)
- **diagrams.aws.security.Guardduty**
+- **diagrams.aws.security.IdentityAndAccessManagementIamAccessAnalyzer**, **IAMAccessAnalyzer** (alias)
+- **diagrams.aws.security.IdentityAndAccessManagementIamAWSSts**, **IAMAWSSts** (alias)
+- **diagrams.aws.security.IdentityAndAccessManagementIamPermissions**, **IAMPermissions** (alias)
+- **diagrams.aws.security.IdentityAndAccessManagementIamRole**, **IAMRole** (alias)
- **diagrams.aws.security.IdentityAndAccessManagementIam**, **IAM** (alias)
- **diagrams.aws.security.Inspector**
- **diagrams.aws.security.KeyManagementService**, **KMS** (alias)
diff --git a/docs/nodes/elastic.md b/docs/nodes/elastic.md
new file mode 100644
index 00000000..ce5d3c7a
--- /dev/null
+++ b/docs/nodes/elastic.md
@@ -0,0 +1,44 @@
+---
+id: elastic
+title: Elastic
+---
+
+Node classes list of elastic provider.
+
+## elastic.elasticsearch
+
+- **diagrams.elastic.elasticsearch.Alerting**
+- **diagrams.elastic.elasticsearch.Elasticsearch**
+- **diagrams.elastic.elasticsearch.Kibana**
+- **diagrams.elastic.elasticsearch.Logstash**, **LogStash** (alias)
+- **diagrams.elastic.elasticsearch.MachineLearning**
+- **diagrams.elastic.elasticsearch.Maps**
+- **diagrams.elastic.elasticsearch.Monitoring**
+- **diagrams.elastic.elasticsearch.SecuritySettings**
+- **diagrams.elastic.elasticsearch.Sql**
+
+## elastic.enterprisesearch
+
+- **diagrams.elastic.enterprisesearch.AppSearch**
+- **diagrams.elastic.enterprisesearch.EnterpriseSearch**
+- **diagrams.elastic.enterprisesearch.SiteSearch**
+- **diagrams.elastic.enterprisesearch.WorkplaceSearch**
+
+## elastic.observability
+
+- **diagrams.elastic.observability.APM**
+- **diagrams.elastic.observability.Logs**
+- **diagrams.elastic.observability.Metrics**
+- **diagrams.elastic.observability.Observability**
+- **diagrams.elastic.observability.Uptime**
+
+## elastic.orchestration
+
+- **diagrams.elastic.orchestration.ECE**
+- **diagrams.elastic.orchestration.ECK**
+
+## elastic.security
+
+- **diagrams.elastic.security.Endpoint**
+- **diagrams.elastic.security.Security**
+- **diagrams.elastic.security.SIEM**
diff --git a/docs/nodes/onprem.md b/docs/nodes/onprem.md
index aedecdf3..7b789db3 100644
--- a/docs/nodes/onprem.md
+++ b/docs/nodes/onprem.md
@@ -73,6 +73,8 @@ Node classes list of onprem provider.
## onprem.gitops
- **diagrams.onprem.gitops.Argocd**, **ArgoCD** (alias)
+- **diagrams.onprem.gitops.Flagger**
+- **diagrams.onprem.gitops.Flux**
## onprem.iac
diff --git a/docs/nodes/programming.md b/docs/nodes/programming.md
index b2843ec4..60c8a0e3 100644
--- a/docs/nodes/programming.md
+++ b/docs/nodes/programming.md
@@ -36,5 +36,6 @@ Node classes list of programming provider.
- **diagrams.programming.language.Python**
- **diagrams.programming.language.R**
- **diagrams.programming.language.Ruby**
+- **diagrams.programming.language.Rust**
- **diagrams.programming.language.Swift**
- **diagrams.programming.language.Typescript**, **TypeScript** (alias)
diff --git a/pyproject.toml b/pyproject.toml
index 9d2a2e75..b281ce16 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,6 +1,6 @@
[tool.poetry]
name = "diagrams"
-version = "0.12.0"
+version = "0.13.0"
description = "Diagram as Code"
license = "MIT"
authors = ["mingrammer "]
diff --git a/resources/aws/database/dynamodb-dax.png b/resources/aws/database/dynamodb-dax.png
new file mode 100755
index 00000000..5f923c6f
Binary files /dev/null and b/resources/aws/database/dynamodb-dax.png differ
diff --git a/resources/aws/database/dynamodb-global-secondary-index.png b/resources/aws/database/dynamodb-global-secondary-index.png
new file mode 100644
index 00000000..ca41aebd
Binary files /dev/null and b/resources/aws/database/dynamodb-global-secondary-index.png differ
diff --git a/resources/aws/database/dynamodb-table.png b/resources/aws/database/dynamodb-table.png
new file mode 100644
index 00000000..2dc08e68
Binary files /dev/null and b/resources/aws/database/dynamodb-table.png differ
diff --git a/resources/aws/security/detective.png b/resources/aws/security/detective.png
new file mode 100755
index 00000000..9b138ec5
Binary files /dev/null and b/resources/aws/security/detective.png differ
diff --git a/resources/aws/security/identity-and-access-management-iam-access-analyzer.png b/resources/aws/security/identity-and-access-management-iam-access-analyzer.png
new file mode 100644
index 00000000..e04ad7c4
Binary files /dev/null and b/resources/aws/security/identity-and-access-management-iam-access-analyzer.png differ
diff --git a/resources/aws/security/identity-and-access-management-iam-aws-sts.png b/resources/aws/security/identity-and-access-management-iam-aws-sts.png
new file mode 100644
index 00000000..d9e35a3c
Binary files /dev/null and b/resources/aws/security/identity-and-access-management-iam-aws-sts.png differ
diff --git a/resources/aws/security/identity-and-access-management-iam-permissions.png b/resources/aws/security/identity-and-access-management-iam-permissions.png
new file mode 100644
index 00000000..2f26e277
Binary files /dev/null and b/resources/aws/security/identity-and-access-management-iam-permissions.png differ
diff --git a/resources/aws/security/identity-and-access-management-iam-role.png b/resources/aws/security/identity-and-access-management-iam-role.png
new file mode 100644
index 00000000..97862706
Binary files /dev/null and b/resources/aws/security/identity-and-access-management-iam-role.png differ
diff --git a/resources/elastic/cloud.png b/resources/elastic/cloud.png
new file mode 100644
index 00000000..92ee1c92
Binary files /dev/null and b/resources/elastic/cloud.png differ
diff --git a/resources/elastic/elasticsearch/alerting.png b/resources/elastic/elasticsearch/alerting.png
new file mode 100644
index 00000000..eb8c7c71
Binary files /dev/null and b/resources/elastic/elasticsearch/alerting.png differ
diff --git a/resources/elastic/elasticsearch/elasticsearch.png b/resources/elastic/elasticsearch/elasticsearch.png
new file mode 100644
index 00000000..10188c30
Binary files /dev/null and b/resources/elastic/elasticsearch/elasticsearch.png differ
diff --git a/resources/elastic/elasticsearch/kibana.png b/resources/elastic/elasticsearch/kibana.png
new file mode 100644
index 00000000..b856e29b
Binary files /dev/null and b/resources/elastic/elasticsearch/kibana.png differ
diff --git a/resources/elastic/elasticsearch/logstash.png b/resources/elastic/elasticsearch/logstash.png
new file mode 100644
index 00000000..7beca017
Binary files /dev/null and b/resources/elastic/elasticsearch/logstash.png differ
diff --git a/resources/elastic/elasticsearch/machine-learning.png b/resources/elastic/elasticsearch/machine-learning.png
new file mode 100644
index 00000000..d69926ce
Binary files /dev/null and b/resources/elastic/elasticsearch/machine-learning.png differ
diff --git a/resources/elastic/elasticsearch/maps.png b/resources/elastic/elasticsearch/maps.png
new file mode 100644
index 00000000..5f597a9c
Binary files /dev/null and b/resources/elastic/elasticsearch/maps.png differ
diff --git a/resources/elastic/elasticsearch/monitoring.png b/resources/elastic/elasticsearch/monitoring.png
new file mode 100644
index 00000000..00c9665c
Binary files /dev/null and b/resources/elastic/elasticsearch/monitoring.png differ
diff --git a/resources/elastic/elasticsearch/security-settings.png b/resources/elastic/elasticsearch/security-settings.png
new file mode 100644
index 00000000..74a54816
Binary files /dev/null and b/resources/elastic/elasticsearch/security-settings.png differ
diff --git a/resources/elastic/elasticsearch/sql.png b/resources/elastic/elasticsearch/sql.png
new file mode 100644
index 00000000..ebb7fc3e
Binary files /dev/null and b/resources/elastic/elasticsearch/sql.png differ
diff --git a/resources/elastic/enterprisesearch/app-search.png b/resources/elastic/enterprisesearch/app-search.png
new file mode 100644
index 00000000..a7217232
Binary files /dev/null and b/resources/elastic/enterprisesearch/app-search.png differ
diff --git a/resources/elastic/enterprisesearch/enterprise-search.png b/resources/elastic/enterprisesearch/enterprise-search.png
new file mode 100644
index 00000000..6354b21c
Binary files /dev/null and b/resources/elastic/enterprisesearch/enterprise-search.png differ
diff --git a/resources/elastic/enterprisesearch/site-search.png b/resources/elastic/enterprisesearch/site-search.png
new file mode 100644
index 00000000..eb41bb9c
Binary files /dev/null and b/resources/elastic/enterprisesearch/site-search.png differ
diff --git a/resources/elastic/enterprisesearch/workplace-search.png b/resources/elastic/enterprisesearch/workplace-search.png
new file mode 100644
index 00000000..5e38b5e6
Binary files /dev/null and b/resources/elastic/enterprisesearch/workplace-search.png differ
diff --git a/resources/elastic/observability/apm.png b/resources/elastic/observability/apm.png
new file mode 100644
index 00000000..3b1ba284
Binary files /dev/null and b/resources/elastic/observability/apm.png differ
diff --git a/resources/elastic/observability/logs.png b/resources/elastic/observability/logs.png
new file mode 100644
index 00000000..2976ae21
Binary files /dev/null and b/resources/elastic/observability/logs.png differ
diff --git a/resources/elastic/observability/metrics.png b/resources/elastic/observability/metrics.png
new file mode 100644
index 00000000..bb354a07
Binary files /dev/null and b/resources/elastic/observability/metrics.png differ
diff --git a/resources/elastic/observability/observability.png b/resources/elastic/observability/observability.png
new file mode 100644
index 00000000..5844caa9
Binary files /dev/null and b/resources/elastic/observability/observability.png differ
diff --git a/resources/elastic/observability/uptime.png b/resources/elastic/observability/uptime.png
new file mode 100644
index 00000000..f4e2709d
Binary files /dev/null and b/resources/elastic/observability/uptime.png differ
diff --git a/resources/elastic/orchestration/ece.png b/resources/elastic/orchestration/ece.png
new file mode 100644
index 00000000..82629553
Binary files /dev/null and b/resources/elastic/orchestration/ece.png differ
diff --git a/resources/elastic/orchestration/eck.png b/resources/elastic/orchestration/eck.png
new file mode 100644
index 00000000..b5135efa
Binary files /dev/null and b/resources/elastic/orchestration/eck.png differ
diff --git a/resources/elastic/security/endpoint.png b/resources/elastic/security/endpoint.png
new file mode 100644
index 00000000..91facf99
Binary files /dev/null and b/resources/elastic/security/endpoint.png differ
diff --git a/resources/elastic/security/security.png b/resources/elastic/security/security.png
new file mode 100644
index 00000000..ebf98d16
Binary files /dev/null and b/resources/elastic/security/security.png differ
diff --git a/resources/elastic/security/siem.png b/resources/elastic/security/siem.png
new file mode 100644
index 00000000..4024b3c0
Binary files /dev/null and b/resources/elastic/security/siem.png differ
diff --git a/resources/onprem/gitops/flagger.png b/resources/onprem/gitops/flagger.png
new file mode 100644
index 00000000..de8835df
Binary files /dev/null and b/resources/onprem/gitops/flagger.png differ
diff --git a/resources/onprem/gitops/flux.png b/resources/onprem/gitops/flux.png
new file mode 100644
index 00000000..057b6361
Binary files /dev/null and b/resources/onprem/gitops/flux.png differ
diff --git a/resources/programming/language/rust.png b/resources/programming/language/rust.png
new file mode 100644
index 00000000..a9f7fa15
Binary files /dev/null and b/resources/programming/language/rust.png differ
diff --git a/scripts/generate.py b/scripts/generate.py
index a7e04b78..fedee589 100644
--- a/scripts/generate.py
+++ b/scripts/generate.py
@@ -7,7 +7,7 @@ from jinja2 import Environment, FileSystemLoader, Template
import config as cfg
from . import app_root_dir, doc_root_dir, resource_dir, template_dir
-_usage = "Usage: generate.py "
+_usage = "Usage: generate.py "
def load_tmpl(tmpl: str) -> Template:
diff --git a/scripts/resource.py b/scripts/resource.py
index daaa426d..20aee58e 100644
--- a/scripts/resource.py
+++ b/scripts/resource.py
@@ -24,6 +24,7 @@ def cleaner_onprem(f):
def cleaner_aws(f):
f = f.replace("_", "-")
f = f.replace("@4x", "")
+ f = f.replace("-light-bg4x", "")
f = f.replace("-light-bg", "")
for p in cfg.FILE_PREFIXES["aws"]:
if f.startswith(p):
@@ -100,6 +101,10 @@ def cleaner_saas(f):
return f.lower()
+def cleaner_elastic(f):
+ return f.lower()
+
+
cleaners = {
"onprem": cleaner_onprem,
"aws": cleaner_aws,
@@ -111,6 +116,7 @@ cleaners = {
"oci": cleaner_oci,
"programming": cleaner_programming,
"saas": cleaner_saas,
+ "elastic": cleaner_elastic,
"generic": cleaner_generic,
}
diff --git a/website/core/Footer.js b/website/core/Footer.js
index 705188f3..8f1c1759 100644
--- a/website/core/Footer.js
+++ b/website/core/Footer.js
@@ -51,7 +51,7 @@ class Footer extends React.Component {
More
-
+
{this.props.config.copyright}
);
diff --git a/website/i18n/en.json b/website/i18n/en.json
index ac75a433..c6232b39 100644
--- a/website/i18n/en.json
+++ b/website/i18n/en.json
@@ -32,6 +32,12 @@
"nodes/azure": {
"title": "Azure"
},
+ "nodes/elastic": {
+ "title": "Elastic"
+ },
+ "nodes/firebase": {
+ "title": "Firebase"
+ },
"nodes/gcp": {
"title": "GCP"
},
@@ -46,13 +52,17 @@
},
"nodes/programming": {
"title": "Programming"
+ },
+ "nodes/saas": {
+ "title": "Saas"
}
},
"links": {
"Docs": "Docs",
"Guides": "Guides",
"Nodes": "Nodes",
- "GitHub": "GitHub"
+ "GitHub": "GitHub",
+ "Sponsorship": "Sponsorship"
},
"categories": {
"Getting Started": "Getting Started",
diff --git a/website/pages/en/index.js b/website/pages/en/index.js
index cc0bdcaa..117ba514 100644
--- a/website/pages/en/index.js
+++ b/website/pages/en/index.js
@@ -111,6 +111,20 @@ class Index extends React.Component {
);
+ const Sponsorship = () => (
+
+
Sponsorship
+
+ Sponsoring always helps a lot to maintain Diagrams. Thank you :)
+
+
+
+
+
+ );
+
const Example = () => (
{[
@@ -148,6 +162,7 @@ class Index extends React.Component {
+
);
diff --git a/website/sidebars.json b/website/sidebars.json
index 3e80df07..91d5d709 100644
--- a/website/sidebars.json
+++ b/website/sidebars.json
@@ -18,7 +18,10 @@
"nodes/k8s",
"nodes/alibabacloud",
"nodes/oci",
- "nodes/programming"
+ "nodes/programming",
+ "nodes/firebase",
+ "nodes/saas",
+ "nodes/elastic"
]
}
}
\ No newline at end of file
diff --git a/website/siteConfig.js b/website/siteConfig.js
index aea9355c..16cce1cc 100644
--- a/website/siteConfig.js
+++ b/website/siteConfig.js
@@ -22,6 +22,7 @@ const siteConfig = {
{doc: 'guides/diagram', label: 'Guides'},
{doc: 'nodes/aws', label: 'Nodes'},
{href: 'https://github.com/mingrammer/diagrams', label: 'GitHub'},
+ {href: 'https://www.buymeacoffee.com/mingrammer', label: 'Sponsoring'},
],
headerIcon: 'img/diagrams.ico',
diff --git a/website/static/css/custom.css b/website/static/css/custom.css
index 01aa4ed3..235f6269 100644
--- a/website/static/css/custom.css
+++ b/website/static/css/custom.css
@@ -20,4 +20,8 @@
}
@media only screen and (min-width: 1500px) {
+}
+
+#buymeacoffee {
+ height: 50px;
}
\ No newline at end of file