Skip to content

Commit

Permalink
feat: add docker node
Browse files Browse the repository at this point in the history
  • Loading branch information
tsypuk committed Jan 7, 2024
1 parent 3036216 commit e17ef32
Show file tree
Hide file tree
Showing 5 changed files with 155 additions and 0 deletions.
91 changes: 91 additions & 0 deletions docs/docs/onprem-components/docker.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
---
layout: default
title: Docker container
parent: ONPREM Components
nav_order: 3
date: 2024-01-07
---

# Docker container
{: .d-inline-block .no_toc }

New (v0.3.19)
{: .label .label-green }

## Table of contents
{: .no_toc .text-delta }

1. TOC
{:toc}

---


## Node Type: ``docker``

## Rendering:

![lambda](output/jpg/docker.jpg)

## Code Snippet:

```python
{% root_include_snippet ../tests/onprem/test_docker.py %}
```

## drawio docker vertex:

```xml
<mxCell id="vertex:docker:arn:aws:ecs:eu-west-1:123456789012:container/cluster/777/123" parent="1" vertex="1">
<mxGeometry width="50" height="41" as="geometry"/>
</mxCell>
```
---

## Advanced for Geeks:

### Style:
```html
style="sketch=0;aspect=fixed;html=1;points=[];align=left;image;fontSize=12;image=img/lib/mscae/Docker.svg;"
```

| attribute | value |
|:----------|:------|
|align| left |
|aspect| fixed |
|fontSize| 12 |
|html| 1 |
|image| |
|image| img/lib/mscae/Docker.svg |
|points| [] |
|sketch| 0 |

### Vertex size:

| attribute | value |
|:---------|:-----------|
| width | 50 |
| height |41|

### Full XML dump:
```xml
<mxfile host="multicloud-diagrams" agent="PIP package multicloud-diagrams. Generate resources in draw.io compatible format for Cloud infrastructure. Copyrights @ Roman Tsypuk 2023. MIT license." type="MultiCloud">
<diagram id="diagram_1" name="AWS components">
<mxGraphModel dx="1015" dy="661" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="1">
<root>
<mxCell id="0"/>
<mxCell id="1" parent="0"/>
<mxCell id="vertex:docker:arn:aws:ecs:eu-west-1:123456789012:container/cluster/777/123" value="&lt;b&gt;Name&lt;/b&gt;: docker&lt;BR&gt;&lt;b&gt;ID&lt;/b&gt;: arn:aws:ecs:eu-west-1:123456789012:container/cluster/777/123&lt;BR&gt;-----------&lt;BR&gt;&lt;b&gt;name&lt;/b&gt;: my-app&lt;BR&gt;&lt;b&gt;image&lt;/b&gt;: 123456789012.dkr.ecr.eu-west-1.amazonaws.com/cluster/myapp:v2-22-00&lt;BR&gt;&lt;b&gt;imageDigest&lt;/b&gt;: sha256:5562sfsf60a6d1aaed5c2bb227d3d4ec14c755bdb446349b&lt;BR&gt;&lt;b&gt;runtimeId&lt;/b&gt;: 56832234bec86b30201dbdc94-11149226&lt;BR&gt;&lt;b&gt;lastStatus&lt;/b&gt;: RUNNING&lt;BR&gt;&lt;b&gt;healthStatus&lt;/b&gt;: UNKNOWN&lt;BR&gt;&lt;b&gt;cpu&lt;/b&gt;: 512&lt;BR&gt;&lt;b&gt;memory&lt;/b&gt;: 1024" style="sketch=0;aspect=fixed;html=1;points=[];align=left;image;fontSize=12;image=img/lib/mscae/Docker.svg;" parent="1" vertex="1">
<mxGeometry width="50" height="41" as="geometry"/>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>
```

### drawio file:

Download generated ``docker.drawio``:

