[
  {
    "file_no": "SRC-001",
    "dir_raw": "payments-api",
    "path": "payments-api/catalog-info.yaml",
    "title": "payments-api 저장소의 catalog-info.yaml",
    "body": "apiVersion: backstage.io/v1alpha1\nkind: Component\nmetadata:\n  name: payments-api\n  description: 결제 승인과 취소를 맡는 API 입니다\n  annotations:\n    github.com/project-slug: vntg/payments-api\n    backstage.io/kubernetes-id: payments-api\n  tags:\n    - nestjs\n    - typescript\nspec:\n  type: service\n  lifecycle: production\n  owner: group:default/payments-platform\n  system: payments",
    "service_id": null
  },
  {
    "file_no": "SRC-002",
    "dir_raw": "payments-api",
    "path": "payments-api/CODEOWNERS",
    "title": "payments-api 저장소의 CODEOWNERS",
    "body": "# 기본 소유는 플랫폼 개발팀입니다\n*                      @vntg/team-platform\n/docs/                 @vntg/team-docs\n/src/                  @vntg/team-payments\n/src/settlement/       @vntg/team-billing\ncatalog-info.yaml      @vntg/team-billing",
    "service_id": null
  },
  {
    "file_no": "SRC-003",
    "dir_raw": "payments_api",
    "path": "platform-deploy/payments_api/deployment.yaml",
    "title": "platform-deploy 저장소의 payments_api 배포 매니페스트",
    "body": "apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: payments-api\n  namespace: prod\n  labels:\n    app.kubernetes.io/name: payments-api\n    app.kubernetes.io/part-of: payments\nspec:\n  replicas: 4\n  template:\n    spec:\n      containers:\n        - name: api\n          image: ghcr.io/vntg/payments-api:1.14.2",
    "service_id": null
  },
  {
    "file_no": "SRC-004",
    "dir_raw": "search-api",
    "path": "search-api/catalog-info.yaml",
    "title": "search-api 저장소의 catalog-info.yaml",
    "body": "apiVersion: backstage.io/v1alpha1\nkind: Component\nmetadata:\n  name: search-api\n  annotations:\n    backstage.io/kubernetes-id: search-api\nspec:\n  type: service\n  lifecycle: production\n  owner: group:default/search-platform\n  system: search",
    "service_id": null
  },
  {
    "file_no": "SRC-005",
    "dir_raw": "search-api",
    "path": "search-api/CODEOWNERS",
    "title": "search-api 저장소의 CODEOWNERS",
    "body": "# 검색 저장소 소유 규칙입니다\n*                      @vntg/team-search\n/infra/                @vntg/team-platform",
    "service_id": null
  },
  {
    "file_no": "SRC-006",
    "dir_raw": "search_api",
    "path": "platform-deploy/search_api/deployment.yaml",
    "title": "platform-deploy 저장소의 search_api 배포 매니페스트",
    "body": "apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: search-api\n  namespace: prod\n  labels:\n    app.kubernetes.io/name: search-api\nspec:\n  replicas: 2\n  template:\n    spec:\n      containers:\n        - name: api\n          image: ghcr.io/vntg/search-api:0.9.7",
    "service_id": null
  },
  {
    "file_no": "SRC-007",
    "dir_raw": "notification-worker",
    "path": "platform-deploy/notification-worker/deployment.yaml",
    "title": "platform-deploy 저장소의 notification-worker 배포 매니페스트",
    "body": "apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: notification-worker\n  namespace: prod\n  labels:\n    app.kubernetes.io/name: notification-worker\nspec:\n  replicas: 3\n  template:\n    spec:\n      containers:\n        - name: worker\n          image: ghcr.io/vntg/notification-worker:2.3.0",
    "service_id": null
  },
  {
    "file_no": "SRC-008",
    "dir_raw": "notification-worker",
    "path": "notification-worker/CODEOWNERS",
    "title": "notification-worker 저장소의 CODEOWNERS",
    "body": "# 알림 워커 저장소입니다\n*                      @vntg/team-alerts",
    "service_id": null
  },
  {
    "file_no": "SRC-009",
    "dir_raw": "terroir-portal",
    "path": "terroir-portal/catalog-info.yaml",
    "title": "terroir-portal 저장소의 catalog-info.yaml",
    "body": "apiVersion: backstage.io/v1alpha1\nkind: Component\nmetadata:\n  name: terroir-portal\n  description: Terroir 개발자 포털 프런트엔드입니다\n  annotations:\n    backstage.io/kubernetes-id: terroir-portal\n    backstage.io/techdocs-ref: dir:.\nspec:\n  type: service\n  lifecycle: production\n  owner: group:default/platform-tools\n  system: terroir",
    "service_id": null
  },
  {
    "file_no": "SRC-010",
    "dir_raw": "terroir-portal",
    "path": "terroir-portal/CODEOWNERS",
    "title": "terroir-portal 저장소의 CODEOWNERS",
    "body": "# Terroir 개발자 포털입니다\n*                      @vntg/team-platform\n/packages/ui/          @vntg/team-design",
    "service_id": null
  },
  {
    "file_no": "SRC-011",
    "dir_raw": "legacy-batch",
    "path": "legacy-batch/serverless.yml",
    "title": "legacy-batch 저장소의 serverless.yml",
    "body": "service: vntgLegacyBatch\nframeworkVersion: 3\nprovider:\n  name: aws\n  runtime: nodejs20.x\n  stage: prod\nfunctions:\n  settleDaily:\n    handler: src/settle.handler\n    events:\n      - schedule: cron(0 18 * * ? *)",
    "service_id": null
  },
  {
    "file_no": "SRC-012",
    "dir_raw": "platform-deploy",
    "path": "platform-deploy/CODEOWNERS",
    "title": "platform-deploy 저장소의 CODEOWNERS",
    "body": "# 배포 매니페스트 저장소입니다\n*                      @vntg/team-platform\n/payments_api/         @vntg/team-payments\n/search_api/           @vntg/team-search\n/notification-worker/  @vntg/team-alerts",
    "service_id": null
  }
]