Files
pikasTech-HWLAB/deploy/gitops/g14/runtime-v03/deepseek-proxy.yaml
T
2026-06-08 09:52:38 +00:00

272 lines
12 KiB
YAML

{
"apiVersion": "v1",
"kind": "List",
"items": [
{
"apiVersion": "v1",
"kind": "ConfigMap",
"metadata": {
"name": "hwlab-deepseek-proxy-config",
"namespace": "hwlab-v03",
"labels": {
"app.kubernetes.io/name": "hwlab-deepseek-proxy",
"app.kubernetes.io/part-of": "hwlab",
"hwlab.pikastech.local/environment": "v03",
"hwlab.pikastech.local/gitops-target": "v03",
"hwlab.pikastech.local/service-id": "hwlab-deepseek-proxy",
"hwlab.pikastech.local/source-commit": "1ce1a40292d456ec0e12984b072d551a8b713b8e"
}
},
"data": {
"render-config.sh": "#!/bin/sh\nif [ -z \"${DEEPSEEK_API_KEY:-}\" ] && [ -z \"${OPENCODE_API_KEY:-}\" ]; then\n echo \"at least one of DEEPSEEK_API_KEY or OPENCODE_API_KEY is required\" >&2\n exit 1\nfi\ncat > /config/config.yml <<EOF\nmode: \"Transform\"\nlog:\n level: \"info\"\n format: \"text\"\nserver:\n addr: \"0.0.0.0:4001\"\npersistence:\n active_provider: db_sqlite\nextensions:\n db_sqlite:\n enabled: true\n config:\n path: /data/moonbridge.db\n wal: true\n busy_timeout_ms: 5000\n max_open_conns: 1\n metrics:\n enabled: true\n config:\n default_limit: 100\n max_limit: 1000\n deepseek_v4:\n config:\n reinforce_instructions: true\n reinforce_prompt: \"[System Reminder]: Please pay close attention to the system instructions, AGENTS.md files, and any other context provided. Follow them carefully and completely in your response.\\n[User]:\"\ncache:\n mode: \"explicit\"\n ttl: \"5m\"\n prompt_caching: true\n automatic_prompt_cache: false\n explicit_cache_breakpoints: true\n allow_retention_downgrade: false\n max_breakpoints: 4\n min_cache_tokens: 1024\n expected_reuse: 2\n minimum_value_score: 2048\n min_breakpoint_tokens: 1024\ndefaults:\n model: \"deepseek-chat\"\n max_tokens: 8192\ntrace:\n enabled: false\nmodels:\n deepseek-chat:\n context_window: 128000\n max_output_tokens: 8192\n display_name: \"deepseek-chat\"\n description: \"DeepSeek via Moon Bridge\"\n default_reasoning_level: null\n supported_reasoning_levels: []\n extensions:\n deepseek_v4:\n enabled: true\n deepseek-v4-flash:\n context_window: 1000000\n max_output_tokens: 384000\n display_name: \"DeepSeek V4 Flash via OpenCode Zen Go\"\n description: \"DeepSeek V4 Flash through OpenCode Zen Go Chat Completions via Moon Bridge\"\n default_reasoning_level: \"xhigh\"\n supported_reasoning_levels:\n - effort: \"high\"\n description: \"High reasoning effort\"\n - effort: \"xhigh\"\n description: \"Maximum reasoning effort\"\n supports_reasoning_summaries: true\n default_reasoning_summary: \"auto\"\n extensions:\n deepseek_v4:\n enabled: true\nproviders:\n deepseek:\n base_url: \"https://api.deepseek.com/anthropic\"\n api_key: \"${DEEPSEEK_API_KEY}\"\n version: \"2023-06-01\"\n user_agent: \"moonbridge/1.0\"\n offers:\n - model: deepseek-chat\n opencode:\n base_url: \"https://opencode.ai/zen/go/v1\"\n api_key: \"${OPENCODE_API_KEY:-}\"\n protocol: \"openai-chat\"\n user_agent: \"moonbridge-dsflash-go/1.0\"\n web_search:\n support: \"disabled\"\n offers:\n - model: deepseek-v4-flash\nroutes:\n deepseek-chat:\n model: deepseek-chat\n provider: deepseek\n deepseek-v4-flash:\n model: deepseek-v4-flash\n provider: opencode\nEOF\n"
}
},
{
"apiVersion": "apps/v1",
"kind": "Deployment",
"metadata": {
"name": "hwlab-deepseek-proxy",
"namespace": "hwlab-v03",
"labels": {
"app.kubernetes.io/name": "hwlab-deepseek-proxy",
"app.kubernetes.io/part-of": "hwlab",
"hwlab.pikastech.local/environment": "v03",
"hwlab.pikastech.local/gitops-target": "v03",
"hwlab.pikastech.local/service-id": "hwlab-deepseek-proxy",
"hwlab.pikastech.local/source-commit": "1ce1a40292d456ec0e12984b072d551a8b713b8e"
},
"annotations": {
"hwlab.pikastech.local/moonbridge-source-ref": "1b99888d3dae889b79ee602cb875c7907f7e76f2",
"hwlab.pikastech.local/bridge-service-id": "hwlab-cloud-api",
"hwlab.pikastech.local/source-commit": "e06f348dcad9f0d8de858e93c713e6bb6db3c59a",
"hwlab.pikastech.local/bridge-source-commit": "e06f348dcad9f0d8de858e93c713e6bb6db3c59a",
"hwlab.pikastech.local/bridge-image-tag": "env-3c30125770a1",
"hwlab.pikastech.local/bridge-image": "127.0.0.1:5000/hwlab/hwlab-cloud-api-env:env-3c30125770a1"
}
},
"spec": {
"replicas": 1,
"selector": {
"matchLabels": {
"app.kubernetes.io/name": "hwlab-deepseek-proxy"
}
},
"template": {
"metadata": {
"labels": {
"app.kubernetes.io/name": "hwlab-deepseek-proxy",
"app.kubernetes.io/part-of": "hwlab",
"hwlab.pikastech.local/environment": "v03",
"hwlab.pikastech.local/gitops-target": "v03",
"hwlab.pikastech.local/service-id": "hwlab-deepseek-proxy",
"hwlab.pikastech.local/source-commit": "e06f348dcad9f0d8de858e93c713e6bb6db3c59a",
"hwlab.pikastech.local/bridge-source-commit": "e06f348dcad9f0d8de858e93c713e6bb6db3c59a"
},
"annotations": {
"hwlab.pikastech.local/bridge-service-id": "hwlab-cloud-api",
"hwlab.pikastech.local/source-commit": "e06f348dcad9f0d8de858e93c713e6bb6db3c59a",
"hwlab.pikastech.local/bridge-source-commit": "e06f348dcad9f0d8de858e93c713e6bb6db3c59a",
"hwlab.pikastech.local/bridge-image-tag": "env-3c30125770a1",
"hwlab.pikastech.local/bridge-image": "127.0.0.1:5000/hwlab/hwlab-cloud-api-env:env-3c30125770a1"
}
},
"spec": {
"initContainers": [
{
"name": "moonbridge-config",
"image": "127.0.0.1:5000/hwlab/hwlab-cloud-api-env:env-3c30125770a1",
"imagePullPolicy": "IfNotPresent",
"command": [
"/bin/sh",
"-eu",
"/scripts/render-config.sh"
],
"env": [
{
"name": "DEEPSEEK_API_KEY",
"valueFrom": {
"secretKeyRef": {
"name": "hwlab-code-agent-provider",
"key": "openai-api-key",
"optional": true
}
}
},
{
"name": "OPENCODE_API_KEY",
"valueFrom": {
"secretKeyRef": {
"name": "hwlab-code-agent-provider",
"key": "opencode-api-key",
"optional": true
}
}
}
],
"volumeMounts": [
{
"name": "moonbridge-scripts",
"mountPath": "/scripts",
"readOnly": true
},
{
"name": "moonbridge-config",
"mountPath": "/config"
}
]
}
],
"containers": [
{
"name": "responses-bridge",
"image": "127.0.0.1:5000/hwlab/hwlab-cloud-api-env:env-3c30125770a1",
"imagePullPolicy": "IfNotPresent",
"command": [
"/usr/local/bin/bun",
"run",
"/app/cmd/hwlab-deepseek-responses-bridge/main.ts"
],
"env": [
{
"name": "PORT",
"value": "4000"
},
{
"name": "HWLAB_COMMIT_ID",
"value": "e06f348dcad9f0d8de858e93c713e6bb6db3c59a"
},
{
"name": "HWLAB_IMAGE",
"value": "127.0.0.1:5000/hwlab/hwlab-cloud-api-env:env-3c30125770a1"
},
{
"name": "HWLAB_IMAGE_TAG",
"value": "env-3c30125770a1"
},
{
"name": "HWLAB_DEEPSEEK_BRIDGE_UPSTREAM",
"value": "http://127.0.0.1:4001"
},
{
"name": "HWLAB_DEEPSEEK_BRIDGE_MODEL",
"value": "deepseek-chat"
}
],
"ports": [
{
"name": "http",
"containerPort": 4000
}
],
"readinessProbe": {
"httpGet": {
"path": "/health/readiness",
"port": "http"
},
"initialDelaySeconds": 10,
"periodSeconds": 10
},
"livenessProbe": {
"httpGet": {
"path": "/health/liveliness",
"port": "http"
},
"initialDelaySeconds": 20,
"periodSeconds": 20
}
},
{
"name": "moonbridge",
"image": "127.0.0.1:5000/hwlab/moonbridge:1b99888d3dae",
"imagePullPolicy": "IfNotPresent",
"args": [
"-config",
"/config/config.yml"
],
"ports": [
{
"name": "moonbridge-http",
"containerPort": 4001
}
],
"readinessProbe": {
"httpGet": {
"path": "/v1/models",
"port": "moonbridge-http"
},
"initialDelaySeconds": 10,
"periodSeconds": 10
},
"livenessProbe": {
"httpGet": {
"path": "/v1/models",
"port": "moonbridge-http"
},
"initialDelaySeconds": 20,
"periodSeconds": 20
},
"volumeMounts": [
{
"name": "moonbridge-config",
"mountPath": "/config",
"readOnly": true
},
{
"name": "moonbridge-data",
"mountPath": "/data"
}
]
}
],
"volumes": [
{
"name": "moonbridge-scripts",
"configMap": {
"name": "hwlab-deepseek-proxy-config"
}
},
{
"name": "moonbridge-config",
"emptyDir": {}
},
{
"name": "moonbridge-data",
"emptyDir": {}
}
]
}
}
}
},
{
"apiVersion": "v1",
"kind": "Service",
"metadata": {
"name": "hwlab-deepseek-proxy",
"namespace": "hwlab-v03",
"labels": {
"app.kubernetes.io/name": "hwlab-deepseek-proxy",
"app.kubernetes.io/part-of": "hwlab",
"hwlab.pikastech.local/environment": "v03",
"hwlab.pikastech.local/gitops-target": "v03",
"hwlab.pikastech.local/service-id": "hwlab-deepseek-proxy",
"hwlab.pikastech.local/source-commit": "1ce1a40292d456ec0e12984b072d551a8b713b8e"
}
},
"spec": {
"type": "ClusterIP",
"selector": {
"app.kubernetes.io/name": "hwlab-deepseek-proxy"
},
"ports": [
{
"name": "http",
"port": 4000,
"targetPort": "http"
}
]
}
}
]
}