diff --git a/autogen.sh b/autogen.sh index b5dc831..d331cde 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") +providers=("onprem" "aws" "azure" "gcp" "firebase" "k8s" "alibabacloud" "oci" "programming" "saas" "elastic") if ! [ -x "$(command -v round)" ]; then echo 'round is not installed' diff --git a/config.py b/config.py index 275baaa..ab971c6 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") +PROVIDERS = ("base", "onprem", "aws", "azure", "gcp", "firebase", "k8s", "alibabacloud", "oci", "programming", "saas", "elastic") ######################### # Resource Processing # @@ -35,6 +35,7 @@ FILE_PREFIXES = { "oci": ("OCI-",), "programming": (), "saas": (), + "elastic": (), } ######################### @@ -59,6 +60,7 @@ UPPER_WORDS = { "sa", "sc", "sts", "svc", ), "oci": ("oci",), + "elastic": ("apm", "siem", "ece", "eck"), } TITLE_WORDS = { @@ -356,4 +358,9 @@ ALIASES = { }, }, "saas": {}, + "elastic": { + "elasticsearch": { + "Logstash": "LogStash", + } + }, } diff --git a/diagrams/elastic/__init__.py b/diagrams/elastic/__init__.py new file mode 100644 index 0000000..786fa60 --- /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 0000000..a903a42 --- /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 0000000..d5e1945 --- /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 0000000..3001340 --- /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 0000000..99084cc --- /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 0000000..34afe3e --- /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/docs/nodes/elastic.md b/docs/nodes/elastic.md new file mode 100644 index 0000000..ce5d3c7 --- /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/resources/elastic/cloud.png b/resources/elastic/cloud.png new file mode 100644 index 0000000..92ee1c9 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 0000000..eb8c7c7 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 0000000..10188c3 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 0000000..b856e29 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 0000000..7beca01 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 0000000..d69926c 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 0000000..5f597a9 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 0000000..00c9665 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 0000000..74a5481 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 0000000..ebb7fc3 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 0000000..a721723 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 0000000..6354b21 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 0000000..eb41bb9 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 0000000..5e38b5e 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 0000000..3b1ba28 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 0000000..2976ae2 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 0000000..bb354a0 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 0000000..5844caa 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 0000000..f4e2709 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 0000000..8262955 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 0000000..b5135ef 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 0000000..91facf9 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 0000000..ebf98d1 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 0000000..4024b3c Binary files /dev/null and b/resources/elastic/security/siem.png differ diff --git a/scripts/generate.py b/scripts/generate.py index a7e04b7..fedee58 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 41e4413..2d171af 100644 --- a/scripts/resource.py +++ b/scripts/resource.py @@ -98,6 +98,10 @@ def cleaner_saas(f): return f.lower() +def cleaner_elastic(f): + return f.lower() + + cleaners = { "onprem": cleaner_onprem, "aws": cleaner_aws, @@ -109,6 +113,7 @@ cleaners = { "oci": cleaner_oci, "programming": cleaner_programming, "saas": cleaner_saas, + "elastic": cleaner_elastic, }