Files
pikasTech-HWLAB/deploy/gitops/node/nc01/runtime-v03/deepseek-proxy.yaml
T
2026-07-10 08:44:31 +00:00

328 lines
13 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: 3a87d3513a2f5ec629e394de3376165cb41ee913
hwlab.pikastech.local/monitoring: disabled
data:
render-config.sh: >
#!/bin/sh
if [ -z "${DEEPSEEK_API_KEY:-}" ] && [ -z "${OPENCODE_API_KEY:-}" ];
then
echo "at least one of DEEPSEEK_API_KEY or OPENCODE_API_KEY is required" >&2
exit 1
fi
cat > /config/config.yml <<EOF
mode: "Transform"
log:
level: "info"
format: "text"
server:
addr: "0.0.0.0:4001"
persistence:
active_provider: db_sqlite
extensions:
db_sqlite:
enabled: true
config:
path: /data/moonbridge.db
wal: true
busy_timeout_ms: 5000
max_open_conns: 1
metrics:
enabled: true
config:
default_limit: 100
max_limit: 1000
deepseek_v4:
config:
reinforce_instructions: true
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]:"
cache:
mode: "explicit"
ttl: "5m"
prompt_caching: true
automatic_prompt_cache: false
explicit_cache_breakpoints: true
allow_retention_downgrade: false
max_breakpoints: 4
min_cache_tokens: 1024
expected_reuse: 2
minimum_value_score: 2048
min_breakpoint_tokens: 1024
defaults:
model: "deepseek-chat"
max_tokens: 8192
trace:
enabled: false
models:
deepseek-chat:
context_window: 128000
max_output_tokens: 8192
display_name: "deepseek-chat"
description: "DeepSeek via Moon Bridge"
default_reasoning_level: null
supported_reasoning_levels: []
extensions:
deepseek_v4:
enabled: true
deepseek-v4-flash:
context_window: 1000000
max_output_tokens: 384000
display_name: "DeepSeek V4 Flash via OpenCode Zen Go"
description: "DeepSeek V4 Flash through OpenCode Zen Go Chat Completions via Moon Bridge"
default_reasoning_level: "xhigh"
supported_reasoning_levels:
- effort: "high"
description: "High reasoning effort"
- effort: "xhigh"
description: "Maximum reasoning effort"
supports_reasoning_summaries: true
default_reasoning_summary: "auto"
extensions:
deepseek_v4:
enabled: true
providers:
deepseek:
base_url: "https://api.deepseek.com/anthropic"
api_key: "${DEEPSEEK_API_KEY}"
version: "2023-06-01"
user_agent: "moonbridge/1.0"
offers:
- model: deepseek-chat
opencode:
base_url: "https://opencode.ai/zen/go/v1"
api_key: "${OPENCODE_API_KEY:-}"
protocol: "openai-chat"
user_agent: "moonbridge-dsflash-go/1.0"
web_search:
support: "disabled"
offers:
- model: deepseek-v4-flash
routes:
deepseek-chat:
model: deepseek-chat
provider: deepseek
deepseek-v4-flash:
model: deepseek-v4-flash
provider: opencode
EOF
- 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: 3a87d3513a2f5ec629e394de3376165cb41ee913
hwlab.pikastech.local/monitoring: disabled
annotations:
hwlab.pikastech.local/moonbridge-source-ref: 1b99888d3dae889b79ee602cb875c7907f7e76f2
hwlab.pikastech.local/bridge-service-id: hwlab-cloud-api
hwlab.pikastech.local/source-commit: 3a87d3513a2f5ec629e394de3376165cb41ee913
hwlab.pikastech.local/bridge-source-commit: 3a87d3513a2f5ec629e394de3376165cb41ee913
hwlab.pikastech.local/bridge-image-tag: env-6ef8ca3abf22
hwlab.pikastech.local/bridge-image: 127.0.0.1:5000/hwlab/hwlab-ts-runtime-env@sha256:212f1da818f32500f25c495a6a4708a4113f44f4f2718387398dd5d7cfeb2967
hwlab.pikastech.local/bridge-runtime-mode: env-reuse-git-mirror-checkout
hwlab.pikastech.local/bridge-boot-repo: git@github.com:pikasTech/HWLAB.git
hwlab.pikastech.local/bridge-boot-commit: 3a87d3513a2f5ec629e394de3376165cb41ee913
hwlab.pikastech.local/bridge-boot-sh: deploy/runtime/boot/hwlab-deepseek-responses-bridge.sh
hwlab.pikastech.local/bridge-environment-digest: sha256:212f1da818f32500f25c495a6a4708a4113f44f4f2718387398dd5d7cfeb2967
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: 3a87d3513a2f5ec629e394de3376165cb41ee913
hwlab.pikastech.local/monitoring: disabled
hwlab.pikastech.local/bridge-source-commit: 3a87d3513a2f5ec629e394de3376165cb41ee913
hwlab.pikastech.local/bridge-runtime-mode: env-reuse-git-mirror-checkout
hwlab.pikastech.local/bridge-boot-commit: 3a87d3513a2f5ec629e394de3376165cb41ee913
annotations:
hwlab.pikastech.local/bridge-service-id: hwlab-cloud-api
hwlab.pikastech.local/source-commit: 3a87d3513a2f5ec629e394de3376165cb41ee913
hwlab.pikastech.local/bridge-source-commit: 3a87d3513a2f5ec629e394de3376165cb41ee913
hwlab.pikastech.local/bridge-image-tag: env-6ef8ca3abf22
hwlab.pikastech.local/bridge-image: 127.0.0.1:5000/hwlab/hwlab-ts-runtime-env@sha256:212f1da818f32500f25c495a6a4708a4113f44f4f2718387398dd5d7cfeb2967
hwlab.pikastech.local/bridge-runtime-mode: env-reuse-git-mirror-checkout
hwlab.pikastech.local/bridge-boot-repo: git@github.com:pikasTech/HWLAB.git
hwlab.pikastech.local/bridge-boot-commit: 3a87d3513a2f5ec629e394de3376165cb41ee913
hwlab.pikastech.local/bridge-boot-sh: deploy/runtime/boot/hwlab-deepseek-responses-bridge.sh
hwlab.pikastech.local/bridge-environment-digest: sha256:212f1da818f32500f25c495a6a4708a4113f44f4f2718387398dd5d7cfeb2967
spec:
initContainers:
- name: moonbridge-config
image: 127.0.0.1:5000/hwlab/hwlab-ts-runtime-env@sha256:212f1da818f32500f25c495a6a4708a4113f44f4f2718387398dd5d7cfeb2967
imagePullPolicy: IfNotPresent
command:
- /bin/sh
- -eu
- /scripts/render-config.sh
env:
- name: DEEPSEEK_API_KEY
valueFrom:
secretKeyRef:
name: hwlab-v03-code-agent-provider
key: openai-api-key
optional: true
- name: OPENCODE_API_KEY
valueFrom:
secretKeyRef:
name: hwlab-v03-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-ts-runtime-env@sha256:212f1da818f32500f25c495a6a4708a4113f44f4f2718387398dd5d7cfeb2967
imagePullPolicy: IfNotPresent
env:
- name: PORT
value: "4000"
- name: HWLAB_COMMIT_ID
value: 3a87d3513a2f5ec629e394de3376165cb41ee913
- name: HWLAB_IMAGE
value: 127.0.0.1:5000/hwlab/hwlab-ts-runtime-env@sha256:212f1da818f32500f25c495a6a4708a4113f44f4f2718387398dd5d7cfeb2967
- name: HWLAB_IMAGE_TAG
value: env-6ef8ca3abf22
- name: HWLAB_DEEPSEEK_BRIDGE_UPSTREAM
value: http://127.0.0.1:4001
- name: HWLAB_DEEPSEEK_BRIDGE_MODEL
value: deepseek-chat
- name: HWLAB_RUNTIME_MODE
value: env-reuse-git-mirror-checkout
- name: HWLAB_BOOT_REPO
value: git@github.com:pikasTech/HWLAB.git
- name: HWLAB_BOOT_COMMIT
value: 3a87d3513a2f5ec629e394de3376165cb41ee913
- name: HWLAB_BOOT_REF
value: v0.3
- name: HWLAB_BOOT_SH
value: deploy/runtime/boot/hwlab-deepseek-responses-bridge.sh
- name: HWLAB_BOOT_READ_URL
value: http://gitea-http.devops-infra.svc.cluster.local:3000/mirrors/pikasTech-HWLAB.git
- name: HWLAB_ENVIRONMENT_IMAGE
value: 127.0.0.1:5000/hwlab/hwlab-ts-runtime-env:env-6ef8ca3abf22
- name: HWLAB_ENVIRONMENT_DIGEST
value: sha256:212f1da818f32500f25c495a6a4708a4113f44f4f2718387398dd5d7cfeb2967
- name: HWLAB_ENVIRONMENT_INPUT_HASH
value: 6ef8ca3abf22d871599b06333d285bd64f105a7a799b2937bb9c8f037fc0fd93
- name: HWLAB_CODE_INPUT_HASH
value: 42ccfe73401c8afec008ddfbeab5ae5b568d0a2dbedbe92b35bdb9ff1d034916
- name: HWLAB_IMAGE_DIGEST
value: sha256:212f1da818f32500f25c495a6a4708a4113f44f4f2718387398dd5d7cfeb2967
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
startupProbe:
httpGet:
path: /health/readiness
port: http
initialDelaySeconds: 10
periodSeconds: 10
timeoutSeconds: 2
failureThreshold: 30
successThreshold: 1
- 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: 3a87d3513a2f5ec629e394de3376165cb41ee913
hwlab.pikastech.local/monitoring: disabled
spec:
type: ClusterIP
selector:
app.kubernetes.io/name: hwlab-deepseek-proxy
ports:
- name: http
port: 4000
targetPort: http
- name: metrics
port: 9100
targetPort: metrics