diff --git a/autogen.sh b/autogen.sh index d7605a6b..acbcacb2 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" "ibm" "firebase" "k8s" "alibabacloud" "oci" "programming" "saas" "elastic" "generic" "openstack" "outscale" ) +providers=("onprem" "aws" "azure" "digitalocean" "gcp" "ibm" "firebase" "k8s" "alibabacloud" "oci" "programming" "saas" "elastic" "generic" "openstack" "outscale" ) if ! [ -x "$(command -v round)" ]; then echo 'round is not installed' diff --git a/config.py b/config.py index 5fb22160..f527ab6e 100644 --- a/config.py +++ b/config.py @@ -12,8 +12,8 @@ DIR_RESOURCE = "resources" DIR_TEMPLATE = "templates" PROVIDERS = ( - "base", "onprem", "aws", "azure", "gcp", "ibm", "firebase", "k8s", "alibabacloud", "oci", "programming", "saas", "elastic", - "generic", "openstack", "outscale") + "base", "onprem", "aws", "azure", "digitalocean", "gcp", "ibm", "firebase", "k8s", "alibabacloud", "oci", + "programming", "saas", "elastic", "generic", "openstack", "outscale") ######################### # Resource Processing # @@ -30,6 +30,7 @@ FILE_PREFIXES = { "onprem": (), "aws": ("Amazon-", "AWS-"), "azure": ("Azure-",), + "digitalocean": (), "gcp": ("Cloud-",), "firebase": ("Cloud-",), "ibm": (), @@ -58,7 +59,7 @@ TMPL_MODULE = "module.tmpl" UPPER_WORDS = { "aws": ("aws", "api", "ebs", "ec2", "efs", "emr", "rds", "ml", "mq", "nat", "vpc", "waf", "sdk"), - "azure": ("ad", "b2c", "ai", "api", "cdn", "ddos", "dns", "fxt", "hana", "hd", "id", "sap", "sql", "vm"), + "azure": ("ad", "b2c", "ai", "api", "cdn", "ddos", "dns", "fxt", "hana", "hd", "id", "sap", "sql", "vm", "vpn", "vpc"), "gcp": ("gcp", "ai", "api", "cdn", "dns", "gke", "gpu", "iap", "ml", "nat", "os", "sdk", "sql", "tpu", "vpn"), "firebase": ("ab", "fcm", "ml"), "k8s": ( @@ -84,6 +85,9 @@ TITLE_WORDS = { "aws": { "cloudfront": "CloudFront" }, + "digitalocean": { + "digitalocean": "DigitalOcean" + }, "openstack": { "openstack": "OpenStack" }, @@ -386,6 +390,7 @@ ALIASES = { "ObjectTableStore": "OTS", } }, + "digitalocean": {}, "oci": { "compute": { "VM": "VirtualMachine", diff --git a/diagrams/aws/general.py b/diagrams/aws/general.py index 2c05e5f6..dd6d4bea 100644 --- a/diagrams/aws/general.py +++ b/diagrams/aws/general.py @@ -8,10 +8,6 @@ class _General(_AWS): _icon_dir = "resources/aws/general" -class InternetGateway(_General): - _icon = "Internet-gateway.png" - - class Client(_General): _icon = "client.png" @@ -56,6 +52,10 @@ class InternetAlt2(_General): _icon = "internet-alt2.png" +class InternetGateway(_General): + _icon = "internet-gateway.png" + + class Marketplace(_General): _icon = "marketplace.png" diff --git a/diagrams/digitalocean/compute.py b/diagrams/digitalocean/compute.py new file mode 100644 index 00000000..2f732004 --- /dev/null +++ b/diagrams/digitalocean/compute.py @@ -0,0 +1,43 @@ +# This module is automatically generated by autogen.sh. DO NOT EDIT. + +from . import _DigitalOcean + + +class _Compute(_DigitalOcean): + _type = "compute" + _icon_dir = "resources/digitalocean/compute" + + +class Containers(_Compute): + _icon = "containers.png" + + +class Docker(_Compute): + _icon = "docker.png" + + +class DropletConnect(_Compute): + _icon = "droplet-connect.png" + + +class DropletSnapshot(_Compute): + _icon = "droplet-snapshot.png" + + +class Droplet(_Compute): + _icon = "droplet.png" + + +class K8SCluster(_Compute): + _icon = "k8s-cluster.png" + + +class K8SNodePool(_Compute): + _icon = "k8s-node-pool.png" + + +class K8SNode(_Compute): + _icon = "k8s-node.png" + + +# Aliases diff --git a/diagrams/digitalocean/database.py b/diagrams/digitalocean/database.py new file mode 100644 index 00000000..8ddc18c9 --- /dev/null +++ b/diagrams/digitalocean/database.py @@ -0,0 +1,27 @@ +# This module is automatically generated by autogen.sh. DO NOT EDIT. + +from . import _DigitalOcean + + +class _Database(_DigitalOcean): + _type = "database" + _icon_dir = "resources/digitalocean/database" + + +class DbaasPrimaryStandbyMore(_Database): + _icon = "dbaas-primary-standby-more.png" + + +class DbaasPrimary(_Database): + _icon = "dbaas-primary.png" + + +class DbaasReadOnly(_Database): + _icon = "dbaas-read-only.png" + + +class DbaasStandby(_Database): + _icon = "dbaas-standby.png" + + +# Aliases diff --git a/diagrams/digitalocean/network.py b/diagrams/digitalocean/network.py new file mode 100644 index 00000000..901529ca --- /dev/null +++ b/diagrams/digitalocean/network.py @@ -0,0 +1,47 @@ +# This module is automatically generated by autogen.sh. DO NOT EDIT. + +from . import _DigitalOcean + + +class _Network(_DigitalOcean): + _type = "network" + _icon_dir = "resources/digitalocean/network" + + +class Certificate(_Network): + _icon = "certificate.png" + + +class DomainRegistration(_Network): + _icon = "domain-registration.png" + + +class Domain(_Network): + _icon = "domain.png" + + +class Firewall(_Network): + _icon = "firewall.png" + + +class FloatingIp(_Network): + _icon = "floating-ip.png" + + +class InternetGateway(_Network): + _icon = "internet-gateway.png" + + +class LoadBalancer(_Network): + _icon = "load-balancer.png" + + +class ManagedVpn(_Network): + _icon = "managed-vpn.png" + + +class Vpc(_Network): + _icon = "vpc.png" + + +# Aliases diff --git a/diagrams/digitalocean/storage.py b/diagrams/digitalocean/storage.py new file mode 100644 index 00000000..a2c5bc9e --- /dev/null +++ b/diagrams/digitalocean/storage.py @@ -0,0 +1,27 @@ +# This module is automatically generated by autogen.sh. DO NOT EDIT. + +from . import _DigitalOcean + + +class _Storage(_DigitalOcean): + _type = "storage" + _icon_dir = "resources/digitalocean/storage" + + +class Folder(_Storage): + _icon = "folder.png" + + +class Space(_Storage): + _icon = "space.png" + + +class VolumeSnapshot(_Storage): + _icon = "volume-snapshot.png" + + +class Volume(_Storage): + _icon = "volume.png" + + +# Aliases diff --git a/docs/nodes/aws.md b/docs/nodes/aws.md index a2b28cb6..4de5bc8d 100644 --- a/docs/nodes/aws.md +++ b/docs/nodes/aws.md @@ -188,7 +188,6 @@ Node classes list of aws provider. ## aws.general -- **diagrams.aws.general.InternetGateway** - **diagrams.aws.general.Client** - **diagrams.aws.general.Disk** - **diagrams.aws.general.Forums** @@ -200,6 +199,7 @@ Node classes list of aws provider. - **diagrams.aws.general.GenericSDK** - **diagrams.aws.general.InternetAlt1** - **diagrams.aws.general.InternetAlt2** +- **diagrams.aws.general.InternetGateway** - **diagrams.aws.general.Marketplace** - **diagrams.aws.general.MobileClient** - **diagrams.aws.general.Multimedia** diff --git a/docs/nodes/digitalocean.md b/docs/nodes/digitalocean.md new file mode 100644 index 00000000..d455d0c0 --- /dev/null +++ b/docs/nodes/digitalocean.md @@ -0,0 +1,43 @@ +--- +id: digitalocean +title: DigitalOcean +--- + +Node classes list of digitalocean provider. + +## digitalocean.compute + +- **diagrams.digitalocean.compute.Containers** +- **diagrams.digitalocean.compute.Docker** +- **diagrams.digitalocean.compute.DropletConnect** +- **diagrams.digitalocean.compute.DropletSnapshot** +- **diagrams.digitalocean.compute.Droplet** +- **diagrams.digitalocean.compute.K8SCluster** +- **diagrams.digitalocean.compute.K8SNodePool** +- **diagrams.digitalocean.compute.K8SNode** + +## digitalocean.database + +- **diagrams.digitalocean.database.DbaasPrimaryStandbyMore** +- **diagrams.digitalocean.database.DbaasPrimary** +- **diagrams.digitalocean.database.DbaasReadOnly** +- **diagrams.digitalocean.database.DbaasStandby** + +## digitalocean.network + +- **diagrams.digitalocean.network.Certificate** +- **diagrams.digitalocean.network.DomainRegistration** +- **diagrams.digitalocean.network.Domain** +- **diagrams.digitalocean.network.Firewall** +- **diagrams.digitalocean.network.FloatingIp** +- **diagrams.digitalocean.network.InternetGateway** +- **diagrams.digitalocean.network.LoadBalancer** +- **diagrams.digitalocean.network.ManagedVpn** +- **diagrams.digitalocean.network.Vpc** + +## digitalocean.storage + +- **diagrams.digitalocean.storage.Folder** +- **diagrams.digitalocean.storage.Space** +- **diagrams.digitalocean.storage.VolumeSnapshot** +- **diagrams.digitalocean.storage.Volume** diff --git a/resources/digitalocean/compute/containers.png b/resources/digitalocean/compute/containers.png new file mode 100644 index 00000000..c91c0b5d Binary files /dev/null and b/resources/digitalocean/compute/containers.png differ diff --git a/resources/digitalocean/compute/docker.png b/resources/digitalocean/compute/docker.png new file mode 100644 index 00000000..b9a7d33c Binary files /dev/null and b/resources/digitalocean/compute/docker.png differ diff --git a/resources/digitalocean/compute/droplet-connect.png b/resources/digitalocean/compute/droplet-connect.png new file mode 100644 index 00000000..44c0b869 Binary files /dev/null and b/resources/digitalocean/compute/droplet-connect.png differ diff --git a/resources/digitalocean/compute/droplet-snapshot.png b/resources/digitalocean/compute/droplet-snapshot.png new file mode 100644 index 00000000..5ec9b0d0 Binary files /dev/null and b/resources/digitalocean/compute/droplet-snapshot.png differ diff --git a/resources/digitalocean/compute/droplet.png b/resources/digitalocean/compute/droplet.png new file mode 100644 index 00000000..9010bf10 Binary files /dev/null and b/resources/digitalocean/compute/droplet.png differ diff --git a/resources/digitalocean/compute/k8s-cluster.png b/resources/digitalocean/compute/k8s-cluster.png new file mode 100644 index 00000000..2cdb1485 Binary files /dev/null and b/resources/digitalocean/compute/k8s-cluster.png differ diff --git a/resources/digitalocean/compute/k8s-node-pool.png b/resources/digitalocean/compute/k8s-node-pool.png new file mode 100644 index 00000000..54f08df9 Binary files /dev/null and b/resources/digitalocean/compute/k8s-node-pool.png differ diff --git a/resources/digitalocean/compute/k8s-node.png b/resources/digitalocean/compute/k8s-node.png new file mode 100644 index 00000000..850311fc Binary files /dev/null and b/resources/digitalocean/compute/k8s-node.png differ diff --git a/resources/digitalocean/database/dbaas-primary-standby-more.png b/resources/digitalocean/database/dbaas-primary-standby-more.png new file mode 100644 index 00000000..3903a387 Binary files /dev/null and b/resources/digitalocean/database/dbaas-primary-standby-more.png differ diff --git a/resources/digitalocean/database/dbaas-primary.png b/resources/digitalocean/database/dbaas-primary.png new file mode 100644 index 00000000..204e61cb Binary files /dev/null and b/resources/digitalocean/database/dbaas-primary.png differ diff --git a/resources/digitalocean/database/dbaas-read-only.png b/resources/digitalocean/database/dbaas-read-only.png new file mode 100644 index 00000000..b6747095 Binary files /dev/null and b/resources/digitalocean/database/dbaas-read-only.png differ diff --git a/resources/digitalocean/database/dbaas-standby.png b/resources/digitalocean/database/dbaas-standby.png new file mode 100644 index 00000000..2ed71136 Binary files /dev/null and b/resources/digitalocean/database/dbaas-standby.png differ diff --git a/resources/digitalocean/network/certificate.png b/resources/digitalocean/network/certificate.png new file mode 100644 index 00000000..4552ad4f Binary files /dev/null and b/resources/digitalocean/network/certificate.png differ diff --git a/resources/digitalocean/network/domain-registration.png b/resources/digitalocean/network/domain-registration.png new file mode 100644 index 00000000..bdf0cf99 Binary files /dev/null and b/resources/digitalocean/network/domain-registration.png differ diff --git a/resources/digitalocean/network/domain.png b/resources/digitalocean/network/domain.png new file mode 100644 index 00000000..def4332d Binary files /dev/null and b/resources/digitalocean/network/domain.png differ diff --git a/resources/digitalocean/network/firewall.png b/resources/digitalocean/network/firewall.png new file mode 100644 index 00000000..9157f6ea Binary files /dev/null and b/resources/digitalocean/network/firewall.png differ diff --git a/resources/digitalocean/network/floating-ip.png b/resources/digitalocean/network/floating-ip.png new file mode 100644 index 00000000..20aecc7f Binary files /dev/null and b/resources/digitalocean/network/floating-ip.png differ diff --git a/resources/digitalocean/network/internet-gateway.png b/resources/digitalocean/network/internet-gateway.png new file mode 100644 index 00000000..1203a39e Binary files /dev/null and b/resources/digitalocean/network/internet-gateway.png differ diff --git a/resources/digitalocean/network/load-balancer.png b/resources/digitalocean/network/load-balancer.png new file mode 100644 index 00000000..335a95b2 Binary files /dev/null and b/resources/digitalocean/network/load-balancer.png differ diff --git a/resources/digitalocean/network/managed-vpn.png b/resources/digitalocean/network/managed-vpn.png new file mode 100644 index 00000000..4e0fc4f0 Binary files /dev/null and b/resources/digitalocean/network/managed-vpn.png differ diff --git a/resources/digitalocean/network/vpc.png b/resources/digitalocean/network/vpc.png new file mode 100644 index 00000000..c49baefd Binary files /dev/null and b/resources/digitalocean/network/vpc.png differ diff --git a/resources/digitalocean/storage/folder.png b/resources/digitalocean/storage/folder.png new file mode 100644 index 00000000..cf5e2f89 Binary files /dev/null and b/resources/digitalocean/storage/folder.png differ diff --git a/resources/digitalocean/storage/space.png b/resources/digitalocean/storage/space.png new file mode 100644 index 00000000..f4054c78 Binary files /dev/null and b/resources/digitalocean/storage/space.png differ diff --git a/resources/digitalocean/storage/volume-snapshot.png b/resources/digitalocean/storage/volume-snapshot.png new file mode 100644 index 00000000..0bdab74c Binary files /dev/null and b/resources/digitalocean/storage/volume-snapshot.png differ diff --git a/resources/digitalocean/storage/volume.png b/resources/digitalocean/storage/volume.png new file mode 100644 index 00000000..3d3dc947 Binary files /dev/null and b/resources/digitalocean/storage/volume.png differ diff --git a/scripts/resource.py b/scripts/resource.py index 0cab4038..d2b0f4c8 100644 --- a/scripts/resource.py +++ b/scripts/resource.py @@ -84,6 +84,14 @@ def cleaner_k8s(f): break return f.lower() +def cleaner_digitalocean(f): + f = f.replace("-32", "") + for p in cfg.FILE_PREFIXES["digitalocean"]: + if f.startswith(p): + f = f[len(p) :] + break + return f.lower() + def cleaner_alibabacloud(f): for p in cfg.FILE_PREFIXES["alibabacloud"]: @@ -131,6 +139,7 @@ cleaners = { "onprem": cleaner_onprem, "aws": cleaner_aws, "azure": cleaner_azure, + "digitalocean": cleaner_digitalocean, "gcp": cleaner_gcp, "ibm": cleaner_ibm, "firebase": cleaner_firebase,