[pipedv1] Support plugin metadata in application data model and protobuf schema

オープン
#7,134 コメント 4 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 2 日以内に返信

@Atharva-Ramawat がすでに取り組んでいます。

2026年10月19日 から。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
55/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
静か
技術スタック
go

調査の方向性

まず pkg/model 配下の application .proto ファイルと application.go を確認し、次にプロジェクトのコード生成コマンドを特定します。pipedv0 の platform_provider 互換性を維持しながら、pipedv1 プラグインと deployTargets のサポートを追加します。pkg/model に marshaling、unmarshaling、検証のテストを追加し、コード生成と既存の pipedv0 テストが成功することを確認します。

索引モデルが issue の本文から書いたものです。

説明

Parent Epic / Context

This issue is a sub-task derived from Epic #5252 (Make PipeCD control plane support plugin-arched piped) and Epic #5259.


What would you like to be added?

Update the application data model and Protobuf definitions in pkg/model to accommodate pipedv1 plugin metadata (plugins and deployTargets) while preserving backward-compatibility for legacy pipedv0 fields (platform_provider).


Why is this needed?

To allow the PipeCD Control Plane to handle both pipedv0 and pipedv1 agents simultaneously during the migration phase, the underlying application data structures must support plugin metadata without requiring legacy platform provider fields.


Proposed Solution & Implementation Plan
  1. Protobuf & Schema Updates: Update application .proto files in pkg/model to include plugins and deployTargets.
  2. Validation Logic: Update validation rules in pkg/model/application.go so that pipedv1 plugin-based application configurations pass validation without requiring platform_provider.
  3. Unit Tests: Add unit tests under pkg/model verifying marshaling, unmarshaling, and validation for both pipedv0 and pipedv1 application entities.

Acceptance Criteria
  • Protobuf definitions generate cleanly via project codegen tools.
  • pipedv1 application configs pass validation without requiring platform_provider.
  • Existing pipedv0 unit tests pass without regression.
主要言語
Go
スター
1.4k
フォーク
391
平均マージ
4日 1時間
マージ済み PR(30日)
58

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

pipe-cd/pipecd のほかの issue

pipe-cd/pipecd の issue をすべて見る

似ている issue

Go の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。