gx10-gitops: pilot — capture live knowledge manifests (adoption source)

This commit is contained in:
Andrew Stoltz
2026-06-16 22:18:20 -05:00
parent 4b58b0ca5f
commit 0218b1f8b6
3 changed files with 319 additions and 0 deletions

View File

@@ -0,0 +1,261 @@
{
"apiVersion": "apps/v1",
"kind": "Deployment",
"metadata": {
"labels": {
"app": "knowledge-web",
"app.kubernetes.io/name": "knowledge-web",
"app.kubernetes.io/part-of": "bluejay-infra"
},
"name": "knowledge-web",
"namespace": "knowledge"
},
"spec": {
"progressDeadlineSeconds": 600,
"replicas": 1,
"revisionHistoryLimit": 3,
"selector": {
"matchLabels": {
"app": "knowledge-web"
}
},
"strategy": {
"type": "Recreate"
},
"template": {
"metadata": {
"annotations": {
"fc.flowercore.io/healthz-anon": "true",
"fc.flowercore.io/probe-path": "/healthz",
"flowercore.io/healthz-auth-policy": "allow-anonymous",
"kubectl.kubernetes.io/restartedAt": "2026-06-14T00:57:20-05:00",
"prometheus.io/path": "/metrics",
"prometheus.io/port": "8080",
"prometheus.io/scrape": "true"
},
"labels": {
"app": "knowledge-web",
"app.kubernetes.io/name": "knowledge-web",
"app.kubernetes.io/part-of": "bluejay-infra"
}
},
"spec": {
"containers": [
{
"args": [
"if [ -n \"${KNOWLEDGE_MCP_BEARER_TOKEN:-}\" ]; then\n export FlowerCore__Mcp__ApiKey__Key=\"Bearer ${KNOWLEDGE_MCP_BEARER_TOKEN}\"\nfi\nexec dotnet FlowerCore.Knowledge.Web.dll\n"
],
"command": [
"/bin/sh",
"-c"
],
"env": [
{
"name": "ASPNETCORE_URLS",
"value": "http://+:8080"
},
{
"name": "ASPNETCORE_ENVIRONMENT",
"value": "Production"
},
{
"name": "DOTNET_SYSTEM_GLOBALIZATION_INVARIANT",
"value": "false"
},
{
"name": "FlowerCore__Auth__Enabled",
"value": "false"
},
{
"name": "FlowerCore__Auth__Oidc__Enabled",
"value": "true"
},
{
"name": "FlowerCore__Auth__Oidc__Authority",
"value": "https://id.iamworkin.lan/application/o/knowledge/"
},
{
"name": "FlowerCore__Auth__Oidc__Audience",
"value": "knowledge"
},
{
"name": "FlowerCore__Auth__Oidc__ClientId",
"value": "knowledge"
},
{
"name": "FlowerCore__Auth__Oidc__ClientSecret",
"valueFrom": {
"secretKeyRef": {
"key": "client_secret",
"name": "knowledge-oidc-client",
"optional": true
}
}
},
{
"name": "Knowledge__VectorStoresDirectory",
"value": "/data/vector-stores"
},
{
"name": "Knowledge__EmbeddingModel",
"value": "nomic-embed-text"
},
{
"name": "Knowledge__DefaultLimit",
"value": "5"
},
{
"name": "Knowledge__MaxLimit",
"value": "50"
},
{
"name": "Knowledge__Federation__DatabasePath",
"value": "/data/vector-stores/knowledge-federation.db"
},
{
"name": "FlowerCore__Editions__ProfileDirectory",
"value": "/home/app/editions"
},
{
"name": "FlowerCore__Ollama__BaseUrl",
"value": "http://10.0.57.201:11434"
},
{
"name": "FlowerCore__Mcp__ApiKey__Key",
"valueFrom": {
"secretKeyRef": {
"key": "password",
"name": "knowledge-mcp-tokens"
}
}
},
{
"name": "FlowerCore__Mcp__ApiKey__HeaderName",
"value": "Authorization"
},
{
"name": "KNOWLEDGE_MCP_BEARER_TOKEN",
"valueFrom": {
"secretKeyRef": {
"key": "password",
"name": "knowledge-mcp-tokens"
}
}
},
{
"name": "Knowledge__CorpusRootDirectory",
"value": "/data/vector-stores/corpus-cache"
}
],
"image": "localhost/fc-knowledge-web:gx10-v1",
"imagePullPolicy": "Never",
"livenessProbe": {
"failureThreshold": 3,
"initialDelaySeconds": 30,
"periodSeconds": 30,
"successThreshold": 1,
"tcpSocket": {
"port": 8080
},
"timeoutSeconds": 1
},
"name": "web",
"ports": [
{
"containerPort": 8080,
"name": "http",
"protocol": "TCP"
}
],
"readinessProbe": {
"failureThreshold": 3,
"httpGet": {
"path": "/healthz",
"port": 8080,
"scheme": "HTTP"
},
"periodSeconds": 10,
"successThreshold": 1,
"timeoutSeconds": 1
},
"resources": {
"limits": {
"cpu": "2",
"memory": "4Gi"
},
"requests": {
"cpu": "250m",
"memory": "512Mi"
}
},
"securityContext": {
"allowPrivilegeEscalation": false,
"capabilities": {
"drop": [
"ALL"
]
},
"readOnlyRootFilesystem": true,
"runAsGroup": 1654,
"runAsNonRoot": true,
"runAsUser": 1654
},
"startupProbe": {
"failureThreshold": 30,
"httpGet": {
"path": "/healthz",
"port": 8080,
"scheme": "HTTP"
},
"initialDelaySeconds": 5,
"periodSeconds": 5,
"successThreshold": 1,
"timeoutSeconds": 1
},
"terminationMessagePath": "/dev/termination-log",
"terminationMessagePolicy": "File",
"volumeMounts": [
{
"mountPath": "/data/vector-stores",
"name": "vector-store"
},
{
"mountPath": "/tmp",
"name": "tmp"
},
{
"mountPath": "/home/app/logs",
"name": "logs"
}
]
}
],
"dnsPolicy": "ClusterFirst",
"restartPolicy": "Always",
"schedulerName": "default-scheduler",
"securityContext": {
"fsGroup": 1654,
"fsGroupChangePolicy": "OnRootMismatch",
"runAsNonRoot": true
},
"terminationGracePeriodSeconds": 30,
"volumes": [
{
"name": "vector-store",
"persistentVolumeClaim": {
"claimName": "knowledge-vector-store"
}
},
{
"emptyDir": {},
"name": "tmp"
},
{
"emptyDir": {},
"name": "logs"
}
]
}
}
}
}