mirror of https://github.com/kubeflow/examples.git
88 lines
1.9 KiB
Plaintext
88 lines
1.9 KiB
Plaintext
local env = std.extVar("__ksonnet/environments");
|
|
local params = std.extVar("__ksonnet/params").components.ui;
|
|
local k = import "k.libsonnet";
|
|
|
|
local name = params.name;
|
|
local namespace = env.namespace;
|
|
|
|
local updatedParams = {
|
|
serviceType: "ClusterIP",
|
|
image: "gcr.io/kubeflow-images-public/issue-summarization-ui:latest",
|
|
modelUrl: "http://issue-summarization.kubeflow.svc.cluster.local:8000/api/v0.1/predictions",
|
|
} + params;
|
|
|
|
local service = {
|
|
apiVersion: "v1",
|
|
kind: "Service",
|
|
metadata: {
|
|
name: "issue-summarization-ui",
|
|
namespace: env.namespace,
|
|
annotations: {
|
|
"getambassador.io/config": "---\napiVersion: ambassador/v0\nkind: Mapping\nname: issue_summarization_ui\nprefix: /issue-summarization/\nrewrite: /\nservice: issue-summarization-ui:80\n",
|
|
},
|
|
},
|
|
spec: {
|
|
ports: [
|
|
{
|
|
port: 80,
|
|
targetPort: 80,
|
|
},
|
|
],
|
|
selector: {
|
|
app: "issue-summarization-ui",
|
|
},
|
|
type: updatedParams.serviceType,
|
|
},
|
|
};
|
|
|
|
local deployment = {
|
|
apiVersion: "apps/v1beta1",
|
|
kind: "Deployment",
|
|
metadata: {
|
|
name: "issue-summarization-ui",
|
|
namespace: env.namespace,
|
|
},
|
|
spec: {
|
|
replicas: 1,
|
|
template: {
|
|
metadata: {
|
|
labels: {
|
|
app: "issue-summarization-ui",
|
|
},
|
|
},
|
|
spec: {
|
|
containers: [
|
|
{
|
|
args: [
|
|
"app.py",
|
|
"--model_url",
|
|
updatedParams.modelUrl,
|
|
],
|
|
command: [
|
|
"python",
|
|
],
|
|
image: updatedParams.image,
|
|
env: [
|
|
{
|
|
name: "GITHUB_TOKEN",
|
|
value: updatedParams.githubToken,
|
|
}
|
|
],
|
|
name: "issue-summarization-ui",
|
|
ports: [
|
|
{
|
|
containerPort: 80,
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
},
|
|
},
|
|
};
|
|
|
|
k.core.v1.list.new([
|
|
service,
|
|
deployment,
|
|
])
|