feat: add sync pull/diff/push commands for infrastructure-as-code workflow
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 20/100
- issue の種類
- 機能追加
- 明瞭さ
- おおむね明確
- 活発さ
- 停滞
- 技術スタック
- typescript
- 領域
- cli, infrastructure
調査の方向性
PR #21 の動作する実装から始め、issue の v1 スコープと比較してください。sync pull、sync diff、sync push のエントリーポイントを、それらのフラグと tRPC 更新エンドポイントを含めて確認してください。既存のプロジェクト、環境、アプリケーション、compose、データベース、および一覧にあるサブリソースが、作成または削除操作なしで、指定された pull、diff、push の動作をサポートすれば完了です。
索引モデルが issue の本文から書いたものです。
説明
Problem
Dokploy currently has no infrastructure-as-code story. There's no way to:
- Snapshot server state to version-controlled files
- Track configuration drift between environments
- Apply changes from local files back to the server
Proposed Solution
Add three new commands under dokploy sync:
sync pull- Serialize full Dokploy state (projects, environments, apps, compose, databases) to local YAML filessync diff- Compare local YAML state against the live server with colored field-level outputsync push- Apply local changes back via tRPC update endpoints
Flags
--project/-p- Filter by project name or ID--redact/-r- Mask sensitive fields (passwords, env vars, tokens)--dry-run/-d- Preview changes without applying--yes/-y- Skip confirmation prompt
v1 Scope
- Pull/diff/push for projects, environments, applications, compose, all 5 DB types
- Sub-resources: domains, ports, mounts, redirects, security
- Update existing resources only (no create/delete on push)
Deferred to v2
- Create/delete resources via push
- Interactive project selection
.dokployignore,--format json- Syncing global settings (registries, certificates, servers)
I have a working implementation ready in PR #21.
- 主要言語
- TypeScript
- スター
- 152
- フォーク
- 46
- PR マージ指標
- 30日以内にマージされた PR はありません
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
Dokploy/cli のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
-
難易度 1/5 1時間未満 初心者へのやさしさ 86/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
-
難易度 4/5 3〜5日 初心者へのやさしさ 62/100
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
vercel-labs/just-bash#464 ·
-
looksLikeSlug() is ASCII-only, so non-Latin entity slugs (e.g. Korean) skip exact match and collapse オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
-
難易度 1/5 1時間未満 初心者へのやさしさ 90/100
TanStack/tanstack.com#1293 ·