# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you 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.

kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
  kubeadmConfigPatches:
  - |
    kind: InitConfiguration
    nodeRegistration:
      kubeletExtraArgs:
        node-labels: "ingress-ready=true,nuvolaris.io/apihost=localhost,nuvolaris.io/apiport=80,nuvolaris.io/protocol=http,nuvolaris.io/kube=kind"
  extraPortMappings:
  - containerPort: 80
    hostPort: 80
    protocol: TCP
  - containerPort: 443
    hostPort: 443
    protocol: TCP
- role: worker
  extraMounts:
  - hostPath: $DATADIR/data
    containerPath: /data
  - hostPath: $DATADIR/openwhisk/standalone
    containerPath: /openwhisk/standalone
  - hostPath: $DATADIR/openwhisk/invoker
    containerPath: /openwhisk/invoker
  - hostPath: $DATADIR/openwhisk/controller
    containerPath: /openwhisk/controller
  - hostPath: $DATADIR/couchdb
    containerPath: /couchdb
  - hostPath: $DATADIR/mongodb
    containerPath: /mongodb
  - hostPath: $DATADIR/redis
    containerPath: /redis
  - hostPath: $DATADIR/zookeper/data
    containerPath: /zookeeper/data
  - hostPath: $DATADIR/zookeeper/log
    containerPath: /zookeeper/log
  - hostPath: $DATADIR/kafka
    containerPath: /kafka
  extraPortMappings:
  - containerPort: 30232
    hostPort: 3232
    protocol: TCP
  - containerPort: 30233
    hostPort: 3233
    protocol: TCP
  - containerPort: 30896
    hostPort: 7896
    protocol: TCP  
  - containerPort: 30984
    hostPort: 5984
    protocol: TCP  
  - containerPort: 30992 
    hostPort: 9092
    protocol: TCP
  - containerPort: 30644
    hostPort: 9644
    protocol: TCP    
  - containerPort: 6379
    hostPort: 30379
    protocol: TCP
  - containerPort: 27017
    hostPort: 32717
    protocol: TCP
  - containerPort: 28017
    hostPort: 32817
    protocol: TCP
  - containerPort: 32717
    hostPort: 27017
    protocol: TCP
  - containerPort: 32090
    hostPort: 9000
    protocol: TCP 
  - containerPort: 32091
    hostPort: 9090
    protocol: TCP            
  - containerPort: 9080
    hostPort: 9080
    protocol: TCP            
  - containerPort: 9010
    hostPort: 9010
    protocol: TCP
  - containerPort: 8089
    hostPort: 8089
    protocol: TCP   
  - containerPort: 30089
    hostPort: 9089
    protocol: TCP      
