Files
pikasTech-unidesk/config/platform-infra/sub2rank.yaml
T
2026-07-21 17:18:48 +02:00

298 lines
8.6 KiB
YAML

version: 1
kind: platform-infra-sub2rank
metadata:
id: apistate-public
owner: unidesk
relatedIssues: []
defaults:
targetId: NC01
webProbe:
enabled: true
runner:
node: NC01
lane: v03
origin:
browserProxyMode: direct
nativeBaseUrl: http://127.0.0.1:5173
authentication:
path: /api/login
usernameField: username
passwordField: password
passwordTargetKey: APISTATE_WEB_PASSWORD
cookieNames:
- apistate_session
defaultSmokeProfile: operations
smokeProfiles:
operations:
navigationTimeoutMs: 30000
commandTimeoutSeconds: 180
settleMs: 500
viewport:
width: 1920
height: 1080
pages:
- id: scores
path: /scores
readySelector: '#score-body tr'
screenshotName: apistate-scores.png
- id: ranking
path: /ranking
readySelector: '#ranking-body tr'
screenshotName: apistate-ranking.png
- id: lottery
path: /lottery
readySelector: '#record-list li'
screenshotName: apistate-lottery.png
outputLimits:
failures: 8
network: 24
application:
repository: pikasTech/apistate
remote: https://github.com/pikasTech/apistate.git
branch: master
sourceRoot: /root/apistate
configRef: /root/apistate/config/sub2rank.yaml
sourceConfigPath: config/sub2rank.yaml
dockerfile: Dockerfile
runtimeTarget: k8s
image:
repository: 127.0.0.1:5000/sub2rank/sub2rank
pullPolicy: IfNotPresent
delivery:
enabled: true
pipeline:
namespace: devops-infra
name: platform-infra-sub2rank-nc01-pac
runPrefix: sub2rank-nc01
serviceAccountName: sub2rank-nc01-tekton-runner
timeout: 600s
workspaceSize: 4Gi
toolsImage: 127.0.0.1:5000/hwlab/hwlab-ci-node-tools:node22-alpine-bun-v1
buildkitImage: 127.0.0.1:5000/hwlab/buildkit:rootless
sourceSnapshotPrefix: refs/unidesk/snapshots/gitea-actions/apistate-master-nc01
build:
networkMode: host
proxy:
http: http://127.0.0.1:10808
https: http://127.0.0.1:10808
all: http://127.0.0.1:10808
noProxy:
- localhost
- 127.0.0.1
- "::1"
- 127.0.0.1:5000
- localhost:5000
- .svc
- .svc.cluster.local
- .cluster.local
- hyueapi.com
- .hyueapi.com
gitops:
readUrl: http://gitea-http.devops-infra.svc.cluster.local:3000/mirrors/pikasTech-unidesk.git
writeUrl: http://gitea-http.devops-infra.svc.cluster.local:3000/mirrors/pikasTech-unidesk.git
branch: unidesk-host-gitops
manifestPath: deploy/gitops/platform-infra/sub2rank-nc01/resources.yaml
releaseStatePath: deploy/gitops-state/platform-infra/sub2rank-nc01.json
maxPushAttempts: 3
author:
name: UniDesk Sub2Rank CI
email: sub2rank-ci@unidesk.local
application:
name: sub2rank-nc01
namespace: argocd
project: default
path: deploy/gitops/platform-infra/sub2rank-nc01
destinationNamespace: platform-infra
automated: true
profiles:
development:
targetId: NC01_DEV
sourceBranch: development
pipeline:
namespace: devops-infra
name: platform-infra-sub2rank-development-nc01-pac
runPrefix: sub2rank-development-nc01
serviceAccountName: sub2rank-development-nc01-tekton-runner
timeout: 600s
workspaceSize: 4Gi
toolsImage: 127.0.0.1:5000/hwlab/hwlab-ci-node-tools:node22-alpine-bun-v1
buildkitImage: 127.0.0.1:5000/hwlab/buildkit:rootless
sourceSnapshotPrefix: refs/unidesk/snapshots/gitea-actions/apistate-development-nc01
gitops:
readUrl: http://gitea-http.devops-infra.svc.cluster.local:3000/mirrors/pikasTech-unidesk.git
writeUrl: http://gitea-http.devops-infra.svc.cluster.local:3000/mirrors/pikasTech-unidesk.git
branch: unidesk-host-gitops
manifestPath: deploy/gitops/platform-infra/sub2rank-development-nc01/resources.yaml
releaseStatePath: deploy/gitops-state/platform-infra/sub2rank-development-nc01.json
maxPushAttempts: 3
author:
name: UniDesk Sub2Rank CI
email: sub2rank-ci@unidesk.local
application:
name: sub2rank-development-nc01
namespace: argocd
project: default
path: deploy/gitops/platform-infra/sub2rank-development-nc01
destinationNamespace: platform-infra-development
automated: true
targets:
- id: NC01
route: NC01:k3s
namespace: platform-infra
enabled: true
replicas: 1
manageNamespace: false
applicationRuntimeTarget: k8s
secretDeclarationId: sub2rank-runtime
temporalTaskQueue: apistate
scoreScheduleWorkflowId: apistate-score-refresh-schedule
publicExposure:
enabled: false
publicBaseUrl: https://apistate.hwpod.com
dns:
hostname: apistate.hwpod.com
expectedA: 152.53.229.148
resolvers:
- 1.1.1.1
- 8.8.8.8
- 223.5.5.5
- 114.114.114.114
frpc:
deploymentName: sub2rank-frpc
configMapName: sub2rank-frpc-config
configKey: frpc.toml
image: 127.0.0.1:5000/hwlab/frpc:v0.68.1
serverAddr: 82.156.23.220
serverPort: 22000
proxyName: platform-infra-sub2rank-nc01-web
remotePort: 22095
localIP: sub2rank.platform-infra.svc.cluster.local
localPort: 8080
tokenEnvName: FRP_TOKEN
tokenTargetKey: FRP_TOKEN
pk01:
route: PK01
caddyConfigPath: /etc/caddy/Caddyfile
caddyServiceName: caddy
responseHeaderTimeoutSeconds: 60
publicEdge:
enabled: true
hostname: apistate.hwpod.com
upstream: sub2rank.platform-infra.svc.cluster.local:8080
healthPath: /health
expectedA: 152.53.229.148
- id: NC01_DEV
route: NC01:k3s
namespace: platform-infra-development
enabled: true
replicas: 1
manageNamespace: true
applicationRuntimeTarget: development
secretDeclarationId: sub2rank-development-runtime
temporalTaskQueue: apistate-development
scoreScheduleWorkflowId: apistate-development-score-refresh-schedule
publicExposure:
enabled: false
publicBaseUrl: https://apistate-development.invalid
dns:
hostname: apistate-development.invalid
expectedA: 127.0.0.1
resolvers:
- 1.1.1.1
frpc:
deploymentName: sub2rank-development-frpc
configMapName: sub2rank-development-frpc-config
configKey: frpc.toml
image: 127.0.0.1:5000/hwlab/frpc:v0.68.1
serverAddr: 127.0.0.1
serverPort: 22000
proxyName: platform-infra-sub2rank-development-nc01-web
remotePort: 22096
localIP: sub2rank.platform-infra-development.svc.cluster.local
localPort: 8080
tokenEnvName: FRP_TOKEN
tokenTargetKey: FRP_TOKEN
pk01:
route: PK01
caddyConfigPath: /etc/caddy/Caddyfile
caddyServiceName: caddy
responseHeaderTimeoutSeconds: 60
publicEdge:
enabled: false
hostname: apistate-development.invalid
upstream: sub2rank.platform-infra-development.svc.cluster.local:8080
healthPath: /health
expectedA: 127.0.0.1
runtime:
sharedNetworkPolicyRef:
name: allow-all
managedBySub2Rank: false
service:
name: sub2rank
port: 8080
worker:
name: sub2rank-worker
healthPort: 8081
temporal:
addressEnv: APISTATE_TEMPORAL_ADDRESS
address: temporal-frontend.temporal.svc.cluster.local:7233
configMap:
name: sub2rank-config
key: sub2rank.yaml
mountPath: /etc/sub2rank/sub2rank.yaml
command:
- bun
- src/api.ts
- --config
- /etc/sub2rank/sub2rank.yaml
- --runtime
- k8s
workerCommand:
- bun
- src/worker.ts
- --config
- /etc/sub2rank/sub2rank.yaml
- --runtime
- k8s
storage:
claimName: sub2rank-data
size: 1Gi
mountPath: /var/lib/sub2rank
hostMounts:
- source: /root/unidesk
target: /opt/unidesk
readOnly: true
secret:
configRef: config/secrets-distribution.yaml
declarationId: sub2rank-runtime
requiredTargetKeys:
- APISTATE_WEB_PASSWORD
- APISTATE_API_KEY
- APISTATE_SESSION_SECRET
- SUB2API_ADMIN_EMAIL
- SUB2API_ADMIN_PASSWORD
- FRP_TOKEN
appEnvTargetKeys:
- APISTATE_WEB_PASSWORD
- APISTATE_API_KEY
- APISTATE_SESSION_SECRET
- SUB2API_ADMIN_EMAIL
- SUB2API_ADMIN_PASSWORD
probes:
healthPath: /health
initialDelaySeconds: 3
periodSeconds: 10
timeoutSeconds: 3
failureThreshold: 6
rollout:
fieldManager: unidesk-platform-sub2rank
waitTimeoutSeconds: 180