{
    "kind": "List",
    "apiVersion": "v1",
    "metadata": {},
    "items": [
        {
            "kind": "ServiceAccount",
            "apiVersion": "v1",
            "metadata": {
                "name": "seldon",
                "namespace": "kubeflow-seldon",
                "creationTimestamp": null
            }
        },
        {
            "kind": "RoleBinding",
            "apiVersion": "rbac.authorization.k8s.io/v1",
            "metadata": {
                "name": "seldon",
                "namespace": "kubeflow-seldon",
                "creationTimestamp": null
            },
            "subjects": [
                {
                    "kind": "ServiceAccount",
                    "name": "seldon",
                    "namespace": "kubeflow-seldon"
                }
            ],
            "roleRef": {
                "apiGroup": "rbac.authorization.k8s.io",
                "kind": "ClusterRole",
                "name": "cluster-admin"
            }
        },
        {
            "kind": "Deployment",
            "apiVersion": "apps/v1",
            "metadata": {
                "name": "seldon-cluster-manager",
                "namespace": "kubeflow-seldon",
                "creationTimestamp": null,
                "labels": {
                    "app": "seldon-cluster-manager-server"
                }
            },
            "spec": {
                "replicas": 1,
                "selector": {
                    "matchLabels": {
                        "app": "seldon-cluster-manager-server"
                    }
                },
                "template": {
                    "metadata": {
                        "creationTimestamp": null,
                        "labels": {
                            "app": "seldon-cluster-manager-server"
                        }
                    },
                    "spec": {
                        "containers": [
                            {
                                "name": "seldon-cluster-manager-container",
                                "image": "seldonio/cluster-manager:0.1.8",
                                "ports": [
                                    {
                                        "containerPort": 8080,
                                        "protocol": "TCP"
                                    }
                                ],
                                "env": [
                                    {
                                        "name": "JAVA_OPTS"
                                    },
                                    {
                                        "name": "SPRING_OPTS"
                                    },
                                    {
                                        "name": "SELDON_CLUSTER_MANAGER_REDIS_HOST",
                                        "value": "redis"
                                    },
                                    {
                                        "name": "ENGINE_CONTAINER_IMAGE_AND_VERSION",
                                        "value": "seldonio/engine:0.1.8"
                                    },
                                    {
                                        "name": "SELDON_CLUSTER_MANAGER_POD_NAMESPACE",
                                        "valueFrom": {
                                            "fieldRef": {
                                                "apiVersion": "v1",
                                                "fieldPath": "metadata.namespace"
                                            }
                                        }
                                    }
                                ],
                                "resources": {},
                                "terminationMessagePath": "/dev/termination-log",
                                "terminationMessagePolicy": "File",
                                "imagePullPolicy": "IfNotPresent"
                            }
                        ],
                        "restartPolicy": "Always",
                        "terminationGracePeriodSeconds": 30,
                        "dnsPolicy": "ClusterFirst",
                        "serviceAccountName": "seldon",
                        "serviceAccount": "seldon",
                        "securityContext": {},
                        "schedulerName": "default-scheduler"
                    }
                },
                "strategy": {
                    "type": "RollingUpdate",
                    "rollingUpdate": {
                        "maxUnavailable": 1,
                        "maxSurge": 1
                    }
                }
            },
            "status": {}
        },
        {
            "kind": "Deployment",
            "apiVersion": "apps/v1",
            "metadata": {
                "name": "redis",
                "namespace": "kubeflow-seldon",
                "creationTimestamp": null,
                "labels": {
                    "app": "redis-app"
                }
            },
            "spec": {
                "replicas": 1,
                "selector": {
                    "matchLabels": {
                        "app": "redis-app"
                    }
                },
                "template": {
                    "metadata": {
                        "creationTimestamp": null,
                        "labels": {
                            "app": "redis-app"
                        }
                    },
                    "spec": {
                        "containers": [
                            {
                                "name": "redis-container",
                                "image": "redis:4.0.1",
                                "ports": [
                                    {
                                        "containerPort": 6379,
                                        "protocol": "TCP"
                                    }
                                ],
                                "resources": {},
                                "terminationMessagePath": "/dev/termination-log",
                                "terminationMessagePolicy": "File",
                                "imagePullPolicy": "IfNotPresent"
                            }
                        ],
                        "restartPolicy": "Always",
                        "terminationGracePeriodSeconds": 30,
                        "dnsPolicy": "ClusterFirst",
                        "securityContext": {},
                        "schedulerName": "default-scheduler"
                    }
                },
                "strategy": {
                    "type": "RollingUpdate",
                    "rollingUpdate": {
                        "maxUnavailable": 1,
                        "maxSurge": 1
                    }
                }
            },
            "status": {}
        },
        {
            "kind": "Service",
            "apiVersion": "v1",
            "metadata": {
                "name": "redis",
                "creationTimestamp": null
            },
            "spec": {
                "ports": [
                    {
                        "protocol": "TCP",
                        "port": 6379,
                        "targetPort": 6379
                    }
                ],
                "selector": {
                    "app": "redis-app"
                },
                "type": "ClusterIP",
                "sessionAffinity": "None"
            },
            "status": {
                "loadBalancer": {}
            }
        },
        {
            "kind": "Deployment",
            "apiVersion": "apps/v1",
            "metadata": {
                "name": "seldon-apiserver",
                "namespace": "kubeflow-seldon",
                "creationTimestamp": null,
                "labels": {
                    "app": "seldon-apiserver-container-app",
                    "version": "1"
                }
            },
            "spec": {
                "replicas": 1,
                "selector": {
                    "matchLabels": {
                        "app": "seldon-apiserver-container-app",
                        "version": "1"
                    }
                },
                "template": {
                    "metadata": {
                        "creationTimestamp": null,
                        "labels": {
                            "app": "seldon-apiserver-container-app",
                            "version": "1"
                        },
                        "annotations": {
                            "prometheus.io/path": "/prometheus",
                            "prometheus.io/port": "8080",
                            "prometheus.io/scrape": "true"
                        }
                    },
                    "spec": {
                        "containers": [
                            {
                                "name": "seldon-apiserver-container",
                                "image": "seldonio/apife:0.1.8",
                                "ports": [
                                    {
                                        "containerPort": 8080,
                                        "protocol": "TCP"
                                    },
                                    {
                                        "containerPort": 5000,
                                        "protocol": "TCP"
                                    }
                                ],
                                "env": [
                                    {
                                        "name": "SELDON_ENGINE_KAFKA_SERVER",
                                        "value": "kafka:9092"
                                    },
                                    {
                                        "name": "SELDON_CLUSTER_MANAGER_REDIS_HOST",
                                        "value": "redis"
                                    },
                                    {
                                        "name": "SELDON_CLUSTER_MANAGER_POD_NAMESPACE",
                                        "valueFrom": {
                                            "fieldRef": {
                                                "apiVersion": "v1",
                                                "fieldPath": "metadata.namespace"
                                            }
                                        }
                                    }
                                ],
                                "resources": {},
                                "terminationMessagePath": "/dev/termination-log",
                                "terminationMessagePolicy": "File",
                                "imagePullPolicy": "IfNotPresent"
                            }
                        ],
                        "restartPolicy": "Always",
                        "terminationGracePeriodSeconds": 30,
                        "dnsPolicy": "ClusterFirst",
                        "serviceAccountName": "seldon",
                        "serviceAccount": "seldon",
                        "securityContext": {},
                        "schedulerName": "default-scheduler"
                    }
                },
                "strategy": {
                    "type": "RollingUpdate",
                    "rollingUpdate": {
                        "maxUnavailable": 1,
                        "maxSurge": 1
                    }
                }
            },
            "status": {}
        },
        {
            "kind": "Service",
            "apiVersion": "v1",
            "metadata": {
                "name": "seldon-apiserver",
                "creationTimestamp": null,
                "labels": {
                    "app": "seldon-apiserver-container-app"
                }
            },
            "spec": {
                "ports": [
                    {
                        "name": "http",
                        "protocol": "TCP",
                        "port": 8080,
                        "targetPort": 8080
                    },
                    {
                        "name": "grpc",
                        "protocol": "TCP",
                        "port": 5000,
                        "targetPort": 5000
                    }
                ],
                "selector": {
                    "app": "seldon-apiserver-container-app"
                },
                "type": "NodePort",
                "sessionAffinity": "None",
                "externalTrafficPolicy": "Cluster"
            },
            "status": {
                "loadBalancer": {}
            }
        }
    ]
}
