Browse Source

feat: add icon set for Oracle Cloud Services. (#20)

* Add Icon set for Oracle Cloud Services. Update scripts to handle the new provider

* feat: add alibaba cloud resources

* chore: delete unused script

* bump: up to version 0.4.0

* docs: add alibaba cloud

* chore: make a publish script executable

* docs: update menus for alibaba cloud

* Code cleanup per pull request feedback

* Add Oracle cloud to website and command line to generate the classes

* Add missing module script for OCI provider

Co-authored-by: Prodesire <Prodesire@yeah.net>
Co-authored-by: MinJae Kwon <mingrammer@gmail.com>
pull/25/head
McSly 4 years ago
committed by GitHub
parent
commit
a2b78fae04
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
69 changed files with 462 additions and 7 deletions
  1. +1
    -1
      README.md
  2. +13
    -2
      autogen.sh
  3. +13
    -2
      config.py
  4. +12
    -0
      diagrams/oci/__init__.py
  5. +26
    -0
      diagrams/oci/compute.py
  6. +31
    -0
      diagrams/oci/connectivity.py
  7. +15
    -0
      diagrams/oci/database.py
  8. +19
    -0
      diagrams/oci/devops.py
  9. +27
    -0
      diagrams/oci/edge.py
  10. +51
    -0
      diagrams/oci/monitoring.py
  11. +43
    -0
      diagrams/oci/network.py
  12. +51
    -0
      diagrams/oci/security.py
  13. +39
    -0
      diagrams/oci/storage.py
  14. +6
    -0
      docs/guides/node.md
  15. +83
    -0
      docs/nodes/oci.md
  16. BIN
      resources/oci/compute/bm.png
  17. BIN
      resources/oci/compute/container.png
  18. BIN
      resources/oci/compute/vm.png
  19. BIN
      resources/oci/connectivity/backbone.png
  20. BIN
      resources/oci/connectivity/customerdatacenter.png
  21. BIN
      resources/oci/connectivity/customerpremisesequip.png
  22. BIN
      resources/oci/connectivity/fastconnect.png
  23. BIN
      resources/oci/connectivity/vpn.png
  24. BIN
      resources/oci/database/databaseservice.png
  25. BIN
      resources/oci/devops/apiservice.png
  26. BIN
      resources/oci/devops/resourcemgmt.png
  27. BIN
      resources/oci/edge/cdn.png
  28. BIN
      resources/oci/edge/dns.png
  29. BIN
      resources/oci/edge/emaildelivery.png
  30. BIN
      resources/oci/edge/waf.png
  31. BIN
      resources/oci/monitoring/alarm.png
  32. BIN
      resources/oci/monitoring/event.png
  33. BIN
      resources/oci/monitoring/healthcheck.png
  34. BIN
      resources/oci/monitoring/logging.png
  35. BIN
      resources/oci/monitoring/notifications.png
  36. BIN
      resources/oci/monitoring/queuing.png
  37. BIN
      resources/oci/monitoring/search.png
  38. BIN
      resources/oci/monitoring/streaming.png
  39. BIN
      resources/oci/monitoring/telemetry.png
  40. BIN
      resources/oci/monitoring/workflow.png
  41. BIN
      resources/oci/network/drg.png
  42. BIN
      resources/oci/network/firewall.png
  43. BIN
      resources/oci/network/internetgateway.png
  44. BIN
      resources/oci/network/loadbalance.png
  45. BIN
      resources/oci/network/routetable.png
  46. BIN
      resources/oci/network/securitylists.png
  47. BIN
      resources/oci/network/service-gateway.png
  48. BIN
      resources/oci/network/vcloudnetwork.png
  49. BIN
      resources/oci/security/audit.png
  50. BIN
      resources/oci/security/compartments.png
  51. BIN
      resources/oci/security/ddos.png
  52. BIN
      resources/oci/security/encryption.png
  53. BIN
      resources/oci/security/groups.png
  54. BIN
      resources/oci/security/id-access.png
  55. BIN
      resources/oci/security/keymgmt.png
  56. BIN
      resources/oci/security/ocid.png
  57. BIN
      resources/oci/security/policies.png
  58. BIN
      resources/oci/security/tagging.png
  59. BIN
      resources/oci/storage/backuprestore.png
  60. BIN
      resources/oci/storage/blockstorage.png
  61. BIN
      resources/oci/storage/buckets.png
  62. BIN
      resources/oci/storage/datatransfer.png
  63. BIN
      resources/oci/storage/filestorage.png
  64. BIN
      resources/oci/storage/objectstorage.png
  65. BIN
      resources/oci/storage/storagegateway.png
  66. +1
    -1
      scripts/generate.py
  67. +27
    -0
      scripts/resource.py
  68. +3
    -0
      website/i18n/en.json
  69. +1
    -1
      website/pages/en/index.js

+ 1
- 1
README.md View File

@@ -8,7 +8,7 @@


**Diagram as Code**. **Diagram as Code**.


Diagrams lets you draw the cloud system architecture **in Python code**. It was born for **prototyping** a new system architecture design without any design tools. You can also describe or visualize the existing system architecture as well. Diagrams currently supports five major providers: `AWS`, `Azure`, `GCP`, `Kubernetes` and `Alibaba Cloud`.
Diagrams lets you draw the cloud system architecture **in Python code**. It was born for **prototyping** a new system architecture design without any design tools. You can also describe or visualize the existing system architecture as well. Diagrams currently supports six major providers: `AWS`, `Azure`, `GCP`, `Kubernetes`, `Alibaba Cloud` and `Oracle Cloud`.


**Diagram as Code** also allows you to **tracking** the architecture diagram changes on any **version control** system. **Diagram as Code** also allows you to **tracking** the architecture diagram changes on any **version control** system.




+ 13
- 2
autogen.sh View File

@@ -2,23 +2,34 @@
app_root_dir="diagrams" app_root_dir="diagrams"


# NOTE: azure icon set is not latest version # NOTE: azure icon set is not latest version
providers=("aws" "azure" "gcp" "k8s" "alibabacloud")
providers=("aws" "azure" "gcp" "k8s" "alibabacloud" "oci")


if ! [ -x "$(command -v round)" ]; then if ! [ -x "$(command -v round)" ]; then
echo 'round is not installed' echo 'round is not installed'
exit 1
fi fi


if ! [ -x "$(command -v inkscape)" ]; then if ! [ -x "$(command -v inkscape)" ]; then
echo 'inkscape is not installed' echo 'inkscape is not installed'
exit 1
fi

if ! [ -x "$(command -v convert)" ]; then
echo 'image magick is not installed'
exit 1
fi fi


# preprocess the resources # preprocess the resources
for pvd in "${providers[@]}"; do for pvd in "${providers[@]}"; do
# convert the svg to png for azure provider # convert the svg to png for azure provider
if [ "$pvd" = "azure" ]; then if [ "$pvd" = "azure" ]; then
echo "converting the svg to png for provider '$pvd'"
echo "converting the svg to png using inkscape for provider '$pvd'"
python -m scripts.resource svg2png "$pvd" python -m scripts.resource svg2png "$pvd"
fi fi
if [ "$pvd" == "oci" ]; then
echo "converting the svg to png using image magick for provider '$pvd'"
python -m scripts.resource svg2png2 "$pvd"
fi
echo "cleaning the resource names for provider '$pvd'" echo "cleaning the resource names for provider '$pvd'"
python -m scripts.resource clean "$pvd" python -m scripts.resource clean "$pvd"
# round the all png images for aws provider # round the all png images for aws provider


+ 13
- 2
config.py View File

@@ -11,7 +11,7 @@ DIR_APP_ROOT = "diagrams"
DIR_RESOURCE = "resources" DIR_RESOURCE = "resources"
DIR_TEMPLATE = "templates" DIR_TEMPLATE = "templates"


PROVIDERS = ("base", "aws", "azure", "gcp", "k8s", "alibabacloud")
PROVIDERS = ("base", "aws", "azure", "gcp", "k8s", "alibabacloud", "oci")


######################### #########################
# Resource Processing # # Resource Processing #
@@ -21,6 +21,9 @@ CMD_ROUND = "round"
CMD_ROUND_OPTS = ("-w",) CMD_ROUND_OPTS = ("-w",)
CMD_SVG2PNG = "inkscape" CMD_SVG2PNG = "inkscape"
CMD_SVG2PNG_OPTS = ("-z", "-w", "256", "-h", "256", "--export-type", "png") CMD_SVG2PNG_OPTS = ("-z", "-w", "256", "-h", "256", "--export-type", "png")
CMD_SVG2PNG_IM = "convert"
CMD_SVG2PNG_IM_OPTS = ("-shave", "25%x25%", "-resize", "256x256!")



FILE_PREFIXES = { FILE_PREFIXES = {
"aws": ("amazon-", "aws-"), "aws": ("amazon-", "aws-"),
@@ -28,6 +31,7 @@ FILE_PREFIXES = {
"gcp": ("cloud-",), "gcp": ("cloud-",),
"k8s": (), "k8s": (),
"alibabacloud": (), "alibabacloud": (),
"oci": ("OCI-",),
} }


######################### #########################
@@ -49,7 +53,8 @@ UPPER_WORDS = {
"k8s": ( "k8s": (
"api", "cm", "ccm", "crb", "crd", "ds", "etcd", "hpa", "k8s", "ns", "psp", "pv", "pvc", "rb", "rs", "api", "cm", "ccm", "crb", "crd", "ds", "etcd", "hpa", "k8s", "ns", "psp", "pv", "pvc", "rb", "rs",
"sa", "sc", "sts", "svc", "sa", "sc", "sts", "svc",
)
),
"oci": ("oci",),
} }


TITLE_WORDS = { TITLE_WORDS = {
@@ -256,5 +261,11 @@ ALIASES = {
"ObjectStorageService": "OSS", "ObjectStorageService": "OSS",
"ObjectTableStore": "OTS", "ObjectTableStore": "OTS",
} }
},
"oci": {
"compute": {
"Vm": "VirtualMachine",
"Bm": "BareMetal"
},
} }
} }

