apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition metadata: name: seldondeployments.machinelearning.seldon.io spec: group: machinelearning.seldon.io names: kind: SeldonDeployment plural: seldondeployments shortNames: - sdep singular: seldondeployment scope: Namespaced subresources: status: {} validation: openAPIV3Schema: properties: spec: properties: annotations: type: object name: type: string oauth_key: type: string oauth_secret: type: string predictors: items: properties: annotations: type: object componentSpecs: items: properties: hpaSpec: properties: maxReplicas: format: int32 type: integer metrics: items: properties: external: properties: metricName: type: string metricSelector: properties: matchExpressions: items: properties: key: type: string x-kubernetes-patch-merge-key: key x-kubernetes-patch-strategy: merge operator: type: string values: items: type: string type: array required: - key - operator type: object type: array matchLabels: additionalProperties: type: string type: object type: object targetAverageValue: type: string targetValue: type: string required: - metricName type: object object: properties: averageValue: type: string metricName: type: string selector: properties: matchExpressions: items: properties: key: type: string x-kubernetes-patch-merge-key: key x-kubernetes-patch-strategy: merge operator: type: string values: items: type: string type: array required: - key - operator type: object type: array matchLabels: additionalProperties: type: string type: object type: object target: properties: apiVersion: type: string kind: type: string name: type: string required: - kind - name type: object targetValue: type: string required: - target - metricName - targetValue type: object pods: properties: metricName: type: string selector: properties: matchExpressions: items: properties: key: type: string x-kubernetes-patch-merge-key: key x-kubernetes-patch-strategy: merge operator: type: string values: items: type: string type: array required: - key - operator type: object type: array matchLabels: additionalProperties: type: string type: object type: object targetAverageValue: type: string required: - metricName - targetAverageValue type: object resource: properties: name: type: string targetAverageUtilization: format: int32 type: integer targetAverageValue: type: string required: - name type: object type: type: string required: - type type: object type: array minReplicas: format: int32 type: integer type: object metadata: properties: annotations: additionalProperties: type: string type: object clusterName: type: string creationTimestamp: format: date-time type: string deletionGracePeriodSeconds: format: int64 type: integer deletionTimestamp: format: date-time type: string finalizers: items: type: string type: array x-kubernetes-patch-strategy: merge generateName: type: string generation: format: int64 type: integer labels: additionalProperties: type: string type: object managedFields: items: properties: apiVersion: type: string fields: type: object manager: type: string operation: type: string time: format: date-time type: string type: object type: array name: type: string namespace: type: string ownerReferences: items: properties: apiVersion: type: string blockOwnerDeletion: type: boolean controller: type: boolean kind: type: string name: type: string uid: type: string required: - apiVersion - kind - name - uid type: object type: array x-kubernetes-patch-merge-key: uid x-kubernetes-patch-strategy: merge resourceVersion: type: string selfLink: type: string uid: type: string type: object spec: properties: activeDeadlineSeconds: format: int64 type: integer affinity: properties: nodeAffinity: properties: preferredDuringSchedulingIgnoredDuringExecution: items: properties: preference: properties: matchExpressions: items: properties: key: type: string operator: type: string values: items: type: string type: array required: - key - operator type: object type: array matchFields: items: properties: key: type: string operator: type: string values: items: type: string type: array required: - key - operator type: object type: array type: object weight: format: int32 type: integer required: - weight - preference type: object type: array requiredDuringSchedulingIgnoredDuringExecution: properties: nodeSelectorTerms: items: properties: matchExpressions: items: properties: key: type: string operator: type: string values: items: type: string type: array required: - key - operator type: object type: array matchFields: items: properties: key: type: string operator: type: string values: items: type: string type: array required: - key - operator type: object type: array type: object type: array required: - nodeSelectorTerms type: object type: object podAffinity: properties: preferredDuringSchedulingIgnoredDuringExecution: items: properties: podAffinityTerm: properties: labelSelector: properties: matchExpressions: items: properties: key: type: string x-kubernetes-patch-merge-key: key x-kubernetes-patch-strategy: merge operator: type: string values: items: type: string type: array required: - key - operator type: object type: array matchLabels: additionalProperties: type: string type: object type: object namespaces: items: type: string type: array topologyKey: type: string required: - topologyKey type: object weight: format: int32 type: integer required: - weight - podAffinityTerm type: object type: array requiredDuringSchedulingIgnoredDuringExecution: items: properties: labelSelector: properties: matchExpressions: items: properties: key: type: string x-kubernetes-patch-merge-key: key x-kubernetes-patch-strategy: merge operator: type: string values: items: type: string type: array required: - key - operator type: object type: array matchLabels: additionalProperties: type: string type: object type: object namespaces: items: type: string type: array topologyKey: type: string required: - topologyKey type: object type: array type: object podAntiAffinity: properties: preferredDuringSchedulingIgnoredDuringExecution: items: properties: podAffinityTerm: properties: labelSelector: properties: matchExpressions: items: properties: key: type: string x-kubernetes-patch-merge-key: key x-kubernetes-patch-strategy: merge operator: type: string values: items: type: string type: array required: - key - operator type: object type: array matchLabels: additionalProperties: type: string type: object type: object namespaces: items: type: string type: array topologyKey: type: string required: - topologyKey type: object weight: format: int32 type: integer required: - weight - podAffinityTerm type: object type: array requiredDuringSchedulingIgnoredDuringExecution: items: properties: labelSelector: properties: matchExpressions: items: properties: key: type: string x-kubernetes-patch-merge-key: key x-kubernetes-patch-strategy: merge operator: type: string values: items: type: string type: array required: - key - operator type: object type: array matchLabels: additionalProperties: type: string type: object type: object namespaces: items: type: string type: array topologyKey: type: string required: - topologyKey type: object type: array type: object type: object automountServiceAccountToken: type: boolean containers: items: properties: args: items: type: string type: array command: items: type: string type: array env: items: properties: name: type: string value: type: string valueFrom: properties: configMapKeyRef: properties: key: type: string name: type: string optional: type: boolean required: - key type: object fieldRef: properties: apiVersion: type: string fieldPath: type: string required: - fieldPath type: object resourceFieldRef: properties: containerName: type: string divisor: type: string resource: type: string required: - resource type: object secretKeyRef: properties: key: type: string name: type: string optional: type: boolean required: - key type: object type: object required: - name type: object type: array x-kubernetes-patch-merge-key: name x-kubernetes-patch-strategy: merge envFrom: items: properties: configMapRef: properties: name: type: string optional: type: boolean type: object prefix: type: string secretRef: properties: name: type: string optional: type: boolean type: object type: object type: array image: type: string imagePullPolicy: type: string lifecycle: properties: postStart: properties: exec: properties: command: items: type: string type: array type: object httpGet: properties: host: type: string httpHeaders: items: properties: name: type: string value: type: string required: - name - value type: object type: array path: type: string port: format: int-or-string type: string scheme: type: string required: - port type: object tcpSocket: properties: host: type: string port: format: int-or-string type: string required: - port type: object type: object preStop: properties: exec: properties: command: items: type: string type: array type: object httpGet: properties: host: type: string httpHeaders: items: properties: name: type: string value: type: string required: - name - value type: object type: array path: type: string port: format: int-or-string type: string scheme: type: string required: - port type: object tcpSocket: properties: host: type: string port: format: int-or-string type: string required: - port type: object type: object type: object livenessProbe: properties: exec: properties: command: items: type: string type: array type: object failureThreshold: format: int32 type: integer httpGet: properties: host: type: string httpHeaders: items: properties: name: type: string value: type: string required: - name - value type: object type: array path: type: string port: format: int-or-string type: string scheme: type: string required: - port type: object initialDelaySeconds: format: int32 type: integer periodSeconds: format: int32 type: integer successThreshold: format: int32 type: integer tcpSocket: properties: host: type: string port: format: int-or-string type: string required: - port type: object timeoutSeconds: format: int32 type: integer type: object name: type: string ports: items: properties: containerPort: format: int32 type: integer hostIP: type: string hostPort: format: int32 type: integer name: type: string protocol: type: string required: - containerPort type: object type: array x-kubernetes-list-map-keys: - containerPort - protocol x-kubernetes-list-type: map x-kubernetes-patch-merge-key: containerPort x-kubernetes-patch-strategy: merge readinessProbe: properties: exec: properties: command: items: type: string type: array type: object failureThreshold: format: int32 type: integer httpGet: properties: host: type: string httpHeaders: items: properties: name: type: string value: type: string required: - name - value type: object type: array path: type: string port: format: int-or-string type: string scheme: type: string required: - port type: object initialDelaySeconds: format: int32 type: integer periodSeconds: format: int32 type: integer successThreshold: format: int32 type: integer tcpSocket: properties: host: type: string port: format: int-or-string type: string required: - port type: object timeoutSeconds: format: int32 type: integer type: object resources: properties: limits: type: object requests: type: object type: object securityContext: properties: allowPrivilegeEscalation: type: boolean capabilities: properties: add: items: type: string type: array drop: items: type: string type: array type: object privileged: type: boolean procMount: type: string readOnlyRootFilesystem: type: boolean runAsGroup: format: int64 type: integer runAsNonRoot: type: boolean runAsUser: format: int64 type: integer seLinuxOptions: properties: level: type: string role: type: string type: type: string user: type: string type: object windowsOptions: properties: gmsaCredentialSpec: type: string gmsaCredentialSpecName: type: string runAsUserName: type: string type: object type: object stdin: type: boolean stdinOnce: type: boolean terminationMessagePath: type: string terminationMessagePolicy: type: string tty: type: boolean volumeDevices: items: properties: devicePath: type: string name: type: string required: - name - devicePath type: object type: array x-kubernetes-patch-merge-key: devicePath x-kubernetes-patch-strategy: merge volumeMounts: items: properties: mountPath: type: string mountPropagation: type: string name: type: string readOnly: type: boolean subPath: type: string subPathExpr: type: string required: - name - mountPath type: object type: array x-kubernetes-patch-merge-key: mountPath x-kubernetes-patch-strategy: merge workingDir: type: string required: - name type: object type: array x-kubernetes-patch-merge-key: name x-kubernetes-patch-strategy: merge dnsConfig: properties: nameservers: items: type: string type: array options: items: properties: name: type: string value: type: string type: object type: array searches: items: type: string type: array type: object dnsPolicy: type: string enableServiceLinks: type: boolean ephemeralContainers: items: properties: args: items: type: string type: array command: items: type: string type: array env: items: properties: name: type: string value: type: string valueFrom: properties: configMapKeyRef: properties: key: type: string name: type: string optional: type: boolean required: - key type: object fieldRef: properties: apiVersion: type: string fieldPath: type: string required: - fieldPath type: object resourceFieldRef: properties: containerName: type: string divisor: type: string resource: type: string required: - resource type: object secretKeyRef: properties: key: type: string name: type: string optional: type: boolean required: - key type: object type: object required: - name type: object type: array x-kubernetes-patch-merge-key: name x-kubernetes-patch-strategy: merge envFrom: items: properties: configMapRef: properties: name: type: string optional: type: boolean type: object prefix: type: string secretRef: properties: name: type: string optional: type: boolean type: object type: object type: array image: type: string imagePullPolicy: type: string lifecycle: properties: postStart: properties: exec: properties: command: items: type: string type: array type: object httpGet: properties: host: type: string httpHeaders: items: properties: name: type: string value: type: string required: - name - value type: object type: array path: type: string port: format: int-or-string type: string scheme: type: string required: - port type: object tcpSocket: properties: host: type: string port: format: int-or-string type: string required: - port type: object type: object preStop: properties: exec: properties: command: items: type: string type: array type: object httpGet: properties: host: type: string httpHeaders: items: properties: name: type: string value: type: string required: - name - value type: object type: array path: type: string port: format: int-or-string type: string scheme: type: string required: - port type: object tcpSocket: properties: host: type: string port: format: int-or-string type: string required: - port type: object type: object type: object livenessProbe: properties: exec: properties: command: items: type: string type: array type: object failureThreshold: format: int32 type: integer httpGet: properties: host: type: string httpHeaders: items: properties: name: type: string value: type: string required: - name - value type: object type: array path: type: string port: format: int-or-string type: string scheme: type: string required: - port type: object initialDelaySeconds: format: int32 type: integer periodSeconds: format: int32 type: integer successThreshold: format: int32 type: integer tcpSocket: properties: host: type: string port: format: int-or-string type: string required: - port type: object timeoutSeconds: format: int32 type: integer type: object name: type: string ports: items: properties: containerPort: format: int32 type: integer hostIP: type: string hostPort: format: int32 type: integer name: type: string protocol: type: string required: - containerPort type: object type: array readinessProbe: properties: exec: properties: command: items: type: string type: array type: object failureThreshold: format: int32 type: integer httpGet: properties: host: type: string httpHeaders: items: properties: name: type: string value: type: string required: - name - value type: object type: array path: type: string port: format: int-or-string type: string scheme: type: string required: - port type: object initialDelaySeconds: format: int32 type: integer periodSeconds: format: int32 type: integer successThreshold: format: int32 type: integer tcpSocket: properties: host: type: string port: format: int-or-string type: string required: - port type: object timeoutSeconds: format: int32 type: integer type: object resources: properties: limits: type: object requests: type: object type: object securityContext: properties: allowPrivilegeEscalation: type: boolean capabilities: properties: add: items: type: string type: array drop: items: type: string type: array type: object privileged: type: boolean procMount: type: string readOnlyRootFilesystem: type: boolean runAsGroup: format: int64 type: integer runAsNonRoot: type: boolean runAsUser: format: int64 type: integer seLinuxOptions: properties: level: type: string role: type: string type: type: string user: type: string type: object windowsOptions: properties: gmsaCredentialSpec: type: string gmsaCredentialSpecName: type: string runAsUserName: type: string type: object type: object stdin: type: boolean stdinOnce: type: boolean targetContainerName: type: string terminationMessagePath: type: string terminationMessagePolicy: type: string tty: type: boolean volumeDevices: items: properties: devicePath: type: string name: type: string required: - name - devicePath type: object type: array x-kubernetes-patch-merge-key: devicePath x-kubernetes-patch-strategy: merge volumeMounts: items: properties: mountPath: type: string mountPropagation: type: string name: type: string readOnly: type: boolean subPath: type: string subPathExpr: type: string required: - name - mountPath type: object type: array x-kubernetes-patch-merge-key: mountPath x-kubernetes-patch-strategy: merge workingDir: type: string required: - name type: object type: array x-kubernetes-patch-merge-key: name x-kubernetes-patch-strategy: merge hostAliases: items: properties: hostnames: items: type: string type: array ip: type: string type: object type: array x-kubernetes-patch-merge-key: ip x-kubernetes-patch-strategy: merge hostIPC: type: boolean hostNetwork: type: boolean hostPID: type: boolean hostname: type: string imagePullSecrets: items: properties: name: type: string type: object type: array x-kubernetes-patch-merge-key: name x-kubernetes-patch-strategy: merge initContainers: items: properties: args: items: type: string type: array command: items: type: string type: array env: items: properties: name: type: string value: type: string valueFrom: properties: configMapKeyRef: properties: key: type: string name: type: string optional: type: boolean required: - key type: object fieldRef: properties: apiVersion: type: string fieldPath: type: string required: - fieldPath type: object resourceFieldRef: properties: containerName: type: string divisor: type: string resource: type: string required: - resource type: object secretKeyRef: properties: key: type: string name: type: string optional: type: boolean required: - key type: object type: object required: - name type: object type: array x-kubernetes-patch-merge-key: name x-kubernetes-patch-strategy: merge envFrom: items: properties: configMapRef: properties: name: type: string optional: type: boolean type: object prefix: type: string secretRef: properties: name: type: string optional: type: boolean type: object type: object type: array image: type: string imagePullPolicy: type: string lifecycle: properties: postStart: properties: exec: properties: command: items: type: string type: array type: object httpGet: properties: host: type: string httpHeaders: items: properties: name: type: string value: type: string required: - name - value type: object type: array path: type: string port: format: int-or-string type: string scheme: type: string required: - port type: object tcpSocket: properties: host: type: string port: format: int-or-string type: string required: - port type: object type: object preStop: properties: exec: properties: command: items: type: string type: array type: object httpGet: properties: host: type: string httpHeaders: items: properties: name: type: string value: type: string required: - name - value type: object type: array path: type: string port: format: int-or-string type: string scheme: type: string required: - port type: object tcpSocket: properties: host: type: string port: format: int-or-string type: string required: - port type: object type: object type: object livenessProbe: properties: exec: properties: command: items: type: string type: array type: object failureThreshold: format: int32 type: integer httpGet: properties: host: type: string httpHeaders: items: properties: name: type: string value: type: string required: - name - value type: object type: array path: type: string port: format: int-or-string type: string scheme: type: string required: - port type: object initialDelaySeconds: format: int32 type: integer periodSeconds: format: int32 type: integer successThreshold: format: int32 type: integer tcpSocket: properties: host: type: string port: format: int-or-string type: string required: - port type: object timeoutSeconds: format: int32 type: integer type: object name: type: string ports: items: properties: containerPort: format: int32 type: integer hostIP: type: string hostPort: format: int32 type: integer name: type: string protocol: type: string required: - containerPort type: object type: array x-kubernetes-list-map-keys: - containerPort - protocol x-kubernetes-list-type: map x-kubernetes-patch-merge-key: containerPort x-kubernetes-patch-strategy: merge readinessProbe: properties: exec: properties: command: items: type: string type: array type: object failureThreshold: format: int32 type: integer httpGet: properties: host: type: string httpHeaders: items: properties: name: type: string value: type: string required: - name - value type: object type: array path: type: string port: format: int-or-string type: string scheme: type: string required: - port type: object initialDelaySeconds: format: int32 type: integer periodSeconds: format: int32 type: integer successThreshold: format: int32 type: integer tcpSocket: properties: host: type: string port: format: int-or-string type: string required: - port type: object timeoutSeconds: format: int32 type: integer type: object resources: properties: limits: type: object requests: type: object type: object securityContext: properties: allowPrivilegeEscalation: type: boolean capabilities: properties: add: items: type: string type: array drop: items: type: string type: array type: object privileged: type: boolean procMount: type: string readOnlyRootFilesystem: type: boolean runAsGroup: format: int64 type: integer runAsNonRoot: type: boolean runAsUser: format: int64 type: integer seLinuxOptions: properties: level: type: string role: type: string type: type: string user: type: string type: object windowsOptions: properties: gmsaCredentialSpec: type: string gmsaCredentialSpecName: type: string runAsUserName: type: string type: object type: object stdin: type: boolean stdinOnce: type: boolean terminationMessagePath: type: string terminationMessagePolicy: type: string tty: type: boolean volumeDevices: items: properties: devicePath: type: string name: type: string required: - name - devicePath type: object type: array x-kubernetes-patch-merge-key: devicePath x-kubernetes-patch-strategy: merge volumeMounts: items: properties: mountPath: type: string mountPropagation: type: string name: type: string readOnly: type: boolean subPath: type: string subPathExpr: type: string required: - name - mountPath type: object type: array x-kubernetes-patch-merge-key: mountPath x-kubernetes-patch-strategy: merge workingDir: type: string required: - name type: object type: array x-kubernetes-patch-merge-key: name x-kubernetes-patch-strategy: merge nodeName: type: string nodeSelector: additionalProperties: type: string type: object overhead: type: object preemptionPolicy: type: string priority: format: int32 type: integer priorityClassName: type: string readinessGates: items: properties: conditionType: type: string required: - conditionType type: object type: array restartPolicy: type: string runtimeClassName: type: string schedulerName: type: string securityContext: properties: fsGroup: format: int64 type: integer runAsGroup: format: int64 type: integer runAsNonRoot: type: boolean runAsUser: format: int64 type: integer seLinuxOptions: properties: level: type: string role: type: string type: type: string user: type: string type: object supplementalGroups: items: format: int64 type: integer type: array sysctls: items: properties: name: type: string value: type: string required: - name - value type: object type: array windowsOptions: properties: gmsaCredentialSpec: type: string gmsaCredentialSpecName: type: string runAsUserName: type: string type: object type: object serviceAccount: type: string serviceAccountName: type: string shareProcessNamespace: type: boolean subdomain: type: string terminationGracePeriodSeconds: format: int64 type: integer tolerations: items: properties: effect: type: string key: type: string operator: type: string tolerationSeconds: format: int64 type: integer value: type: string type: object type: array topologySpreadConstraints: items: properties: labelSelector: properties: matchExpressions: items: properties: key: type: string x-kubernetes-patch-merge-key: key x-kubernetes-patch-strategy: merge operator: type: string values: items: type: string type: array required: - key - operator type: object type: array matchLabels: additionalProperties: type: string type: object type: object maxSkew: format: int32 type: integer topologyKey: type: string whenUnsatisfiable: type: string required: - maxSkew - topologyKey - whenUnsatisfiable type: object type: array x-kubernetes-list-map-keys: - topologyKey - whenUnsatisfiable x-kubernetes-list-type: map x-kubernetes-patch-merge-key: topologyKey x-kubernetes-patch-strategy: merge volumes: items: properties: awsElasticBlockStore: properties: fsType: type: string partition: format: int32 type: integer readOnly: type: boolean volumeID: type: string required: - volumeID type: object azureDisk: properties: cachingMode: type: string diskName: type: string diskURI: type: string fsType: type: string kind: type: string readOnly: type: boolean required: - diskName - diskURI type: object azureFile: properties: readOnly: type: boolean secretName: type: string shareName: type: string required: - secretName - shareName type: object cephfs: properties: monitors: items: type: string type: array path: type: string readOnly: type: boolean secretFile: type: string secretRef: properties: name: type: string type: object user: type: string required: - monitors type: object cinder: properties: fsType: type: string readOnly: type: boolean secretRef: properties: name: type: string type: object volumeID: type: string required: - volumeID type: object csi: properties: driver: type: string fsType: type: string nodePublishSecretRef: properties: name: type: string type: object readOnly: type: boolean volumeAttributes: additionalProperties: type: string type: object required: - driver type: object emptyDir: properties: medium: type: string sizeLimit: type: string type: object fc: properties: fsType: type: string lun: format: int32 type: integer readOnly: type: boolean targetWWNs: items: type: string type: array wwids: items: type: string type: array type: object flexVolume: properties: driver: type: string fsType: type: string options: additionalProperties: type: string type: object readOnly: type: boolean secretRef: properties: name: type: string type: object required: - driver type: object flocker: properties: datasetName: type: string datasetUUID: type: string type: object gcePersistentDisk: properties: fsType: type: string partition: format: int32 type: integer pdName: type: string readOnly: type: boolean required: - pdName type: object gitRepo: properties: directory: type: string repository: type: string revision: type: string required: - repository type: object glusterfs: properties: endpoints: type: string path: type: string readOnly: type: boolean required: - endpoints - path type: object hostPath: properties: path: type: string type: type: string required: - path type: object iscsi: properties: chapAuthDiscovery: type: boolean chapAuthSession: type: boolean fsType: type: string initiatorName: type: string iqn: type: string iscsiInterface: type: string lun: format: int32 type: integer portals: items: type: string type: array readOnly: type: boolean secretRef: properties: name: type: string type: object targetPortal: type: string required: - targetPortal - iqn - lun type: object name: type: string nfs: properties: path: type: string readOnly: type: boolean server: type: string required: - server - path type: object persistentVolumeClaim: properties: claimName: type: string readOnly: type: boolean required: - claimName type: object photonPersistentDisk: properties: fsType: type: string pdID: type: string required: - pdID type: object portworxVolume: properties: fsType: type: string readOnly: type: boolean volumeID: type: string required: - volumeID type: object projected: properties: defaultMode: format: int32 type: integer sources: items: properties: serviceAccountToken: properties: audience: type: string expirationSeconds: format: int64 type: integer path: type: string required: - path type: object type: object type: array required: - sources type: object quobyte: properties: group: type: string readOnly: type: boolean registry: type: string tenant: type: string user: type: string volume: type: string required: - registry - volume type: object rbd: properties: fsType: type: string image: type: string keyring: type: string monitors: items: type: string type: array pool: type: string readOnly: type: boolean secretRef: properties: name: type: string type: object user: type: string required: - monitors - image type: object scaleIO: properties: fsType: type: string gateway: type: string protectionDomain: type: string readOnly: type: boolean secretRef: properties: name: type: string type: object sslEnabled: type: boolean storageMode: type: string storagePool: type: string system: type: string volumeName: type: string required: - gateway - system - secretRef type: object storageos: properties: fsType: type: string readOnly: type: boolean secretRef: properties: name: type: string type: object volumeName: type: string volumeNamespace: type: string type: object vsphereVolume: properties: fsType: type: string storagePolicyID: type: string storagePolicyName: type: string volumePath: type: string required: - volumePath type: object required: - name type: object type: array x-kubernetes-patch-merge-key: name x-kubernetes-patch-strategy: merge,retainKeys required: - containers type: object type: object type: array explainer: properties: config: additionalProperties: true type: object containerSpec: properties: args: items: type: string type: array command: items: type: string type: array env: items: properties: name: type: string value: type: string valueFrom: properties: configMapKeyRef: properties: key: type: string name: type: string optional: type: boolean required: - key type: object fieldRef: properties: apiVersion: type: string fieldPath: type: string required: - fieldPath type: object resourceFieldRef: properties: containerName: type: string divisor: type: string resource: type: string required: - resource type: object secretKeyRef: properties: key: type: string name: type: string optional: type: boolean required: - key type: object type: object required: - name type: object type: array x-kubernetes-patch-merge-key: name x-kubernetes-patch-strategy: merge envFrom: items: properties: configMapRef: properties: name: type: string optional: type: boolean type: object prefix: type: string secretRef: properties: name: type: string optional: type: boolean type: object type: object type: array image: type: string imagePullPolicy: type: string lifecycle: properties: postStart: properties: exec: properties: command: items: type: string type: array type: object httpGet: properties: host: type: string httpHeaders: items: properties: name: type: string value: type: string required: - name - value type: object type: array path: type: string port: format: int-or-string type: string scheme: type: string required: - port type: object tcpSocket: properties: host: type: string port: format: int-or-string type: string required: - port type: object type: object preStop: properties: exec: properties: command: items: type: string type: array type: object httpGet: properties: host: type: string httpHeaders: items: properties: name: type: string value: type: string required: - name - value type: object type: array path: type: string port: format: int-or-string type: string scheme: type: string required: - port type: object tcpSocket: properties: host: type: string port: format: int-or-string type: string required: - port type: object type: object type: object livenessProbe: properties: exec: properties: command: items: type: string type: array type: object failureThreshold: format: int32 type: integer httpGet: properties: host: type: string httpHeaders: items: properties: name: type: string value: type: string required: - name - value type: object type: array path: type: string port: format: int-or-string type: string scheme: type: string required: - port type: object initialDelaySeconds: format: int32 type: integer periodSeconds: format: int32 type: integer successThreshold: format: int32 type: integer tcpSocket: properties: host: type: string port: format: int-or-string type: string required: - port type: object timeoutSeconds: format: int32 type: integer type: object name: type: string ports: items: properties: containerPort: format: int32 type: integer hostIP: type: string hostPort: format: int32 type: integer name: type: string protocol: type: string required: - containerPort type: object type: array x-kubernetes-list-map-keys: - containerPort - protocol x-kubernetes-list-type: map x-kubernetes-patch-merge-key: containerPort x-kubernetes-patch-strategy: merge readinessProbe: properties: exec: properties: command: items: type: string type: array type: object failureThreshold: format: int32 type: integer httpGet: properties: host: type: string httpHeaders: items: properties: name: type: string value: type: string required: - name - value type: object type: array path: type: string port: format: int-or-string type: string scheme: type: string required: - port type: object initialDelaySeconds: format: int32 type: integer periodSeconds: format: int32 type: integer successThreshold: format: int32 type: integer tcpSocket: properties: host: type: string port: format: int-or-string type: string required: - port type: object timeoutSeconds: format: int32 type: integer type: object resources: properties: limits: type: object requests: type: object type: object securityContext: properties: allowPrivilegeEscalation: type: boolean capabilities: properties: add: items: type: string type: array drop: items: type: string type: array type: object privileged: type: boolean procMount: type: string readOnlyRootFilesystem: type: boolean runAsGroup: format: int64 type: integer runAsNonRoot: type: boolean runAsUser: format: int64 type: integer seLinuxOptions: properties: level: type: string role: type: string type: type: string user: type: string type: object windowsOptions: properties: gmsaCredentialSpec: type: string gmsaCredentialSpecName: type: string runAsUserName: type: string type: object type: object stdin: type: boolean stdinOnce: type: boolean terminationMessagePath: type: string terminationMessagePolicy: type: string tty: type: boolean volumeDevices: items: properties: devicePath: type: string name: type: string required: - name - devicePath type: object type: array x-kubernetes-patch-merge-key: devicePath x-kubernetes-patch-strategy: merge volumeMounts: items: properties: mountPath: type: string mountPropagation: type: string name: type: string readOnly: type: boolean subPath: type: string subPathExpr: type: string required: - name - mountPath type: object type: array x-kubernetes-patch-merge-key: mountPath x-kubernetes-patch-strategy: merge workingDir: type: string required: - name type: object endpoint: properties: service_host: type: string service_port: type: integer type: enum: - REST - GRPC type: string envSecretRefName: type: string modelUri: type: string serviceAccountName: type: string type: type: string type: object graph: properties: children: items: properties: children: items: properties: children: items: {} type: array endpoint: properties: service_host: type: string service_port: type: integer type: enum: - REST - GRPC type: string envSecretRefName: type: string implementation: enum: - UNKNOWN_IMPLEMENTATION - SIMPLE_MODEL - SIMPLE_ROUTER - RANDOM_ABTEST - AVERAGE_COMBINER - SKLEARN_SERVER - XGBOOST_SERVER - TENSORFLOW_SERVER - MLFLOW_SERVER type: string methods: items: enum: - TRANSFORM_INPUT - TRANSFORM_OUTPUT - ROUTE - AGGREGATE - SEND_FEEDBACK type: string type: array modelUri: type: string name: type: string serviceAccountName: type: string type: enum: - UNKNOWN_TYPE - ROUTER - COMBINER - MODEL - TRANSFORMER - OUTPUT_TRANSFORMER type: string type: array endpoint: properties: service_host: type: string service_port: type: integer type: enum: - REST - GRPC type: string implementation: enum: - UNKNOWN_IMPLEMENTATION - SIMPLE_MODEL - SIMPLE_ROUTER - RANDOM_ABTEST - AVERAGE_COMBINER - SKLEARN_SERVER - XGBOOST_SERVER - TENSORFLOW_SERVER - MLFLOW_SERVER type: string methods: items: enum: - TRANSFORM_INPUT - TRANSFORM_OUTPUT - ROUTE - AGGREGATE - SEND_FEEDBACK type: string type: array name: type: string type: enum: - UNKNOWN_TYPE - ROUTER - COMBINER - MODEL - TRANSFORMER - OUTPUT_TRANSFORMER type: string type: array endpoint: properties: service_host: type: string service_port: type: integer type: enum: - REST - GRPC type: string implementation: enum: - UNKNOWN_IMPLEMENTATION - SIMPLE_MODEL - SIMPLE_ROUTER - RANDOM_ABTEST - AVERAGE_COMBINER - SKLEARN_SERVER - XGBOOST_SERVER - TENSORFLOW_SERVER - MLFLOW_SERVER type: string methods: items: enum: - TRANSFORM_INPUT - TRANSFORM_OUTPUT - ROUTE - AGGREGATE - SEND_FEEDBACK type: string type: array name: type: string type: enum: - UNKNOWN_TYPE - ROUTER - COMBINER - MODEL - TRANSFORMER - OUTPUT_TRANSFORMER type: string labels: type: object name: type: string replicas: type: integer svcOrchSpec: properties: env: items: properties: name: type: string value: type: string valueFrom: properties: configMapKeyRef: properties: key: type: string name: type: string optional: type: boolean required: - key fieldRef: properties: apiVersion: type: string fieldPath: type: string required: - fieldPath resourceFieldRef: properties: containerName: type: string divisor: type: string resource: type: string required: - resource secretKeyRef: properties: key: type: string name: type: string optional: type: boolean required: - key required: - name type: array x-kubernetes-patch-merge-key: name x-kubernetes-patch-strategy: merge resources: properties: limits: additionalProperties: true type: object requests: additionalProperties: true type: object type: object type: array version: v1alpha2 versions: - name: v1alpha2 served: true storage: true - name: v1alpha3 served: true storage: false