[
  {
    "ID": "3qvd7bwfptmoht16t1f7jllb6",
    "Version": {
      "Index": 41
    },
    "CreatedAt": "2020-06-19T19:14:29.269637662Z",
    "UpdatedAt": "2020-06-19T19:14:29.288101671Z",
    "Spec": {
      "Name": "mon_node-exporter",
      "Labels": {
        "com.docker.stack.image": "stefanprodan/swarmprom-node-exporter:v0.16.0",
        "com.docker.stack.namespace": "mon"
      },
      "TaskTemplate": {
        "ContainerSpec": {
          "Image": "stefanprodan/swarmprom-node-exporter:v0.16.0@sha256:1d2518ec0501dd848e718bf008df37852b1448c862d6f256f2d39244975758d6",
          "Labels": {
            "com.docker.stack.namespace": "mon"
          },
          "Args": [
            "--path.sysfs=/host/sys",
            "--path.procfs=/host/proc",
            "--collector.textfile.directory=/etc/node-exporter/",
            "--collector.filesystem.ignored-mount-points=^/(sys|proc|dev|host|etc)($|/)",
            "--no-collector.ipvs"
          ],
          "Env": [
            "NODE_ID={{.Node.ID}}"
          ],
          "Privileges": {
            "CredentialSpec": null,
            "SELinuxContext": null
          },
          "Mounts": [
            {
              "Type": "bind",
              "Source": "/proc",
              "Target": "/host/proc",
              "ReadOnly": true
            },
            {
              "Type": "bind",
              "Source": "/sys",
              "Target": "/host/sys",
              "ReadOnly": true
            },
            {
              "Type": "bind",
              "Source": "/",
              "Target": "/rootfs",
              "ReadOnly": true
            },
            {
              "Type": "bind",
              "Source": "/etc/hostname",
              "Target": "/etc/nodename"
            }
          ],
          "Isolation": "default"
        },
        "Resources": {
          "Limits": {
            "MemoryBytes": 134217728
          },
          "Reservations": {
            "MemoryBytes": 67108864
          }
        },
        "Placement": {
          "Platforms": [
            {
              "Architecture": "amd64",
              "OS": "linux"
            }
          ]
        },
        "Networks": [
          {
            "Target": "npq2closzy836m07eaq1425k3",
            "Aliases": [
              "node-exporter"
            ]
          }
        ],
        "ForceUpdate": 0,
        "Runtime": "container"
      },
      "Mode": {
        "Global": {}
      },
      "EndpointSpec": {
        "Mode": "vip",
        "Ports": [
          {
            "Protocol": "tcp",
            "TargetPort": 9100,
            "PublishedPort": 9100,
            "PublishMode": "ingress"
          }
        ]
      }
    },
    "Endpoint": {
      "Spec": {
        "Mode": "vip",
        "Ports": [
          {
            "Protocol": "tcp",
            "TargetPort": 9100,
            "PublishedPort": 9100,
            "PublishMode": "ingress"
          }
        ]
      },
      "Ports": [
        {
          "Protocol": "tcp",
          "TargetPort": 9100,
          "PublishedPort": 9100,
          "PublishMode": "ingress"
        }
      ],
      "VirtualIPs": [
        {
          "NetworkID": "qvwhwd6p61k4o0ulsknqb066z",
          "Addr": "10.0.0.7/24"
        },
        {
          "NetworkID": "npq2closzy836m07eaq1425k3",
          "Addr": "10.0.1.2/24"
        }
      ]
    }
  },
  {
    "ID": "9bbq7j55tzzz85k2gg52x73rg",
    "Version": {
      "Index": 116
    },
    "CreatedAt": "2020-06-19T19:15:16.676178796Z",
    "UpdatedAt": "2020-06-19T19:15:16.690701679Z",
    "Spec": {
      "Name": "mon_unsee",
      "Labels": {
        "com.docker.stack.image": "cloudflare/unsee:v0.8.0",
        "com.docker.stack.namespace": "mon"
      },
      "TaskTemplate": {
        "ContainerSpec": {
          "Image": "cloudflare/unsee:v0.8.0@sha256:28398f47f63feb1647887999701fa730da351fc6d3cc7228e5da44b40a663ada",
          "Labels": {
            "com.docker.stack.namespace": "mon"
          },
          "Env": [
            "ALERTMANAGER_URIS=default:http://alertmanager:9093"
          ],
          "Privileges": {
            "CredentialSpec": null,
            "SELinuxContext": null
          },
          "Isolation": "default"
        },
        "Resources": {},
        "Placement": {
          "Platforms": [
            {
              "Architecture": "amd64",
              "OS": "linux"
            }
          ]
        },
        "Networks": [
          {
            "Target": "npq2closzy836m07eaq1425k3",
            "Aliases": [
              "unsee"
            ]
          }
        ],
        "ForceUpdate": 0,
        "Runtime": "container"
      },
      "Mode": {
        "Replicated": {
          "Replicas": 1
        }
      },
      "EndpointSpec": {
        "Mode": "vip"
      }
    },
    "Endpoint": {
      "Spec": {
        "Mode": "vip"
      },
      "VirtualIPs": [
        {
          "NetworkID": "npq2closzy836m07eaq1425k3",
          "Addr": "10.0.1.34/24"
        }
      ]
    }
  },
  {
    "ID": "hv645udwaaewyw7wuc6nspm68",
    "Version": {
      "Index": 54
    },
    "CreatedAt": "2020-06-19T19:14:31.707250955Z",
    "UpdatedAt": "2020-06-19T19:14:31.713627185Z",
    "Spec": {
      "Name": "mon_prometheus",
      "Labels": {
        "com.docker.stack.image": "stefanprodan/swarmprom-prometheus:v2.5.0",
        "com.docker.stack.namespace": "mon"
      },
      "TaskTemplate": {
        "ContainerSpec": {
          "Image": "stefanprodan/swarmprom-prometheus:v2.5.0@sha256:f1a3781c4785637ba088dcf54889f77d9b6b69f21b2c0a167c1347473f4e2587",
          "Labels": {
            "com.docker.stack.namespace": "mon"
          },
          "Args": [
            "--config.file=/etc/prometheus/prometheus.yml",
            "--storage.tsdb.path=/prometheus",
            "--storage.tsdb.retention.time=24h"
          ],
          "Privileges": {
            "CredentialSpec": null,
            "SELinuxContext": null
          },
          "Mounts": [
            {
              "Type": "volume",
              "Source": "mon_prometheus",
              "Target": "/prometheus",
              "VolumeOptions": {
                "Labels": {
                  "com.docker.stack.namespace": "mon"
                }
              }
            }
          ],
          "Configs": [
            {
              "File": {
                "Name": "/etc/prometheus/swarm_node.rules.yml",
                "UID": "0",
                "GID": "0",
                "Mode": 292
              },
              "ConfigID": "zffindunvquarrlgdrklzczbz",
              "ConfigName": "mon_node_rules"
            },
            {
              "File": {
                "Name": "/etc/prometheus/swarm_task.rules.yml",
                "UID": "0",
                "GID": "0",
                "Mode": 292
              },
              "ConfigID": "fbhk5cmleeicn5fkzujm909k7",
              "ConfigName": "mon_task_rules"
            }
          ],
          "Isolation": "default"
        },
        "Resources": {
          "Limits": {
            "MemoryBytes": 2147483648
          },
          "Reservations": {
            "MemoryBytes": 134217728
          }
        },
        "Placement": {
          "Constraints": [
            "node.role == manager"
          ],
          "Platforms": [
            {
              "Architecture": "amd64",
              "OS": "linux"
            }
          ]
        },
        "Networks": [
          {
            "Target": "npq2closzy836m07eaq1425k3",
            "Aliases": [
              "prometheus"
            ]
          }
        ],
        "ForceUpdate": 0,
        "Runtime": "container"
      },
      "Mode": {
        "Replicated": {
          "Replicas": 1
        }
      },
      "EndpointSpec": {
        "Mode": "vip"
      }
    },
    "Endpoint": {
      "Spec": {
        "Mode": "vip"
      },
      "VirtualIPs": [
        {
          "NetworkID": "npq2closzy836m07eaq1425k3",
          "Addr": "10.0.1.13/24"
        }
      ]
    }
  },
  {
    "ID": "iml8vdd2dudvq457sbirpf66z",
    "Version": {
      "Index": 83
    },
    "CreatedAt": "2020-06-19T19:14:49.165966453Z",
    "UpdatedAt": "2020-06-19T19:14:49.1722461Z",
    "Spec": {
      "Name": "mon_cadvisor",
      "Labels": {
        "com.docker.stack.image": "google/cadvisor",
        "com.docker.stack.namespace": "mon"
      },
      "TaskTemplate": {
        "ContainerSpec": {
          "Image": "google/cadvisor:latest@sha256:815386ebbe9a3490f38785ab11bda34ec8dacf4634af77b8912832d4f85dca04",
          "Labels": {
            "com.docker.stack.namespace": "mon"
          },
          "Args": [
            "-logtostderr",
            "-docker_only"
          ],
          "Privileges": {
            "CredentialSpec": null,
            "SELinuxContext": null
          },
          "Mounts": [
            {
              "Type": "bind",
              "Source": "/var/run/docker.sock",
              "Target": "/var/run/docker.sock",
              "ReadOnly": true
            },
            {
              "Type": "bind",
              "Source": "/",
              "Target": "/rootfs",
              "ReadOnly": true
            },
            {
              "Type": "bind",
              "Source": "/var/run",
              "Target": "/var/run"
            },
            {
              "Type": "bind",
              "Source": "/sys",
              "Target": "/sys",
              "ReadOnly": true
            },
            {
              "Type": "bind",
              "Source": "/var/lib/docker/",
              "Target": "/var/lib/docker",
              "ReadOnly": true
            }
          ],
          "Isolation": "default"
        },
        "Resources": {
          "Limits": {
            "MemoryBytes": 134217728
          },
          "Reservations": {
            "MemoryBytes": 67108864
          }
        },
        "Placement": {
          "Platforms": [
            {
              "Architecture": "amd64",
              "OS": "linux"
            }
          ]
        },
        "Networks": [
          {
            "Target": "npq2closzy836m07eaq1425k3",
            "Aliases": [
              "cadvisor"
            ]
          }
        ],
        "ForceUpdate": 0,
        "Runtime": "container"
      },
      "Mode": {
        "Global": {}
      },
      "EndpointSpec": {
        "Mode": "vip"
      }
    },
    "Endpoint": {
      "Spec": {
        "Mode": "vip"
      },
      "VirtualIPs": [
        {
          "NetworkID": "npq2closzy836m07eaq1425k3",
          "Addr": "10.0.1.23/24"
        }
      ]
    }
  },
  {
    "ID": "rl4jhdws3r4lkfvq8kx6c4xnr",
    "Version": {
      "Index": 104
    },
    "CreatedAt": "2020-06-19T19:15:09.840775581Z",
    "UpdatedAt": "2020-06-19T19:15:09.854119631Z",
    "Spec": {
      "Name": "mon_alertmanager",
      "Labels": {
        "com.docker.stack.image": "stefanprodan/swarmprom-alertmanager:v0.14.0",
        "com.docker.stack.namespace": "mon"
      },
      "TaskTemplate": {
        "ContainerSpec": {
          "Image": "stefanprodan/swarmprom-alertmanager:v0.14.0@sha256:7069b656bd5df0606ff1db81a7553a25dc72be51d3aca6a7e08d776566cefbd8",
          "Labels": {
            "com.docker.stack.namespace": "mon"
          },
          "Args": [
            "--config.file=/etc/alertmanager/alertmanager.yml",
            "--storage.path=/alertmanager"
          ],
          "Env": [
            "SLACK_CHANNEL=devops-alerts",
            "SLACK_URL=https://hooks.slack.com/services/TOKEN",
            "SLACK_USER=alertmanager"
          ],
          "Privileges": {
            "CredentialSpec": null,
            "SELinuxContext": null
          },
          "Mounts": [
            {
              "Type": "volume",
              "Source": "mon_alertmanager",
              "Target": "/alertmanager",
              "VolumeOptions": {
                "Labels": {
                  "com.docker.stack.namespace": "mon"
                }
              }
            }
          ],
          "Isolation": "default"
        },
        "Resources": {
          "Limits": {
            "MemoryBytes": 134217728
          },
          "Reservations": {
            "MemoryBytes": 67108864
          }
        },
        "Placement": {
          "Constraints": [
            "node.role == manager"
          ]
        },
        "Networks": [
          {
            "Target": "npq2closzy836m07eaq1425k3",
            "Aliases": [
              "alertmanager"
            ]
          }
        ],
        "ForceUpdate": 0,
        "Runtime": "container"
      },
      "Mode": {
        "Replicated": {
          "Replicas": 1
        }
      },
      "EndpointSpec": {
        "Mode": "vip"
      }
    },
    "Endpoint": {
      "Spec": {
        "Mode": "vip"
      },
      "VirtualIPs": [
        {
          "NetworkID": "npq2closzy836m07eaq1425k3",
          "Addr": "10.0.1.31/24"
        }
      ]
    }
  },
  {
    "ID": "tkv91uso46cck763aaqcb4rek",
    "Version": {
      "Index": 68
    },
    "CreatedAt": "2020-06-19T19:14:41.685703164Z",
    "UpdatedAt": "2020-06-19T19:14:41.696259297Z",
    "Spec": {
      "Name": "mon_caddy",
      "Labels": {
        "com.docker.stack.image": "stefanprodan/caddy",
        "com.docker.stack.namespace": "mon"
      },
      "TaskTemplate": {
        "ContainerSpec": {
          "Image": "stefanprodan/caddy:latest@sha256:44541cfacb66f4799f81f17fcfb3cb757ccc8f327592745549f5930c42d115c9",
          "Labels": {
            "com.docker.stack.namespace": "mon"
          },
          "Env": [
            "ADMIN_PASSWORD=admin",
            "ADMIN_USER=admin"
          ],
          "Privileges": {
            "CredentialSpec": null,
            "SELinuxContext": null
          },
          "Healthcheck": {
            "Test": [
              "CMD",
              "curl",
              "-f",
              "http://localhost:3000"
            ],
            "Interval": 5000000000,
            "Timeout": 1000000000,
            "Retries": 5
          },
          "Configs": [
            {
              "File": {
                "Name": "/etc/caddy/Caddyfile",
                "UID": "0",
                "GID": "0",
                "Mode": 292
              },
              "ConfigID": "pkjteflcny7cc633glg3m6ck2",
              "ConfigName": "mon_caddy_config"
            }
          ],
          "Isolation": "default"
        },
        "Resources": {
          "Limits": {
            "MemoryBytes": 134217728
          },
          "Reservations": {
            "MemoryBytes": 67108864
          }
        },
        "Placement": {
          "Constraints": [
            "node.role == manager"
          ],
          "Platforms": [
            {
              "Architecture": "amd64",
              "OS": "linux"
            }
          ]
        },
        "Networks": [
          {
            "Target": "npq2closzy836m07eaq1425k3",
            "Aliases": [
              "caddy"
            ]
          }
        ],
        "ForceUpdate": 0,
        "Runtime": "container"
      },
      "Mode": {
        "Replicated": {
          "Replicas": 1
        }
      },
      "EndpointSpec": {
        "Mode": "vip",
        "Ports": [
          {
            "Protocol": "tcp",
            "TargetPort": 9090,
            "PublishedPort": 9090,
            "PublishMode": "ingress"
          },
          {
            "Protocol": "tcp",
            "TargetPort": 9093,
            "PublishedPort": 9093,
            "PublishMode": "ingress"
          },
          {
            "Protocol": "tcp",
            "TargetPort": 9094,
            "PublishedPort": 9094,
            "PublishMode": "ingress"
          }
        ]
      }
    },
    "Endpoint": {
      "Spec": {
        "Mode": "vip",
        "Ports": [
          {
            "Protocol": "tcp",
            "TargetPort": 9090,
            "PublishedPort": 9090,
            "PublishMode": "ingress"
          },
          {
            "Protocol": "tcp",
            "TargetPort": 9093,
            "PublishedPort": 9093,
            "PublishMode": "ingress"
          },
          {
            "Protocol": "tcp",
            "TargetPort": 9094,
            "PublishedPort": 9094,
            "PublishMode": "ingress"
          }
        ]
      },
      "Ports": [
        {
          "Protocol": "tcp",
          "TargetPort": 9090,
          "PublishedPort": 9090,
          "PublishMode": "ingress"
        },
        {
          "Protocol": "tcp",
          "TargetPort": 9093,
          "PublishedPort": 9093,
          "PublishMode": "ingress"
        },
        {
          "Protocol": "tcp",
          "TargetPort": 9094,
          "PublishedPort": 9094,
          "PublishMode": "ingress"
        }
      ],
      "VirtualIPs": [
        {
          "NetworkID": "qvwhwd6p61k4o0ulsknqb066z",
          "Addr": "10.0.0.13/24"
        },
        {
          "NetworkID": "npq2closzy836m07eaq1425k3",
          "Addr": "10.0.1.15/24"
        }
      ]
    }
  },
  {
    "ID": "uk9su5tb9ykfzew3qtmp14uzh",
    "Version": {
      "Index": 92
    },
    "CreatedAt": "2020-06-19T19:14:54.28743674Z",
    "UpdatedAt": "2020-06-19T19:14:54.301718496Z",
    "Spec": {
      "Name": "mon_grafana",
      "Labels": {
        "com.docker.stack.image": "stefanprodan/swarmprom-grafana:5.3.4",
        "com.docker.stack.namespace": "mon"
      },
      "TaskTemplate": {
        "ContainerSpec": {
          "Image": "stefanprodan/swarmprom-grafana:5.3.4@sha256:2aca8aa5716e6e0eed3fcdc88fec256a0a1828c491a8cf240486ae7cc473092d",
          "Labels": {
            "com.docker.stack.namespace": "mon"
          },
          "Env": [
            "GF_SECURITY_ADMIN_PASSWORD=admin",
            "GF_SECURITY_ADMIN_USER=admin",
            "GF_USERS_ALLOW_SIGN_UP=false"
          ],
          "Privileges": {
            "CredentialSpec": null,
            "SELinuxContext": null
          },
          "Mounts": [
            {
              "Type": "volume",
              "Source": "mon_grafana",
              "Target": "/var/lib/grafana",
              "VolumeOptions": {
                "Labels": {
                  "com.docker.stack.namespace": "mon"
                }
              }
            }
          ],
          "Isolation": "default"
        },
        "Resources": {
          "Limits": {
            "MemoryBytes": 134217728
          },
          "Reservations": {
            "MemoryBytes": 67108864
          }
        },
        "Placement": {
          "Constraints": [
            "node.role == manager"
          ],
          "Platforms": [
            {
              "Architecture": "amd64",
              "OS": "linux"
            }
          ]
        },
        "Networks": [
          {
            "Target": "npq2closzy836m07eaq1425k3",
            "Aliases": [
              "grafana"
            ]
          }
        ],
        "ForceUpdate": 0,
        "Runtime": "container"
      },
      "Mode": {
        "Replicated": {
          "Replicas": 1
        }
      },
      "EndpointSpec": {
        "Mode": "vip",
        "Ports": [
          {
            "Protocol": "tcp",
            "TargetPort": 3000,
            "PublishedPort": 3000,
            "PublishMode": "ingress"
          }
        ]
      }
    },
    "Endpoint": {
      "Spec": {
        "Mode": "vip",
        "Ports": [
          {
            "Protocol": "tcp",
            "TargetPort": 3000,
            "PublishedPort": 3000,
            "PublishMode": "ingress"
          }
        ]
      },
      "Ports": [
        {
          "Protocol": "tcp",
          "TargetPort": 3000,
          "PublishedPort": 3000,
          "PublishMode": "ingress"
        }
      ],
      "VirtualIPs": [
        {
          "NetworkID": "qvwhwd6p61k4o0ulsknqb066z",
          "Addr": "10.0.0.15/24"
        },
        {
          "NetworkID": "npq2closzy836m07eaq1425k3",
          "Addr": "10.0.1.29/24"
        }
      ]
    }
  },
  {
    "ID": "ul5qawv4s7f7msm7dtyfarw80",
    "Version": {
      "Index": 74
    },
    "CreatedAt": "2020-06-19T19:14:45.311963014Z",
    "UpdatedAt": "2020-06-19T19:14:45.327315101Z",
    "Spec": {
      "Name": "mon_dockerd-exporter",
      "Labels": {
        "com.docker.stack.image": "stefanprodan/caddy",
        "com.docker.stack.namespace": "mon"
      },
      "TaskTemplate": {
        "ContainerSpec": {
          "Image": "stefanprodan/caddy:latest@sha256:44541cfacb66f4799f81f17fcfb3cb757ccc8f327592745549f5930c42d115c9",
          "Labels": {
            "com.docker.stack.namespace": "mon"
          },
          "Env": [
            "DOCKER_GWBRIDGE_IP=172.18.0.1"
          ],
          "Privileges": {
            "CredentialSpec": null,
            "SELinuxContext": null
          },
          "Configs": [
            {
              "File": {
                "Name": "/etc/caddy/Caddyfile",
                "UID": "0",
                "GID": "0",
                "Mode": 292
              },
              "ConfigID": "4glhzmw6fndnkjn2cok90a9gu",
              "ConfigName": "mon_dockerd_config"
            }
          ],
          "Isolation": "default"
        },
        "Resources": {
          "Limits": {
            "MemoryBytes": 134217728
          },
          "Reservations": {
            "MemoryBytes": 67108864
          }
        },
        "Placement": {
          "Platforms": [
            {
              "Architecture": "amd64",
              "OS": "linux"
            }
          ]
        },
        "Networks": [
          {
            "Target": "npq2closzy836m07eaq1425k3",
            "Aliases": [
              "dockerd-exporter"
            ]
          }
        ],
        "ForceUpdate": 0,
        "Runtime": "container"
      },
      "Mode": {
        "Global": {}
      },
      "EndpointSpec": {
        "Mode": "vip"
      }
    },
    "Endpoint": {
      "Spec": {
        "Mode": "vip"
      },
      "VirtualIPs": [
        {
          "NetworkID": "npq2closzy836m07eaq1425k3",
          "Addr": "10.0.1.17/24"
        }
      ]
    }
  }
]