+ 12
- 0
diagrams/oci/__init__.py View File

@@ -0,0 +1,12 @@
"""
OCI provides a set of services for Oracle Cloud provider.
"""

from diagrams import Node


class _OCI(Node):
_provider = "oci"
_icon_dir = "resources/oci"

fontcolor = "#2d3436"

+ 26
- 0
diagrams/oci/compute.py View File

@@ -0,0 +1,26 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _OCI


class _Compute(_OCI):
_type = "compute"
_icon_dir = "resources/oci/compute"


class Bm(_Compute):
_icon = "bm.png"


class Container(_Compute):
_icon = "container.png"


class Vm(_Compute):
_icon = "vm.png"


# Aliases

VirtualMachine = Vm
BareMetal = Bm

+ 31
- 0
diagrams/oci/connectivity.py View File

@@ -0,0 +1,31 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _OCI


class _Connectivity(_OCI):
_type = "connectivity"
_icon_dir = "resources/oci/connectivity"


class Backbone(_Connectivity):
_icon = "backbone.png"


class Customerdatacenter(_Connectivity):
_icon = "customerdatacenter.png"


class Customerpremisesequip(_Connectivity):
_icon = "customerpremisesequip.png"


class Fastconnect(_Connectivity):
_icon = "fastconnect.png"


