- Key Concepts
- Understanding the edgeEngine Service Mesh
Understanding the edgeEngine Service Mesh
Purpose
The purpose of this document is to explain at a conceptual level what the edgeEngine Service Mesh is and what it does.
Intended Readers
The intended readers of this document are software developers, system engineers, application architects, deployment personnel, and other technical professionals who want to understand the details of working with edgeEngine Service Mesh.
What You Will Learn from this Document
After reading this document, you will:
- Understand the purpose of the edgeEngine Service Mesh
- Understand the features of the edgeEngine Service Mesh
- Understand the concept of an Ad Hoc Service Mesh
- Understand how to use the edgeEngine Service Mesh to discover a network cluster
- Understand how to use the edgeEngine Service Mesh to discover a user account cluster
- Understand how to use the edgeEngine Service Mesh to discover a proximity cluster
- Understand how to use the edgeEngine Service Mesh to do connection management between edgeEngine microservices hosted on a Network, Account or Proximity cluster.
What You Need to Know Before You Start
In order to get the full benefit from reading this document, you need to have:
- An understanding of microservice-based distributed computing
- A general understanding about the purpose and nature of a service mesh
- An understanding of the edgeEngine Runtime and how it supports microservices
Understanding the edgeEngine Service Mesh
The edgeEngine Service Mesh is a technology that unifies the microservices running on various nodes of a hybrid edgeCloud powered by edgeEngine. The edgeEngine Service Mesh makes it so that any microservice running the edgeEngine Runtime can discover the details of the other nodes running within a hybrid edgeCloud. Also, the edgeEngine Service Mesh has the capability of managing direct connections between other edgeEngine nodes inside and outside the local network.
Working with the Ad Hoc Service Mesh
The mimik edge ecosystem has a technology called the Ad Hoc Service Mesh. The Ad Hoc Service Mesh makes it so that a node can belong to three types of clusters. The cluster types are called Network, Account and Proximity.
Figure 1: The edgeEngine Service Mesh groups nodes according to 3 types of clusters |
A Network cluster is made up of nodes that are part of the same network. An Account cluster is made up of nodes that are part of the same User Account. A Proximity cluster is made of nodes that are close to one another in terms of physical geo-location.
There is an important distinction between a Network cluster and an Account or Proximity cluster. Typically a Network cluster has nodes that are part a single physical network, for example computers in a data center.
On the other hand, machines and devices in an Account and Proximity cluster can reside anywhere. Their association to one another is beyond the boundaries of a network. As such, the locations of the machines and devices are registered under mimik Global Services technology. Communication with those machines is managed by a proxy technology that is part of mimik Global Services. Operationally this means that a developer will configure access to machines a Network cluster differently from access to machines in an Account or Proximity cluster. Figure 2 below illustrates the basic concept behind the mimik Global Services proxy architecture.
Figure 2: The edgeEngine Service Mesh uses a proxy architecture to facilitate access among nodes in an Account or Proximity cluster |
Separating nodes according to cluster type provides developers with a good deal of flexibility in their programming activities. According to their programming needs, they can write code that can retrieve and work with nodes from a particular cluster type.
NOTE: This document has Appendices that provide concretes example of service response objects for Network, Account and Proximity clusters. |
---|
Techniques for Implementing Service Discovery
There are a number of ways that a developer can do service discovery in the edgeEngine Service Mesh. One way is to write custom code that directly uses the mimik Edge Node Discovery API. Another way is to use the client libraries that mimik publishes for the various devices and programming languages that mimik supports. A third way is to use the discovery webpage that is part of the mDebug utility.
Accessing a node in a Network cluster using a raw code, without the aid of mimik Client Library can be done by executing an HTTP request directly against the node's URL. When using this technique, you will also need to provide an Access Token in the request header using Bearer Authentication. However, accessing nodes in a Proximity or Account cluster requires going through a proxy endpoint within the mimik Global Services. When sending a request to a proxy endpoint, additional information needs to be added to the request headers. We'll discuss the specific additional information that needs to be provided later in this document.
Understanding Service Discovery Result Types
The type of response that is returned when doing service discovery will vary according to which technique you use. When doing service discovery by making an HTTP request in a raw code or using the mDebug web server, the response will be returned as JSON. But when using a mimik Client Library, the result of a service discovery query will be an object that is specific to the language supported by the given library. For example, if you are using the mimik Client Library for Android, the return type will be a plain old Java object (POJO). When doing service discovery using the mimik Client Library for iOS the object returned will be a Swift object.
However, no matter which technique you use to discover nodes according to cluster type, whether you use a direct HTTP request in the code, a mimik Client Library or the mDebug webpage, the properties of the given object that is returned will conform to a data structure that is standard among all the cluster types.
Cluster information is reported as an object that has two base properties, type
and data.
The property, type
describes the cluster type. The property data
is an array of objects in which each object describes a particular node in the given cluster. Figure 3 below shows the data objects in a condensed representation for each cluster type. Notice that the type
property of each object describes the cluster type.
Figure 3: Discovery information is described according to cluster type in either a JSON or language specific object |
Notice that the data
property in each discovery object shown above contains an array of objects. However, the number of objects differs among the network,
account,
and proximity
types. This is to be expected. Remember, each object in the data
array represents a machine or device in the cluster. Different cluster types might have a different number of nodes. In this case, the Network cluster has two nodes because only two machines are on the same network. Yet, the Account cluster has six nodes. This is because there are six machines nodes associated with the particular mimik Account regardless of any network boundary.
Notice that the Proximity cluster shown above in Figure 3 has 11 nodes. This is because 11 machines or devices are running the edgeEngine Runtime in close proximity to each other regardless of which Account or Network the given machine or device belongs to.
Understanding Cluster Information
As you can see, there's a lot of information in the objects that are the result of a service discovery query. Yet as voluminous as the amount of information is, understanding the data structure of a service discovery response is important because the response object provides the information you need to access a node in a particular cluster.
The sections that follow describe the concepts and techniques you'll use for accessing a node in a cluster by cluster type using the information provided by the service discovery object.
Establishing a Connection to a Node in a Network Cluster
As mentioned above, you access a node in a Network cluster by making a direct HTTP request using raw code or using one of the mimik Client Libraries. The URL of a node of interest is described within a node object's addresses
property within the data
property array.
The listing below shows a code snippet from a discovery response object for the cluster type, network.
Notice the object described at Lines 9 - 14
. That object describes an address
that has a property : value pair "type": "local"
and a url
property that is assigned "href": "http://192.168.86.31:8083"
. That href
is the URL to call to access the node.
1: {2: "type": "network",3: "data": [4: {5: .6: .7: .8: "addresses": [9: {10: "type": "local",11: "url": {12: "href": "http://192.168.86.31:8083"13: }14: }15: ],16: .17: .18: .19: .20: }21: ]22: }
Of course, when configuring the call, the endpoint in a Network cluster, you will need to provide an Access Token in a way that is appropriate for the means by which you are connecting to the node. If you are making a raw HTTP request, the Access Token will be put in the header of the request. If you are using a mimik Client Library, you configure the Access Token using the Library's configuration convention. When using the mDebug webpage, you'll enter the Access Token in a text field in the UI, as shown below in Figure 4.
Figure 4: The mDebug utility web page allows developers to enter an Access Token directly in the UI |
The important thing to understand about accessing a node in a Network cluster is that the URL for the node interest is described in the addresses
array in an address
object in which the type
property has a value of local.
Establishing a Connection to a Node in an Account or Proximity Cluster
Accessing a node in an Account or Proximity cluster requires that you make an HTTP request to a proxy server in the mimik Global Services cloud. Also, you'll need to make special entries in the headers of the HTTP request targeted at the proxy server. These special entries provide the proxy server with the information it needs to locate the node over a wide geography.
Remember, nodes in an Account or Proximity cluster might be anywhere, even outside of the local network. The proxy server has the wherewithal to access the node, but it needs to know specific information about the node in order to make the connection. Hence, the need to add special information to an HTTP request to a proxy server.
Let's take a look at the details.
The JSON below is a snippet of service discovery object for an Account cluster. Notice that the snippet describes three address
objects. One object starts a Line 9
. Another object starts a Line 16
. The first address
object starts at Line 23
. Let's focus on the third address
object starting at Line 23
. This object describes the address of the proxy
server.
1: {2: "type": "account",3: "data": [4: {5: .6: .7: .8: "addresses": [9: {10: "type": "local",11: "url": {12: "hostname": "192.168.86.39",13: "href": "http://192.168.86.39:8083"14: }15: },16: {17: "type": "public",18: "url": {19: "hostname": "104.175.207.107",20: "href": "http://104.175.207.107:8083"21: }22: },23: {24: "baseUrl": "https://mss.mimik360.com/mSS/v1",25: "routingPort": 8100,26: "type": "proxy",27: "url": {28: "hostname": "i-0b5c44ee51435677d-mss.mimik360.com",29: "href": "https://i-0b5c44ee51435677d-mss.mimik360.com"30: }31: }32: ],33: .34: .35: .36: }37: ]38: }
Notice that the address
object has a type
of proxy
at Line 26
. Also, notice that the URL associated with that address is defined within the url
property at Line 29
as "href": "https://i-0b5c44ee51435677d-mss.mimik360.com"
That href
value is the URL for the proxy service. That is the URL that you'll use to access the proxy server.
Finally, take a look at the property, routingPort
at Line 25
above. This property is important because, as we just mentioned, in order to execute access to the proxy server, you'll need to provide additional information in the header of the request to the proxy server. The value of the routingPort
property is one of those special pieces of information. There's also additional special header information in the discovery request object, which we'll get to in a moment.
Take a look at the code in the listing below. It shows two HTTP header entries, x-mimik-routing
and x-mimik-port
. These are the keys and values that you're going to add to the request headers.
1: x-mimik-routing: base64({ nodeId: ${node.id}, localLinkNetworkId: ${node.localLinkNetworkId} })2: x-mimik-port: ${node.routingPort}
The header, x-mimik-routing
will be assigned a value that is a base64 encoding of the values for nodeId
and localLinkNetworkId.
The header, x-mimik-port
will be assigned the value of the routingport, which you discovered previously when examining the
proxy` address object.
The values for nodeId
and localLinkNetworkId
are also described in the service discovery response object. The question is, where?
Take a look at the code snippet below. This is an extended snippet from the node object we examined previously. Notice the property, id
at Line 42
and the property localLinkNetworkId
at Line 43
. The values assigned to these properties are the values you'll use for the nodeId,
localLinkNetworkId
fields you'll base64 encode for the x-mimik-routing
header entry that you'll pass on in the HTTP request.
1: {2: "type": "account",3: "data": [4: {5: "APIVersion": "v1",6: "__v": 0,7: "_id": "60a2dc38761b2b16e0cc1f5a",8: "account": {9: "id": "2814304805192601600",10: "self": ""11: },12: "addresses": [13: {14: "type": "local",15: "url": {16: "hostname": "192.168.86.39",17: "href": "http://192.168.86.39:8083"18: }19: },20: {21: "type": "public",22: "url": {23: "hostname": "104.175.207.107",24: "href": "http://104.175.207.107:8083"25: }26: },27: {28: "baseUrl": "https://mss.mimik360.com/mSS/v1",29: "routingPort": 8100,30: "type": "proxy",31: "url": {32: "hostname": "i-0b5c44ee51435677d-mss.mimik360.com",33: "href": "https://i-0b5c44ee51435677d-mss.mimik360.com"34: }35: }36: ],37: .38: .39: .40: .41: "createdAt": "2021-05-17T21:12:24.156Z",42: "id": "e00adac5883381ad5c2f1019212c4f954f275f5f3d9b306e57128ead",43: "localLinkNetworkId": "eyJuZXR3b3JrQWRkcmVzcyI6ImtGM3hPemhYMlNIYTh4NWNYU0F6MHJpaVhnZnA1S3FNIiwicHVibGljQWRkcmVzcyI6IjEwNC4xNzUuMjA3LjEwNyJ9",44: "networkAddress": "kF3xOzhX2SHa8x5cXSAz0riiXgfp5KqM",45: .46: .47: .48: },49: {...},50: {...}51: ]52: }
When it comes the time to use the properties of a node object in the service discovery response object, you won't use hard-coded values. Rather, you'll work with the service discovery response object programmatically to get the values you need. For example, from a JSON perspective, a node object in the data
array might be assigned to the object variable, node.
Thus, the use of an object variable, node,
in the x-mimik-routing
and x-mimik-port
header entries shown above make sense. For clarity's sake, let's show those extra header entries again.
1: x-mimik-routing: base64({ nodeId: ${node.id}, localLinkNetworkId: ${node.localLinkNetworkId} })2: x-mimik-port: ${node.routingPort}
The important thing to remember about working with a proxy server in the mimik Global Services cloud is that the values for the URL
of the proxy server, the node id,
the localLinkNetworkId,
and the routingPort
are described within a given node object. You just need to know where to look. It's also important to remember that you'll when accessing a service in an Account or Proximity cluster via the proxy server, you'll need to add the special header entries, x-mimik-routing
and x-mimik-port
in the HTTP request headers along with an Access Token header.
NOTE: Although we only covered the particulars of working with a proxy to access a node within an Account cluster, please know the technique described above is also applicable to accessing a node in a Proximity cluster. |
---|
Appendices: Sample Discovery Response Objects
The following sections are concrete example of service discovery response objects expressed in JSON format.
Appendix A: A Network Cluster
1: {2: "type": "network",3: "data": [4: {5: "APIVersion": "v1",6: "account": {7: "id": "2814304805192601600",8: "publicKey64": "LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUF5Y1dwbytUWjhZSWhuM0l5RlNVbAp2WDhFNUhINVpoOEZkcXg5bnFLTTZIMFdkOHJtVFllbGFteGk3aVN5WFFySFI0TDhpRWdmYjAxUHJNWVphandYCmJiRmZXOTUyWW5mNnVZdmt1cGoxcTBUeTlTOWZRU1VJcVZYNzNsUGdNcVZuNFdVcG9WeUExT0V5MVNkNVh0bDUKTHB3dU1VYkV1ZzA4RWxzNlRicUJkeDZBMmJXK3J5eVRSTG91bWJYdUF1c3JvVk9ROFlRenNtdzFIMHphVTRPcwoxemlTeXYzb053dTZzT3Q4d1N2NWQ4TnBqR0hEb04zQVFvb25nMDkvb3NPWHd2a2w1ZEdwODRrMVpBajBOaTRGCkdUbXhkWjIva1ExN3BmZFNuY0U2VUtwNHBWenVIZzlQaEhIMUNsalllZXRicStDU3Irbm93VlhtekxYRDFuZFEKZndJREFRQUIKLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0tCg==",9: "self": ""10: },11: "addresses": [12: {13: "type": "local",14: "url": {15: "href": "http://192.168.86.31:8083"16: }17: }18: ],19: "attributes": [20: {21: "name": "edgeChecksum",22: "value": "S1xbBXAWQn"23: },24: {25: "name": "name",26: "value": "seplab"27: }28: ],29: "characteristics": [30: {31: "name": "cpu",32: "value": "Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz"33: },34: {35: "name": "edgeVersion",36: "value": "v2.3.1"37: },38: {39: "name": "kernelVersion",40: "value": "5.11.0-34-generic"41: },42: {43: "name": "os",44: "value": "linux"45: },46: {47: "name": "totalPhysicalMemory",48: "value": "8346562560"49: },50: {51: "name": "totalStorage",52: "value": "41475637248"53: }54: ],55: "id": "e3424338aaf05bdf25e57385bbf62e12d9f7168b3b3cb9c7ab76795f",56: "networkAddress": "nkRhiOBTGTZWPoeobsdheHc0h9ELYV6S",57: "rolesInCluster": [58: "superNodeLocalLinkNetwork"59: ],60: "services": [61: {62: "id": "bb6fba7d-6321-41c5-ac37-1a7a8a9a4ac0-mdebug-v1",63: "self": "/bb6fba7d-6321-41c5-ac37-1a7a8a9a4ac0/mdebug-v1/v1",64: "serviceType": "bb6fba7d-6321-41c5-ac37-1a7a8a9a4ac0-mdebug-v1",65: "tenant": {66: "id": "bb6fba7d-6321-41c5-ac37-1a7a8a9a4ac0",67: "self": ""68: }69: }70: ],71: "tenant": {72: "id": "mimik|001",73: "self": ""74: },75: "url": "http://192.168.86.31:8083"76: },77: {78: "APIVersion": "v1",79: "account": {80: "id": "2814304805192601600",81: "publicKey64": "LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUF5Y1dwbytUWjhZSWhuM0l5RlNVbAp2WDhFNUhINVpoOEZkcXg5bnFLTTZIMFdkOHJtVFllbGFteGk3aVN5WFFySFI0TDhpRWdmYjAxUHJNWVphandYCmJiRmZXOTUyWW5mNnVZdmt1cGoxcTBUeTlTOWZRU1VJcVZYNzNsUGdNcVZuNFdVcG9WeUExT0V5MVNkNVh0bDUKTHB3dU1VYkV1ZzA4RWxzNlRicUJkeDZBMmJXK3J5eVRSTG91bWJYdUF1c3JvVk9ROFlRenNtdzFIMHphVTRPcwoxemlTeXYzb053dTZzT3Q4d1N2NWQ4TnBqR0hEb04zQVFvb25nMDkvb3NPWHd2a2w1ZEdwODRrMVpBajBOaTRGCkdUbXhkWjIva1ExN3BmZFNuY0U2VUtwNHBWenVIZzlQaEhIMUNsalllZXRicStDU3Irbm93VlhtekxYRDFuZFEKZndJREFRQUIKLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0tCg==",82: "self": ""83: },84: "addresses": [85: {86: "type": "local",87: "url": {88: "href": "http://192.168.86.35:8083"89: }90: }91: ],92: "attributes": [93: {94: "name": "edgeChecksum",95: "value": "PuQdTjJbAo"96: },97: {98: "name": "name",99: "value": "mimiklab03"100: }101: ],102: "characteristics": [103: {104: "name": "cpu",105: "value": "Intel(R) Core(TM)2 Duo CPU E8400 @ 3.00GHz"106: },107: {108: "name": "edgeVersion",109: "value": "v2.3.1"110: },111: {112: "name": "kernelVersion",113: "value": "5.4.0-86-generic"114: },115: {116: "name": "os",117: "value": "linux"118: },119: {120: "name": "totalPhysicalMemory",121: "value": "4127576064"122: },123: {124: "name": "totalStorage",125: "value": "21003583488"126: }127: ],128: "id": "72fa9996fba0b783163037fd6a5607483f8bac9cc806a7d2c48dffbc",129: "networkAddress": "nkRhiOBTGTZWPoeobsdheHc0h9ELYV6S",130: "rolesInCluster": [],131: "services": [],132: "tenant": {133: "id": "mimik|001",134: "self": ""135: },136: "url": "http://192.168.86.35:8083"137: }138: ]139: }
Appendix B: An Account Cluster
1: {2: "type": "account",3: "data": [4: {5: "APIVersion": "v1",6: "__v": 0,7: "_id": "60a2dc38761b2b16e0cc1f5a",8: "account": {9: "id": "2814304805192601600",10: "self": ""11: },12: "addresses": [13: {14: "type": "local",15: "url": {16: "hostname": "192.168.86.39",17: "href": "http://192.168.86.39:8083"18: }19: },20: {21: "type": "public",22: "url": {23: "hostname": "104.175.207.107",24: "href": "http://104.175.207.107:8083"25: }26: },27: {28: "baseUrl": "https://mss.mimik360.com/mSS/v1",29: "routingPort": 8100,30: "type": "proxy",31: "url": {32: "hostname": "i-0b5c44ee51435677d-mss.mimik360.com",33: "href": "https://i-0b5c44ee51435677d-mss.mimik360.com"34: }35: }36: ],37: "attributes": [38: {39: "name": "edgeChecksum",40: "value": "aMb3f7yKa5"41: },42: {43: "name": "name",44: "value": "mimik1"45: }46: ],47: "characteristics": [48: {49: "name": "cpu",50: "value": "Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz"51: },52: {53: "name": "edgeVersion",54: "value": "v2.2.1"55: },56: {57: "name": "kernelVersion",58: "value": "5.4.0-73-generic"59: },60: {61: "name": "os",62: "value": "linux"63: },64: {65: "name": "totalPhysicalMemory",66: "value": "4127580160"67: },68: {69: "name": "totalStorage",70: "value": "21003583488"71: }72: ],73: "createdAt": "2021-05-17T21:12:24.156Z",74: "id": "e00adac5883381ad5c2f1019212c4f954f275f5f3d9b306e57128ead",75: "localLinkNetworkId": "eyJuZXR3b3JrQWRkcmVzcyI6ImtGM3hPemhYMlNIYTh4NWNYU0F6MHJpaVhnZnA1S3FNIiwicHVibGljQWRkcmVzcyI6IjEwNC4xNzUuMjA3LjEwNyJ9",76: "networkAddress": "kF3xOzhX2SHa8x5cXSAz0riiXgfp5KqM",77: "rolesInCluster": [78: "superNodeLocalLinkNetwork"79: ],80: "self": "https://mds.mimik360.com/mDS/v1/nodes/e00adac5883381ad5c2f1019212c4f954f275f5f3d9b306e57128ead",81: "services": [82: {83: "id": "bb6fba7d-6321-41c5-ac37-1a7a8a9a4ac0-microservice-v1-1.0.0.tar",84: "serviceType": "bb6fba7d-6321-41c5-ac37-1a7a8a9a4ac0-microservice-v1-1.0.0.tar",85: "tenant": {86: "id": "",87: "self": ""88: }89: }90: ],91: "tenant": {92: "id": "mimik|001",93: "self": ""94: },95: "updatedAt": "2021-05-17T21:12:24.150Z"96: },97: {98: "APIVersion": "v1",99: "__v": 0,100: "_id": "60b5b533d7abd51879ca7378",101: "account": {102: "id": "2814304805192601600",103: "self": ""104: },105: "addresses": [106: {107: "type": "local",108: "url": {109: "hostname": "192.168.86.37",110: "href": "http://192.168.86.37:8083"111: }112: },113: {114: "type": "public",115: "url": {116: "hostname": "104.175.207.107",117: "href": "http://104.175.207.107:8083"118: }119: },120: {121: "baseUrl": "https://mss.mimik360.com/mSS/v1",122: "routingPort": 8100,123: "type": "proxy",124: "url": {125: "hostname": "i-0e01b422cb176a35b-mss.mimik360.com",126: "href": "https://i-0e01b422cb176a35b-mss.mimik360.com"127: }128: }129: ],130: "attributes": [131: {132: "name": "edgeChecksum",133: "value": "FGrNLdoFSD"134: },135: {136: "name": "name",137: "value": "mimiktestclient"138: }139: ],140: "characteristics": [141: {142: "name": "cpu",143: "value": "Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz"144: },145: {146: "name": "edgeVersion",147: "value": "v2.2.1"148: },149: {150: "name": "kernelVersion",151: "value": "5.4.0-73-generic"152: },153: {154: "name": "os",155: "value": "linux"156: },157: {158: "name": "totalPhysicalMemory",159: "value": "4127580160"160: },161: {162: "name": "totalStorage",163: "value": "21003583488"164: }165: ],166: "createdAt": "2021-06-01T04:18:59.541Z",167: "id": "9c50e97b9f5883b34a89343771528c15cee2a6f35c20c337bf1128e6",168: "localLinkNetworkId": "eyJuZXR3b3JrQWRkcmVzcyI6InF2c1ZQS3g5MDhiUWR4OU1maUJiU2o1akY5R0g1ME1WIiwicHVibGljQWRkcmVzcyI6IjEwNC4xNzUuMjA3LjEwNyJ9",169: "networkAddress": "qvsVPKx908bQdx9MfiBbSj5jF9GH50MV",170: "rolesInCluster": [171: "superNodeLocalLinkNetwork"172: ],173: "self": "https://mds.mimik360.com/mDS/v1/nodes/9c50e97b9f5883b34a89343771528c15cee2a6f35c20c337bf1128e6",174: "services": [175: {176: "id": "bb6fba7d-6321-41c5-ac37-1a7a8a9a4ac0-microservice-v1-1.0.0.tar",177: "serviceType": "bb6fba7d-6321-41c5-ac37-1a7a8a9a4ac0-microservice-v1-1.0.0.tar",178: "tenant": {179: "id": "",180: "self": ""181: }182: }183: ],184: "tenant": {185: "id": "mimik|001",186: "self": ""187: },188: "updatedAt": "2021-06-01T04:18:59.535Z"189: },190: {191: "APIVersion": "v1",192: "__v": 4,193: "_id": "60d3d26343f5ff048af4d7dc",194: "account": {195: "id": "2814304805192601600",196: "publicKey64": "LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUF5Y1dwbytUWjhZSWhuM0l5RlNVbAp2WDhFNUhINVpoOEZkcXg5bnFLTTZIMFdkOHJtVFllbGFteGk3aVN5WFFySFI0TDhpRWdmYjAxUHJNWVphandYCmJiRmZXOTUyWW5mNnVZdmt1cGoxcTBUeTlTOWZRU1VJcVZYNzNsUGdNcVZuNFdVcG9WeUExT0V5MVNkNVh0bDUKTHB3dU1VYkV1ZzA4RWxzNlRicUJkeDZBMmJXK3J5eVRSTG91bWJYdUF1c3JvVk9ROFlRenNtdzFIMHphVTRPcwoxemlTeXYzb053dTZzT3Q4d1N2NWQ4TnBqR0hEb04zQVFvb25nMDkvb3NPWHd2a2w1ZEdwODRrMVpBajBOaTRGCkdUbXhkWjIva1ExN3BmZFNuY0U2VUtwNHBWenVIZzlQaEhIMUNsalllZXRicStDU3Irbm93VlhtekxYRDFuZFEKZndJREFRQUIKLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0tCg==",197: "self": ""198: },199: "addresses": [200: {201: "type": "local",202: "url": {203: "hostname": "192.168.86.32",204: "href": "http://192.168.86.32:8083"205: }206: },207: {208: "type": "public",209: "url": {210: "hostname": "104.175.207.107",211: "href": "http://104.175.207.107:8083"212: }213: },214: {215: "baseUrl": "https://mss.mimik360.com/mSS/v1",216: "routingPort": 8100,217: "type": "proxy",218: "url": {219: "hostname": "i-0e01b422cb176a35b-mss.mimik360.com",220: "href": "https://i-0e01b422cb176a35b-mss.mimik360.com"221: }222: }223: ],224: "attributes": [225: {226: "name": "edgeChecksum",227: "value": "bYCsERERfQ"228: },229: {230: "name": "name",231: "value": "pi3"232: }233: ],234: "characteristics": [235: {236: "name": "cpu",237: "value": "BCM2711 - ARMv7 Processor rev 3 (v7l) @ 1.50GHz"238: },239: {240: "name": "edgeVersion",241: "value": "v2.3.1"242: },243: {244: "name": "kernelVersion",245: "value": "5.10.17-v7l+"246: },247: {248: "name": "os",249: "value": "raspbian"250: },251: {252: "name": "totalPhysicalMemory",253: "value": "8257826816"254: },255: {256: "name": "totalStorage",257: "value": "63864569856"258: }259: ],260: "id": "a95c7f6035b7d00c12fdf359a7a00f41ac803a521f313f39c5fb17af",261: "localLinkNetworkId": "eyJuZXR3b3JrQWRkcmVzcyI6IjRjWTFVZFhwc2puMVg3b1czdGRGYUlTbXViZk44WVRHIiwicHVibGljQWRkcmVzcyI6IjEwNC4xNzUuMjA3LjEwNyJ9",262: "networkAddress": "4cY1UdXpsjn1X7oW3tdFaISmubfN8YTG",263: "rolesInCluster": [264: "superNodeLocalLinkNetwork"265: ],266: "self": "https://mds.mimik360.com/mDS/v1/nodes/a95c7f6035b7d00c12fdf359a7a00f41ac803a521f313f39c5fb17af",267: "services": [],268: "tenant": {269: "id": "mimik|001",270: "self": ""271: },272: "updatedAt": "2021-06-24T08:28:13.331Z"273: },274: {275: "APIVersion": "v1",276: "__v": 125,277: "_id": "60d40bd54810f6e4b59ed6fb",278: "account": {279: "id": "2814304805192601600",280: "publicKey64": "LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUF5Y1dwbytUWjhZSWhuM0l5RlNVbAp2WDhFNUhINVpoOEZkcXg5bnFLTTZIMFdkOHJtVFllbGFteGk3aVN5WFFySFI0TDhpRWdmYjAxUHJNWVphandYCmJiRmZXOTUyWW5mNnVZdmt1cGoxcTBUeTlTOWZRU1VJcVZYNzNsUGdNcVZuNFdVcG9WeUExT0V5MVNkNVh0bDUKTHB3dU1VYkV1ZzA4RWxzNlRicUJkeDZBMmJXK3J5eVRSTG91bWJYdUF1c3JvVk9ROFlRenNtdzFIMHphVTRPcwoxemlTeXYzb053dTZzT3Q4d1N2NWQ4TnBqR0hEb04zQVFvb25nMDkvb3NPWHd2a2w1ZEdwODRrMVpBajBOaTRGCkdUbXhkWjIva1ExN3BmZFNuY0U2VUtwNHBWenVIZzlQaEhIMUNsalllZXRicStDU3Irbm93VlhtekxYRDFuZFEKZndJREFRQUIKLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0tCg==",281: "self": ""282: },283: "addresses": [284: {285: "type": "local",286: "url": {287: "hostname": "192.168.86.93",288: "href": "http://192.168.86.93:8083"289: }290: },291: {292: "type": "public",293: "url": {294: "hostname": "104.175.207.107",295: "href": "http://104.175.207.107:8083"296: }297: },298: {299: "baseUrl": "https://mss.mimik360.com/mSS/v1",300: "routingPort": 8100,301: "type": "proxy",302: "url": {303: "hostname": "i-019c2b330b85af43b-mss.mimik360.com",304: "href": "https://i-019c2b330b85af43b-mss.mimik360.com"305: }306: }307: ],308: "attributes": [309: {310: "name": "edgeChecksum",311: "value": "xYk2jYyT89"312: },313: {314: "name": "name",315: "value": "reselkubelap"316: }317: ],318: "characteristics": [319: {320: "name": "cpu",321: "value": "Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz"322: },323: {324: "name": "edgeVersion",325: "value": "v2.3.1"326: },327: {328: "name": "kernelVersion",329: "value": "5.4.0-74-generic"330: },331: {332: "name": "os",333: "value": "linux"334: },335: {336: "name": "totalPhysicalMemory",337: "value": "33569370112"338: },339: {340: "name": "totalStorage",341: "value": "950132015104"342: }343: ],344: "id": "4a03cf0769264a62eb226b9609110c62372c32ca64e117fc1119884e",345: "localLinkNetworkId": "eyJuZXR3b3JrQWRkcmVzcyI6IlVoZ0tCczJxTHN5alo0Qjc3V01PV1c3M3dNWktrNGZlIiwicHVibGljQWRkcmVzcyI6IjEwNC4xNzUuMjA3LjEwNyJ9",346: "networkAddress": "UhgKBs2qLsyjZ4B77WMOWW73wMZKk4fe",347: "rolesInCluster": [348: "superNodeLocalLinkNetwork"349: ],350: "self": "https://mds.mimik360.com/mDS/v1/nodes/4a03cf0769264a62eb226b9609110c62372c32ca64e117fc1119884e",351: "services": [352: {353: "id": "bb6fba7d-6321-41c5-ac37-1a7a8a9a4ac0-microservice-v1-1.0.0.tar",354: "self": "/bb6fba7d-6321-41c5-ac37-1a7a8a9a4ac0/sample/v1",355: "serviceType": "bb6fba7d-6321-41c5-ac37-1a7a8a9a4ac0-microservice-v1-1.0.0.tar",356: "tenant": {357: "id": "bb6fba7d-6321-41c5-ac37-1a7a8a9a4ac0",358: "self": ""359: }360: }361: ],362: "tenant": {363: "id": "mimik|001",364: "self": ""365: },366: "updatedAt": "2021-08-06T22:11:54.587Z"367: },368: {369: "APIVersion": "v1",370: "__v": 3,371: "_id": "6149218446656a55291dc606",372: "account": {373: "id": "2814304805192601600",374: "publicKey64": "LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUF5Y1dwbytUWjhZSWhuM0l5RlNVbAp2WDhFNUhINVpoOEZkcXg5bnFLTTZIMFdkOHJtVFllbGFteGk3aVN5WFFySFI0TDhpRWdmYjAxUHJNWVphandYCmJiRmZXOTUyWW5mNnVZdmt1cGoxcTBUeTlTOWZRU1VJcVZYNzNsUGdNcVZuNFdVcG9WeUExT0V5MVNkNVh0bDUKTHB3dU1VYkV1ZzA4RWxzNlRicUJkeDZBMmJXK3J5eVRSTG91bWJYdUF1c3JvVk9ROFlRenNtdzFIMHphVTRPcwoxemlTeXYzb053dTZzT3Q4d1N2NWQ4TnBqR0hEb04zQVFvb25nMDkvb3NPWHd2a2w1ZEdwODRrMVpBajBOaTRGCkdUbXhkWjIva1ExN3BmZFNuY0U2VUtwNHBWenVIZzlQaEhIMUNsalllZXRicStDU3Irbm93VlhtekxYRDFuZFEKZndJREFRQUIKLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0tCg==",375: "self": ""376: },377: "addresses": [378: {379: "type": "local",380: "url": {381: "hostname": "192.168.86.31",382: "href": "http://192.168.86.31:8083"383: }384: },385: {386: "type": "public",387: "url": {388: "hostname": "104.175.207.107",389: "href": "http://104.175.207.107:8083"390: }391: },392: {393: "baseUrl": "https://mss.mimik360.com/mSS/v1",394: "routingPort": 8100,395: "type": "proxy",396: "url": {397: "hostname": "i-0cca33f4566e6532f-mss.mimik360.com",398: "href": "https://i-0cca33f4566e6532f-mss.mimik360.com"399: }400: }401: ],402: "attributes": [403: {404: "name": "edgeChecksum",405: "value": "S1xbBXAWQn"406: },407: {408: "name": "name",409: "value": "seplab"410: }411: ],412: "characteristics": [413: {414: "name": "cpu",415: "value": "Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz"416: },417: {418: "name": "edgeVersion",419: "value": "v2.3.1"420: },421: {422: "name": "kernelVersion",423: "value": "5.11.0-34-generic"424: },425: {426: "name": "os",427: "value": "linux"428: },429: {430: "name": "totalPhysicalMemory",431: "value": "8346562560"432: },433: {434: "name": "totalStorage",435: "value": "41475637248"436: }437: ],438: "id": "e3424338aaf05bdf25e57385bbf62e12d9f7168b3b3cb9c7ab76795f",439: "localLinkNetworkId": "eyJuZXR3b3JrQWRkcmVzcyI6Im5rUmhpT0JUR1RaV1BvZW9ic2RoZUhjMGg5RUxZVjZTIiwicHVibGljQWRkcmVzcyI6IjEwNC4xNzUuMjA3LjEwNyJ9",440: "networkAddress": "nkRhiOBTGTZWPoeobsdheHc0h9ELYV6S",441: "rolesInCluster": [442: "superNodeLocalLinkNetwork"443: ],444: "self": "https://mds.mimik360.com/mDS/v1/nodes/e3424338aaf05bdf25e57385bbf62e12d9f7168b3b3cb9c7ab76795f",445: "services": [446: {447: "id": "bb6fba7d-6321-41c5-ac37-1a7a8a9a4ac0-mdebug-v1",448: "self": "/bb6fba7d-6321-41c5-ac37-1a7a8a9a4ac0/mdebug-v1/v1",449: "serviceType": "bb6fba7d-6321-41c5-ac37-1a7a8a9a4ac0-mdebug-v1",450: "tenant": {451: "id": "bb6fba7d-6321-41c5-ac37-1a7a8a9a4ac0",452: "self": ""453: }454: }455: ],456: "tenant": {457: "id": "mimik|001",458: "self": ""459: },460: "updatedAt": "2021-09-21T15:39:42.269Z"461: },462: {463: "APIVersion": "v1",464: "__v": 1,465: "_id": "614a97449a7d7f49d4785c73",466: "account": {467: "id": "2814304805192601600",468: "publicKey64": "LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUF5Y1dwbytUWjhZSWhuM0l5RlNVbAp2WDhFNUhINVpoOEZkcXg5bnFLTTZIMFdkOHJtVFllbGFteGk3aVN5WFFySFI0TDhpRWdmYjAxUHJNWVphandYCmJiRmZXOTUyWW5mNnVZdmt1cGoxcTBUeTlTOWZRU1VJcVZYNzNsUGdNcVZuNFdVcG9WeUExT0V5MVNkNVh0bDUKTHB3dU1VYkV1ZzA4RWxzNlRicUJkeDZBMmJXK3J5eVRSTG91bWJYdUF1c3JvVk9ROFlRenNtdzFIMHphVTRPcwoxemlTeXYzb053dTZzT3Q4d1N2NWQ4TnBqR0hEb04zQVFvb25nMDkvb3NPWHd2a2w1ZEdwODRrMVpBajBOaTRGCkdUbXhkWjIva1ExN3BmZFNuY0U2VUtwNHBWenVIZzlQaEhIMUNsalllZXRicStDU3Irbm93VlhtekxYRDFuZFEKZndJREFRQUIKLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0tCg==",469: "self": ""470: },471: "addresses": [472: {473: "type": "local",474: "url": {475: "hostname": "192.168.86.35",476: "href": "http://192.168.86.35:8083"477: }478: },479: {480: "type": "public",481: "url": {482: "hostname": "104.175.207.107",483: "href": "http://104.175.207.107:8083"484: }485: },486: {487: "baseUrl": "https://mss.mimik360.com/mSS/v1",488: "routingPort": 8100,489: "type": "proxy",490: "url": {491: "hostname": "i-0edb687909f0aa5e1-mss.mimik360.com",492: "href": "https://i-0edb687909f0aa5e1-mss.mimik360.com"493: }494: }495: ],496: "attributes": [497: {498: "name": "edgeChecksum",499: "value": "PuQdTjJbAo"500: },501: {502: "name": "name",503: "value": "mimiklab03"504: }505: ],506: "characteristics": [507: {508: "name": "cpu",509: "value": "Intel(R) Core(TM)2 Duo CPU E8400 @ 3.00GHz"510: },511: {512: "name": "edgeVersion",513: "value": "v2.3.1"514: },515: {516: "name": "kernelVersion",517: "value": "5.4.0-86-generic"518: },519: {520: "name": "os",521: "value": "linux"522: },523: {524: "name": "totalPhysicalMemory",525: "value": "4127576064"526: },527: {528: "name": "totalStorage",529: "value": "21003583488"530: }531: ],532: "id": "72fa9996fba0b783163037fd6a5607483f8bac9cc806a7d2c48dffbc",533: "localLinkNetworkId": "eyJuZXR3b3JrQWRkcmVzcyI6Im5rUmhpT0JUR1RaV1BvZW9ic2RoZUhjMGg5RUxZVjZTIiwicHVibGljQWRkcmVzcyI6IjEwNC4xNzUuMjA3LjEwNyJ9",534: "networkAddress": "nkRhiOBTGTZWPoeobsdheHc0h9ELYV6S",535: "rolesInCluster": [],536: "self": "https://mds.mimik360.com/mDS/v1/nodes/72fa9996fba0b783163037fd6a5607483f8bac9cc806a7d2c48dffbc",537: "services": [],538: "tenant": {539: "id": "mimik|001",540: "self": ""541: },542: "updatedAt": "2021-09-22T03:29:29.206Z"543: }544: ]545: }
Appendix C: Proximity Cluster
1: {2: "type": "proximity",3: "data": [4: {5: "APIVersion": "v1",6: "__v": 0,7: "_id": "5d048b4c3363b43c07ba5871",8: "account": {9: "id": "2561737774756597760",10: "self": ""11: },12: "addresses": [13: {14: "type": "local",15: "url": {16: "href": "http://192.168.1.24:8083"17: }18: },19: {20: "type": "public",21: "url": {22: "href": "http://104.175.195.102:8083"23: }24: },25: {26: "routingPort": 8100,27: "type": "proxy",28: "url": {29: "href": "https://i-0a6dac3b72a3e3355-mss.mimik360.com"30: }31: }32: ],33: "attributes": [34: {35: "name": "edgeChecksum",36: "value": "rcmvJTiATC"37: },38: {39: "name": "name",40: "value": "Google Pixel 3 XL"41: }42: ],43: "characteristics": [44: {45: "name": "cpu",46: "value": "Qualcomm Technologies, Inc SDM845 - AArch64 Processor rev 13 (aarch64) @ 2.80GHz"47: },48: {49: "name": "edgeVersion",50: "value": "v2.0.0"51: },52: {53: "name": "kernelVersion",54: "value": "4.9.148-g85568e1575de-ab5471522"55: },56: {57: "name": "os",58: "value": "android"59: },60: {61: "name": "totalPhysicalMemory",62: "value": "3718868992"63: },64: {65: "name": "totalStorage",66: "value": "55387860992"67: }68: ],69: "id": "78f8924a02aa0a318416df4b66a1771bcd802e80f33374acdf6db762",70: "localLinkNetworkId": "eyJuZXR3b3JrQWRkcmVzcyI6IjdOTmRLQWIycndFbXlhTzlURk5mVlVDOXRDMDE5ZmFOIiwicHVibGljQWRkcmVzcyI6IjEwNC4xNzUuMTk1LjEwMiJ9",71: "networkAddress": "7NNdKAb2rwEmyaO9TFNfVUC9tC019faN",72: "rolesInCluster": [73: "superNodeLocalLinkNetwork"74: ],75: "self": "https://mds.mimik360.com/mDS/v1/nodes/78f8924a02aa0a318416df4b66a1771bcd802e80f33374acdf6db762",76: "services": [77: {78: "id": "24c43808-e58a-40bc-a571-5db07fe158ba-mcontent-v1",79: "serviceType": "24c43808-e58a-40bc-a571-5db07fe158ba-mcontent-v1",80: "tenant": {81: "id": "",82: "self": ""83: }84: },85: {86: "id": "24c43808-e58a-40bc-a571-5db07fe158ba-sidecar-v1",87: "serviceType": "24c43808-e58a-40bc-a571-5db07fe158ba-sidecar-v1",88: "tenant": {89: "id": "",90: "self": ""91: }92: }93: ],94: "tenant": {95: "id": "mimik|001",96: "self": ""97: },98: "updatedAt": "2019-06-15T06:08:12.260Z"99: },100: {101: "APIVersion": "v1",102: "__v": 0,103: "_id": "6099f7cf0437caae23034e7c",104: "account": {105: "id": "",106: "self": ""107: },108: "addresses": [109: {110: "type": "local",111: "url": {112: "href": "http://192.168.86.32:8083"113: }114: },115: {116: "type": "public",117: "url": {118: "href": "http://76.169.179.145:8083"119: }120: },121: {122: "routingPort": 8100,123: "type": "proxy",124: "url": {125: "href": "https://i-0861643dd0484e126-mss.mimik360.com"126: }127: }128: ],129: "attributes": [130: {131: "name": "edgeChecksum",132: "value": "W2gOYylsoD"133: },134: {135: "name": "name",136: "value": "mimik1"137: }138: ],139: "characteristics": [140: {141: "name": "cpu",142: "value": "Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz"143: },144: {145: "name": "edgeVersion",146: "value": "v2.2.1"147: },148: {149: "name": "kernelVersion",150: "value": "4.15.0-142-generic"151: },152: {153: "name": "os",154: "value": "linux"155: },156: {157: "name": "totalPhysicalMemory",158: "value": "4136304640"159: },160: {161: "name": "totalStorage",162: "value": "42004086784"163: }164: ],165: "id": "4672483adaa1be3da4ba173a8ec3bd4012585d06d669a888b6301012",166: "localLinkNetworkId": "eyJuZXR3b3JrQWRkcmVzcyI6IkZYSDdkTjFsQzhQNGlzNTZTSzBVRURYOWUzOWZJTDdlIiwicHVibGljQWRkcmVzcyI6Ijc2LjE2OS4xNzkuMTQ1In0=",167: "networkAddress": "FXH7dN1lC8P4is56SK0UEDX9e39fIL7e",168: "rolesInCluster": [169: "superNodeLocalLinkNetwork"170: ],171: "self": "https://mds.mimik360.com/mDS/v1/nodes/4672483adaa1be3da4ba173a8ec3bd4012585d06d669a888b6301012",172: "services": [],173: "tenant": {174: "id": "mimik|001",175: "self": ""176: },177: "updatedAt": "2021-05-11T03:19:43.752Z"178: },179: {180: "APIVersion": "v1",181: "__v": 0,182: "_id": "60a2dc38761b2b16e0cc1f5a",183: "account": {184: "id": "2814304805192601600",185: "self": ""186: },187: "addresses": [188: {189: "type": "local",190: "url": {191: "hostname": "192.168.86.39",192: "href": "http://192.168.86.39:8083"193: }194: },195: {196: "type": "public",197: "url": {198: "hostname": "104.175.207.107",199: "href": "http://104.175.207.107:8083"200: }201: },202: {203: "baseUrl": "https://mss.mimik360.com/mSS/v1",204: "routingPort": 8100,205: "type": "proxy",206: "url": {207: "hostname": "i-0b5c44ee51435677d-mss.mimik360.com",208: "href": "https://i-0b5c44ee51435677d-mss.mimik360.com"209: }210: }211: ],212: "attributes": [213: {214: "name": "edgeChecksum",215: "value": "aMb3f7yKa5"216: },217: {218: "name": "name",219: "value": "mimik1"220: }221: ],222: "characteristics": [223: {224: "name": "cpu",225: "value": "Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz"226: },227: {228: "name": "edgeVersion",229: "value": "v2.2.1"230: },231: {232: "name": "kernelVersion",233: "value": "5.4.0-73-generic"234: },235: {236: "name": "os",237: "value": "linux"238: },239: {240: "name": "totalPhysicalMemory",241: "value": "4127580160"242: },243: {244: "name": "totalStorage",245: "value": "21003583488"246: }247: ],248: "createdAt": "2021-05-17T21:12:24.156Z",249: "id": "e00adac5883381ad5c2f1019212c4f954f275f5f3d9b306e57128ead",250: "localLinkNetworkId": "eyJuZXR3b3JrQWRkcmVzcyI6ImtGM3hPemhYMlNIYTh4NWNYU0F6MHJpaVhnZnA1S3FNIiwicHVibGljQWRkcmVzcyI6IjEwNC4xNzUuMjA3LjEwNyJ9",251: "networkAddress": "kF3xOzhX2SHa8x5cXSAz0riiXgfp5KqM",252: "rolesInCluster": [253: "superNodeLocalLinkNetwork"254: ],255: "self": "https://mds.mimik360.com/mDS/v1/nodes/e00adac5883381ad5c2f1019212c4f954f275f5f3d9b306e57128ead",256: "services": [257: {258: "id": "bb6fba7d-6321-41c5-ac37-1a7a8a9a4ac0-microservice-v1-1.0.0.tar",259: "serviceType": "bb6fba7d-6321-41c5-ac37-1a7a8a9a4ac0-microservice-v1-1.0.0.tar",260: "tenant": {261: "id": "",262: "self": ""263: }264: }265: ],266: "tenant": {267: "id": "mimik|001",268: "self": ""269: },270: "updatedAt": "2021-05-17T21:12:24.150Z"271: },272: {273: "APIVersion": "v1",274: "__v": 0,275: "_id": "60b5b533d7abd51879ca7378",276: "account": {277: "id": "2814304805192601600",278: "self": ""279: },280: "addresses": [281: {282: "type": "local",283: "url": {284: "hostname": "192.168.86.37",285: "href": "http://192.168.86.37:8083"286: }287: },288: {289: "type": "public",290: "url": {291: "hostname": "104.175.207.107",292: "href": "http://104.175.207.107:8083"293: }294: },295: {296: "baseUrl": "https://mss.mimik360.com/mSS/v1",297: "routingPort": 8100,298: "type": "proxy",299: "url": {300: "hostname": "i-0e01b422cb176a35b-mss.mimik360.com",301: "href": "https://i-0e01b422cb176a35b-mss.mimik360.com"302: }303: }304: ],305: "attributes": [306: {307: "name": "edgeChecksum",308: "value": "FGrNLdoFSD"309: },310: {311: "name": "name",312: "value": "mimiktestclient"313: }314: ],315: "characteristics": [316: {317: "name": "cpu",318: "value": "Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz"319: },320: {321: "name": "edgeVersion",322: "value": "v2.2.1"323: },324: {325: "name": "kernelVersion",326: "value": "5.4.0-73-generic"327: },328: {329: "name": "os",330: "value": "linux"331: },332: {333: "name": "totalPhysicalMemory",334: "value": "4127580160"335: },336: {337: "name": "totalStorage",338: "value": "21003583488"339: }340: ],341: "createdAt": "2021-06-01T04:18:59.541Z",342: "id": "9c50e97b9f5883b34a89343771528c15cee2a6f35c20c337bf1128e6",343: "localLinkNetworkId": "eyJuZXR3b3JrQWRkcmVzcyI6InF2c1ZQS3g5MDhiUWR4OU1maUJiU2o1akY5R0g1ME1WIiwicHVibGljQWRkcmVzcyI6IjEwNC4xNzUuMjA3LjEwNyJ9",344: "networkAddress": "qvsVPKx908bQdx9MfiBbSj5jF9GH50MV",345: "rolesInCluster": [346: "superNodeLocalLinkNetwork"347: ],348: "self": "https://mds.mimik360.com/mDS/v1/nodes/9c50e97b9f5883b34a89343771528c15cee2a6f35c20c337bf1128e6",349: "services": [350: {351: "id": "bb6fba7d-6321-41c5-ac37-1a7a8a9a4ac0-microservice-v1-1.0.0.tar",352: "serviceType": "bb6fba7d-6321-41c5-ac37-1a7a8a9a4ac0-microservice-v1-1.0.0.tar",353: "tenant": {354: "id": "",355: "self": ""356: }357: }358: ],359: "tenant": {360: "id": "mimik|001",361: "self": ""362: },363: "updatedAt": "2021-06-01T04:18:59.535Z"364: },365: {366: "APIVersion": "v1",367: "__v": 4,368: "_id": "60d3d26343f5ff048af4d7dc",369: "account": {370: "id": "2814304805192601600",371: "publicKey64": "LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUF5Y1dwbytUWjhZSWhuM0l5RlNVbAp2WDhFNUhINVpoOEZkcXg5bnFLTTZIMFdkOHJtVFllbGFteGk3aVN5WFFySFI0TDhpRWdmYjAxUHJNWVphandYCmJiRmZXOTUyWW5mNnVZdmt1cGoxcTBUeTlTOWZRU1VJcVZYNzNsUGdNcVZuNFdVcG9WeUExT0V5MVNkNVh0bDUKTHB3dU1VYkV1ZzA4RWxzNlRicUJkeDZBMmJXK3J5eVRSTG91bWJYdUF1c3JvVk9ROFlRenNtdzFIMHphVTRPcwoxemlTeXYzb053dTZzT3Q4d1N2NWQ4TnBqR0hEb04zQVFvb25nMDkvb3NPWHd2a2w1ZEdwODRrMVpBajBOaTRGCkdUbXhkWjIva1ExN3BmZFNuY0U2VUtwNHBWenVIZzlQaEhIMUNsalllZXRicStDU3Irbm93VlhtekxYRDFuZFEKZndJREFRQUIKLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0tCg==",372: "self": ""373: },374: "addresses": [375: {376: "type": "local",377: "url": {378: "hostname": "192.168.86.32",379: "href": "http://192.168.86.32:8083"380: }381: },382: {383: "type": "public",384: "url": {385: "hostname": "104.175.207.107",386: "href": "http://104.175.207.107:8083"387: }388: },389: {390: "baseUrl": "https://mss.mimik360.com/mSS/v1",391: "routingPort": 8100,392: "type": "proxy",393: "url": {394: "hostname": "i-0e01b422cb176a35b-mss.mimik360.com",395: "href": "https://i-0e01b422cb176a35b-mss.mimik360.com"396: }397: }398: ],399: "attributes": [400: {401: "name": "edgeChecksum",402: "value": "bYCsERERfQ"403: },404: {405: "name": "name",406: "value": "pi3"407: }408: ],409: "characteristics": [410: {411: "name": "cpu",412: "value": "BCM2711 - ARMv7 Processor rev 3 (v7l) @ 1.50GHz"413: },414: {415: "name": "edgeVersion",416: "value": "v2.3.1"417: },418: {419: "name": "kernelVersion",420: "value": "5.10.17-v7l+"421: },422: {423: "name": "os",424: "value": "raspbian"425: },426: {427: "name": "totalPhysicalMemory",428: "value": "8257826816"429: },430: {431: "name": "totalStorage",432: "value": "63864569856"433: }434: ],435: "id": "a95c7f6035b7d00c12fdf359a7a00f41ac803a521f313f39c5fb17af",436: "localLinkNetworkId": "eyJuZXR3b3JrQWRkcmVzcyI6IjRjWTFVZFhwc2puMVg3b1czdGRGYUlTbXViZk44WVRHIiwicHVibGljQWRkcmVzcyI6IjEwNC4xNzUuMjA3LjEwNyJ9",437: "networkAddress": "4cY1UdXpsjn1X7oW3tdFaISmubfN8YTG",438: "rolesInCluster": [439: "superNodeLocalLinkNetwork"440: ],441: "self": "https://mds.mimik360.com/mDS/v1/nodes/a95c7f6035b7d00c12fdf359a7a00f41ac803a521f313f39c5fb17af",442: "services": [],443: "tenant": {444: "id": "mimik|001",445: "self": ""446: },447: "updatedAt": "2021-06-24T08:28:13.331Z"448: },449: {450: "APIVersion": "v1",451: "__v": 4,452: "_id": "60d3fda943f5ff5ec0f4d7f0",453: "account": {454: "id": "",455: "self": ""456: },457: "addresses": [458: {459: "type": "local",460: "url": {461: "hostname": "192.168.86.35",462: "href": "http://192.168.86.35:8083"463: }464: },465: {466: "type": "public",467: "url": {468: "hostname": "104.175.207.107",469: "href": "http://104.175.207.107:8083"470: }471: },472: {473: "baseUrl": "https://mss.mimik360.com/mSS/v1",474: "routingPort": 8100,475: "type": "proxy",476: "url": {477: "hostname": "i-0edb687909f0aa5e1-mss.mimik360.com",478: "href": "https://i-0edb687909f0aa5e1-mss.mimik360.com"479: }480: }481: ],482: "attributes": [483: {484: "name": "edgeChecksum",485: "value": "3EbwilG3PT"486: },487: {488: "name": "name",489: "value": "pi2"490: }491: ],492: "characteristics": [493: {494: "name": "cpu",495: "value": "BCM2711 - ARMv7 Processor rev 3 (v7l) @ 1.50GHz"496: },497: {498: "name": "edgeVersion",499: "value": "v2.3.1"500: },501: {502: "name": "kernelVersion",503: "value": "5.10.17-v7l+"504: },505: {506: "name": "os",507: "value": "raspbian"508: },509: {510: "name": "totalPhysicalMemory",511: "value": "8257822720"512: },513: {514: "name": "totalStorage",515: "value": "63864569856"516: }517: ],518: "id": "b2afb299d0c741aa24f6bf799d4777a5943983d2527e49c505b02898",519: "localLinkNetworkId": "eyJuZXR3b3JrQWRkcmVzcyI6IjJSWEp6UWJNZFA4UUEybGNnMXd1T3ZCRjBHZjFqaDJqIiwicHVibGljQWRkcmVzcyI6IjEwNC4xNzUuMjA3LjEwNyJ9",520: "networkAddress": "2RXJzQbMdP8QA2lcg1wuOvBF0Gf1jh2j",521: "rolesInCluster": [522: "superNodeLocalLinkNetwork"523: ],524: "self": "https://mds.mimik360.com/mDS/v1/nodes/b2afb299d0c741aa24f6bf799d4777a5943983d2527e49c505b02898",525: "services": [],526: "tenant": {527: "id": "mimik|001",528: "self": ""529: },530: "updatedAt": "2021-06-30T05:33:45.938Z"531: },532: {533: "APIVersion": "v1",534: "__v": 7,535: "_id": "60d3fda94810f665ac9ed6ee",536: "account": {537: "id": "",538: "self": ""539: },540: "addresses": [541: {542: "type": "local",543: "url": {544: "hostname": "192.168.86.37",545: "href": "http://192.168.86.37:8083"546: }547: },548: {549: "type": "public",550: "url": {551: "hostname": "104.175.207.107",552: "href": "http://104.175.207.107:8083"553: }554: },555: {556: "baseUrl": "https://mss.mimik360.com/mSS/v1",557: "routingPort": 8100,558: "type": "proxy",559: "url": {560: "hostname": "i-0edb687909f0aa5e1-mss.mimik360.com",561: "href": "https://i-0edb687909f0aa5e1-mss.mimik360.com"562: }563: }564: ],565: "attributes": [566: {567: "name": "edgeChecksum",568: "value": "niOnps3OI3"569: },570: {571: "name": "name",572: "value": "pi1"573: }574: ],575: "characteristics": [576: {577: "name": "cpu",578: "value": "BCM2711 - ARMv7 Processor rev 3 (v7l) @ 1.50GHz"579: },580: {581: "name": "edgeVersion",582: "value": "v2.3.1"583: },584: {585: "name": "kernelVersion",586: "value": "5.10.17-v7l+"587: },588: {589: "name": "os",590: "value": "raspbian"591: },592: {593: "name": "totalPhysicalMemory",594: "value": "8257822720"595: },596: {597: "name": "totalStorage",598: "value": "63864569856"599: }600: ],601: "id": "278bf907bca7c6cfd8796047447c20b905a0b35c23016316cf524943",602: "localLinkNetworkId": "eyJuZXR3b3JrQWRkcmVzcyI6IkJ4SWNISTFLQ0ZHUTZoNzVOR2ZJdkxndDB0QW1acmJWIiwicHVibGljQWRkcmVzcyI6IjEwNC4xNzUuMjA3LjEwNyJ9",603: "networkAddress": "BxIcHI1KCFGQ6h75NGfIvLgt0tAmZrbV",604: "rolesInCluster": [605: "superNodeLocalLinkNetwork"606: ],607: "self": "https://mds.mimik360.com/mDS/v1/nodes/278bf907bca7c6cfd8796047447c20b905a0b35c23016316cf524943",608: "services": [],609: "tenant": {610: "id": "mimik|001",611: "self": ""612: },613: "updatedAt": "2021-06-29T23:21:45.484Z"614: },615: {616: "APIVersion": "v1",617: "__v": 125,618: "_id": "60d40bd54810f6e4b59ed6fb",619: "account": {620: "id": "2814304805192601600",621: "publicKey64": "LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUF5Y1dwbytUWjhZSWhuM0l5RlNVbAp2WDhFNUhINVpoOEZkcXg5bnFLTTZIMFdkOHJtVFllbGFteGk3aVN5WFFySFI0TDhpRWdmYjAxUHJNWVphandYCmJiRmZXOTUyWW5mNnVZdmt1cGoxcTBUeTlTOWZRU1VJcVZYNzNsUGdNcVZuNFdVcG9WeUExT0V5MVNkNVh0bDUKTHB3dU1VYkV1ZzA4RWxzNlRicUJkeDZBMmJXK3J5eVRSTG91bWJYdUF1c3JvVk9ROFlRenNtdzFIMHphVTRPcwoxemlTeXYzb053dTZzT3Q4d1N2NWQ4TnBqR0hEb04zQVFvb25nMDkvb3NPWHd2a2w1ZEdwODRrMVpBajBOaTRGCkdUbXhkWjIva1ExN3BmZFNuY0U2VUtwNHBWenVIZzlQaEhIMUNsalllZXRicStDU3Irbm93VlhtekxYRDFuZFEKZndJREFRQUIKLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0tCg==",622: "self": ""623: },624: "addresses": [625: {626: "type": "local",627: "url": {628: "hostname": "192.168.86.93",629: "href": "http://192.168.86.93:8083"630: }631: },632: {633: "type": "public",634: "url": {635: "hostname": "104.175.207.107",636: "href": "http://104.175.207.107:8083"637: }638: },639: {640: "baseUrl": "https://mss.mimik360.com/mSS/v1",641: "routingPort": 8100,642: "type": "proxy",643: "url": {644: "hostname": "i-019c2b330b85af43b-mss.mimik360.com",645: "href": "https://i-019c2b330b85af43b-mss.mimik360.com"646: }647: }648: ],649: "attributes": [650: {651: "name": "edgeChecksum",652: "value": "xYk2jYyT89"653: },654: {655: "name": "name",656: "value": "reselkubelap"657: }658: ],659: "characteristics": [660: {661: "name": "cpu",662: "value": "Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz"663: },664: {665: "name": "edgeVersion",666: "value": "v2.3.1"667: },668: {669: "name": "kernelVersion",670: "value": "5.4.0-74-generic"671: },672: {673: "name": "os",674: "value": "linux"675: },676: {677: "name": "totalPhysicalMemory",678: "value": "33569370112"679: },680: {681: "name": "totalStorage",682: "value": "950132015104"683: }684: ],685: "id": "4a03cf0769264a62eb226b9609110c62372c32ca64e117fc1119884e",686: "localLinkNetworkId": "eyJuZXR3b3JrQWRkcmVzcyI6IlVoZ0tCczJxTHN5alo0Qjc3V01PV1c3M3dNWktrNGZlIiwicHVibGljQWRkcmVzcyI6IjEwNC4xNzUuMjA3LjEwNyJ9",687: "networkAddress": "UhgKBs2qLsyjZ4B77WMOWW73wMZKk4fe",688: "rolesInCluster": [689: "superNodeLocalLinkNetwork"690: ],691: "self": "https://mds.mimik360.com/mDS/v1/nodes/4a03cf0769264a62eb226b9609110c62372c32ca64e117fc1119884e",692: "services": [693: {694: "id": "bb6fba7d-6321-41c5-ac37-1a7a8a9a4ac0-microservice-v1-1.0.0.tar",695: "self": "/bb6fba7d-6321-41c5-ac37-1a7a8a9a4ac0/sample/v1",696: "serviceType": "bb6fba7d-6321-41c5-ac37-1a7a8a9a4ac0-microservice-v1-1.0.0.tar",697: "tenant": {698: "id": "bb6fba7d-6321-41c5-ac37-1a7a8a9a4ac0",699: "self": ""700: }701: }702: ],703: "tenant": {704: "id": "mimik|001",705: "self": ""706: },707: "updatedAt": "2021-08-06T22:11:54.587Z"708: },709: {710: "APIVersion": "v1",711: "__v": 3,712: "_id": "6149218446656a55291dc606",713: "account": {714: "id": "2814304805192601600",715: "publicKey64": "LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUF5Y1dwbytUWjhZSWhuM0l5RlNVbAp2WDhFNUhINVpoOEZkcXg5bnFLTTZIMFdkOHJtVFllbGFteGk3aVN5WFFySFI0TDhpRWdmYjAxUHJNWVphandYCmJiRmZXOTUyWW5mNnVZdmt1cGoxcTBUeTlTOWZRU1VJcVZYNzNsUGdNcVZuNFdVcG9WeUExT0V5MVNkNVh0bDUKTHB3dU1VYkV1ZzA4RWxzNlRicUJkeDZBMmJXK3J5eVRSTG91bWJYdUF1c3JvVk9ROFlRenNtdzFIMHphVTRPcwoxemlTeXYzb053dTZzT3Q4d1N2NWQ4TnBqR0hEb04zQVFvb25nMDkvb3NPWHd2a2w1ZEdwODRrMVpBajBOaTRGCkdUbXhkWjIva1ExN3BmZFNuY0U2VUtwNHBWenVIZzlQaEhIMUNsalllZXRicStDU3Irbm93VlhtekxYRDFuZFEKZndJREFRQUIKLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0tCg==",716: "self": ""717: },718: "addresses": [719: {720: "type": "local",721: "url": {722: "hostname": "192.168.86.31",723: "href": "http://192.168.86.31:8083"724: }725: },726: {727: "type": "public",728: "url": {729: "hostname": "104.175.207.107",730: "href": "http://104.175.207.107:8083"731: }732: },733: {734: "baseUrl": "https://mss.mimik360.com/mSS/v1",735: "routingPort": 8100,736: "type": "proxy",737: "url": {738: "hostname": "i-0cca33f4566e6532f-mss.mimik360.com",739: "href": "https://i-0cca33f4566e6532f-mss.mimik360.com"740: }741: }742: ],743: "attributes": [744: {745: "name": "edgeChecksum",746: "value": "S1xbBXAWQn"747: },748: {749: "name": "name",750: "value": "seplab"751: }752: ],753: "characteristics": [754: {755: "name": "cpu",756: "value": "Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz"757: },758: {759: "name": "edgeVersion",760: "value": "v2.3.1"761: },762: {763: "name": "kernelVersion",764: "value": "5.11.0-34-generic"765: },766: {767: "name": "os",768: "value": "linux"769: },770: {771: "name": "totalPhysicalMemory",772: "value": "8346562560"773: },774: {775: "name": "totalStorage",776: "value": "41475637248"777: }778: ],779: "id": "e3424338aaf05bdf25e57385bbf62e12d9f7168b3b3cb9c7ab76795f",780: "localLinkNetworkId": "eyJuZXR3b3JrQWRkcmVzcyI6Im5rUmhpT0JUR1RaV1BvZW9ic2RoZUhjMGg5RUxZVjZTIiwicHVibGljQWRkcmVzcyI6IjEwNC4xNzUuMjA3LjEwNyJ9",781: "networkAddress": "nkRhiOBTGTZWPoeobsdheHc0h9ELYV6S",782: "rolesInCluster": [783: "superNodeLocalLinkNetwork"784: ],785: "self": "https://mds.mimik360.com/mDS/v1/nodes/e3424338aaf05bdf25e57385bbf62e12d9f7168b3b3cb9c7ab76795f",786: "services": [787: {788: "id": "bb6fba7d-6321-41c5-ac37-1a7a8a9a4ac0-mdebug-v1",789: "self": "/bb6fba7d-6321-41c5-ac37-1a7a8a9a4ac0/mdebug-v1/v1",790: "serviceType": "bb6fba7d-6321-41c5-ac37-1a7a8a9a4ac0-mdebug-v1",791: "tenant": {792: "id": "bb6fba7d-6321-41c5-ac37-1a7a8a9a4ac0",793: "self": ""794: }795: }796: ],797: "tenant": {798: "id": "mimik|001",799: "self": ""800: },801: "updatedAt": "2021-09-21T15:39:42.269Z"802: },803: {804: "APIVersion": "v1",805: "__v": 0,806: "_id": "614a67de9a7d7f82f4785c51",807: "account": {808: "id": "2778397769138966528",809: "self": ""810: },811: "addresses": [812: {813: "type": "local",814: "url": {815: "hostname": "192.168.1.138",816: "href": "http://192.168.1.138:8083"817: }818: },819: {820: "type": "public",821: "url": {822: "hostname": "104.129.199.76",823: "href": "http://104.129.199.76:8083"824: }825: },826: {827: "baseUrl": "https://mss.mimik360.com/mSS/v1",828: "routingPort": 8100,829: "type": "proxy",830: "url": {831: "hostname": "i-019c2b330b85af43b-mss.mimik360.com",832: "href": "https://i-019c2b330b85af43b-mss.mimik360.com"833: }834: }835: ],836: "attributes": [837: {838: "name": "edgeChecksum",839: "value": "tPY4y0AxvQ"840: },841: {842: "name": "name",843: "value": "RIV-01122"844: }845: ],846: "characteristics": [847: {848: "name": "cpu",849: "value": "Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz"850: },851: {852: "name": "edgeVersion",853: "value": "v2.2.1"854: },855: {856: "name": "kernelVersion",857: "value": "6.2.9200"858: },859: {860: "name": "os",861: "value": "windows"862: },863: {864: "name": "totalPhysicalMemory",865: "value": "17031454720"866: },867: {868: "name": "totalStorage",869: "value": "506333229056"870: }871: ],872: "createdAt": "2021-09-21T23:16:46.228Z",873: "id": "b7a00de71969843bc8538ceeeb35aad296ba5a73df9f4dd1c5c5b228",874: "localLinkNetworkId": "eyJuZXR3b3JrQWRkcmVzcyI6InNha1J0cFFSdVFYZjFuQVllNzF4M1pXWlQ5cEF5akJCIiwicHVibGljQWRkcmVzcyI6IjEwNC4xMjkuMTk5Ljc2In0=",875: "networkAddress": "sakRtpQRuQXf1nAYe71x3ZWZT9pAyjBB",876: "rolesInCluster": [877: "superNodeLocalLinkNetwork"878: ],879: "self": "https://mds.mimik360.com/mDS/v1/nodes/b7a00de71969843bc8538ceeeb35aad296ba5a73df9f4dd1c5c5b228",880: "services": [881: {882: "id": "9e420354-26d9-4054-812f-e8fbebcade13-beam-v1",883: "serviceType": "9e420354-26d9-4054-812f-e8fbebcade13-beam-v1",884: "tenant": {885: "id": "",886: "self": ""887: }888: },889: {890: "id": "9e420354-26d9-4054-812f-e8fbebcade13-drive-v1",891: "serviceType": "9e420354-26d9-4054-812f-e8fbebcade13-drive-v1",892: "tenant": {893: "id": "",894: "self": ""895: }896: },897: {898: "id": "9e420354-26d9-4054-812f-e8fbebcade13-superdrive-v1",899: "serviceType": "9e420354-26d9-4054-812f-e8fbebcade13-superdrive-v1",900: "tenant": {901: "id": "",902: "self": ""903: }904: }905: ],906: "tenant": {907: "id": "mimik|001",908: "self": ""909: },910: "updatedAt": "2021-09-21T23:16:46.185Z"911: },912: {913: "APIVersion": "v1",914: "__v": 1,915: "_id": "614a97449a7d7f49d4785c73",916: "account": {917: "id": "2814304805192601600",918: "publicKey64": "LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUF5Y1dwbytUWjhZSWhuM0l5RlNVbAp2WDhFNUhINVpoOEZkcXg5bnFLTTZIMFdkOHJtVFllbGFteGk3aVN5WFFySFI0TDhpRWdmYjAxUHJNWVphandYCmJiRmZXOTUyWW5mNnVZdmt1cGoxcTBUeTlTOWZRU1VJcVZYNzNsUGdNcVZuNFdVcG9WeUExT0V5MVNkNVh0bDUKTHB3dU1VYkV1ZzA4RWxzNlRicUJkeDZBMmJXK3J5eVRSTG91bWJYdUF1c3JvVk9ROFlRenNtdzFIMHphVTRPcwoxemlTeXYzb053dTZzT3Q4d1N2NWQ4TnBqR0hEb04zQVFvb25nMDkvb3NPWHd2a2w1ZEdwODRrMVpBajBOaTRGCkdUbXhkWjIva1ExN3BmZFNuY0U2VUtwNHBWenVIZzlQaEhIMUNsalllZXRicStDU3Irbm93VlhtekxYRDFuZFEKZndJREFRQUIKLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0tCg==",919: "self": ""920: },921: "addresses": [922: {923: "type": "local",924: "url": {925: "hostname": "192.168.86.35",926: "href": "http://192.168.86.35:8083"927: }928: },929: {930: "type": "public",931: "url": {932: "hostname": "104.175.207.107",933: "href": "http://104.175.207.107:8083"934: }935: },936: {937: "baseUrl": "https://mss.mimik360.com/mSS/v1",938: "routingPort": 8100,939: "type": "proxy",940: "url": {941: "hostname": "i-0edb687909f0aa5e1-mss.mimik360.com",942: "href": "https://i-0edb687909f0aa5e1-mss.mimik360.com"943: }944: }945: ],946: "attributes": [947: {948: "name": "edgeChecksum",949: "value": "PuQdTjJbAo"950: },951: {952: "name": "name",953: "value": "mimiklab03"954: }955: ],956: "characteristics": [957: {958: "name": "cpu",959: "value": "Intel(R) Core(TM)2 Duo CPU E8400 @ 3.00GHz"960: },961: {962: "name": "edgeVersion",963: "value": "v2.3.1"964: },965: {966: "name": "kernelVersion",967: "value": "5.4.0-86-generic"968: },969: {970: "name": "os",971: "value": "linux"972: },973: {974: "name": "totalPhysicalMemory",975: "value": "4127576064"976: },977: {978: "name": "totalStorage",979: "value": "21003583488"980: }981: ],982: "id": "72fa9996fba0b783163037fd6a5607483f8bac9cc806a7d2c48dffbc",983: "localLinkNetworkId": "eyJuZXR3b3JrQWRkcmVzcyI6Im5rUmhpT0JUR1RaV1BvZW9ic2RoZUhjMGg5RUxZVjZTIiwicHVibGljQWRkcmVzcyI6IjEwNC4xNzUuMjA3LjEwNyJ9",984: "networkAddress": "nkRhiOBTGTZWPoeobsdheHc0h9ELYV6S",985: "rolesInCluster": [],986: "self": "https://mds.mimik360.com/mDS/v1/nodes/72fa9996fba0b783163037fd6a5607483f8bac9cc806a7d2c48dffbc",987: "services": [],988: "tenant": {989: "id": "mimik|001",990: "self": ""991: },992: "updatedAt": "2021-09-22T03:29:29.206Z"993: }994: ]995: }