Files
pikasTech-unidesk/CI.json
T
2026-05-20 03:42:13 +00:00

284 lines
10 KiB
JSON

{
"schemaVersion": 2,
"kind": "ci-artifact-catalog",
"purpose": "CI artifact catalog only. This file describes build inputs and image artifact naming; it does not describe runtime topology and does not replace deploy.json, config.json, or runtime manifests.",
"summaryContract": {
"requiredOnSuccess": [
"serviceId",
"sourceCommit",
"sourceRepo",
"dockerfile",
"imageRef",
"tag",
"digest",
"digestRef"
],
"fieldSemantics": {
"serviceId": "Stable UniDesk service id for the artifact.",
"sourceCommit": "Full 40-character Git commit used as the source and tag.",
"sourceRepo": "Git repository URL used to materialize the source.",
"dockerfile": "Repo-relative Dockerfile path used by CI.",
"imageRef": "Commit-tagged image reference pushed by CI.",
"tag": "Commit-pinned image tag; mutable tags such as latest are not valid.",
"digest": "Registry manifest digest for the pushed image.",
"digestRef": "Immutable image reference in repository@digest form."
}
},
"defaults": {
"producer": "D601 Tekton CI",
"registry": "127.0.0.1:5000",
"tagTemplate": "{{sourceCommit}}",
"mutableTagsAllowed": false,
"runtimeFieldsForbidden": [
"providerId",
"namespace",
"ports",
"composeService",
"kubernetesService",
"healthPath",
"replicas",
"env",
"volumes"
]
},
"artifacts": [
{
"serviceId": "backend-core",
"kind": "source-build",
"status": "supported",
"producer": "ci publish-backend-core",
"source": {
"repo": "https://github.com/pikasTech/unidesk",
"dockerfile": "src/components/backend-core/Dockerfile"
},
"image": {
"repository": "unidesk/backend-core"
},
"notes": "Rust backend-core image creation is CI producer only. It is limited to dev image validation and artifact publication; this catalog does not authorize prod deployment verification."
},
{
"serviceId": "frontend",
"kind": "source-build",
"status": "supported",
"producer": "ci publish-user-service",
"source": {
"repo": "https://github.com/pikasTech/unidesk",
"dockerfile": "src/components/frontend/Dockerfile"
},
"image": {
"repository": "unidesk/frontend"
}
},
{
"serviceId": "baidu-netdisk",
"kind": "source-build",
"status": "supported",
"producer": "ci publish-user-service",
"source": {
"repo": "https://github.com/pikasTech/unidesk",
"dockerfile": "src/components/microservices/baidu-netdisk/Dockerfile"
},
"image": {
"repository": "unidesk/baidu-netdisk"
}
},
{
"serviceId": "decision-center",
"kind": "source-build",
"status": "supported",
"producer": "ci publish-user-service",
"source": {
"repo": "https://github.com/pikasTech/unidesk",
"dockerfile": "src/components/microservices/decision-center/Dockerfile"
},
"image": {
"repository": "unidesk/decision-center"
}
},
{
"serviceId": "project-manager",
"kind": "source-build",
"status": "supported",
"producer": "ci publish-user-service",
"source": {
"repo": "https://github.com/pikasTech/unidesk",
"dockerfile": "src/components/microservices/project-manager/Dockerfile"
},
"image": {
"repository": "unidesk/project-manager"
}
},
{
"serviceId": "oa-event-flow",
"kind": "source-build",
"status": "supported",
"producer": "ci publish-user-service",
"source": {
"repo": "https://github.com/pikasTech/unidesk",
"dockerfile": "src/components/microservices/oa-event-flow/Dockerfile"
},
"image": {
"repository": "unidesk/oa-event-flow"
}
},
{
"serviceId": "todo-note",
"kind": "source-build",
"status": "supported",
"producer": "ci publish-user-service",
"source": {
"repo": "https://gitee.com/Lyon1998/todo_note",
"dockerfile": "Dockerfile"
},
"image": {
"repository": "unidesk/todo-note"
},
"notes": "External Gitee source repo. CI must fetch https://gitee.com/Lyon1998/todo_note at the requested commit and build that repo's Dockerfile; UniDesk only owns the runtime consumer metadata and Compose integration."
},
{
"serviceId": "code-queue-mgr",
"kind": "source-build",
"status": "supported",
"producer": "ci publish-user-service",
"source": {
"repo": "https://github.com/pikasTech/unidesk",
"dockerfile": "src/components/microservices/code-queue-mgr/Dockerfile"
},
"image": {
"repository": "unidesk/code-queue-mgr"
},
"notes": "Main-server internal sidecar artifact producer. Dev artifact consumer validation is supported; prod live apply is supervisor-gated by the deploy/artifact-registry consumer."
},
{
"serviceId": "findjob",
"kind": "source-build",
"status": "supported",
"producer": "ci publish-user-service",
"source": {
"repo": "https://gitee.com/Lyon1998/findjob",
"dockerfile": "Dockerfile"
},
"image": {
"repository": "unidesk/findjob"
},
"notes": "D601 direct Compose artifact consumer is implemented for plan/dry-run and dev validation. Live deploy requires a pre-existing labeled registry artifact for this external repo."
},
{
"serviceId": "pipeline",
"kind": "source-build",
"status": "supported",
"producer": "ci publish-user-service",
"source": {
"repo": "https://github.com/pikasTech/pipeline",
"dockerfile": "Dockerfile"
},
"image": {
"repository": "unidesk/pipeline"
},
"notes": "D601 direct Compose artifact consumer is implemented for plan/dry-run and dev validation. Live deploy requires a pre-existing labeled registry artifact for this external repo."
},
{
"serviceId": "met-nonlinear",
"kind": "source-build",
"status": "supported",
"producer": "ci publish-user-service",
"source": {
"repo": "https://github.com/pikasTech/met_nonlinear",
"dockerfile": "docker/unidesk/Dockerfile.ml"
},
"image": {
"repository": "unidesk/met-nonlinear"
},
"notes": "D601 direct Compose artifact consumer is plan/dry-run only until the long-running met-nonlinear-ts artifact contract is separated from the ML image Dockerfile."
},
{
"serviceId": "k3sctl-adapter",
"kind": "source-build",
"status": "supported",
"producer": "ci publish-user-service",
"source": {
"repo": "https://github.com/pikasTech/unidesk",
"dockerfile": "src/components/microservices/k3sctl-adapter/Dockerfile"
},
"image": {
"repository": "unidesk/k3sctl-adapter"
},
"notes": "D601 direct Compose artifact consumer exposes plan/dry-run only; real prod deployment requires supervisor confirmation."
},
{
"serviceId": "mdtodo",
"kind": "source-build",
"status": "supported",
"producer": "ci publish-user-service",
"source": {
"repo": "https://github.com/pikasTech/unidesk",
"dockerfile": "src/components/microservices/mdtodo/Dockerfile"
},
"image": {
"repository": "unidesk/mdtodo"
},
"notes": "D601 k3s-managed user-service artifact. Dev consumer targets unidesk-dev/mdtodo-dev; prod consumer targets unidesk/mdtodo."
},
{
"serviceId": "claudeqq",
"kind": "source-build",
"status": "supported",
"producer": "ci publish-user-service",
"source": {
"repo": "https://gitee.com/lyon1998/agent_skills",
"dockerfile": "claudeqq/Dockerfile"
},
"image": {
"repository": "unidesk/claudeqq"
},
"notes": "External Gitee source repo. CI exports the claudeqq/ subtree and overlays the UniDesk Dockerfile plus adapter before building."
},
{
"serviceId": "code-queue",
"kind": "source-build",
"status": "supported",
"producer": "ci publish-user-service",
"source": {
"repo": "https://github.com/pikasTech/unidesk",
"dockerfile": "src/components/microservices/code-queue/Dockerfile"
},
"image": {
"repository": "unidesk/code-queue"
},
"notes": "Artifact producer is allowed for dev image validation only. The CD consumer for code-queue is dev-only; production artifact deploy, rollout and manifest mutation remain unsupported."
},
{
"serviceId": "filebrowser",
"kind": "upstream-image",
"status": "blocked",
"producer": "ci publish-user-service",
"upstream": {
"imageRef": "docker.io/filebrowser/filebrowser:v2.63.3",
"digestRef": "docker.io/filebrowser/filebrowser@sha256:289c5dd677c56662440f26eeb44266ed9746fe563d2e9100f546bff558534d70",
"sourceRepo": "https://github.com/filebrowser/filebrowser",
"sourceRevision": "ca5e249e3c0c94159c2136a0cd431a424eb18472",
"mirrorRepository": "upstream/filebrowser/filebrowser",
"mirrorTag": "upstream-v2.63.3",
"mirrorDigestRef": "127.0.0.1:5000/upstream/filebrowser/filebrowser@{{digest}}"
},
"blockedReason": "File Browser uses an upstream image and must not be modeled as a UniDesk Dockerfile source build. Add a future upstream mirror producer before publishing it through CI."
},
{
"serviceId": "filebrowser-d601",
"kind": "upstream-image",
"status": "blocked",
"producer": "ci publish-user-service",
"upstream": {
"imageRef": "docker.io/filebrowser/filebrowser:v2.63.3",
"digestRef": "docker.io/filebrowser/filebrowser@sha256:289c5dd677c56662440f26eeb44266ed9746fe563d2e9100f546bff558534d70",
"sourceRepo": "https://github.com/filebrowser/filebrowser",
"sourceRevision": "ca5e249e3c0c94159c2136a0cd431a424eb18472",
"mirrorRepository": "upstream/filebrowser/filebrowser",
"mirrorTag": "upstream-v2.63.3",
"mirrorDigestRef": "127.0.0.1:5000/upstream/filebrowser/filebrowser@{{digest}}"
},
"blockedReason": "File Browser D601 uses the same pinned upstream image as filebrowser and must not be modeled as a UniDesk Dockerfile source build. Add a future upstream mirror producer before publishing it through CI."
}
]
}