class Vpn(_Connectivity):
_icon = "vpn.png"


# Aliases

+ 15
- 0
diagrams/oci/database.py View File

@@ -0,0 +1,15 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _OCI


class _Database(_OCI):
_type = "database"
_icon_dir = "resources/oci/database"


class Databaseservice(_Database):
_icon = "databaseservice.png"


# Aliases

+ 19
- 0
diagrams/oci/devops.py View File

@@ -0,0 +1,19 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _OCI


class _Devops(_OCI):
_type = "devops"
_icon_dir = "resources/oci/devops"


class Apiservice(_Devops):
_icon = "apiservice.png"


class Resourcemgmt(_Devops):
_icon = "resourcemgmt.png"


# Aliases

+ 27
- 0
diagrams/oci/edge.py View File

@@ -0,0 +1,27 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _OCI


class _Edge(_OCI):
_type = "edge"
_icon_dir = "resources/oci/edge"


class Cdn(_Edge):
_icon = "cdn.png"


class Dns(_Edge):
_icon = "dns.png"


class Emaildelivery(_Edge):
_icon = "emaildelivery.png"


class Waf(_Edge):
_icon = "waf.png"


# Aliases

+ 51
- 0
diagrams/oci/monitoring.py View File

@@ -0,0 +1,51 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _OCI


