{
  "kind": "Template",
  "apiVersion": "v1",
  "metadata": {
    "name": "zookeeper",
    "creationTimestamp": null,
    "annotations": {
      "openshift.io/display-name": "Zookeeper",
      "description": "An example of a replicated Zookeeper 3.4.6 server. For more information about using this template, including OpenShift considerations, see https://github.com/openshift/origin/blob/master/examples/zookeeper/README.md.",
      "iconClass": "icon-database",
      "tags": "database,zookeeper"
    }
  },
  "message": "The following service(s) have been created in your project: zookeeper.\n\nFor more information about using this template, including OpenShift considerations, see https://github.com/openshift/origin/blob/master/examples/zookeeper/README.md.",
  "labels": {
    "template": "zookeeper"
  },
  "objects": [
    {
      "kind": "ImageStream",
      "apiVersion": "v1",
      "metadata": {
        "name": "zookeeper-346-jdk7",
        "creationTimestamp": null
      },
      "spec": {
        "dockerImageRepository": "${ZOOKEEPER_IMAGE}",
        "tags": [
          {
            "name": "latest",
            "annotations": {
              "description": "Provides Zookeeper 3.4.6 Server",
              "iconClass": "icon-database",
              "tags": "service,zookeeper",
              "version": "3.4.6"
            }
          }
        ]
      },
      "status": {
        "dockerImageRepository": ""
      }
    },
    {
      "kind": "Service",
      "apiVersion": "v1",
      "metadata": {
        "name": "zookeeper",
        "creationTimestamp": null,
        "labels": {
          "name": "zookeeper"
        }
      },
      "spec": {
        "ports": [
          {
            "name": "client",
            "protocol": "TCP",
            "port": 2181,
            "targetPort": 2181,
            "nodePort": 0
          }
        ],
        "selector": {
          "name": "zookeeper"
        },
        "type": "ClusterIP",
        "sessionAffinity": "None"
      },
      "status": {
        "loadBalancer": {}
      }
    },
    {
      "kind": "Service",
      "apiVersion": "v1",
      "metadata": {
        "name": "zookeeper-1",
        "creationTimestamp": null,
        "labels": {
          "name": "zookeeper-1"
        }
      },
      "spec": {
        "ports": [
          {
            "name": "client",
            "protocol": "TCP",
            "port": 2181,
            "targetPort": 2181,
            "nodePort": 0
          },
          {
            "name": "followers",
            "protocol": "TCP",
            "port": 2888,
            "targetPort": 2888,
            "nodePort": 0
          },
          {
            "name": "election",
            "protocol": "TCP",
            "port": 3888,
            "targetPort": 3888,
            "nodePort": 0
          }
        ],
        "selector": {
          "server-id": "1"
        },
        "type": "ClusterIP",
        "sessionAffinity": "None"
      },
      "status": {
        "loadBalancer": {}
      }
    },
    {
      "kind": "Service",
      "apiVersion": "v1",
      "metadata": {
        "name": "zookeeper-2",
        "creationTimestamp": null,
        "labels": {
          "name": "zookeeper-2"
        }
      },
      "spec": {
        "ports": [
          {
            "name": "client",
            "protocol": "TCP",
            "port": 2181,
            "targetPort": 2181,
            "nodePort": 0
          },
          {
            "name": "followers",
            "protocol": "TCP",
            "port": 2888,
            "targetPort": 2888,
            "nodePort": 0
          },
          {
            "name": "election",
            "protocol": "TCP",
            "port": 3888,
            "targetPort": 3888,
            "nodePort": 0
          }
        ],
        "selector": {
          "server-id": "2"
        },
        "type": "ClusterIP",
        "sessionAffinity": "None"
      },
      "status": {
        "loadBalancer": {}
      }
    },
    {
      "kind": "Service",
      "apiVersion": "v1",
      "metadata": {
        "name": "zookeeper-3",
        "creationTimestamp": null,
        "labels": {
          "name": "zookeeper-3"
        }
      },
      "spec": {
        "ports": [
          {
            "name": "client",
            "protocol": "TCP",
            "port": 2181,
            "targetPort": 2181,
            "nodePort": 0
          },
          {
            "name": "followers",
            "protocol": "TCP",
            "port": 2888,
            "targetPort": 2888,
            "nodePort": 0
          },
          {
            "name": "election",
            "protocol": "TCP",
            "port": 3888,
            "targetPort": 3888,
            "nodePort": 0
          }
        ],
        "selector": {
          "server-id": "3"
        },
        "type": "ClusterIP",
        "sessionAffinity": "None"
      },
      "status": {
        "loadBalancer": {}
      }
    },
    {
      "kind": "Pod",
      "apiVersion": "v1",
      "metadata": {
        "name": "zookeeper-1",
        "creationTimestamp": null,
        "labels": {
          "name": "zookeeper",
          "server-id": "1"
        }
      },
      "spec": {
        "volumes": [
          {
            "name": "conf",
            "emptyDir": {}
          },
          {
            "name": "data",
            "emptyDir": {}
          },
          {
            "name": "log",
            "emptyDir": {}
          }
        ],
        "containers": [
          {
            "name": "server",
            "image": "${ZOOKEEPER_IMAGE}",
            "ports": [
              {
                "containerPort": 2181,
                "protocol": "TCP"
              },
              {
                "containerPort": 2888,
                "protocol": "TCP"
              },
              {
                "containerPort": 3888,
                "protocol": "TCP"
              }
            ],
            "env": [
              {
                "name": "SERVER_ID",
                "value": "1"
              }
            ],
            "volumeMounts": [
              {
                "name": "conf",
                "mountPath": "/opt/zookeeper/conf"
              },
              {
                "name": "data",
                "mountPath": "/opt/zookeeper/data"
              },
              {
                "name": "log",
                "mountPath": "/opt/zookeeper/log"
              }
            ],
            "resources": {},
            "terminationMessagePath": "/dev/termination-log",
            "imagePullPolicy": "IfNotPresent",
            "securityContext": {
              "capabilities": {},
              "privileged": false
            }
          }
        ],
        "restartPolicy": "Always",
        "dnsPolicy": "ClusterFirst"
      },
      "status": {}
    },
    {
      "kind": "Pod",
      "apiVersion": "v1",
      "metadata": {
        "name": "zookeeper-2",
        "creationTimestamp": null,
        "labels": {
          "name": "zookeeper",
          "server-id": "2"
        }
      },
      "spec": {
        "volumes": [
          {
            "name": "conf",
            "emptyDir": {}
          },
          {
            "name": "data",
            "emptyDir": {}
          },
          {
            "name": "log",
            "emptyDir": {}
          }
        ],
        "containers": [
          {
            "name": "server",
            "image": "${ZOOKEEPER_IMAGE}",
            "ports": [
              {
                "containerPort": 2181,
                "protocol": "TCP"
              },
              {
                "containerPort": 2888,
                "protocol": "TCP"
              },
              {
                "containerPort": 3888,
                "protocol": "TCP"
              }
            ],
            "env": [
              {
                "name": "SERVER_ID",
                "value": "2"
              }
            ],
            "volumeMounts": [
              {
                "name": "conf",
                "mountPath": "/opt/zookeeper/conf"
              },
              {
                "name": "data",
                "mountPath": "/opt/zookeeper/data"
              },
              {
                "name": "log",
                "mountPath": "/opt/zookeeper/log"
              }
            ],
            "resources": {},
            "terminationMessagePath": "/dev/termination-log",
            "imagePullPolicy": "IfNotPresent",
            "securityContext": {
              "capabilities": {},
              "privileged": false
            }
          }
        ],
        "restartPolicy": "Always",
        "dnsPolicy": "ClusterFirst"
      },
      "status": {}
    },
    {
      "kind": "Pod",
      "apiVersion": "v1",
      "metadata": {
        "name": "zookeeper-3",
        "creationTimestamp": null,
        "labels": {
          "name": "zookeeper",
          "server-id": "3"
        }
      },
      "spec": {
        "volumes": [
          {
            "name": "conf",
            "emptyDir": {}
          },
          {
            "name": "data",
            "emptyDir": {}
          },
          {
            "name": "log",
            "emptyDir": {}
          }
        ],
        "containers": [
          {
            "name": "server",
            "image": "${ZOOKEEPER_IMAGE}",
            "ports": [
              {
                "containerPort": 2181,
                "protocol": "TCP"
              },
              {
                "containerPort": 2888,
                "protocol": "TCP"
              },
              {
                "containerPort": 3888,
                "protocol": "TCP"
              }
            ],
            "env": [
              {
                "name": "SERVER_ID",
                "value": "3"
              }
            ],
            "volumeMounts": [
              {
                "name": "conf",
                "mountPath": "/opt/zookeeper/conf"
              },
              {
                "name": "data",
                "mountPath": "/opt/zookeeper/data"
              },
              {
                "name": "log",
                "mountPath": "/opt/zookeeper/log"
              }
            ],
            "resources": {},
            "terminationMessagePath": "/dev/termination-log",
            "imagePullPolicy": "IfNotPresent",
            "securityContext": {
              "capabilities": {},
              "privileged": false
            }
          }
        ],
        "restartPolicy": "Always",
        "dnsPolicy": "ClusterFirst"
      },
      "status": {}
    }
  ],
  "parameters": [
    {
      "name": "ZOOKEEPER_IMAGE",
      "displayName": "Zookeeper Docker Image",
      "description": "The name of Zookeeper Docker image to use",
      "value": "openshift/zookeeper-346-fedora20"
    }
  ]
}