[Download](output/drawio/docker.drawio){: .btn .btn-purple }
13 changes: 13 additions & 0 deletions docs/docs/onprem-components/output/drawio/docker.drawio
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<mxfile host="multicloud-diagrams" agent="PIP package multicloud-diagrams. Generate resources in draw.io compatible format for Cloud infrastructure. Copyrights @ Roman Tsypuk 2023. MIT license." type="MultiCloud">
<diagram id="diagram_1" name="AWS components">
<mxGraphModel dx="1015" dy="661" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="1">
<root>
<mxCell id="0"/>
<mxCell id="1" parent="0"/>
<mxCell id="vertex:docker:arn:aws:ecs:eu-west-1:123456789012:container/cluster/777/123" value="&lt;b&gt;Name&lt;/b&gt;: docker&lt;BR&gt;&lt;b&gt;ID&lt;/b&gt;: arn:aws:ecs:eu-west-1:123456789012:container/cluster/777/123&lt;BR&gt;-----------&lt;BR&gt;&lt;b&gt;name&lt;/b&gt;: my-app&lt;BR&gt;&lt;b&gt;image&lt;/b&gt;: 123456789012.dkr.ecr.eu-west-1.amazonaws.com/cluster/myapp:v2-22-00&lt;BR&gt;&lt;b&gt;imageDigest&lt;/b&gt;: sha256:5562sfsf60a6d1aaed5c2bb227d3d4ec14c755bdb446349b&lt;BR&gt;&lt;b&gt;runtimeId&lt;/b&gt;: 56832234bec86b30201dbdc94-11149226&lt;BR&gt;&lt;b&gt;lastStatus&lt;/b&gt;: RUNNING&lt;BR&gt;&lt;b&gt;healthStatus&lt;/b&gt;: UNKNOWN&lt;BR&gt;&lt;b&gt;cpu&lt;/b&gt;: 512&lt;BR&gt;&lt;b&gt;memory&lt;/b&gt;: 1024" style="sketch=0;aspect=fixed;html=1;points=[];align=left;image;fontSize=12;image=img/lib/mscae/Docker.svg;" parent="1" vertex="1">
<mxGeometry width="50" height="41" as="geometry"/>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>
Binary file added docs/docs/onprem-components/output/jpg/docker.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
7 changes: 7 additions & 0 deletions multicloud_diagrams/providers/onprem.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,13 @@
"height": "78",
"version": "0.3.3",
"desc": "MQ Broker"
},
"docker": {
"style": "sketch=0;aspect=fixed;html=1;points=[];align=left;image;fontSize=12;image=img/lib/mscae/Docker.svg;",
"width": "50",
"height": "41",
"version": "0.3.19",
"desc": "Docker container"
}
}

44 changes: 44 additions & 0 deletions tests/onprem/test_docker.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
from multicloud_diagrams import MultiCloudDiagrams
from utils.templating import TestRendering


class TestDockerInIsolation(TestRendering):

def test_docker(self):
# docs
self.node_type = 'docker'

# given
mcd = MultiCloudDiagrams()

# when
arn = 'arn:aws:ecs:eu-west-1:123456789012:container/cluster/777/123'
metadata = {
'name': 'my-app',
'image': '123456789012.dkr.ecr.eu-west-1.amazonaws.com/cluster/myapp:v2-22-00',
'imageDigest': 'sha256:5562sfsf60a6d1aaed5c2bb227d3d4ec14c755bdb446349b',
'runtimeId': '56832234bec86b30201dbdc94-11149226',
'lastStatus': 'RUNNING',
'healthStatus': 'UNKNOWN',
'cpu': '512',
'memory': '1024'
}
mcd.add_vertex(node_id=arn, node_name='docker', node_type='docker', metadata=metadata)

# then
expected = {'id': 'vertex:docker:arn:aws:ecs:eu-west-1:123456789012:container/cluster/777/123',
'parent': '1',
'style': 'sketch=0;aspect=fixed;html=1;points=[];align=center;image;fontSize=12;image=img/lib/mscae/Docker.svg;',
'value': '<b>Name</b>: docker<BR><b>ID</b>: '
'arn:aws:ecs:eu-west-1:123456789012:container/cluster/777/123<BR>-----------<BR><b>name</b>: '
'my-app<BR><b>image</b>: '
'123456789012.dkr.ecr.eu-west-1.amazonaws.com/cluster/myapp:v2-22-00<BR><b>imageDigest</b>: '
'sha256:5562sfsf60a6d1aaed5c2bb227d3d4ec14c755bdb446349b<BR><b>runtimeId</b>: '
'56832234bec86b30201dbdc94-11149226<BR><b>lastStatus</b>: '
'RUNNING<BR><b>healthStatus</b>: UNKNOWN<BR><b>cpu</b>: '
'512<BR><b>memory</b>: 1024',
'vertex': '1'}
self.verify_resource(expected, mcd.mx_file, 'docker', 'docker')

# docs
self.mcd = mcd

0 comments on commit e17ef32

Please sign in to comment.