class _Monitoring(_OCI):
_type = "monitoring"
_icon_dir = "resources/oci/monitoring"


class Alarm(_Monitoring):
_icon = "alarm.png"


class Event(_Monitoring):
_icon = "event.png"


class Healthcheck(_Monitoring):
_icon = "healthcheck.png"


class Logging(_Monitoring):
_icon = "logging.png"


class Notifications(_Monitoring):
_icon = "notifications.png"


class Queuing(_Monitoring):
_icon = "queuing.png"


class Search(_Monitoring):
_icon = "search.png"


class Streaming(_Monitoring):
_icon = "streaming.png"


class Telemetry(_Monitoring):
_icon = "telemetry.png"


class Workflow(_Monitoring):
_icon = "workflow.png"


# Aliases

+ 43
- 0
diagrams/oci/network.py View File

@@ -0,0 +1,43 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _OCI


class _Network(_OCI):
_type = "network"
_icon_dir = "resources/oci/network"


class Drg(_Network):
_icon = "drg.png"


class Firewall(_Network):
_icon = "firewall.png"


class Internetgateway(_Network):
_icon = "internetgateway.png"


class Loadbalance(_Network):
_icon = "loadbalance.png"


class Routetable(_Network):
_icon = "routetable.png"


class Securitylists(_Network):
_icon = "securitylists.png"


class ServiceGateway(_Network):
_icon = "service-gateway.png"


class Vcloudnetwork(_Network):
_icon = "vcloudnetwork.png"


# Aliases

+ 51
- 0
diagrams/oci/security.py View File

@@ -0,0 +1,51 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _OCI


class _Security(_OCI):
_type = "security"
_icon_dir = "resources/oci/security"


class Audit(_Security):
_icon = "audit.png"


class Compartments(_Security):
_icon = "compartments.png"


class Ddos(_Security):
_icon = "ddos.png"


class Encryption(_Security):
_icon = "encryption.png"


class Groups(_Security):
_icon = "groups.png"


class IdAccess(_Security):
_icon = "id-access.png"


class Keymgmt(_Security):
_icon = "keymgmt.png"


class Ocid(_Security):
_icon = "ocid.png"


class Policies(_Security):
_icon = "policies.png"


class Tagging(_Security):
_icon = "tagging.png"


# Aliases

+ 39
- 0
diagrams/oci/storage.py View File

@@ -0,0 +1,39 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _OCI


class _Storage(_OCI):
_type = "storage"
_icon_dir = "resources/oci/storage"


class Backuprestore(_Storage):
_icon = "backuprestore.png"


class Blockstorage(_Storage):
_icon = "blockstorage.png"


class Buckets(_Storage):
_icon = "buckets.png"


class Datatransfer(_Storage):
_icon = "datatransfer.png"


class Filestorage(_Storage):
_icon = "filestorage.png"


class Objectstorage(_Storage):
_icon = "objectstorage.png"


class Storagegateway(_Storage):
_icon = "storagegateway.png"


# Aliases

+ 6
- 0
docs/guides/node.md View File

@@ -49,6 +49,12 @@ from diagrams.gcp.ml import AutoML
from diagrams.k8s.compute import Pod, StatefulSet from diagrams.k8s.compute import Pod, StatefulSet
from diagrams.k8s.network import Service from diagrams.k8s.network import Service
from diagrams.k8s.storage import PV, PVC, StorageClass from diagrams.k8s.storage import PV, PVC, StorageClass
...

# oracle resources
from diagrams.oci.compute import VirtualMachine, Container
from diagrams.oci.network import Firewall
from diagrams.oci.storage import Filestorage, Storagegateway
``` ```


