diff --git a/autogen.sh b/autogen.sh index b5dc831d1..d331cde55 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 275baaabe..ab971c6df 100644 --- a/config.py +++ b/config.py @@ -11,7 +11,7 @@ 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 @@ "oci": ("OCI-",), "programming": (), "saas": (), + "elastic": (), } ######################### @@ -59,6 +60,7 @@ "sa", "sc", "sts", "svc", ), "oci": ("oci",), + "elastic": ("apm", "siem", "ece", "eck"), } TITLE_WORDS = { @@ -356,4 +358,9 @@ }, }, "saas": {}, + "elastic": { + "elasticsearch": { + "Logstash": "LogStash", + } + }, } diff --git a/diagrams/elastic/__init__.py b/diagrams/elastic/__init__.py new file mode 100644 index 000000000..786fa60e4 --- /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 000000000..a903a42b6 --- /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 000000000..d5e194591 --- /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 000000000..3001340d2 --- /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 000000000..99084cc72 --- /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 000000000..34afe3e00 --- /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 000000000..ce5d3c7a8 --- /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 000000000..92ee1c925 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 000000000..eb8c7c711 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 000000000..10188c30e 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 000000000..b856e29b8 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 000000000..7beca0172 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 000000000..d69926ce9 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 000000000..5f597a9c3 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 000000000..00c9665c1 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 000000000..74a54816c 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 000000000..ebb7fc3e9 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 000000000..a7217232d 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 000000000..6354b21c4 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 000000000..eb41bb9c7 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 000000000..5e38b5e60 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 000000000..3b1ba2844 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 000000000..2976ae210 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 000000000..bb354a076 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 000000000..5844caa98 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 000000000..f4e2709d6 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 000000000..82629553b 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 000000000..b5135efa5 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 000000000..91facf99e 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 000000000..ebf98d169 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 000000000..4024b3c06 Binary files /dev/null and b/resources/elastic/security/siem.png differ diff --git a/scripts/generate.py b/scripts/generate.py index a7e04b780..fedee589a 100644 --- a/scripts/generate.py +++ b/scripts/generate.py @@ -7,7 +7,7 @@ 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 41e44130e..2d171aff6 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 @@ def cleaner_saas(f): "oci": cleaner_oci, "programming": cleaner_programming, "saas": cleaner_saas, + "elastic": cleaner_elastic, }