initial argo commit

This commit is contained in:
ION606
2025-09-12 11:20:18 -04:00
parent 9153c3b1c6
commit e5cae3dc52
24 changed files with 642 additions and 79 deletions
+40
View File
@@ -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
+44
View File
@@ -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
+27
View File
@@ -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
+6
View File
@@ -0,0 +1,6 @@
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata: { name: default-deny-all, namespace: ai }
spec:
podSelector: {}
policyTypes: ["Ingress", "Egress"]
+39
View File
@@ -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
+35
View File
@@ -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