# 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.
#
---
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    helm.sh/chart: milvus-operator-1.1.3
    app.kubernetes.io/name: milvus-operator
    app.kubernetes.io/instance: milvus-operator
  name: milvus-operator
  namespace: nuvolaris
spec:
  selector:
    matchLabels:
      app.kubernetes.io/name: milvus-operator
      app.kubernetes.io/instance: milvus-operator
  template:
    metadata:
      annotations:
        whisks.nuvolaris.org/annotate-version: "true"
      labels:
        name: milvus-operator
        app.kubernetes.io/name: milvus-operator
        app.kubernetes.io/instance: milvus-operator
    spec:
      securityContext:
        runAsNonRoot: true
        runAsUser: 65532
      serviceAccountName: nuvolaris-milvus-operator
      terminationGracePeriodSeconds: 10    
      containers:
        - name: manager
          image: 'milvusdb/milvus-operator:v1.1.3'
          imagePullPolicy: "IfNotPresent"        
          command:
          - /manager
          args: 
          - -namespace 
          - "nuvolaris" 
          - -name 
          - "milvus-operator" 
          - --health-probe-bind-address=:8081 
          - --metrics-bind-address=:8080 
          - --leader-elect 
          - --webhook=false
          livenessProbe:
            httpGet:
              path: /healthz
              port: 8081
            initialDelaySeconds: 15
            periodSeconds: 20
          ports:
          - containerPort: 9443
            name: webhook-server
            protocol: TCP
          - containerPort: 8080
            name: metrics
            protocol: TCP
          readinessProbe:
            httpGet:
              path: /readyz
              port: 8081
            initialDelaySeconds: 5
            periodSeconds: 10
          resources:
            limits:
              cpu: 1000m
              memory: 1Gi
            requests:
              cpu: 100m
              memory: 100Mi
