Skip to content

aliyun-sls/umodel-devops-reference

Repository files navigation

umodel-devops-reference

UModel DevOps reference implementation for GitLab and Codeup (Alibaba Cloud DevOps).

Ingest developer, repository, release, image, and topology data from your git provider into UModel entities — switch providers by changing one config field.

中文文档

Architecture

┌─────────────┐     ┌─────────────┐
│   GitLab    │     │   Codeup    │
│  (self/SaaS)│     │ (China SaaS)│
└──────┬──────┘     └──────┬──────┘
       │ python-gitlab      │ alibabacloud SDK
       └────────┬───────────┘
                │ IGitAdapter
                ▼
      ┌──────────────────────┐
      │  devops_data_generator│
      │  ├─ 15 tasks          │
      │  ├─ SLS sender        │
      │  └─ orchestrator      │
      └──────────┬───────────┘
                 │ SLS / CMS write
                 ▼
      ┌──────────────────────┐
      │  UModel Explorer     │
      │  17 EntitySet         │
      │  36 EntitySetLink     │
      └──────────────────────┘

Quick Start

GitLab

cp devops_data_generator/config/app_config.gitlab.yaml.sample \
   devops_data_generator/config/app_config.yaml
# Edit app_config.yaml — fill in url, access_token, project_id, SLS/ACR/CMS credentials

docker compose up --build

Codeup

cp devops_data_generator/config/app_config.codeup.yaml.sample \
   devops_data_generator/config/app_config.yaml
# Edit app_config.yaml — fill in organization_id, access_key, SLS/ACR/CMS credentials

docker compose up --build

Same container, same command — which provider runs is determined by git_provider.type in app_config.yaml.

UModel Schema

17 EntitySets span the full DevOps lifecycle (org → project → code → CI/CD → release → deployment). Producer-backed entities (git + ACR derived): devops.user, devops.repository, devops.release, devops.pull_request, devops.artifact, devops.docker_image. The remaining 11 (organization, project, work_item, milestone, pipeline, pipeline_run, helm_chart, binary, npm_package, unit_testcase, deployment) are schema-only pending their data-source adapters (Jira/CI/appstack/artifact-registry/org) — see docs/umodel-entity-field-contract.md.

Domain EntitySet Producer-backed
devops devops.user ✓ (git)
devops devops.repository ✓ (git)
devops devops.release ✓ (git)
devops devops.pull_request ✓ (git)
devops devops.artifact ✓ (derived, ACR)
devops devops.docker_image ✓ (ACR)
devops + 11 schema-only pending adapters

36 EntitySetLinks connect these entities (29 design-doc relations + cross-domain links to apm.service and k8s.{pod,deployment,daemonset,statefulset}).

Verification

Six provider-aware verification skills validate the full pipeline:

  1. verification-resource-readiness — config and credentials check
  2. verification-workspace-alignment — SLS project / logstore alignment
  3. verification-workspace-refresh — run the data ingestion cycle
  4. verification-cms-visibility — confirm entities appear in CMS
  5. verification-cms-field-check — validate field values per provider
  6. verification-cms-sls-diagnose — failure-only diagnostics

Entry points: .claude/skills/<name>/SKILL.md and .codex/skills/<name>/SKILL.md.

Upload UModel Definitions

python3 umodel_uploader/umodel_batch_uploader.py umodel \
  --endpoint metrics.<REGION>.aliyuncs.com \
  --workspace <YOUR_WORKSPACE>

Project Structure

umodel-devops-reference/
├── umodel/                          # 17 EntitySet + 36 EntitySetLink
├── umodel_uploader/                 # Batch upload tool
├── devops_data_generator/
│   ├── adapters/{gitlab,codeup}/    # IGitAdapter implementations
│   ├── tasks/                       # 15 data ingestion tasks
│   ├── config/                      # Sample configs per provider
│   ├── orchestrator.py              # Task scheduling + structured results
│   └── scripts/                     # Verification + deployment scripts
├── tools/                           # gen_umodel_yaml.py (schema generator)
├── .claude/skills/                  # 6 Claude verification skills
├── .codex/skills/                   # 6 Codex verification skills
├── shared/verification/             # Verification contracts
├── docker-compose.yml               # Data generator (provider selected by config)
└── docs/                            # Design + deployment + provider guides

Documentation

License

Internal use.

About

UModel DevOps reference implementation for GitLab and Codeup (Alibaba Cloud DevOps).

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors