version: 1
kind: platform-infra-k3s-clusters
metadata:
  owner: unidesk
  specRef: project-management/PJ2026-01/specs/PJ2026-01060314-hyperv-ubuntu-vm.md
defaults:
  targetId: d601
targets:
  d601:
    enabled: true
    clusterName: d601
    node:
      id: D601-VM
      bootstrapConfigRef: config/platform-infra/hyperv-vms.yaml#targets.D601-VM
      hostProxyConfigRef: config/platform-infra/host-proxy.yaml#targets.D601-VM
      nodeName: d601-vm
      labels:
        unidesk.ai/node-id: D601-VM
        unidesk.ai/provider-id: D601-VM
        unidesk.ai/runtime-plane: standalone
    k3s:
      writeKubeconfigMode: "0644"
      maxPods: 500
      disableComponents:
        - traefik
        - servicelb
        - metrics-server
      registryMirror:
        source: 127.0.0.1:5000
        endpoint: https://registry.hwpod.com
        auth:
          sourceRef: /root/.unidesk/.state/secrets/platform-infra/k3s-clusters/d601-artifact-registry-pull.env
          usernameKey: ARTIFACT_REGISTRY_PULL_USERNAME
          passwordKey: ARTIFACT_REGISTRY_PULL_PASSWORD
          passwordHashKey: ARTIFACT_REGISTRY_PULL_PASSWORD_HASH
        publicExposure:
          enabled: true
          publicBaseUrl: https://registry.hwpod.com
          upstream: http://127.0.0.1:5000
          healthPath: /v2/
          healthExpectedStatuses:
            - 401
          dns:
            hostname: registry.hwpod.com
            expectedA: 152.53.229.148
          accessPolicy:
            allowedMethods:
              - GET
              - HEAD
      registryPullSmoke:
        image: 127.0.0.1:5000/hwlab/argocd:v3.4.2
        expectedDigest: sha256:aac65b69f9d95d409de358ae18d6b00a859b6f047f939588e595d9c0c576ecd2
        expectedBytes: 195443636
        concurrentPulls: 2
        timeoutSeconds: 900
