# # Seldon Core Operator
# Below are the default values when installing Seldon Core

# ## Ingress Options
# You are able to choose between Istio and Ambassador

# If you have ambassador installed you can just use the enabled flag
ambassador:
  enabled: true
  singleNamespace: false
# When activating Istio, respecive virtual services will be created
# You must make sure you create the seldon-gateway as well
istio:
  enabled: true
  gateway: kubeflow/kubeflow-gateway
  tlsMode: ""
# If you have KEDA installed you can use it for autoscaling
keda:
  enabled: false
# ## Install with Cert Manager
# See installation page in documentation for more information
certManager:
  enabled: true

# ## Install with limited namespace visibility
# If you want to ensure seldon-core-controller can only have visibility
#   to specifci namespaces you can set the controllerId
controllerId: ""

# Whether operator should create the webhooks and configmap on startup (false means created from chart)
managerCreateResources: false

# Default user id to add to all Pod Security Context as the default
# Use this to ensure all container run as non-root by default
# For openshift leave blank as usually this will be injected automatically on an openshift cluster
# to all pods.
defaultUserID: "8888"

# ## Service Orchestrator (Executor)
# The executor is the default service orchestrator which has superceeded the "Java Engine"
executor:
  enabled: true
  port: 8000
  metricsPortName: metrics
  image:
    pullPolicy: IfNotPresent
    registry: docker.io
    repository: seldonio/seldon-core-executor
    tag: 1.4.0
  resources:
    cpuLimit: 500m
    cpuRequest: 500m
    memoryLimit: 512Mi
    memoryRequest: 512Mi
  prometheus:
    path: /prometheus
  serviceAccount:
    name: default
  user: 8888
# If you want to make available your own request logger for ELK integration you can set this
# For more information see the Production Integration for Payload Request Logging with ELK in the docs
  requestLogger:
    defaultEndpoint: 'http://default-broker'

# ## Seldon Core Controller Manager Options
image:
  pullPolicy: IfNotPresent
  registry: docker.io
  repository: seldonio/seldon-core-operator
  tag: 1.4.0
manager:
  cpuLimit: 500m
  cpuRequest: 100m
  memoryLimit: 300Mi
  memoryRequest: 200Mi
rbac:
  configmap:
    create: true
  create: true
serviceAccount:
  create: true
  name: seldon-manager
singleNamespace: false
storageInitializer:
  cpuLimit: "1"
  cpuRequest: 100m
  image: gcr.io/kfserving/storage-initializer:v0.4.0
  memoryLimit: 1Gi
  memoryRequest: 100Mi
usageMetrics:
  enabled: false
webhook:
  port: 443

# ## Predictive Unit Values
predictiveUnit:
  port: 9000
  metricsPortName: metrics
  # If you would like to add extra environment variables to the init container to make available
  #   secrets such as cloud credentials, you can provide a default secret name that will be loaded
  #   to all the containers. You can then override this using the envSecretRefName in SeldonDeployments
  defaultEnvSecretRefName: ""
predictor_servers:
  MLFLOW_SERVER:
    grpc:
      defaultImageVersion: "1.4.0"
      image: seldonio/mlflowserver_grpc
    rest:
      defaultImageVersion: "1.4.0"
      image: seldonio/mlflowserver_rest
  SKLEARN_SERVER:
    grpc:
      defaultImageVersion: "1.4.0"
      image: seldonio/sklearnserver_grpc
    rest:
      defaultImageVersion: "1.4.0"
      image: seldonio/sklearnserver_rest
    protocols:
      kfserving:
        defaultImageVersion: "0.1.0"
        image: seldonio/mlserver
  TENSORFLOW_SERVER:
    grpc:
      defaultImageVersion: "1.4.0"
      image: seldonio/tfserving-proxy_grpc
    rest:
      defaultImageVersion: "1.4.0"
      image: seldonio/tfserving-proxy_rest
    tensorflow: true
    tfImage: tensorflow/serving:2.1.0
  XGBOOST_SERVER:
    grpc:
      defaultImageVersion: "1.4.0"
      image: seldonio/xgboostserver_grpc
    rest:
      defaultImageVersion: "1.4.0"
      image: seldonio/xgboostserver_rest
    protocols:
      kfserving:
        defaultImageVersion: "0.1.0"
        image: seldonio/mlserver
  TRITON_SERVER:
    grpc:
      defaultImageVersion: "20.08-py3"
      image: nvcr.io/nvidia/tritonserver
    rest:
      defaultImageVersion: "20.08-py3"
      image: nvcr.io/nvidia/tritonserver

# ## Other
# You can choose the crds to not be installed if you already installed them
# This applies to just the yaml template. If you set managerCreateResources=true then
# it will try to create the CRD but only if it does not exist
crd:
  create: true
  # Whether to force the use of the v1beta1 or v1 CRD.
  forceV1: false
  forceV1beta1: false

# Warning: credentials will be depricated soon, please use defaultEnvSecretRefName above
# For more info please check the documentation
credentials:
  gcs:
    gcsCredentialFileName: gcloud-application-credentials.json
  s3:
    s3AccessKeyIDName: awsAccessKeyID
    s3SecretAccessKeyName: awsSecretAccessKey

kubeflow: true

# ## Engine parameters
# Warning: Engine is being depricated in favour of Orchestrator
# FOr more information please read the Upgrading section in the documentation
engine:
  grpc:
    port: 5001
  image:
    pullPolicy: IfNotPresent
    registry: docker.io
    repository: seldonio/engine
    tag: 1.4.0
  resources:
    cpuLimit: 500m
    cpuRequest: 500m
    memoryLimit: 512Mi
    memoryRequest: 512Mi
  logMessagesExternally: false
  port: 8000
  prometheus:
    path: /prometheus
  serviceAccount:
    name: default
  user: 8888


# Explainer image
explainer:
  image: seldonio/alibiexplainer:1.4.0