You can find all available nodes list in [Here](https://diagrams.mingrammer.com/docs/nodes/aws). You can find all available nodes list in [Here](https://diagrams.mingrammer.com/docs/nodes/aws).


+ 83
- 0
docs/nodes/oci.md View File

@@ -0,0 +1,83 @@
---
id: oci
title: OCI
---

Node classes list of oci provider.

## oci.compute

- **diagrams.oci.compute.Bm**, **BareMetal** (alias)
- **diagrams.oci.compute.Container**
- **diagrams.oci.compute.Vm**, **VirtualMachine** (alias)

## oci.connectivity

- **diagrams.oci.connectivity.Backbone**
- **diagrams.oci.connectivity.Customerdatacenter**
- **diagrams.oci.connectivity.Customerpremisesequip**
- **diagrams.oci.connectivity.Fastconnect**
- **diagrams.oci.connectivity.Vpn**

## oci.database

- **diagrams.oci.database.Databaseservice**

## oci.devops

- **diagrams.oci.devops.Apiservice**
- **diagrams.oci.devops.Resourcemgmt**

## oci.edge

- **diagrams.oci.edge.Cdn**
- **diagrams.oci.edge.Dns**
- **diagrams.oci.edge.Emaildelivery**
- **diagrams.oci.edge.Waf**

## oci.monitoring

- **diagrams.oci.monitoring.Alarm**
- **diagrams.oci.monitoring.Event**
- **diagrams.oci.monitoring.Healthcheck**
- **diagrams.oci.monitoring.Logging**
- **diagrams.oci.monitoring.Notifications**
- **diagrams.oci.monitoring.Queuing**
- **diagrams.oci.monitoring.Search**
- **diagrams.oci.monitoring.Streaming**
- **diagrams.oci.monitoring.Telemetry**
- **diagrams.oci.monitoring.Workflow**

## oci.network

- **diagrams.oci.network.Drg**
- **diagrams.oci.network.Firewall**
- **diagrams.oci.network.Internetgateway**
- **diagrams.oci.network.Loadbalance**
- **diagrams.oci.network.Routetable**
- **diagrams.oci.network.Securitylists**
- **diagrams.oci.network.ServiceGateway**
- **diagrams.oci.network.Vcloudnetwork**

## oci.security

- **diagrams.oci.security.Audit**
- **diagrams.oci.security.Compartments**
- **diagrams.oci.security.Ddos**
- **diagrams.oci.security.Encryption**
- **diagrams.oci.security.Groups**
- **diagrams.oci.security.IdAccess**
- **diagrams.oci.security.Keymgmt**
- **diagrams.oci.security.Ocid**
- **diagrams.oci.security.Policies**
- **diagrams.oci.security.Tagging**

## oci.storage

- **diagrams.oci.storage.Backuprestore**
- **diagrams.oci.storage.Blockstorage**
- **diagrams.oci.storage.Buckets**
- **diagrams.oci.storage.Datatransfer**
- **diagrams.oci.storage.Filestorage**
- **diagrams.oci.storage.Objectstorage**
- **diagrams.oci.storage.Storagegateway**

BIN
resources/oci/compute/bm.png View File

Before After
Width: 256  |  Height: 256  |  Size: 5.1 KiB

BIN
resources/oci/compute/container.png View File

Before After
Width: 256  |  Height: 256  |  Size: 8.8 KiB

BIN
resources/oci/compute/vm.png View File

Before After
Width: 256  |  Height: 256  |  Size: 6.4 KiB

BIN
resources/oci/connectivity/backbone.png View File

Before After
Width: 256  |  Height: 256  |  Size: 10 KiB

BIN
resources/oci/connectivity/customerdatacenter.png View File

Before After
Width: 256  |  Height: 256  |  Size: 12 KiB

BIN
resources/oci/connectivity/customerpremisesequip.png View File

Before After
Width: 256  |  Height: 256  |  Size: 8.7 KiB

BIN
resources/oci/connectivity/fastconnect.png View File

Before After
Width: 256  |  Height: 256  |  Size: 8.4 KiB

BIN
resources/oci/connectivity/vpn.png View File

Before After
Width: 256  |  Height: 256  |  Size: 12 KiB

BIN
resources/oci/database/databaseservice.png View File

Before After
Width: 256  |  Height: 256  |  Size: 7.0 KiB

BIN
resources/oci/devops/apiservice.png View File

Before After
Width: 256  |  Height: 256  |  Size: 14 KiB

BIN
resources/oci/devops/resourcemgmt.png View File

Before After
Width: 256  |  Height: 256  |  Size: 12 KiB

BIN
resources/oci/edge/cdn.png View File

Before After
Width: 256  |  Height: 256  |  Size: 27 KiB

BIN
resources/oci/edge/dns.png View File

Before After
Width: 256  |  Height: 256  |  Size: 24 KiB

BIN
resources/oci/edge/emaildelivery.png View File

Before After
Width: 256  |  Height: 256  |  Size: 16 KiB

BIN
resources/oci/edge/waf.png View File

Before After
Width: 256  |  Height: 256  |  Size: 13 KiB

BIN
resources/oci/monitoring/alarm.png View File

Before After
Width: 256  |  Height: 256  |  Size: 24 KiB

BIN
resources/oci/monitoring/event.png View File

Before After
Width: 256  |  Height: 256  |  Size: 9.9 KiB

BIN
resources/oci/monitoring/healthcheck.png View File

Before After
Width: 256  |  Height: 256  |  Size: 5.7 KiB

BIN
resources/oci/monitoring/logging.png View File

Before After
Width: 256  |  Height: 256  |  Size: 23 KiB

BIN
resources/oci/monitoring/notifications.png View File

Before After
Width: 256  |  Height: 256  |  Size: 18 KiB

BIN
resources/oci/monitoring/queuing.png View File

Before After
Width: 256  |  Height: 256  |  Size: 2.4 KiB

BIN
resources/oci/monitoring/search.png View File

Before After
Width: 256  |  Height: 256  |  Size: 26 KiB

BIN
resources/oci/monitoring/streaming.png View File

Before After
Width: 256  |  Height: 256  |  Size: 17 KiB

BIN
resources/oci/monitoring/telemetry.png View File

Before After
Width: 256  |  Height: 256  |  Size: 10 KiB

BIN
resources/oci/monitoring/workflow.png View File

Before After
Width: 256  |  Height: 256  |  Size: 9.9 KiB

BIN
resources/oci/network/drg.png View File

Before After
Width: 256  |  Height: 256  |  Size: 13 KiB

BIN
resources/oci/network/firewall.png View File

Before After
Width: 256  |  Height: 256  |  Size: 5.5 KiB

BIN
resources/oci/network/internetgateway.png View File

Before After
Width: 256  |  Height: 256  |  Size: 13 KiB

BIN
resources/oci/network/loadbalance.png View File

Before After
Width: 256  |  Height: 256  |  Size: 11 KiB

BIN
resources/oci/network/routetable.png View File

Before After
Width: 256  |  Height: 256  |  Size: 12 KiB

BIN
resources/oci/network/securitylists.png View File

Before After
Width: 256  |  Height: 256  |  Size: 11 KiB

BIN
resources/oci/network/service-gateway.png View File

Before After
Width: 256  |  Height: 256  |  Size: 15 KiB

BIN
resources/oci/network/vcloudnetwork.png View File

Before After
Width: 256  |  Height: 256  |  Size: 19 KiB

BIN
resources/oci/security/audit.png View File

Before After
Width: 256  |  Height: 256  |  Size: 7.2 KiB

BIN
resources/oci/security/compartments.png View File

Before After
Width: 256  |  Height: 256  |  Size: 9.6 KiB

BIN
resources/oci/security/ddos.png View File

Before After
Width: 256  |  Height: 256  |  Size: 13 KiB

BIN
resources/oci/security/encryption.png View File

Before After
Width: 256  |  Height: 256  |  Size: 8.8 KiB

BIN
resources/oci/security/groups.png View File

Before After
Width: 256  |  Height: 256  |  Size: 12 KiB

BIN
resources/oci/security/id-access.png View File

Before After
Width: 256  |  Height: 256  |  Size: 14 KiB

BIN
resources/oci/security/keymgmt.png View File

Before After
Width: 256  |  Height: 256  |  Size: 14 KiB

BIN
resources/oci/security/ocid.png View File

Before After
Width: 256  |  Height: 256  |  Size: 9.3 KiB

BIN
resources/oci/security/policies.png View File

Before After
Width: 256  |  Height: 256  |  Size: 16 KiB

BIN
resources/oci/security/tagging.png View File

Before After
Width: 256  |  Height: 256  |  Size: 10 KiB

BIN
resources/oci/storage/backuprestore.png View File

Before After
Width: 256  |  Height: 256  |  Size: 24 KiB

BIN
resources/oci/storage/blockstorage.png View File

Before After
Width: 256  |  Height: 256  |  Size: 7.8 KiB

BIN
resources/oci/storage/buckets.png View File

Before After
Width: 256  |  Height: 256  |  Size: 18 KiB

BIN
resources/oci/storage/datatransfer.png View File

Before After
Width: 256  |  Height: 256  |  Size: 13 KiB

BIN
resources/oci/storage/filestorage.png View File

Before After
Width: 256  |  Height: 256  |  Size: 8.6 KiB

BIN
resources/oci/storage/objectstorage.png View File

Before After
Width: 256  |  Height: 256  |  Size: 12 KiB

BIN
resources/oci/storage/storagegateway.png View File

Before After
Width: 256  |  Height: 256  |  Size: 10 KiB

+ 1
- 1
scripts/generate.py View File

@@ -7,7 +7,7 @@ from jinja2 import Environment, FileSystemLoader, Template
import config as cfg import config as cfg
from . import app_root_dir, doc_root_dir, resource_dir, template_dir from . import app_root_dir, doc_root_dir, resource_dir, template_dir


_usage = "Usage: generate.py <aws|gcp|azure|alibabacloud>"
_usage = "Usage: generate.py <aws|gcp|azure|k8s|alibabacloud|oci>"




def load_tmpl(tmpl: str) -> Template: def load_tmpl(tmpl: str) -> Template:


+ 27
- 0
scripts/resource.py View File

@@ -65,12 +65,24 @@ def cleaner_alibabacloud(f):
return f.lower() return f.lower()





def cleaner_oci(f):
f = f.replace("_", "-")
f = f.replace("-grey", "")
for p in cfg.FILE_PREFIXES["oci"]:
if f.startswith(p):
f = f[len(p) :]
break
return f.lower()


cleaners = { cleaners = {
"aws": cleaner_aws, "aws": cleaner_aws,
"azure": cleaner_azure, "azure": cleaner_azure,
"gcp": cleaner_gcp, "gcp": cleaner_gcp,
"k8s": cleaner_k8s, "k8s": cleaner_k8s,
"alibabacloud": cleaner_alibabacloud, "alibabacloud": cleaner_alibabacloud,
"oci": cleaner_oci,
} }




@@ -114,11 +126,26 @@ def svg2png(pvd: str) -> None:
[_convert(root, path) for path in svgs] [_convert(root, path) for path in svgs]




def svg2png2(pvd: str) -> None:
"""Convert the svg into png using image magick"""

def _convert(base: str, path: str):
path_src = os.path.join(base, path)
path_dest = path_src.replace(".svg", ".png")
subprocess.call([cfg.CMD_SVG2PNG_IM, *cfg.CMD_SVG2PNG_IM_OPTS, path_src, path_dest])
subprocess.call(['rm', path_src])

for root, _, files in os.walk(resource_dir(pvd)):
svgs = filter(lambda f: f.endswith(".svg"), files)
[_convert(root, path) for path in svgs]


# fmt: off # fmt: off
commands = { commands = {
"clean": clean_png, "clean": clean_png,
"round": round_png, "round": round_png,
"svg2png": svg2png, "svg2png": svg2png,
"svg2png2": svg2png2,
} }
# fmt: on # fmt: on




+ 3
- 0
website/i18n/en.json View File

@@ -34,6 +34,9 @@
}, },
"nodes/k8s": { "nodes/k8s": {
"title": "K8S" "title": "K8S"
},
"nodes/oci": {
"title": "Oracle Cloud"
} }
}, },
"links": { "links": {


+ 1
- 1
website/pages/en/index.js View File

@@ -106,7 +106,7 @@ class Index extends React.Component {
`Diagram as Code` allows you to **tracking** the architecture diagram changes on any **version control** system. `Diagram as Code` allows you to **tracking** the architecture diagram changes on any **version control** system.
</MarkdownBlock> </MarkdownBlock>
<MarkdownBlock> <MarkdownBlock>
Diagrams currently supports four major providers: `AWS`, `Azure`, `GCP`, `Kubernetes` and `Alibaba Cloud`.
Diagrams currently supports four major providers: `AWS`, `Azure`, `GCP`, `Kubernetes`, `Alibaba Cloud` and `Oracle Cloud`.
</MarkdownBlock> </MarkdownBlock>
</div> </div>
); );


Loading…
Cancel
Save