284 lines
10 KiB
JSON
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."
|
|
}
|
|
]
|
|
}
|