# Copyright 2017-present Open Networking Foundation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
apiVersion: v1
kind: Service
metadata:
  name: zoo1
  namespace: voltha
spec:
  clusterIP: None
  selector:
    app: zookeeper-1
  ports:
  - name: client
    port: 2181
    targetPort: 2181
  - name: follower
    port: 2888
    targetPort: 2888
  - name: leader
    port: 3888
    targetPort: 3888
---
apiVersion: v1
kind: Service
metadata:
  name: zoo2
  namespace: voltha
spec:
  clusterIP: None
  selector:
    app: zookeeper-2
  ports:
  - name: client
    port: 2181
    targetPort: 2181
  - name: follower
    port: 2888
    targetPort: 2888
  - name: leader
    port: 3888
    targetPort: 3888
---
apiVersion: v1
kind: Service
metadata:
  name: zoo3
  namespace: voltha
spec:
  clusterIP: None
  selector:
    app: zookeeper-3
  ports:
  - name: client
    port: 2181
    targetPort: 2181
  - name: follower
    port: 2888
    targetPort: 2888
  - name: leader
    port: 3888
    targetPort: 3888
---
apiVersion: apps/v1beta1
kind: StatefulSet
metadata:
  name: zookeeper1
  namespace: voltha
spec:
  serviceName: zoo1
  replicas: 1
  updateStrategy:
    type: RollingUpdate
  selector:
    matchLabels:
      app: zookeeper-1
  template:
    metadata:
      labels:
        app: zookeeper-1
      annotations:
        cni: "calico"
    spec:
      terminationGracePeriodSeconds: 0
      containers:
      - name: zoo1
        image: zookeeper:3.4.11
        ports:
        - containerPort: 2181
        - containerPort: 2888
        - containerPort: 3888
        env:
        - name: NAMESPACE
          valueFrom:
            fieldRef:
              fieldPath: metadata.namespace
        - name: ZOO_MY_ID
          value: "1"
        - name: ZOO_SERVERS
          value: >
            server.1=zookeeper1-0.zoo1.$(NAMESPACE).svc.cluster.local:2888:3888
            server.2=zookeeper2-0.zoo2.$(NAMESPACE).svc.cluster.local:2888:3888
            server.3=zookeeper3-0.zoo3.$(NAMESPACE).svc.cluster.local:2888:3888
---
apiVersion: apps/v1beta1
kind: StatefulSet
metadata:
  name: zookeeper2
  namespace: voltha
spec:
  serviceName: zoo2
  replicas: 1
  updateStrategy:
    type: RollingUpdate
  selector:
    matchLabels:
      app: zookeeper-2
  template:
    metadata:
      labels:
        app: zookeeper-2
      annotations:
        cni: "calico"
    spec:
      terminationGracePeriodSeconds: 0
      containers:
      - name: zoo2
        image: zookeeper:3.4.11
        ports:
        - containerPort: 2181
        - containerPort: 2888
        - containerPort: 3888
        env:
        - name: NAMESPACE
          valueFrom:
            fieldRef:
              fieldPath: metadata.namespace
        - name: ZOO_MY_ID
          value: "2"
        - name: ZOO_SERVERS
          value: >
            server.1=zookeeper1-0.zoo1.$(NAMESPACE).svc.cluster.local:2888:3888
            server.2=zookeeper2-0.zoo2.$(NAMESPACE).svc.cluster.local:2888:3888
            server.3=zookeeper3-0.zoo3.$(NAMESPACE).svc.cluster.local:2888:3888
---
apiVersion: apps/v1beta1
kind: StatefulSet
metadata:
  name: zookeeper3
  namespace: voltha
spec:
  serviceName: zoo3
  replicas: 1
  updateStrategy:
    type: RollingUpdate
  selector:
    matchLabels:
      app: zookeeper-3
  template:
    metadata:
      labels:
        app: zookeeper-3
      annotations:
        cni: "calico"
    spec:
      terminationGracePeriodSeconds: 0
      containers:
      - name: zoo3
        image: zookeeper:3.4.11
        ports:
        - containerPort: 2181
        - containerPort: 2888
        - containerPort: 3888
        env:
        - name: NAMESPACE
          valueFrom:
            fieldRef:
              fieldPath: metadata.namespace
        - name: ZOO_MY_ID
          value: "3"
        - name: ZOO_SERVERS
          value: >
            server.1=zookeeper1-0.zoo1.$(NAMESPACE).svc.cluster.local:2888:3888
            server.2=zookeeper2-0.zoo2.$(NAMESPACE).svc.cluster.local:2888:3888
            server.3=zookeeper3-0.zoo3.$(NAMESPACE).svc.cluster.local:2888:3888
