From 1490b7fa82ed1b9fe8797f8c7be3d7d442b40092 Mon Sep 17 00:00:00 2001 From: HWLAB node GitOps Bot Date: Wed, 8 Jul 2026 03:15:11 +0000 Subject: [PATCH] chore: promote node GitOps source ccc9503 --- deploy/artifact-catalog.nc01-v03.json | 4 +- .../nc01/runtime-v03/health-contract.yaml | 6 +- .../node/nc01/runtime-v03/kustomization.yaml | 1 + .../node/nc01/runtime-v03/node-frpc.yaml | 95 +++++++++++++++++++ .../node/nc01/runtime-v03/workloads.yaml | 8 +- 5 files changed, 105 insertions(+), 9 deletions(-) create mode 100644 deploy/gitops/node/nc01/runtime-v03/node-frpc.yaml diff --git a/deploy/artifact-catalog.nc01-v03.json b/deploy/artifact-catalog.nc01-v03.json index 465da83a..6be67dcb 100644 --- a/deploy/artifact-catalog.nc01-v03.json +++ b/deploy/artifact-catalog.nc01-v03.json @@ -4,13 +4,13 @@ "environment": "v03", "profile": "v03", "namespace": "hwlab-v03", - "endpoint": "http://152.53.229.148:20667", + "endpoint": "https://hwlab.pikapython.com", "commitId": "ccc9503e9dac8f800c557198558d32367d598126", "artifactState": "published", "publish": { "ciPublished": true, "registryVerified": true, - "provenance": "node-ci-artifact:hwlab-nc01-v03-ci-poll-ccc9503e9dac-rmrbg8yyd-collect", + "provenance": "node-ci-artifact:hwlab-nc01-v03-ci-poll-ccc9503e9dac-rmrbi7mhn-collect", "note": "Digest fields were copied from a successful DEV artifact publish report for this source commit." }, "healthContract": { diff --git a/deploy/gitops/node/nc01/runtime-v03/health-contract.yaml b/deploy/gitops/node/nc01/runtime-v03/health-contract.yaml index d6863990..acb6536e 100644 --- a/deploy/gitops/node/nc01/runtime-v03/health-contract.yaml +++ b/deploy/gitops/node/nc01/runtime-v03/health-contract.yaml @@ -15,8 +15,8 @@ items: annotations: hwlab.pikastech.local/rendered-by: scripts/gitops-render.mjs data: - endpoint: http://152.53.229.148:20666 - cloud-api: GET /health/live through http://152.53.229.148:20667 + endpoint: https://hwlab.pikapython.com + cloud-api: GET /health/live through https://hwlab.pikapython.com 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=require. Runtime readiness dials the redacted host parsed from the Secret URL and @@ -25,7 +25,7 @@ items: 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://152.53.229.148:20666; consumes cloud-api only + cloud-web: GET /health/live on https://hwlab.pikapython.com; consumes cloud-api only agent: hwlab-cloud-api authorizes Code Agent sessions and dispatches execution to AgentRun v0.1; no HWLAB-owned agent manager/worker service is deployed diff --git a/deploy/gitops/node/nc01/runtime-v03/kustomization.yaml b/deploy/gitops/node/nc01/runtime-v03/kustomization.yaml index dba38414..218889f2 100644 --- a/deploy/gitops/node/nc01/runtime-v03/kustomization.yaml +++ b/deploy/gitops/node/nc01/runtime-v03/kustomization.yaml @@ -12,3 +12,4 @@ resources: - workbench-redis.yaml - openfga.yaml - opencode.yaml + - node-frpc.yaml diff --git a/deploy/gitops/node/nc01/runtime-v03/node-frpc.yaml b/deploy/gitops/node/nc01/runtime-v03/node-frpc.yaml new file mode 100644 index 00000000..ed8dc173 --- /dev/null +++ b/deploy/gitops/node/nc01/runtime-v03/node-frpc.yaml @@ -0,0 +1,95 @@ +apiVersion: v1 +kind: List +items: + - apiVersion: v1 + kind: ConfigMap + metadata: + name: hwlab-v03-frpc-config + namespace: hwlab-v03 + labels: + app.kubernetes.io/name: hwlab-v03-frpc + app.kubernetes.io/part-of: hwlab + hwlab.pikastech.local/environment: v03 + hwlab.pikastech.local/gitops-target: v03 + hwlab.pikastech.local/profile: v03 + hwlab.pikastech.local/source-commit: ccc9503e9dac8f800c557198558d32367d598126 + data: + frpc.toml: | + serverAddr = "82.156.23.220" + serverPort = 22000 + loginFailExit = true + auth.token = "{{ .Envs.HWLAB_FRP_TOKEN }}" + + [[proxies]] + name = "hwlab-nc01-v03-cloud-web" + type = "tcp" + localIP = "hwlab-cloud-web.hwlab-v03.svc.cluster.local" + localPort = 8080 + remotePort = 22082 + + [[proxies]] + name = "hwlab-nc01-v03-edge-proxy" + type = "tcp" + localIP = "hwlab-edge-proxy.hwlab-v03.svc.cluster.local" + localPort = 6667 + remotePort = 22083 + - apiVersion: apps/v1 + kind: Deployment + metadata: + name: hwlab-v03-frpc + namespace: hwlab-v03 + labels: + app.kubernetes.io/name: hwlab-v03-frpc + app.kubernetes.io/part-of: hwlab + hwlab.pikastech.local/environment: v03 + hwlab.pikastech.local/gitops-target: v03 + hwlab.pikastech.local/profile: v03 + hwlab.pikastech.local/source-commit: ccc9503e9dac8f800c557198558d32367d598126 + spec: + replicas: 1 + selector: + matchLabels: + app.kubernetes.io/name: hwlab-v03-frpc + template: + metadata: + labels: + app.kubernetes.io/name: hwlab-v03-frpc + app.kubernetes.io/part-of: hwlab + hwlab.pikastech.local/environment: v03 + hwlab.pikastech.local/gitops-target: v03 + hwlab.pikastech.local/profile: v03 + hwlab.pikastech.local/config-sha256: e989adf5399a2564 + annotations: + hwlab.pikastech.local/config-sha256: e989adf5399a2564ed5ea96151b4718eecb026e160b16b9eb7ad65deb555615f + unidesk.ai/frpc-config-sha256: b7456fcabaed4d5e73858c8819681060fabb50b66766d9795ff97509c24e7deb + spec: + hostNetwork: true + dnsPolicy: ClusterFirstWithHostNet + containers: + - name: frpc + image: 127.0.0.1:5000/hwlab/frpc:v0.68.1 + imagePullPolicy: IfNotPresent + env: + - name: FRPC_AUTH_TOKEN + valueFrom: + secretKeyRef: + name: hwlab-v03-frpc-secrets + key: token + - name: HWLAB_FRP_TOKEN + valueFrom: + secretKeyRef: + name: hwlab-v03-frpc-secrets + key: token + args: + - -c + - /etc/frp/frpc.toml + volumeMounts: + - name: config + mountPath: /etc/frp + readOnly: true + volumes: + - name: config + configMap: + name: hwlab-v03-frpc-config + strategy: + type: Recreate diff --git a/deploy/gitops/node/nc01/runtime-v03/workloads.yaml b/deploy/gitops/node/nc01/runtime-v03/workloads.yaml index ae3b4378..6fcd8ad5 100644 --- a/deploy/gitops/node/nc01/runtime-v03/workloads.yaml +++ b/deploy/gitops/node/nc01/runtime-v03/workloads.yaml @@ -440,7 +440,7 @@ items: - name: HWLAB_ENVIRONMENT value: v03 - name: HWLAB_PUBLIC_ENDPOINT - value: http://152.53.229.148:20667 + value: https://hwlab.pikapython.com - name: HWLAB_CLOUD_API_PORT value: "6667" - name: HWLAB_COMMIT_ID @@ -753,7 +753,7 @@ items: - name: HWLAB_ENVIRONMENT value: v03 - name: HWLAB_PUBLIC_ENDPOINT - value: http://152.53.229.148:20667 + value: https://hwlab.pikapython.com - name: HWLAB_CLOUD_API_PORT value: "6667" - name: HWLAB_RUNTIME_SUBSTITUTE_FORBIDDEN @@ -1353,7 +1353,7 @@ items: - name: HWLAB_IMAGE_DIGEST value: sha256:212f1da818f32500f25c495a6a4708a4113f44f4f2718387398dd5d7cfeb2967 - name: HWLAB_PUBLIC_ENDPOINT - value: http://152.53.229.148:20666 + value: https://hwlab.pikapython.com - name: HWLAB_WORKBENCH_TRACE_AUTO_EXPAND_RUNNING value: "0" - name: HWLAB_WORKBENCH_TRACE_AUTO_COLLAPSE_TERMINAL @@ -1605,7 +1605,7 @@ items: - name: HWLAB_IMAGE_DIGEST value: sha256:212f1da818f32500f25c495a6a4708a4113f44f4f2718387398dd5d7cfeb2967 - name: HWLAB_PUBLIC_ENDPOINT - value: http://152.53.229.148:20667 + value: https://hwlab.pikapython.com readinessProbe: httpGet: path: /health