From ed36c1eeabebecca80262ede5a284b20779c370d Mon Sep 17 00:00:00 2001 From: Gabriel Fernandes Date: Wed, 2 Nov 2022 20:02:01 +0000 Subject: [PATCH 1/2] Add EMQX as a On-Prem Queue entry --- config.py | 1 + diagrams/onprem/queue.py | 5 +++++ docs/nodes/onprem.md | 1 + resources/onprem/queue/emqx.png | Bin 0 -> 2468 bytes 4 files changed, 7 insertions(+) create mode 100644 resources/onprem/queue/emqx.png diff --git a/config.py b/config.py index cbec9c9d9..a52f35861 100644 --- a/config.py +++ b/config.py @@ -148,6 +148,7 @@ }, "queue": { "Activemq": "ActiveMQ", + "Emqx": "EMQX", "Rabbitmq": "RabbitMQ", "Zeromq": "ZeroMQ", }, diff --git a/diagrams/onprem/queue.py b/diagrams/onprem/queue.py index a8ffd6536..7a54649c1 100644 --- a/diagrams/onprem/queue.py +++ b/diagrams/onprem/queue.py @@ -16,6 +16,10 @@ class Celery(_Queue): _icon = "celery.png" +class Emqx(_Queue): + _icon = "emqx.png" + + class Kafka(_Queue): _icon = "kafka.png" @@ -35,5 +39,6 @@ class Zeromq(_Queue): # Aliases ActiveMQ = Activemq +EMQX = Emqx RabbitMQ = Rabbitmq ZeroMQ = Zeromq diff --git a/docs/nodes/onprem.md b/docs/nodes/onprem.md index 1b6e6900a..a77c1b6e5 100644 --- a/docs/nodes/onprem.md +++ b/docs/nodes/onprem.md @@ -207,6 +207,7 @@ Node classes list of onprem provider. - **diagrams.onprem.queue.Activemq**, **ActiveMQ** (alias) - **diagrams.onprem.queue.Celery** +- **diagrams.onprem.queue.Emqx**, **EMQX** (alias) - **diagrams.onprem.queue.Kafka** - **diagrams.onprem.queue.Nats** - **diagrams.onprem.queue.Rabbitmq**, **RabbitMQ** (alias) diff --git a/resources/onprem/queue/emqx.png b/resources/onprem/queue/emqx.png new file mode 100644 index 0000000000000000000000000000000000000000..420a912f5285f43576f0327e8c5d8820a7d934b0 GIT binary patch literal 2468 zcmeH|`9BkmAIImI+nmV=g_iTt1aQAij^#T}40A>=PE(yT6^!xr#{}K3qAi$*ZoPMR3d&%3==XZ<& z0?L0$2K4R<+0uXf6h3-mS>fV)MKMIjwwIvU!|#vG4_{s6b7f;j_5$CEz@KkTB_A}Z zTw5*E`*u$iJ6G=nbd)|fh}13pVto1IDNzako*k48El;}$^X_H*gPWf<2+@6Rtdu`U z`U9H{(?g)J`Rqd*_gkbG%=FgouE!p7Pre2#6`Fq1fl{7o9`OzhIVpbDFZarc8H3qB zW7BSzBtddUVe4ad`NU&ZOX}z4KfG9}c34n*6CtCL(d24ae&=p8IBK}xzUH_md-6bH zd)zq3*GKC*uh!CFIY@TS1VXDEFmd&S(y;d#-%XUYL9erOht=34*OVVhM?D$J zGK|c+EZ$RUV<=#HzPtX%h?LL#KcKdl<=R80O{L2g4$$Kr`S>shCb$2_7UL8W9WAiM zigS1VyjWa=&N>b%as7DDfv`l(4JVb%D_Y85prl?h9~V}QF7WKo_CDKx5xP4LyYNm5 z9L>i2u4sX4a9vBmPGFbxSnlX0aSOZZ0)2-j-Bl=3mD>Ygk1V zsJ$&(3B1kzR`HrtM5S;m5+$ZDTpJ9xdZ);4<{inAB^=R>$?%U=*Q&$r#Q@#5p4Yi$ z%RL!)(WF`)(rW6IQ*(E{Ju6h^HC=*R;IlV<*$0SxHtU&AHdUL?&TahAQ|$UAxF(?O zk;>fctn9gr=7aEUbk~&>0&*+7-GBrZrM6in{K{hSk-(6kN{#MB+rv{bi9IV~dJ$Pl+6v7Ul)6O)e9B1z63qHUuOggo9? zChuX33xUs&N;?m;qk8EyH?$33+Ow|aPba-3!AzEhR+E-8`E-eH7@sYz*fdWVu>h23 z5;?#dgt?ZCVwFE9Sl?qV%usD688adyK^*R%diz*Ar%q67nyFahQV&bjS1-= z#gE?|h=u2Ti+toMgW!P5?SKosH$jOv(?ONE%8)mMmDRohnpVk5eHLc-z%_5k{Iv`d zZpe<0LSol-)E1Zrj<+MC>7H-aB)_++t{dI|i*<8KENwG7c}VvqxXDs@VB~>(F1b&) zS(sK-Re0O~s(0(gf$8Po`Or~@Ij}6L$^vpgx)r79A-~clxZ2f#F(fBpl2s20&_kk1 zsS2U0gxSH39193KWo~R4(Z9W-vL4>jcDIq8m(YkELy_vSlZ3}dFdrh77l=Q<{`(;v ziP+o~MH70l@fz0mCt2yD{_WcPGxrcc_rYp35jRzvH6ld6vznI2=_MA>^s~`f)*AZk zqnwDIommMUX@rmRuB|Evvny`h3ivT^gj%B+8$=1e)}b&Z(_ZlVj9nJa4qYzfIU3tr z%a7PzkzNnP?nB3SDo43b_xw4=siC1m_SjX9KlKqjXV9#TcRtIrcZZwjmMLefuKE?v z+}6R; ohtbA4I2|qlTsH||gmXgn0T4ptu@D-e{&!8mT|AxXj!69f0L0c Date: Tue, 8 Nov 2022 19:10:17 +0000 Subject: [PATCH 2/2] Add larger EMQX icon --- resources/onprem/queue/emqx.png | Bin 2468 -> 5301 bytes .../img/resources/onprem/queue/emqx.png | Bin 2468 -> 5301 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/resources/onprem/queue/emqx.png b/resources/onprem/queue/emqx.png index 420a912f5285f43576f0327e8c5d8820a7d934b0..b2776cfa1699517217b7477573a148b432c11ead 100644 GIT binary patch literal 5301 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 literal 2468 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 literal 2468 zcmeH|`9BkmAIImI+nmV=g_iTt1aQAij^#T}40A>=PE(yT6^!xr#{}K3qAi$*ZoPMR3d&%3==XZ<& z0?L0$2K4R<+0uXf6h3-mS>fV)MKMIjwwIvU!|#vG4_{s6b7f;j_5$CEz@KkTB_A}Z zTw5*E`*u$iJ6G=nbd)|fh}13pVto1IDNzako*k48El;}$^X_H*gPWf<2+@6Rtdu`U z`U9H{(?g)J`Rqd*_gkbG%=FgouE!p7Pre2#6`Fq1fl{7o9`OzhIVpbDFZarc8H3qB zW7BSzBtddUVe4ad`NU&ZOX}z4KfG9}c34n*6CtCL(d24ae&=p8IBK}xzUH_md-6bH zd)zq3*GKC*uh!CFIY@TS1VXDEFmd&S(y;d#-%XUYL9erOht=34*OVVhM?D$J zGK|c+EZ$RUV<=#HzPtX%h?LL#KcKdl<=R80O{L2g4$$Kr`S>shCb$2_7UL8W9WAiM zigS1VyjWa=&N>b%as7DDfv`l(4JVb%D_Y85prl?h9~V}QF7WKo_CDKx5xP4LyYNm5 z9L>i2u4sX4a9vBmPGFbxSnlX0aSOZZ0)2-j-Bl=3mD>Ygk1V zsJ$&(3B1kzR`HrtM5S;m5+$ZDTpJ9xdZ);4<{inAB^=R>$?%U=*Q&$r#Q@#5p4Yi$ z%RL!)(WF`)(rW6IQ*(E{Ju6h^HC=*R;IlV<*$0SxHtU&AHdUL?&TahAQ|$UAxF(?O zk;>fctn9gr=7aEUbk~&>0&*+7-GBrZrM6in{K{hSk-(6kN{#MB+rv{bi9IV~dJ$Pl+6v7Ul)6O)e9B1z63qHUuOggo9? zChuX33xUs&N;?m;qk8EyH?$33+Ow|aPba-3!AzEhR+E-8`E-eH7@sYz*fdWVu>h23 z5;?#dgt?ZCVwFE9Sl?qV%usD688adyK^*R%diz*Ar%q67nyFahQV&bjS1-= z#gE?|h=u2Ti+toMgW!P5?SKosH$jOv(?ONE%8)mMmDRohnpVk5eHLc-z%_5k{Iv`d zZpe<0LSol-)E1Zrj<+MC>7H-aB)_++t{dI|i*<8KENwG7c}VvqxXDs@VB~>(F1b&) zS(sK-Re0O~s(0(gf$8Po`Or~@Ij}6L$^vpgx)r79A-~clxZ2f#F(fBpl2s20&_kk1 zsS2U0gxSH39193KWo~R4(Z9W-vL4>jcDIq8m(YkELy_vSlZ3}dFdrh77l=Q<{`(;v ziP+o~MH70l@fz0mCt2yD{_WcPGxrcc_rYp35jRzvH6ld6vznI2=_MA>^s~`f)*AZk zqnwDIommMUX@rmRuB|Evvny`h3ivT^gj%B+8$=1e)}b&Z(_ZlVj9nJa4qYzfIU3tr z%a7PzkzNnP?nB3SDo43b_xw4=siC1m_SjX9KlKqjXV9#TcRtIrcZZwjmMLefuKE?v z+}6R; ohtbA4I2|qlTsH||gmXgn0T4ptu@D-e{&!8mT|AxXj!69f0L0c