chore: promote G14 GitOps source 5fdfc9f
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"apiVersion": "v1",
|
||||
"kind": "ConfigMap",
|
||||
"metadata": {
|
||||
"name": "hwlab-code-agent-codex-config",
|
||||
"namespace": "hwlab-v02",
|
||||
"labels": {
|
||||
"app.kubernetes.io/name": "hwlab-code-agent-codex-config",
|
||||
"hwlab.pikastech.local/service-id": "hwlab-cloud-api",
|
||||
"hwlab.pikastech.local/gitops-target": "v02",
|
||||
"hwlab.pikastech.local/source-commit": "5fdfc9f82ae0fb7fc6fd08da7cb9d072f0b567a4",
|
||||
"hwlab.pikastech.local/environment": "v02",
|
||||
"hwlab.pikastech.local/profile": "v02"
|
||||
},
|
||||
"annotations": {
|
||||
"hwlab.pikastech.local/rendered-by": "scripts/g14-gitops-render.mjs"
|
||||
}
|
||||
},
|
||||
"data": {
|
||||
"config.toml": "model_provider = \"OpenAI\"\nmodel = \"gpt-5.4\"\nreview_model = \"gpt-5.4\"\nmodel_reasoning_effort = \"xhigh\"\ndisable_response_storage = true\nnetwork_access = \"enabled\"\nmodel_context_window = 1000000\nmodel_auto_compact_token_limit = 900000\n\n[model_providers.OpenAI]\nname = \"OpenAI\"\nbase_url = \"https://hyueapi.com\"\nwire_api = \"responses\"\nrequires_openai_auth = true\n\n[model_providers.crs]\nrequest_max_retries = 1000\nstream_max_retries = 1000\nname = \"crs\"\nbase_url = \"https://api.gptclubapi.xyz/openai\"\nwire_api = \"responses\"\nrequires_openai_auth = true\nenv_key = \"CRS_OAI_KEY\"\n"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,253 @@
|
||||
{
|
||||
"apiVersion": "v1",
|
||||
"kind": "List",
|
||||
"items": [
|
||||
{
|
||||
"apiVersion": "v1",
|
||||
"kind": "ConfigMap",
|
||||
"metadata": {
|
||||
"name": "hwlab-deepseek-proxy-config",
|
||||
"namespace": "hwlab-v02",
|
||||
"labels": {
|
||||
"app.kubernetes.io/name": "hwlab-deepseek-proxy",
|
||||
"app.kubernetes.io/part-of": "hwlab",
|
||||
"hwlab.pikastech.local/environment": "v02",
|
||||
"hwlab.pikastech.local/gitops-target": "v02",
|
||||
"hwlab.pikastech.local/service-id": "hwlab-deepseek-proxy"
|
||||
}
|
||||
},
|
||||
"data": {
|
||||
"render-config.sh": "#!/bin/sh\nif [ -z \"${DEEPSEEK_API_KEY:-}\" ]; then\n echo \"DEEPSEEK_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\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\nroutes:\n deepseek-chat:\n model: deepseek-chat\n provider: deepseek\nEOF\n"
|
||||
}
|
||||
},
|
||||
{
|
||||
"apiVersion": "apps/v1",
|
||||
"kind": "Deployment",
|
||||
"metadata": {
|
||||
"name": "hwlab-deepseek-proxy",
|
||||
"namespace": "hwlab-v02",
|
||||
"labels": {
|
||||
"app.kubernetes.io/name": "hwlab-deepseek-proxy",
|
||||
"app.kubernetes.io/part-of": "hwlab",
|
||||
"hwlab.pikastech.local/environment": "v02",
|
||||
"hwlab.pikastech.local/gitops-target": "v02",
|
||||
"hwlab.pikastech.local/service-id": "hwlab-deepseek-proxy"
|
||||
},
|
||||
"annotations": {
|
||||
"hwlab.pikastech.local/moonbridge-source-ref": "1b99888d3dae889b79ee602cb875c7907f7e76f2",
|
||||
"hwlab.pikastech.local/bridge-service-id": "hwlab-cloud-api",
|
||||
"hwlab.pikastech.local/bridge-source-commit": "5fdfc9f82ae0fb7fc6fd08da7cb9d072f0b567a4",
|
||||
"hwlab.pikastech.local/bridge-image-tag": "5fdfc9f82ae0fb7fc6fd08da7cb9d072f0b567a4",
|
||||
"hwlab.pikastech.local/bridge-image": "127.0.0.1:5000/hwlab/hwlab-cloud-api@sha256:d255b7c60197ccb3f2eb8f32a39f825bda4f8e0ad0096359625f61cf65afe656"
|
||||
}
|
||||
},
|
||||
"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": "v02",
|
||||
"hwlab.pikastech.local/gitops-target": "v02",
|
||||
"hwlab.pikastech.local/service-id": "hwlab-deepseek-proxy"
|
||||
},
|
||||
"annotations": {
|
||||
"hwlab.pikastech.local/bridge-service-id": "hwlab-cloud-api",
|
||||
"hwlab.pikastech.local/bridge-source-commit": "5fdfc9f82ae0fb7fc6fd08da7cb9d072f0b567a4",
|
||||
"hwlab.pikastech.local/bridge-image-tag": "5fdfc9f82ae0fb7fc6fd08da7cb9d072f0b567a4",
|
||||
"hwlab.pikastech.local/bridge-image": "127.0.0.1:5000/hwlab/hwlab-cloud-api@sha256:d255b7c60197ccb3f2eb8f32a39f825bda4f8e0ad0096359625f61cf65afe656"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"initContainers": [
|
||||
{
|
||||
"name": "moonbridge-config",
|
||||
"image": "127.0.0.1:5000/hwlab/hwlab-cloud-api@sha256:d255b7c60197ccb3f2eb8f32a39f825bda4f8e0ad0096359625f61cf65afe656",
|
||||
"imagePullPolicy": "IfNotPresent",
|
||||
"command": [
|
||||
"/bin/sh",
|
||||
"-eu",
|
||||
"/scripts/render-config.sh"
|
||||
],
|
||||
"env": [
|
||||
{
|
||||
"name": "DEEPSEEK_API_KEY",
|
||||
"valueFrom": {
|
||||
"secretKeyRef": {
|
||||
"name": "hwlab-v02-code-agent-provider",
|
||||
"key": "openai-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@sha256:d255b7c60197ccb3f2eb8f32a39f825bda4f8e0ad0096359625f61cf65afe656",
|
||||
"imagePullPolicy": "IfNotPresent",
|
||||
"command": [
|
||||
"node",
|
||||
"/app/cmd/hwlab-deepseek-responses-bridge/main.mjs"
|
||||
],
|
||||
"env": [
|
||||
{
|
||||
"name": "PORT",
|
||||
"value": "4000"
|
||||
},
|
||||
{
|
||||
"name": "HWLAB_COMMIT_ID",
|
||||
"value": "5fdfc9f82ae0fb7fc6fd08da7cb9d072f0b567a4"
|
||||
},
|
||||
{
|
||||
"name": "HWLAB_IMAGE",
|
||||
"value": "127.0.0.1:5000/hwlab/hwlab-cloud-api@sha256:d255b7c60197ccb3f2eb8f32a39f825bda4f8e0ad0096359625f61cf65afe656"
|
||||
},
|
||||
{
|
||||
"name": "HWLAB_IMAGE_TAG",
|
||||
"value": "5fdfc9f82ae0fb7fc6fd08da7cb9d072f0b567a4"
|
||||
},
|
||||
{
|
||||
"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-v02",
|
||||
"labels": {
|
||||
"app.kubernetes.io/name": "hwlab-deepseek-proxy",
|
||||
"app.kubernetes.io/part-of": "hwlab",
|
||||
"hwlab.pikastech.local/environment": "v02",
|
||||
"hwlab.pikastech.local/gitops-target": "v02",
|
||||
"hwlab.pikastech.local/service-id": "hwlab-deepseek-proxy"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"type": "ClusterIP",
|
||||
"selector": {
|
||||
"app.kubernetes.io/name": "hwlab-deepseek-proxy"
|
||||
},
|
||||
"ports": [
|
||||
{
|
||||
"name": "http",
|
||||
"port": 4000,
|
||||
"targetPort": "http"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,86 @@
|
||||
{
|
||||
"apiVersion": "v1",
|
||||
"kind": "List",
|
||||
"items": [
|
||||
{
|
||||
"apiVersion": "v1",
|
||||
"kind": "ConfigMap",
|
||||
"metadata": {
|
||||
"name": "hwlab-v02-frpc-config",
|
||||
"namespace": "hwlab-v02",
|
||||
"labels": {
|
||||
"app.kubernetes.io/name": "hwlab-v02-frpc",
|
||||
"app.kubernetes.io/part-of": "hwlab",
|
||||
"hwlab.pikastech.local/environment": "v02",
|
||||
"hwlab.pikastech.local/gitops-target": "v02",
|
||||
"hwlab.pikastech.local/profile": "v02"
|
||||
}
|
||||
},
|
||||
"data": {
|
||||
"frpc.toml": "serverAddr = \"74.48.78.17\"\nserverPort = 7000\nloginFailExit = true\n\n[[proxies]]\nname = \"hwlab-v02-cloud-web\"\ntype = \"tcp\"\nlocalIP = \"hwlab-cloud-web.hwlab-v02.svc.cluster.local\"\nlocalPort = 8080\nremotePort = 19666\n\n[[proxies]]\nname = \"hwlab-v02-edge-proxy\"\ntype = \"tcp\"\nlocalIP = \"hwlab-edge-proxy.hwlab-v02.svc.cluster.local\"\nlocalPort = 6667\nremotePort = 19667\n"
|
||||
}
|
||||
},
|
||||
{
|
||||
"apiVersion": "apps/v1",
|
||||
"kind": "Deployment",
|
||||
"metadata": {
|
||||
"name": "hwlab-v02-frpc",
|
||||
"namespace": "hwlab-v02",
|
||||
"labels": {
|
||||
"app.kubernetes.io/name": "hwlab-v02-frpc",
|
||||
"app.kubernetes.io/part-of": "hwlab",
|
||||
"hwlab.pikastech.local/environment": "v02",
|
||||
"hwlab.pikastech.local/gitops-target": "v02",
|
||||
"hwlab.pikastech.local/profile": "v02"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"replicas": 1,
|
||||
"selector": {
|
||||
"matchLabels": {
|
||||
"app.kubernetes.io/name": "hwlab-v02-frpc"
|
||||
}
|
||||
},
|
||||
"template": {
|
||||
"metadata": {
|
||||
"labels": {
|
||||
"app.kubernetes.io/name": "hwlab-v02-frpc",
|
||||
"app.kubernetes.io/part-of": "hwlab",
|
||||
"hwlab.pikastech.local/environment": "v02",
|
||||
"hwlab.pikastech.local/gitops-target": "v02",
|
||||
"hwlab.pikastech.local/profile": "v02"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"containers": [
|
||||
{
|
||||
"name": "frpc",
|
||||
"image": "fatedier/frpc:v0.68.1",
|
||||
"imagePullPolicy": "IfNotPresent",
|
||||
"args": [
|
||||
"-c",
|
||||
"/etc/frp/frpc.toml"
|
||||
],
|
||||
"volumeMounts": [
|
||||
{
|
||||
"name": "config",
|
||||
"mountPath": "/etc/frp",
|
||||
"readOnly": true
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"volumes": [
|
||||
{
|
||||
"name": "config",
|
||||
"configMap": {
|
||||
"name": "hwlab-v02-frpc-config"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"apiVersion": "v1",
|
||||
"kind": "ConfigMap",
|
||||
"metadata": {
|
||||
"name": "hwlab-v02-health-contract",
|
||||
"namespace": "hwlab-v02",
|
||||
"labels": {
|
||||
"app.kubernetes.io/name": "hwlab-v02-health-contract",
|
||||
"hwlab.pikastech.local/profile": "v02",
|
||||
"hwlab.pikastech.local/gitops-target": "v02",
|
||||
"hwlab.pikastech.local/source-commit": "5fdfc9f82ae0fb7fc6fd08da7cb9d072f0b567a4",
|
||||
"hwlab.pikastech.local/environment": "v02"
|
||||
},
|
||||
"annotations": {
|
||||
"hwlab.pikastech.local/rendered-by": "scripts/g14-gitops-render.mjs"
|
||||
}
|
||||
},
|
||||
"data": {
|
||||
"endpoint": "http://74.48.78.17:19667",
|
||||
"cloud-api": "GET /health/live through http://74.48.78.17:19667",
|
||||
"cloud-api-db": "DEV DB config gate requires HWLAB_CLOUD_DB_URL from Secret hwlab-cloud-api-dev-db/database-url and HWLAB_CLOUD_DB_SSL_MODE=disable. Runtime readiness dials the redacted host parsed from the Secret URL and reports endpointSource=secret-url-host. cloud-api-db is an optional desired alias only until this repo owns Service plus Endpoint or EndpointSlice manifests and rollout/apply contract; health reports env presence, env injection, redacted connection attempt/result, and liveConnected without exposing secret values",
|
||||
"cloud-web": "GET /health/live on http://74.48.78.17:19666; consumes cloud-api only",
|
||||
"agent": "hwlab-agent-mgr readiness gates worker template creation; hwlab-agent-worker is suspended until a session is scheduled",
|
||||
"sim": "hwlab-gateway-simu:7101 and hwlab-box-simu:7201 expose /health/live for DEV smoke",
|
||||
"patch-panel": "hwlab-patch-panel:7301 exposes /health/live and owns patch panel state",
|
||||
"router": "hwlab-router:7401 exposes /health/live and owns edge reachability routing",
|
||||
"tunnel-client": "disabled for G14 GitOps; no FRP or production traffic tunnel is required",
|
||||
"edge-proxy": "hwlab-edge-proxy:6667 exposes /health/live and proxies DEV endpoint traffic to hwlab-cloud-api",
|
||||
"runtime-substitute-policy": "Do not replace HWLAB runtime with UniDesk backend, provider-gateway, or microservice proxy",
|
||||
"device-pod": "hwlab-device-pod:7601 exposes /health/live and serves fake Device Pod summary/events for the Cloud Workbench right sidebar"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"apiVersion": "kustomize.config.k8s.io/v1beta1",
|
||||
"kind": "Kustomization",
|
||||
"namespace": "hwlab-v02",
|
||||
"resources": [
|
||||
"namespace.yaml",
|
||||
"code-agent-codex-config.yaml",
|
||||
"services.yaml",
|
||||
"health-contract.yaml",
|
||||
"workloads.yaml",
|
||||
"deepseek-proxy.yaml",
|
||||
"postgres.yaml",
|
||||
"g14-frpc.yaml"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"apiVersion": "v1",
|
||||
"kind": "Namespace",
|
||||
"metadata": {
|
||||
"name": "hwlab-v02",
|
||||
"labels": {
|
||||
"app.kubernetes.io/part-of": "hwlab",
|
||||
"hwlab.pikastech.local/profile": "v02",
|
||||
"hwlab.pikastech.local/gitops-target": "v02",
|
||||
"hwlab.pikastech.local/source-commit": "5fdfc9f82ae0fb7fc6fd08da7cb9d072f0b567a4",
|
||||
"hwlab.pikastech.local/environment": "v02"
|
||||
},
|
||||
"annotations": {
|
||||
"hwlab.pikastech.local/rendered-by": "scripts/g14-gitops-render.mjs"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,171 @@
|
||||
{
|
||||
"apiVersion": "v1",
|
||||
"kind": "List",
|
||||
"items": [
|
||||
{
|
||||
"apiVersion": "v1",
|
||||
"kind": "ConfigMap",
|
||||
"metadata": {
|
||||
"name": "hwlab-v02-postgres-init",
|
||||
"namespace": "hwlab-v02",
|
||||
"labels": {
|
||||
"app.kubernetes.io/name": "hwlab-v02-postgres",
|
||||
"app.kubernetes.io/part-of": "hwlab",
|
||||
"hwlab.pikastech.local/environment": "v02",
|
||||
"hwlab.pikastech.local/gitops-target": "v02",
|
||||
"hwlab.pikastech.local/profile": "v02"
|
||||
}
|
||||
},
|
||||
"data": {
|
||||
"0001_cloud_core_skeleton.sql": "-- HWLAB L1 Cloud Core schema skeleton.\n-- This file is source schema only; applying it to DEV/PROD is a separate\n-- operator action and is not performed by source tests or smokes.\n\nCREATE TABLE IF NOT EXISTS projects (\n id TEXT PRIMARY KEY,\n name TEXT NOT NULL DEFAULT '',\n status TEXT NOT NULL DEFAULT 'pending',\n created_at TEXT NOT NULL,\n updated_at TEXT NOT NULL\n);\n\nCREATE TABLE IF NOT EXISTS gateway_sessions (\n id TEXT PRIMARY KEY,\n project_id TEXT,\n gateway_service_id TEXT NOT NULL,\n status TEXT NOT NULL DEFAULT 'pending',\n started_at TEXT,\n ended_at TEXT,\n gateway_session_json TEXT NOT NULL DEFAULT '{}'\n);\n\nCREATE TABLE IF NOT EXISTS box_resources (\n id TEXT PRIMARY KEY,\n project_id TEXT,\n gateway_session_id TEXT,\n resource_state TEXT NOT NULL DEFAULT 'available',\n labels_json TEXT NOT NULL DEFAULT '{}',\n resource_json TEXT NOT NULL DEFAULT '{}',\n updated_at TEXT NOT NULL\n);\n\nCREATE TABLE IF NOT EXISTS box_capabilities (\n id TEXT PRIMARY KEY,\n box_resource_id TEXT NOT NULL,\n capability_type TEXT NOT NULL,\n capability_json TEXT NOT NULL DEFAULT '{}',\n updated_at TEXT NOT NULL\n);\n\nCREATE TABLE IF NOT EXISTS wiring_configs (\n id TEXT PRIMARY KEY,\n project_id TEXT,\n wiring_json TEXT NOT NULL DEFAULT '{}',\n status TEXT NOT NULL DEFAULT 'pending',\n updated_at TEXT NOT NULL\n);\n\nCREATE TABLE IF NOT EXISTS patch_panel_status (\n id TEXT PRIMARY KEY,\n gateway_session_id TEXT,\n wiring_config_id TEXT,\n status_json TEXT NOT NULL DEFAULT '{}',\n updated_at TEXT NOT NULL\n);\n\nCREATE TABLE IF NOT EXISTS hardware_operations (\n id TEXT PRIMARY KEY,\n project_id TEXT,\n requested_by TEXT,\n operation_type TEXT NOT NULL,\n operation_json TEXT NOT NULL DEFAULT '{}',\n status TEXT NOT NULL DEFAULT 'requested',\n requested_at TEXT NOT NULL,\n updated_at TEXT NOT NULL\n);\n\nCREATE TABLE IF NOT EXISTS audit_events (\n id TEXT PRIMARY KEY,\n request_id TEXT NOT NULL,\n actor TEXT NOT NULL,\n source TEXT NOT NULL,\n operation TEXT NOT NULL,\n target TEXT NOT NULL,\n result TEXT NOT NULL,\n timestamp TEXT NOT NULL,\n event_json TEXT NOT NULL DEFAULT '{}'\n);\n\nCREATE TABLE IF NOT EXISTS agent_sessions (\n id TEXT PRIMARY KEY,\n project_id TEXT,\n agent_id TEXT NOT NULL,\n status TEXT NOT NULL DEFAULT 'pending',\n started_at TEXT,\n ended_at TEXT\n);\n\nCREATE TABLE IF NOT EXISTS worker_sessions (\n id TEXT PRIMARY KEY,\n agent_session_id TEXT,\n worker_id TEXT NOT NULL,\n status TEXT NOT NULL DEFAULT 'pending',\n started_at TEXT,\n ended_at TEXT\n);\n\nCREATE TABLE IF NOT EXISTS agent_trace_events (\n id TEXT PRIMARY KEY,\n trace_id TEXT NOT NULL,\n agent_session_id TEXT,\n worker_session_id TEXT,\n level TEXT NOT NULL DEFAULT 'info',\n message TEXT NOT NULL DEFAULT '',\n event_json TEXT NOT NULL DEFAULT '{}',\n occurred_at TEXT NOT NULL\n);\n\nCREATE TABLE IF NOT EXISTS evidence_records (\n id TEXT PRIMARY KEY,\n project_id TEXT,\n operation_id TEXT,\n evidence_type TEXT NOT NULL,\n uri TEXT NOT NULL DEFAULT '',\n metadata_json TEXT NOT NULL DEFAULT '{}',\n created_at TEXT NOT NULL\n);\n\nCREATE TABLE IF NOT EXISTS hwlab_schema_migrations (\n id TEXT PRIMARY KEY,\n schema_version TEXT NOT NULL,\n applied_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,\n migration_json TEXT NOT NULL DEFAULT '{}'\n);\n\nINSERT INTO hwlab_schema_migrations (id, schema_version, applied_at, migration_json)\nVALUES (\n '0001_cloud_core_skeleton',\n 'runtime-durable-postgres-v1',\n CURRENT_TIMESTAMP,\n '{\"path\":\"internal/db/migrations/0001_cloud_core_skeleton.sql\",\"runtime\":\"cloud-api\"}'\n)\nON CONFLICT (id) DO UPDATE SET\n schema_version = EXCLUDED.schema_version,\n migration_json = EXCLUDED.migration_json;\n"
|
||||
}
|
||||
},
|
||||
{
|
||||
"apiVersion": "v1",
|
||||
"kind": "Service",
|
||||
"metadata": {
|
||||
"name": "hwlab-v02-postgres",
|
||||
"namespace": "hwlab-v02",
|
||||
"labels": {
|
||||
"app.kubernetes.io/name": "hwlab-v02-postgres",
|
||||
"app.kubernetes.io/part-of": "hwlab",
|
||||
"hwlab.pikastech.local/environment": "v02",
|
||||
"hwlab.pikastech.local/gitops-target": "v02",
|
||||
"hwlab.pikastech.local/profile": "v02"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"type": "ClusterIP",
|
||||
"selector": {
|
||||
"app.kubernetes.io/name": "hwlab-v02-postgres"
|
||||
},
|
||||
"ports": [
|
||||
{
|
||||
"name": "postgres",
|
||||
"port": 5432,
|
||||
"targetPort": "postgres"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"apiVersion": "apps/v1",
|
||||
"kind": "StatefulSet",
|
||||
"metadata": {
|
||||
"name": "hwlab-v02-postgres",
|
||||
"namespace": "hwlab-v02",
|
||||
"labels": {
|
||||
"app.kubernetes.io/name": "hwlab-v02-postgres",
|
||||
"app.kubernetes.io/part-of": "hwlab",
|
||||
"hwlab.pikastech.local/environment": "v02",
|
||||
"hwlab.pikastech.local/gitops-target": "v02",
|
||||
"hwlab.pikastech.local/profile": "v02"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"serviceName": "hwlab-v02-postgres",
|
||||
"replicas": 1,
|
||||
"selector": {
|
||||
"matchLabels": {
|
||||
"app.kubernetes.io/name": "hwlab-v02-postgres"
|
||||
}
|
||||
},
|
||||
"template": {
|
||||
"metadata": {
|
||||
"labels": {
|
||||
"app.kubernetes.io/name": "hwlab-v02-postgres",
|
||||
"app.kubernetes.io/part-of": "hwlab",
|
||||
"hwlab.pikastech.local/environment": "v02",
|
||||
"hwlab.pikastech.local/gitops-target": "v02",
|
||||
"hwlab.pikastech.local/profile": "v02"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"containers": [
|
||||
{
|
||||
"name": "postgres",
|
||||
"image": "127.0.0.1:5000/hwlab/postgres:16-alpine",
|
||||
"imagePullPolicy": "IfNotPresent",
|
||||
"env": [
|
||||
{
|
||||
"name": "POSTGRES_DB",
|
||||
"value": "hwlab_v02"
|
||||
},
|
||||
{
|
||||
"name": "POSTGRES_USER",
|
||||
"value": "hwlab_v02"
|
||||
},
|
||||
{
|
||||
"name": "POSTGRES_PASSWORD",
|
||||
"valueFrom": {
|
||||
"secretKeyRef": {
|
||||
"name": "hwlab-v02-postgres",
|
||||
"key": "POSTGRES_PASSWORD"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"ports": [
|
||||
{
|
||||
"name": "postgres",
|
||||
"containerPort": 5432
|
||||
}
|
||||
],
|
||||
"readinessProbe": {
|
||||
"tcpSocket": {
|
||||
"port": "postgres"
|
||||
},
|
||||
"initialDelaySeconds": 5,
|
||||
"periodSeconds": 10
|
||||
},
|
||||
"livenessProbe": {
|
||||
"tcpSocket": {
|
||||
"port": "postgres"
|
||||
},
|
||||
"initialDelaySeconds": 30,
|
||||
"periodSeconds": 20
|
||||
},
|
||||
"volumeMounts": [
|
||||
{
|
||||
"name": "data",
|
||||
"mountPath": "/var/lib/postgresql/data"
|
||||
},
|
||||
{
|
||||
"name": "init",
|
||||
"mountPath": "/docker-entrypoint-initdb.d",
|
||||
"readOnly": true
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"volumes": [
|
||||
{
|
||||
"name": "init",
|
||||
"configMap": {
|
||||
"name": "hwlab-v02-postgres-init"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"volumeClaimTemplates": [
|
||||
{
|
||||
"metadata": {
|
||||
"name": "data"
|
||||
},
|
||||
"spec": {
|
||||
"accessModes": [
|
||||
"ReadWriteOnce"
|
||||
],
|
||||
"resources": {
|
||||
"requests": {
|
||||
"storage": "8Gi"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,556 @@
|
||||
{
|
||||
"apiVersion": "v1",
|
||||
"kind": "List",
|
||||
"items": [
|
||||
{
|
||||
"apiVersion": "v1",
|
||||
"kind": "Service",
|
||||
"metadata": {
|
||||
"name": "hwlab-cloud-api",
|
||||
"namespace": "hwlab-v02",
|
||||
"labels": {
|
||||
"app.kubernetes.io/name": "hwlab-cloud-api",
|
||||
"hwlab.pikastech.local/service-id": "hwlab-cloud-api",
|
||||
"hwlab.pikastech.local/gitops-target": "v02",
|
||||
"hwlab.pikastech.local/source-commit": "5fdfc9f82ae0fb7fc6fd08da7cb9d072f0b567a4",
|
||||
"hwlab.pikastech.local/environment": "v02",
|
||||
"hwlab.pikastech.local/profile": "v02"
|
||||
},
|
||||
"annotations": {
|
||||
"hwlab.pikastech.local/rendered-by": "scripts/g14-gitops-render.mjs"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"type": "ClusterIP",
|
||||
"selector": {
|
||||
"app.kubernetes.io/name": "hwlab-cloud-api"
|
||||
},
|
||||
"ports": [
|
||||
{
|
||||
"name": "http",
|
||||
"port": 6667,
|
||||
"targetPort": "http"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"apiVersion": "v1",
|
||||
"kind": "Service",
|
||||
"metadata": {
|
||||
"name": "hwlab-gateway-simu-1",
|
||||
"namespace": "hwlab-v02",
|
||||
"labels": {
|
||||
"app.kubernetes.io/name": "hwlab-gateway-simu",
|
||||
"hwlab.pikastech.local/service-id": "hwlab-gateway-simu",
|
||||
"hwlab.pikastech.local/instance-id": "gwsimu_1",
|
||||
"hwlab.pikastech.local/gitops-target": "v02",
|
||||
"hwlab.pikastech.local/source-commit": "5fdfc9f82ae0fb7fc6fd08da7cb9d072f0b567a4",
|
||||
"hwlab.pikastech.local/environment": "v02",
|
||||
"hwlab.pikastech.local/profile": "v02"
|
||||
},
|
||||
"annotations": {
|
||||
"hwlab.pikastech.local/rendered-by": "scripts/g14-gitops-render.mjs"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"type": "ClusterIP",
|
||||
"selector": {
|
||||
"statefulset.kubernetes.io/pod-name": "hwlab-gateway-simu-0"
|
||||
},
|
||||
"ports": [
|
||||
{
|
||||
"name": "http",
|
||||
"port": 7101,
|
||||
"targetPort": "http"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"apiVersion": "v1",
|
||||
"kind": "Service",
|
||||
"metadata": {
|
||||
"name": "hwlab-gateway-simu-2",
|
||||
"namespace": "hwlab-v02",
|
||||
"labels": {
|
||||
"app.kubernetes.io/name": "hwlab-gateway-simu",
|
||||
"hwlab.pikastech.local/service-id": "hwlab-gateway-simu",
|
||||
"hwlab.pikastech.local/instance-id": "gwsimu_2",
|
||||
"hwlab.pikastech.local/gitops-target": "v02",
|
||||
"hwlab.pikastech.local/source-commit": "5fdfc9f82ae0fb7fc6fd08da7cb9d072f0b567a4",
|
||||
"hwlab.pikastech.local/environment": "v02",
|
||||
"hwlab.pikastech.local/profile": "v02"
|
||||
},
|
||||
"annotations": {
|
||||
"hwlab.pikastech.local/rendered-by": "scripts/g14-gitops-render.mjs"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"type": "ClusterIP",
|
||||
"selector": {
|
||||
"statefulset.kubernetes.io/pod-name": "hwlab-gateway-simu-1"
|
||||
},
|
||||
"ports": [
|
||||
{
|
||||
"name": "http",
|
||||
"port": 7101,
|
||||
"targetPort": "http"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"apiVersion": "v1",
|
||||
"kind": "Service",
|
||||
"metadata": {
|
||||
"name": "hwlab-cloud-web",
|
||||
"namespace": "hwlab-v02",
|
||||
"labels": {
|
||||
"app.kubernetes.io/name": "hwlab-cloud-web",
|
||||
"hwlab.pikastech.local/service-id": "hwlab-cloud-web",
|
||||
"hwlab.pikastech.local/gitops-target": "v02",
|
||||
"hwlab.pikastech.local/source-commit": "5fdfc9f82ae0fb7fc6fd08da7cb9d072f0b567a4",
|
||||
"hwlab.pikastech.local/environment": "v02",
|
||||
"hwlab.pikastech.local/profile": "v02"
|
||||
},
|
||||
"annotations": {
|
||||
"hwlab.pikastech.local/rendered-by": "scripts/g14-gitops-render.mjs"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"type": "ClusterIP",
|
||||
"selector": {
|
||||
"app.kubernetes.io/name": "hwlab-cloud-web"
|
||||
},
|
||||
"ports": [
|
||||
{
|
||||
"name": "http",
|
||||
"port": 8080,
|
||||
"targetPort": "http"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"apiVersion": "v1",
|
||||
"kind": "Service",
|
||||
"metadata": {
|
||||
"name": "hwlab-box-simu-1",
|
||||
"namespace": "hwlab-v02",
|
||||
"labels": {
|
||||
"app.kubernetes.io/name": "hwlab-box-simu",
|
||||
"hwlab.pikastech.local/service-id": "hwlab-box-simu",
|
||||
"hwlab.pikastech.local/instance-id": "res_boxsimu_1",
|
||||
"hwlab.pikastech.local/gitops-target": "v02",
|
||||
"hwlab.pikastech.local/source-commit": "5fdfc9f82ae0fb7fc6fd08da7cb9d072f0b567a4",
|
||||
"hwlab.pikastech.local/environment": "v02",
|
||||
"hwlab.pikastech.local/profile": "v02"
|
||||
},
|
||||
"annotations": {
|
||||
"hwlab.pikastech.local/rendered-by": "scripts/g14-gitops-render.mjs"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"type": "ClusterIP",
|
||||
"selector": {
|
||||
"statefulset.kubernetes.io/pod-name": "hwlab-box-simu-0"
|
||||
},
|
||||
"ports": [
|
||||
{
|
||||
"name": "http",
|
||||
"port": 7201,
|
||||
"targetPort": "http"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"apiVersion": "v1",
|
||||
"kind": "Service",
|
||||
"metadata": {
|
||||
"name": "hwlab-box-simu-2",
|
||||
"namespace": "hwlab-v02",
|
||||
"labels": {
|
||||
"app.kubernetes.io/name": "hwlab-box-simu",
|
||||
"hwlab.pikastech.local/service-id": "hwlab-box-simu",
|
||||
"hwlab.pikastech.local/instance-id": "res_boxsimu_2",
|
||||
"hwlab.pikastech.local/gitops-target": "v02",
|
||||
"hwlab.pikastech.local/source-commit": "5fdfc9f82ae0fb7fc6fd08da7cb9d072f0b567a4",
|
||||
"hwlab.pikastech.local/environment": "v02",
|
||||
"hwlab.pikastech.local/profile": "v02"
|
||||
},
|
||||
"annotations": {
|
||||
"hwlab.pikastech.local/rendered-by": "scripts/g14-gitops-render.mjs"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"type": "ClusterIP",
|
||||
"selector": {
|
||||
"statefulset.kubernetes.io/pod-name": "hwlab-box-simu-1"
|
||||
},
|
||||
"ports": [
|
||||
{
|
||||
"name": "http",
|
||||
"port": 7201,
|
||||
"targetPort": "http"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"apiVersion": "v1",
|
||||
"kind": "Service",
|
||||
"metadata": {
|
||||
"name": "hwlab-gateway",
|
||||
"namespace": "hwlab-v02",
|
||||
"labels": {
|
||||
"app.kubernetes.io/name": "hwlab-gateway",
|
||||
"hwlab.pikastech.local/service-id": "hwlab-gateway",
|
||||
"hwlab.pikastech.local/activation": "manual",
|
||||
"hwlab.pikastech.local/gitops-target": "v02",
|
||||
"hwlab.pikastech.local/source-commit": "5fdfc9f82ae0fb7fc6fd08da7cb9d072f0b567a4",
|
||||
"hwlab.pikastech.local/environment": "v02",
|
||||
"hwlab.pikastech.local/profile": "v02"
|
||||
},
|
||||
"annotations": {
|
||||
"hwlab.pikastech.local/rendered-by": "scripts/g14-gitops-render.mjs"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"type": "ClusterIP",
|
||||
"selector": {
|
||||
"app.kubernetes.io/name": "hwlab-gateway"
|
||||
},
|
||||
"ports": [
|
||||
{
|
||||
"name": "http",
|
||||
"port": 7001,
|
||||
"targetPort": "http"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"apiVersion": "v1",
|
||||
"kind": "Service",
|
||||
"metadata": {
|
||||
"name": "hwlab-cli",
|
||||
"namespace": "hwlab-v02",
|
||||
"labels": {
|
||||
"app.kubernetes.io/name": "hwlab-cli",
|
||||
"hwlab.pikastech.local/service-id": "hwlab-cli",
|
||||
"hwlab.pikastech.local/activation": "manual",
|
||||
"hwlab.pikastech.local/gitops-target": "v02",
|
||||
"hwlab.pikastech.local/source-commit": "5fdfc9f82ae0fb7fc6fd08da7cb9d072f0b567a4",
|
||||
"hwlab.pikastech.local/environment": "v02",
|
||||
"hwlab.pikastech.local/profile": "v02"
|
||||
},
|
||||
"annotations": {
|
||||
"hwlab.pikastech.local/rendered-by": "scripts/g14-gitops-render.mjs"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"type": "ClusterIP",
|
||||
"selector": {
|
||||
"app.kubernetes.io/name": "hwlab-cli"
|
||||
},
|
||||
"ports": [
|
||||
{
|
||||
"name": "http",
|
||||
"port": 7501,
|
||||
"targetPort": "http"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"apiVersion": "v1",
|
||||
"kind": "Service",
|
||||
"metadata": {
|
||||
"name": "hwlab-agent-skills",
|
||||
"namespace": "hwlab-v02",
|
||||
"labels": {
|
||||
"app.kubernetes.io/name": "hwlab-agent-skills",
|
||||
"hwlab.pikastech.local/service-id": "hwlab-agent-skills",
|
||||
"hwlab.pikastech.local/gitops-target": "v02",
|
||||
"hwlab.pikastech.local/source-commit": "5fdfc9f82ae0fb7fc6fd08da7cb9d072f0b567a4",
|
||||
"hwlab.pikastech.local/environment": "v02",
|
||||
"hwlab.pikastech.local/profile": "v02"
|
||||
},
|
||||
"annotations": {
|
||||
"hwlab.pikastech.local/rendered-by": "scripts/g14-gitops-render.mjs"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"type": "ClusterIP",
|
||||
"selector": {
|
||||
"app.kubernetes.io/name": "hwlab-agent-skills"
|
||||
},
|
||||
"ports": [
|
||||
{
|
||||
"name": "http",
|
||||
"port": 7430,
|
||||
"targetPort": "http"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"apiVersion": "v1",
|
||||
"kind": "Service",
|
||||
"metadata": {
|
||||
"name": "hwlab-agent-mgr",
|
||||
"namespace": "hwlab-v02",
|
||||
"labels": {
|
||||
"app.kubernetes.io/name": "hwlab-agent-mgr",
|
||||
"hwlab.pikastech.local/service-id": "hwlab-agent-mgr",
|
||||
"hwlab.pikastech.local/gitops-target": "v02",
|
||||
"hwlab.pikastech.local/source-commit": "5fdfc9f82ae0fb7fc6fd08da7cb9d072f0b567a4",
|
||||
"hwlab.pikastech.local/environment": "v02",
|
||||
"hwlab.pikastech.local/profile": "v02"
|
||||
},
|
||||
"annotations": {
|
||||
"hwlab.pikastech.local/rendered-by": "scripts/g14-gitops-render.mjs"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"type": "ClusterIP",
|
||||
"selector": {
|
||||
"app.kubernetes.io/name": "hwlab-agent-mgr"
|
||||
},
|
||||
"ports": [
|
||||
{
|
||||
"name": "http",
|
||||
"port": 7410,
|
||||
"targetPort": "http"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"apiVersion": "v1",
|
||||
"kind": "Service",
|
||||
"metadata": {
|
||||
"name": "hwlab-device-pod",
|
||||
"namespace": "hwlab-v02",
|
||||
"labels": {
|
||||
"app.kubernetes.io/name": "hwlab-device-pod",
|
||||
"hwlab.pikastech.local/service-id": "hwlab-device-pod",
|
||||
"hwlab.pikastech.local/gitops-target": "v02",
|
||||
"hwlab.pikastech.local/source-commit": "5fdfc9f82ae0fb7fc6fd08da7cb9d072f0b567a4",
|
||||
"hwlab.pikastech.local/environment": "v02",
|
||||
"hwlab.pikastech.local/profile": "v02"
|
||||
},
|
||||
"annotations": {
|
||||
"hwlab.pikastech.local/rendered-by": "scripts/g14-gitops-render.mjs"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"type": "ClusterIP",
|
||||
"selector": {
|
||||
"app.kubernetes.io/name": "hwlab-device-pod"
|
||||
},
|
||||
"ports": [
|
||||
{
|
||||
"name": "http",
|
||||
"port": 7601,
|
||||
"targetPort": "http"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"apiVersion": "v1",
|
||||
"kind": "Service",
|
||||
"metadata": {
|
||||
"name": "hwlab-gateway-simu",
|
||||
"namespace": "hwlab-v02",
|
||||
"labels": {
|
||||
"app.kubernetes.io/name": "hwlab-gateway-simu",
|
||||
"hwlab.pikastech.local/service-id": "hwlab-gateway-simu",
|
||||
"hwlab.pikastech.local/gitops-target": "v02",
|
||||
"hwlab.pikastech.local/source-commit": "5fdfc9f82ae0fb7fc6fd08da7cb9d072f0b567a4",
|
||||
"hwlab.pikastech.local/environment": "v02",
|
||||
"hwlab.pikastech.local/profile": "v02"
|
||||
},
|
||||
"annotations": {
|
||||
"hwlab.pikastech.local/rendered-by": "scripts/g14-gitops-render.mjs"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"type": "ClusterIP",
|
||||
"selector": {
|
||||
"app.kubernetes.io/name": "hwlab-gateway-simu"
|
||||
},
|
||||
"ports": [
|
||||
{
|
||||
"name": "http",
|
||||
"port": 7101,
|
||||
"targetPort": "http"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"apiVersion": "v1",
|
||||
"kind": "Service",
|
||||
"metadata": {
|
||||
"name": "hwlab-box-simu",
|
||||
"namespace": "hwlab-v02",
|
||||
"labels": {
|
||||
"app.kubernetes.io/name": "hwlab-box-simu",
|
||||
"hwlab.pikastech.local/service-id": "hwlab-box-simu",
|
||||
"hwlab.pikastech.local/gitops-target": "v02",
|
||||
"hwlab.pikastech.local/source-commit": "5fdfc9f82ae0fb7fc6fd08da7cb9d072f0b567a4",
|
||||
"hwlab.pikastech.local/environment": "v02",
|
||||
"hwlab.pikastech.local/profile": "v02"
|
||||
},
|
||||
"annotations": {
|
||||
"hwlab.pikastech.local/rendered-by": "scripts/g14-gitops-render.mjs"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"type": "ClusterIP",
|
||||
"selector": {
|
||||
"app.kubernetes.io/name": "hwlab-box-simu"
|
||||
},
|
||||
"ports": [
|
||||
{
|
||||
"name": "http",
|
||||
"port": 7201,
|
||||
"targetPort": "http"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"apiVersion": "v1",
|
||||
"kind": "Service",
|
||||
"metadata": {
|
||||
"name": "hwlab-patch-panel",
|
||||
"namespace": "hwlab-v02",
|
||||
"labels": {
|
||||
"app.kubernetes.io/name": "hwlab-patch-panel",
|
||||
"hwlab.pikastech.local/service-id": "hwlab-patch-panel",
|
||||
"hwlab.pikastech.local/gitops-target": "v02",
|
||||
"hwlab.pikastech.local/source-commit": "5fdfc9f82ae0fb7fc6fd08da7cb9d072f0b567a4",
|
||||
"hwlab.pikastech.local/environment": "v02",
|
||||
"hwlab.pikastech.local/profile": "v02"
|
||||
},
|
||||
"annotations": {
|
||||
"hwlab.pikastech.local/rendered-by": "scripts/g14-gitops-render.mjs"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"type": "ClusterIP",
|
||||
"selector": {
|
||||
"app.kubernetes.io/name": "hwlab-patch-panel"
|
||||
},
|
||||
"ports": [
|
||||
{
|
||||
"name": "http",
|
||||
"port": 7301,
|
||||
"targetPort": "http"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"apiVersion": "v1",
|
||||
"kind": "Service",
|
||||
"metadata": {
|
||||
"name": "hwlab-router",
|
||||
"namespace": "hwlab-v02",
|
||||
"labels": {
|
||||
"app.kubernetes.io/name": "hwlab-router",
|
||||
"hwlab.pikastech.local/service-id": "hwlab-router",
|
||||
"hwlab.pikastech.local/gitops-target": "v02",
|
||||
"hwlab.pikastech.local/source-commit": "5fdfc9f82ae0fb7fc6fd08da7cb9d072f0b567a4",
|
||||
"hwlab.pikastech.local/environment": "v02",
|
||||
"hwlab.pikastech.local/profile": "v02"
|
||||
},
|
||||
"annotations": {
|
||||
"hwlab.pikastech.local/rendered-by": "scripts/g14-gitops-render.mjs"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"type": "ClusterIP",
|
||||
"selector": {
|
||||
"app.kubernetes.io/name": "hwlab-router"
|
||||
},
|
||||
"ports": [
|
||||
{
|
||||
"name": "http",
|
||||
"port": 7401,
|
||||
"targetPort": "http"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"apiVersion": "v1",
|
||||
"kind": "Service",
|
||||
"metadata": {
|
||||
"name": "hwlab-tunnel-client",
|
||||
"namespace": "hwlab-v02",
|
||||
"labels": {
|
||||
"app.kubernetes.io/name": "hwlab-tunnel-client",
|
||||
"hwlab.pikastech.local/service-id": "hwlab-tunnel-client",
|
||||
"hwlab.pikastech.local/gitops-target": "v02",
|
||||
"hwlab.pikastech.local/source-commit": "5fdfc9f82ae0fb7fc6fd08da7cb9d072f0b567a4",
|
||||
"hwlab.pikastech.local/environment": "v02",
|
||||
"hwlab.pikastech.local/profile": "v02"
|
||||
},
|
||||
"annotations": {
|
||||
"hwlab.pikastech.local/rendered-by": "scripts/g14-gitops-render.mjs"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"type": "ClusterIP",
|
||||
"selector": {
|
||||
"app.kubernetes.io/name": "hwlab-tunnel-client"
|
||||
},
|
||||
"ports": [
|
||||
{
|
||||
"name": "http",
|
||||
"port": 7402,
|
||||
"targetPort": "http"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"apiVersion": "v1",
|
||||
"kind": "Service",
|
||||
"metadata": {
|
||||
"name": "hwlab-edge-proxy",
|
||||
"namespace": "hwlab-v02",
|
||||
"labels": {
|
||||
"app.kubernetes.io/name": "hwlab-edge-proxy",
|
||||
"hwlab.pikastech.local/service-id": "hwlab-edge-proxy",
|
||||
"hwlab.pikastech.local/gitops-target": "v02",
|
||||
"hwlab.pikastech.local/source-commit": "5fdfc9f82ae0fb7fc6fd08da7cb9d072f0b567a4",
|
||||
"hwlab.pikastech.local/environment": "v02",
|
||||
"hwlab.pikastech.local/profile": "v02"
|
||||
},
|
||||
"annotations": {
|
||||
"hwlab.pikastech.local/rendered-by": "scripts/g14-gitops-render.mjs"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"type": "ClusterIP",
|
||||
"selector": {
|
||||
"app.kubernetes.io/name": "hwlab-edge-proxy"
|
||||
},
|
||||
"ports": [
|
||||
{
|
||||
"name": "http",
|
||||
"port": 6667,
|
||||
"targetPort": "http"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user