initial argo commit
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata: { name: browser, namespace: ai }
|
||||
spec:
|
||||
replicas: 1
|
||||
selector: { matchLabels: { app: browser } }
|
||||
template:
|
||||
metadata: { labels: { app: browser } }
|
||||
spec:
|
||||
containers:
|
||||
- name: browser
|
||||
image: docker.io/ion606/browser:latest
|
||||
ports: [{ containerPort: 7788 }]
|
||||
env:
|
||||
- { name: WEBUI_IP, value: "0.0.0.0" }
|
||||
- { name: WEBUI_PORT, value: "7788" }
|
||||
resources:
|
||||
requests: { cpu: "250m", memory: "256Mi" }
|
||||
limits: { cpu: "1", memory: "1Gi" } # hard cap
|
||||
readinessProbe:
|
||||
{
|
||||
httpGet: { path: "/", port: 7788 },
|
||||
initialDelaySeconds: 5,
|
||||
periodSeconds: 10,
|
||||
}
|
||||
livenessProbe:
|
||||
{
|
||||
httpGet: { path: "/", port: 7788 },
|
||||
initialDelaySeconds: 15,
|
||||
periodSeconds: 20,
|
||||
}
|
||||
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata: { name: browser, namespace: ai }
|
||||
spec:
|
||||
selector: { app: browser }
|
||||
ports: [{ name: http, port: 7788, targetPort: 7788 }]
|
||||
type: ClusterIP
|
||||
@@ -0,0 +1,44 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata: { name: coderunner, namespace: ai }
|
||||
spec:
|
||||
replicas: 1
|
||||
selector: { matchLabels: { app: coderunner } }
|
||||
template:
|
||||
metadata: { labels: { app: coderunner } }
|
||||
spec:
|
||||
serviceAccountName: coderunner-sa
|
||||
containers:
|
||||
- name: coderunner
|
||||
image: docker.io/ion606/coderunner:latest
|
||||
ports: [{ containerPort: 8787 }]
|
||||
env:
|
||||
- { name: PORT, value: "8787" }
|
||||
- {
|
||||
name: NAMESPACE,
|
||||
valueFrom:
|
||||
{ fieldRef: { fieldPath: metadata.namespace } },
|
||||
}
|
||||
readinessProbe:
|
||||
{
|
||||
httpGet: { path: "/openapi.json", port: 8787 },
|
||||
initialDelaySeconds: 5,
|
||||
periodSeconds: 10,
|
||||
}
|
||||
livenessProbe:
|
||||
{
|
||||
httpGet: { path: "/openapi.json", port: 8787 },
|
||||
initialDelaySeconds: 15,
|
||||
periodSeconds: 20,
|
||||
}
|
||||
resources:
|
||||
requests: { cpu: "100m", memory: "128Mi" }
|
||||
limits: { cpu: "500m", memory: "512Mi" }
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata: { name: coderunner, namespace: ai }
|
||||
spec:
|
||||
selector: { app: coderunner }
|
||||
ports: [{ name: http, port: 8787, targetPort: 8787 }]
|
||||
type: ClusterIP
|
||||
@@ -0,0 +1,27 @@
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata: { name: coderunner-sa, namespace: ai }
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: Role
|
||||
metadata: { name: coderunner-job-role, namespace: ai }
|
||||
rules:
|
||||
- apiGroups: ["batch"]
|
||||
resources: ["jobs"]
|
||||
verbs: ["create", "get", "list", "watch", "delete"]
|
||||
- apiGroups: [""]
|
||||
resources: ["pods", "pods/log"]
|
||||
verbs: ["get", "list", "watch", "delete"]
|
||||
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: RoleBinding
|
||||
metadata: { name: coderunner-job-rb, namespace: ai }
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: coderunner-sa
|
||||
namespace: ai
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: Role
|
||||
name: coderunner-job-role
|
||||
@@ -0,0 +1,6 @@
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: NetworkPolicy
|
||||
metadata: { name: default-deny-all, namespace: ai }
|
||||
spec:
|
||||
podSelector: {}
|
||||
policyTypes: ["Ingress", "Egress"]
|
||||
@@ -0,0 +1,39 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata: { name: rag-server, namespace: ai }
|
||||
spec:
|
||||
replicas: 1
|
||||
selector: { matchLabels: { app: rag-server } }
|
||||
template:
|
||||
metadata: { labels: { app: rag-server } }
|
||||
spec:
|
||||
containers:
|
||||
- name: rag-server
|
||||
image: docker.io/ion606/rag-server:latest
|
||||
ports: [{ containerPort: 8788 }]
|
||||
env:
|
||||
- { name: PORT, value: "8788" }
|
||||
- {
|
||||
name: OLLAMA_BASE,
|
||||
value: "http://ollama.ai.svc.cluster.local:11434",
|
||||
}
|
||||
- { name: OLLAMA_CHAT_MODEL, value: "llama3.1" }
|
||||
- { name: OLLAMA_EMBED_MODEL, value: "nomic-embed-text" }
|
||||
readinessProbe:
|
||||
{ httpGet: { path: "/openapi.json", port: 8788 } }
|
||||
livenessProbe:
|
||||
{
|
||||
httpGet: { path: "/", port: 8788 },
|
||||
initialDelaySeconds: 10,
|
||||
}
|
||||
resources:
|
||||
requests: { cpu: "200m", memory: "256Mi" }
|
||||
limits: { cpu: "1", memory: "1Gi" }
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata: { name: rag-server, namespace: ai }
|
||||
spec:
|
||||
selector: { app: rag-server }
|
||||
ports: [{ name: http, port: 8788, targetPort: 8788 }]
|
||||
type: ClusterIP
|
||||
@@ -0,0 +1,35 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata: { name: tools, namespace: ai }
|
||||
spec:
|
||||
replicas: 1
|
||||
selector: { matchLabels: { app: tools } }
|
||||
template:
|
||||
metadata: { labels: { app: tools } }
|
||||
spec:
|
||||
containers:
|
||||
- name: tools
|
||||
image: docker.io/ion606/tools:latest
|
||||
ports: [{ containerPort: 1331 }]
|
||||
env:
|
||||
- { name: HOST, value: "0.0.0.0" }
|
||||
- { name: PORT, value: "1331" }
|
||||
- { name: ROKU_IP, value: "192.0.2.10" }
|
||||
readinessProbe:
|
||||
{ httpGet: { path: "/roku/openapi.json", port: 1331 } }
|
||||
livenessProbe:
|
||||
{
|
||||
httpGet: { path: "/roku/openapi.json", port: 1331 },
|
||||
initialDelaySeconds: 10,
|
||||
}
|
||||
resources:
|
||||
requests: { cpu: "100m", memory: "128Mi" }
|
||||
limits: { cpu: "500m", memory: "512Mi" }
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata: { name: tools, namespace: ai }
|
||||
spec:
|
||||
selector: { app: tools }
|
||||
ports: [{ name: http, port: 1331, targetPort: 1331 }]
|
||||
type: ClusterIP
|
||||
Reference in New Issue
Block a user