# SPEC: PJ2026-01060308 cicd-yaml-targets draft-2026-06-25-cicd-yaml-targets.
version: 1
kind: UnideskArtifactRegistry
metadata:
  name: unidesk-artifact-registry
  owner: unidesk

defaults:
  targetId: D601

targets:
  D601:
    providerId: D601
    mode: d601-host-managed
    registry:
      host: 127.0.0.1
      port: 5000
      endpoint: http://127.0.0.1:5000
      image: registry:2.8.3
      repositoryPrefix: 127.0.0.1:5000/unidesk
    runtime:
      baseDir: /home/ubuntu/.unidesk/artifact-registry
      storageDir: /home/ubuntu/.unidesk/registry-storage
      unitName: unidesk-artifact-registry.service
      composeProject: unidesk-artifact-registry
      serviceName: registry
      containerName: unidesk-artifact-registry
      timeoutMs: 30000
    source:
      repo: https://github.com/pikasTech/unidesk
    consumers:
      target:
        composePullMode: provider-gateway-image-stream
        k3sImportMode: d601-native-containerd
        defaultEnvironment: prod
      catalogRef: scripts/src/artifact-registry/catalog.ts
      note: catalogRef is a legacy adapter boundary until service manifests own each consumer.
  local:
    providerId: local
    mode: d601-host-managed-local
    registry:
      host: 127.0.0.1
      port: 5000
      endpoint: http://127.0.0.1:5000
      image: registry:2.8.3
      repositoryPrefix: 127.0.0.1:5000/unidesk
    runtime:
      baseDir: /home/ubuntu/.unidesk/artifact-registry
      storageDir: /home/ubuntu/.unidesk/registry-storage
      unitName: unidesk-artifact-registry.service
      composeProject: unidesk-artifact-registry
      serviceName: registry
      containerName: unidesk-artifact-registry
      timeoutMs: 30000
    source:
      repo: https://github.com/pikasTech/unidesk
    consumers:
      target:
        composePullMode: provider-gateway-image-stream
        k3sImportMode: d601-native-containerd
        defaultEnvironment: prod
      catalogRef: scripts/src/artifact-registry/catalog.ts
      note: local target reuses the D601 host registry facts when the CLI runs on the target host.
