apiVersion: config.k8s.io/v1alpha1
kind: Krmfile
openAPI:
  definitions:
    io.k8s.cli.setters.MODEL_NAME:
      description: model name
      x-k8s-cli:
        setter:
          name: MODEL_NAME
          value: resnet50v1_5
          isSet: true
          setBy: model-builder
    io.k8s.cli.setters.MODEL_SERVING_NAME:
      description: model serving name
      x-k8s-cli:
        setter:
          name: MODEL_SERVING_NAME
          value: resnet50v1-5-fp32-inference
          isSet: true
          setBy: model-builder
    io.k8s.cli.setters.MODEL_SERVING_LABEL:
      description: selector label
      x-k8s-cli:
        setter:
          name: MODEL_SERVING_LABEL
          value: resnet50v1-5-fp32-server
          isSet: true
          setBy: model-builder
    io.k8s.cli.setters.MODEL_SERVING_IMAGE_NAME:
      description: image name
      x-k8s-cli:
        setter:
          name: MODEL_SERVING_IMAGE_NAME
          value: intel/intel-optimized-tensorflow-serving
          isSet: true
          setBy: model-builder
    io.k8s.cli.setters.MODEL_SERVING_IMAGE_VERSION:
      description: image tag
      x-k8s-cli:
        setter:
          name: MODEL_SERVING_IMAGE_VERSION
          value: 2.4.0
          isSet: true
          setBy: model-builder
    io.k8s.cli.setters.REGISTRY:
      description: image location
      x-k8s-cli:
        setter:
          name: REGISTRY
          value: docker.io
          isSet: true
          setBy: model-builder
    io.k8s.cli.substitutions.IMAGE:
      description: image name
      x-k8s-cli:
        substitution:
          name: IMAGE
          pattern: ${REGISTRY}/${MODEL_SERVING_IMAGE_NAME}:${MODEL_SERVING_IMAGE_VERSION}${IMAGE_SUFFIX}
          values:
          - marker: ${REGISTRY}
            ref: '#/definitions/io.k8s.cli.setters.REGISTRY'
          - marker: ${MODEL_SERVING_IMAGE_NAME}
            ref: '#/definitions/io.k8s.cli.setters.MODEL_SERVING_IMAGE_NAME'
          - marker: ${MODEL_SERVING_IMAGE_VERSION}
            ref: '#/definitions/io.k8s.cli.setters.MODEL_SERVING_IMAGE_VERSION'
          - marker: ${IMAGE_SUFFIX}
            ref: '#/definitions/io.k8s.cli.setters.IMAGE_SUFFIX'
    io.k8s.cli.setters.MODEL_DIR:
      description: mounted model directory
      x-k8s-cli:
        setter:
          name: MODEL_DIR
          value: /models
          isSet: true
          setBy: model-builder
          required: true
    io.k8s.cli.setters.MODEL_BASE_PATH:
      description: base directory name
      x-k8s-cli:
        setter:
          name: MODEL_BASE_PATH
          value: /models
          isSet: true
          setBy: model-builder
          required: true
    io.k8s.cli.setters.MODEL_PORT:
      type: integer
      description: model container port
      x-k8s-cli:
        setter:
          name: MODEL_PORT
          value: "8500"
          isSet: true
          setBy: model-builder
          required: true
    io.k8s.cli.setters.MODEL_SERVICE_PORT:
      type: integer
      description: model service port
      x-k8s-cli:
        setter:
          name: MODEL_SERVICE_PORT
          value: "8501"
          isSet: true
          setBy: model-builder
          required: true
    io.k8s.cli.setters.REPLICAS:
      type: integer
      description: number of replicas
      x-k8s-cli:
        setter:
          name: REPLICAS
          value: "3"
          isSet: true
          setBy: model-builder
          required: true
    io.k8s.cli.setters.IMAGE_SUFFIX:
      description: appended to image name
      x-k8s-cli:
        setter:
          name: IMAGE_SUFFIX
          value: ""
          isSet: true
          setBy: model-builder
    io.k8s.cli.setters.USER_ID:
      type: integer
      description: process owner id
      x-k8s-cli:
        setter:
          name: USER_ID
          value: "0"
          isSet: true
          setBy: model-builder
          required: true
    io.k8s.cli.substitutions.GROUP_ID_VALUE:
      x-k8s-cli:
        substitution:
          name: GROUP_ID_VALUE
          pattern: "${GROUP_ID}"
          values:
          - marker: ${GROUP_ID}
            ref: '#/definitions/io.k8s.cli.setters.GROUP_ID'
    io.k8s.cli.substitutions.USER_ID_VALUE:
      x-k8s-cli:
        substitution:
          name: USER_ID_VALUE
          pattern: "${USER_ID}"
          values:
          - marker: ${USER_ID}
            ref: '#/definitions/io.k8s.cli.setters.USER_ID'
    io.k8s.cli.setters.GROUP_NAME:
      description: process group name
      x-k8s-cli:
        setter:
          name: GROUP_NAME
          value: root
          isSet: true
          setBy: model-builder
          required: true
    io.k8s.cli.setters.USER_NAME:
      description: process owner name
      x-k8s-cli:
        setter:
          name: USER_NAME
          value: root
          isSet: true
          setBy: model-builder
          required: true
    io.k8s.cli.setters.FS_ID:
      type: integer
      description: owner id of mounted volumes
      x-k8s-cli:
        setter:
          name: FS_ID
          value: "0"
          isSet: true
          setBy: model-builder
          required: true
    io.k8s.cli.setters.GROUP_ID:
      type: integer
      description: process group id
      x-k8s-cli:
        setter:
          name: GROUP_ID
          value: "0"
          isSet: true
          setBy: model-builder
          required: true
