Repository navigation
Releases: pardnchiu/PodRun
Release list
v0.11.0
Update Log
Generated: 2026-01-23 08:00 (+00:00)
v0.10.0 → v0.11.0
Recommended Commit Message
feat: add user management system with email allowlist and refactor codebase into modular architecture
翻譯
feat: 新增使用者管理系統含 email 許可清單,並重構程式碼為模組化架構Summary
Add user management system with model, database operations (list/upsert), and REST API endpoint. Introduce ALLOW_EMAILS environment variable for pre-seeding authorized users at startup. Refactor codebase by extracting database methods, command parsing, and route handlers into separate files for improved maintainability.
翻譯
新增使用者管理系統,包含模型、資料庫操作(列表/更新插入)與 REST API 端點。引入 `ALLOW_EMAILS` 環境變數於啟動時預先載入授權使用者。重構程式碼:將資料庫方法、命令解析與路由處理器抽離至獨立檔案,提升可維護性。Changes
FEAT
- Add
Usermodel withID,Email,CreatedAt,Dismissfields - Add
userstable schema with email unique constraint - Add
ListUsers()database method to query active users - Add
UpsertUser()database method for user creation/update - Add
/api/user/upsertPOST endpoint for user management - Add
ALLOW_EMAILSenv variable to pre-seed users on startup via comma-separated list - Add
user_idforeign key reference inrecordstable schema
翻譯
- 新增
User模型含ID、Email、CreatedAt、Dismiss欄位 - 新增
users資料表結構含 email 唯一約束 - 新增
ListUsers()資料庫方法查詢有效使用者 - 新增
UpsertUser()資料庫方法用於建立/更新使用者 - 新增
/api/user/upsertPOST 端點用於使用者管理 - 新增
ALLOW_EMAILS環境變數於啟動時透過逗號分隔清單預先載入使用者 - 新增
records資料表的user_id外鍵參照
UPDATE
- Change default database path from working directory to
~/.podrun/database.db - Restructure API routes from
/pod/*to/api/pod/*prefix - Add
/api/healthGET endpoint for service health check - Add
ALLOW_EMAILSto.env.examplewithREMOTE_SERVERsection comment
翻譯
- 變更預設資料庫路徑從工作目錄改為
~/.podrun/database.db - 重新組織 API 路由從
/pod/*改為/api/pod/*前綴 - 新增
/api/healthGET 端點用於服務健康檢查 - 新增
ALLOW_EMAILS至.env.example含REMOTE_SERVER區段註解
REFACTOR
- Extract
PodmanArgstruct andparseArgs()function tointernal/command/parseArgs.go - Extract
UpsertPod()method tointernal/database/upsertPod.go - Extract
UpdatePod()method tointernal/database/updatePod.go - Extract
InsertRecord()method tointernal/database/insertRecord.go - Extract
ListPods()method tointernal/database/listPods.go - Extract
ListPodRecords()method tointernal/database/listPodRecords.go - Extract
PodInfo()method tointernal/database/podInfo.go - Extract
UpsertUser()method tointernal/database/upsertUser.go - Extract
ListUsers()method tointernal/database/listUsers.go - Create
internal/handler/package with dedicated GET and POST handler functions - Move inline route handlers from
routes.goto handler package
翻譯
- 抽離
PodmanArg結構與parseArgs()函式至internal/command/parseArgs.go - 抽離
UpsertPod()方法至internal/database/upsertPod.go - 抽離
UpdatePod()方法至internal/database/updatePod.go - 抽離
InsertRecord()方法至internal/database/insertRecord.go - 抽離
ListPods()方法至internal/database/listPods.go - 抽離
ListPodRecords()方法至internal/database/listPodRecords.go - 抽離
PodInfo()方法至internal/database/podInfo.go - 抽離
UpsertUser()方法至internal/database/upsertUser.go - 抽離
ListUsers()方法至internal/database/listUsers.go - 建立
internal/handler/套件含專屬 GET 與 POST 處理函式 - 將內嵌路由處理器從
routes.go移至處理套件
CHORE
- Add
godotenvdependency for loading.envfiles at startup
翻譯
- 新增
godotenv相依套件於啟動時載入.env檔案
Files Changed
| File | Status | Tag |
|---|---|---|
.env.expample |
Modified | UPDATE |
cmd/api/main.go |
Modified | FEAT, UPDATE, CHORE |
internal/command/command.go |
Modified | REFACTOR |
internal/command/parseArgs.go |
Added | REFACTOR |
internal/database/sqlite.go |
Modified | REFACTOR |
internal/database/upsertPod.go |
Added | REFACTOR |
internal/database/updatePod.go |
Added | REFACTOR |
internal/database/insertRecord.go |
Added | REFACTOR |
internal/database/listPods.go |
Added | REFACTOR |
internal/database/listPodRecords.go |
Added | REFACTOR |
internal/database/podInfo.go |
Added | REFACTOR |
internal/database/upsertUser.go |
Added | FEAT |
internal/database/listUsers.go |
Added | FEAT |
internal/model/user.go |
Added | FEAT |
internal/handler/get.go |
Added | REFACTOR |
internal/handler/post.go |
Added | REFACTOR, FEAT |
internal/routes/routes.go |
Modified | REFACTOR, UPDATE |
sql/create.sql |
Modified | FEAT |
Generated by Claude Code
v0.10.0
Update Log
Generated: 2026-01-20 09:15 (+00:00)
v0.9.0 → v0.10.0
Recommended Commit Message
feat: add pod operation recording with new records API endpoint
翻譯
feat: 新增 Pod 操作紀錄功能與 records API 端點Summary
Add operation recording system to track pod lifecycle events (up, down, clear, sync, overwrite). Introduces Record model, database insert method, and REST endpoint for audit trail.
翻譯
新增操作紀錄系統以追蹤 Pod 生命週期事件(up、down、clear、sync、overwrite)。引入 `Record` 模型、資料庫新增方法與 REST 端點用於稽核軌跡。Changes
FEAT
- Add
Recordmodel withUID,Content,Hostname,IPfields - Add
recordPod()function to log pod operations via API - Add
InsertRecord()method in SQLite database layer - Add
/pod/record/insertPOST endpoint for record creation - Add
hostnameandipcolumns torecordstable schema
翻譯
- 新增
Record模型含UID、Content、Hostname、IP欄位 - 新增
recordPod()函式透過 API 記錄 Pod 操作 - 新增 SQLite 資料庫層的
InsertRecord()方法 - 新增
/pod/record/insertPOST 端點用於建立紀錄 - 新增
hostname與ip欄位至records資料表結構
UPDATE
- Modify
RsyncToRemote()to skip dry-run preview when remote directory is empty - Modify rsync exclude list to remove
docker-compose.yml,docker-compose.yamlfrom sync phase - Add trusted proxy configuration (
127.0.0.1, local IP) to Gin router
翻譯
- 修改
RsyncToRemote()當遠端目錄為空時跳過 dry-run 預覽 - 修改 rsync 排除清單,同步階段移除
docker-compose.yml、docker-compose.yaml - 新增信任代理配置(
127.0.0.1、本機 IP)至 Gin 路由器
REFACTOR
- Extract
upsertPod()helper function from inline HTTP POST logic - Rename
ListContainers()toListPods()for consistency - Move
Recordstruct fromdatabase/sqlite.gotomodel/pod.go
翻譯
- 從內嵌 HTTP POST 邏輯中提取
upsertPod()輔助函式 - 將
ListContainers()重新命名為ListPods()以保持一致性 - 將
Record結構從database/sqlite.go移至model/pod.go
FIX
- Remove incorrect
pod_uid = excluded.pod_uidfrom UPSERT conflict clause
翻譯
- 移除 UPSERT 衝突子句中錯誤的
pod_uid = excluded.pod_uid
Files Changed
| File | Status | Tag |
|---|---|---|
internal/command/composeCMD.go |
Modified | FEAT, UPDATE, REFACTOR |
internal/database/sqlite.go |
Modified | FEAT, REFACTOR, FIX |
internal/model/pod.go |
Modified | FEAT |
internal/routes/routes.go |
Modified | FEAT, UPDATE |
sql/create.sql |
Modified | FEAT |
Generated by Claude Code
v0.9.0
Update Log
Generated: 2026-01-19 17:58 (+00:00)
v0.8.0 → v0.9.0
Recommended Commit Message
feat: add rsync dry-run preview with user confirmation before sync
翻譯
feat: 新增 rsync dry-run 預覽與同步前使用者確認機制Summary
Add interactive rsync preview with dry-run mode, allowing users to inspect file changes before confirming synchronization. Also add CMDOutput utility function for capturing command output.
翻譯
新增互動式 rsync 預覽功能,使用 dry-run 模式讓使用者在確認同步前檢視檔案變更。同時新增 `CMDOutput` 工具函式以擷取命令輸出。Changes
FEAT
- Add rsync dry-run preview (
-avni) to show pending changes before sync - Add user confirmation prompt (
y/N) before executing actual sync - Add
changeExist()helper to detect meaningful changes in rsync output - Add
CMDOutput()utility function to capture command stdout
翻譯
- 新增 rsync dry-run 預覽 (
-avni) 於同步前顯示待處理變更 - 新增使用者確認提示 (
y/N) 於執行實際同步前 - 新增
changeExist()輔助函式偵測 rsync 輸出中的有效變更 - 新增
CMDOutput()工具函式擷取命令標準輸出
UPDATE
- Refactor
RsyncToRemote()to separate preview and sync phases - Expand exclude list with
.next/,docker-compose.yml,docker-compose.yaml,app/package-lock.json - Relocate visual separator to preview and sync phases for better UX
翻譯
- 重構
RsyncToRemote()將預覽與同步階段分離 - 擴充排除清單加入
.next/、docker-compose.yml、docker-compose.yaml、app/package-lock.json - 移動視覺分隔線至預覽與同步階段以改善使用者體驗
Files Changed
| File | Status | Tag |
|---|---|---|
internal/command/composeCMD.go |
Modified | FEAT, UPDATE |
internal/utils/command.go |
Modified | FEAT |
Generated by Claude Code
v0.8.0
Update Log
Generated: 2026-01-19 17:30 (+00:00)
v0.7.0 → v0.8.0
Recommended Commit Message
feat: Add REST API server with SQLite persistence for pod management
翻譯
feat: 新增 REST API Server 與 SQLite 持久化以管理 PodSummary
Add a complete REST API layer with SQLite database for persisting pod deployment information. The CLI now automatically syncs pod metadata to the database on up/down/clear operations, enabling centralized tracking of deployed containers across multiple hosts.
翻譯
新增完整 REST API 層與 SQLite 資料庫,用於持久化 Pod 部署資訊。CLI 現在會在 up/down/clear 操作時自動同步 Pod metadata 至資料庫,實現多主機部署容器的集中追蹤管理。Changes
FEAT
- Add REST API server (
cmd/api) with Gin framework for pod management - Add SQLite database layer (
internal/database) with CRUD operations for pods - Add Pod model (
internal/model) with hostname and IP tracking - Add API routes for pod upsert, update, and list operations
- Integrate pod sync to database on compose up/down/clear commands
- Add
GetLocalIP()utility to capture deployer's IP address
翻譯
- 新增 REST API Server(
cmd/api)使用 Gin 框架管理 Pod - 新增 SQLite 資料庫層(
internal/database)支援 Pod CRUD 操作 - 新增 Pod Model(
internal/model)包含 hostname 與 IP 追蹤 - 新增 API routes 支援 pod upsert、update、list 操作
- 整合 compose up/down/clear 指令時自動同步 Pod 資訊至資料庫
- 新增
GetLocalIP()utility 取得部署者 IP 位址
UPDATE
- Extend
PodmanArgstruct withHostnameandIPfields - Refactor
ComposeCMDto return*model.Podinstead of string UID - Add pod info output (PodID, PodName, Hostname, IP) after successful deployment
翻譯
- 擴展
PodmanArg結構新增Hostname與IP欄位 - 重構
ComposeCMD回傳*model.Pod取代字串 UID - 部署成功後輸出 Pod 資訊(PodID、PodName、Hostname、IP)
FIX
- Fix typo in previous commit message (extra
)character)
翻譯
- 修正上次 commit message 的錯字(多餘的
)字元)
ADD
- Add SQL schema file (
sql/create.sql) for pods, records, and domains tables - Add
.env.expampleDB_PATH configuration
翻譯
- 新增 SQL schema 檔案(
sql/create.sql)定義 pods、records、domains 資料表 - 新增
.env.expampleDB_PATH 設定項
CHORE
- Add gin-gonic/gin, mattn/go-sqlite3, and related dependencies
翻譯
- 新增 gin-gonic/gin、mattn/go-sqlite3 及相關依賴
Files Changed
| File | Status | Tag |
|---|---|---|
cmd/api/main.go |
Added | FEAT |
internal/database/sqlite.go |
Added | FEAT |
internal/model/pod.go |
Added | FEAT |
internal/routes/routes.go |
Added | FEAT |
sql/create.sql |
Added | ADD |
internal/command/composeCMD.go |
Modified | FEAT |
internal/command/command.go |
Modified | UPDATE |
internal/utils/utils.go |
Modified | FEAT |
cmd/cli/main.go |
Modified | UPDATE |
.env.expample |
Modified | ADD |
go.mod |
Modified | CHORE |
go.sum |
Modified | CHORE |
Generated by Claude Code
v0.7.0
Update Log
Generated: 2026-01-18 10:30 (+00:00)
v0.6.0 → v0.7.0
Recommended Commit Message
feat: Add clear command for complete deployment cleanup (rm in ddrun.sh)
翻譯
feat: 新增 clear 命令以完整清理部署 (rm in ddrun.sh)Summary
Add clear subcommand to compose dispatcher that performs complete deployment cleanup by removing containers, volumes, images, and the project folder on the remote host.
翻譯
在 compose dispatcher 新增 `clear` 子命令,透過移除遠端主機上的容器、volumes、映像和專案資料夾來執行完整的部署清理。Changes
FEAT
- Add
clearcommand to compose dispatcher switch statement - Implement
clear()method with three-phase cleanup:- Remove containers and volumes via
podman compose down -v - Remove images via
podman compose down --rmi all - Remove project folder using privileged alpine container
- Remove containers and volumes via
翻譯
- 在 compose dispatcher switch 語句新增
clear命令 - 實作
clear()方法,包含三階段清理:- 透過
podman compose down -v移除容器和 volumes - 透過
podman compose down --rmi all移除映像 - 使用特權 alpine 容器移除專案資料夾
- 透過
Files Changed
| File | Status | Tag |
|---|---|---|
internal/command/composeCMD.go |
Modified | FEAT |
Generated by Claude Code
v0.6.0
Update Log
Generated: 2026-01-18 10:15 (+00:00)
v0.5.0 → v0.6.0
Recommended Commit Message
feat: Implement compose subcommands and fix context-aware -f flag parsing
翻譯
feat: 實作 compose 子命令並修正上下文感知的 -f 旗標解析Summary
Implement missing compose subcommand handlers (ps, logs, restart, exec, build) via unified runCMD() method, and fix argument parsing to correctly distinguish between logs -f (follow mode) and -f <file> (compose file path) based on command context.
翻譯
透過統一的 `runCMD()` 方法實作缺少的 compose 子命令處理器(ps、logs、restart、exec、build),並修正參數解析以根據命令上下文正確區分 `logs -f`(追蹤模式)和 `-f `(compose 檔案路徑)。Changes
FEAT
- Implement ps, logs, restart, exec, build compose subcommands via unified
runCMD()handler - Wire up previously empty switch cases to execute actual remote commands
翻譯
- 透過統一的
runCMD()handler 實作 ps、logs、restart、exec、build compose 子命令 - 將先前空的 switch cases 連接至實際執行遠端命令
FIX
- Fix
-fflag parsing to correctly handlelogs -fas follow flag instead of file path - Add early command detection in
parseArgs()to determine context before flag processing
翻譯
- 修正
-f旗標解析,正確處理logs -f為追蹤旗標而非檔案路徑 - 在
parseArgs()新增提前命令偵測,在旗標處理前確定上下文
REFACTOR
- Consolidate down, ps, logs, restart, exec, build cases into single
runCMD()method - Move ANSI color constants to top of
composeCMD.gofile - Simplify remote command execution by removing grep filter
翻譯
- 將 down、ps、logs、restart、exec、build cases 整合至單一
runCMD()方法 - 將 ANSI 色彩常數移至
composeCMD.go檔案頂部 - 移除 grep 過濾器以簡化遠端命令執行
Files Changed
| File | Status | Tag |
|---|---|---|
internal/command/command.go |
Modified | FIX |
internal/command/composeCMD.go |
Modified | FEAT, REFACTOR |
Generated by Claude Code
v0.5.0
Update Log
Generated: 2026-01-18 09:41 (+00:00)
v0.4.0 → v0.5.0
Recommended Commit Message
refactor: Move hardcoded credentials to environment variables and reorganize command utilities
翻譯
refactor: 將硬編碼憑證移至環境變數並重組命令工具Summary
Remove hardcoded SSH credentials from source code and migrate to environment variables loaded via godotenv. Reorganize command execution utilities into a dedicated file and improve CLI output formatting with ANSI colors.
翻譯
從原始碼中移除硬編碼的 SSH 憑證,改為透過 godotenv 載入環境變數。將命令執行工具重組至專用檔案,並使用 ANSI 色彩改善 CLI 輸出格式。Changes
SECURITY
- Remove hardcoded
RemoteServerandPasswordconstants fromcheckSSHConnection.goandutils.go - Move SSH credentials to environment variables (
PODRUN_SERVER,PODRUN_USERNAME,PODRUN_PASSWORD) - Add validation for required environment variables with clear error messages
翻譯
- 從
checkSSHConnection.go和utils.go移除硬編碼的RemoteServer和Password常數 - 將 SSH 憑證移至環境變數(
PODRUN_SERVER、PODRUN_USERNAME、PODRUN_PASSWORD) - 新增必要環境變數驗證,提供清楚的錯誤訊息
FEAT
- Add
Detachfield toPodmanArgstruct for tracking detach state - Add parsing support for
-d/--detachflag in argument parser
翻譯
- 在
PodmanArgstruct 新增Detach欄位用於追蹤分離狀態 - 在參數解析器新增
-d/--detach旗標的解析支援
REFACTOR
- Extract command execution utilities (
CMDRun,SSHTest,SSHRun,SSEOutput) tointernal/utils/command.go - Add
Podrunstruct andGetENV()function for centralized environment configuration - Replace inline detach flag checking with
p.Detachfield access - Add ANSI color constants (
Reset,Hint,Ok,Error,Warn) for CLI output formatting - Improve compose output with colored section dividers
- Inline brew install logic and remove redundant
installPackage()helper - Add
init()function with godotenv for.envfile loading
翻譯
- 將命令執行工具(
CMDRun、SSHTest、SSHRun、SSEOutput)抽取至internal/utils/command.go - 新增
Podrunstruct 和GetENV()函式用於集中式環境設定 - 將內聯 detach 旗標檢查替換為
p.Detach欄位存取 - 新增 ANSI 色彩常數(
Reset、Hint、Ok、Error、Warn)用於 CLI 輸出格式化 - 使用彩色區段分隔線改善 compose 輸出
- 內聯 brew 安裝邏輯並移除冗餘的
installPackage()helper - 新增
init()函式配合 godotenv 載入.env檔案
REMOVE
- Delete
internal/command/checkSSHConnection.go(functionality moved toutils.SSHTest()) - Remove debug
slog.Infocalls from compose commands
翻譯
- 刪除
internal/command/checkSSHConnection.go(功能已移至utils.SSHTest()) - 從 compose 命令移除除錯用的
slog.Info呼叫
ADD
- Add
.env.expampletemplate file for environment configuration
翻譯
- 新增
.env.expample範本檔案用於環境設定
CHORE
- Add
github.com/joho/godotenv v1.5.1dependency
翻譯
- 新增
github.com/joho/godotenv v1.5.1依賴
Files Changed
| File | Status | Tag |
|---|---|---|
cmd/cli/main.go |
Modified | REFACTOR |
go.mod |
Modified | CHORE |
go.sum |
Modified | CHORE |
internal/command/checkSSHConnection.go |
Deleted | SECURITY, REMOVE |
internal/command/command.go |
Modified | FEAT |
internal/command/composeCMD.go |
Modified | REFACTOR |
internal/utils/checkRelyPackages.go |
Modified | REFACTOR |
internal/utils/utils.go |
Modified | SECURITY, REFACTOR |
internal/utils/command.go |
Added | REFACTOR |
.env.expample |
Added | ADD |
Generated by Claude Code
v0.4.0
Update Log
Generated: 2026-01-18 08:00 (+00:00)
v0.3.0 → v0.4.0
Recommended Commit Message
refactor: Restructure compose commands with dispatcher pattern and add down command
翻譯
refactor: 重構 compose 命令為 dispatcher 模式並新增 down 命令Summary
Refactored the compose command architecture from a single Up() method to a unified ComposeCMD() dispatcher pattern supporting multiple compose subcommands. Added down command implementation.
翻譯
重構 compose 命令架構,從單一 `Up()` 方法改為統一的 `ComposeCMD()` dispatcher 模式,支援多個 compose 子命令。新增 `down` 命令實作。Changes
FEAT
- Add
downcommand for stopping and removing containers viapodman compose down - Add
Commandfield toPodmanArgstruct for command routing - Prepare dispatcher skeleton for future commands:
ps,logs,restart,exec,build
翻譯
- 新增
down命令,透過podman compose down停止並移除容器 - 在
PodmanArgstruct 新增Command欄位用於命令路由 - 準備未來命令的 dispatcher 骨架:
ps、logs、restart、exec、build
REFACTOR
- Restructure compose handling from
Up()toComposeCMD()dispatcher pattern - Rename
modifyComposeFiletoModifyComposeFile(exported method) - Move compose-related functions to
composeCMD.gofor better organization - Change CLI routing from explicit
"up"case todefaultcase for all compose commands
翻譯
- 重構 compose 處理從
Up()改為ComposeCMD()dispatcher 模式 - 將
modifyComposeFile重新命名為ModifyComposeFile(匯出方法) - 將 compose 相關函式移至
composeCMD.go以改善組織結構 - 將 CLI 路由從明確的
"up"case 改為defaultcase 以處理所有 compose 命令
REMOVE
- Remove
internal/command/up.go(functionality migrated tocomposeCMD.go)
翻譯
- 移除
internal/command/up.go(功能已遷移至composeCMD.go)
Files Changed
| File | Status | Tag |
|---|---|---|
cmd/cli/main.go |
Modified | REFACTOR |
internal/command/command.go |
Modified | FEAT |
internal/command/up.go |
Deleted | REMOVE |
internal/command/composeCMD.go |
Added | REFACTOR |
Generated by Claude Code
v0.3.0
Update Log
Generated: 2026-01-18 16:15
v0.2.0 → v0.3.0
Recommended Commit Message
feat: Add container deployment via SSH with rsync synchronization
翻譯
feat: 新增透過 SSH 進行容器部署與 rsync 同步功能Summary
Add complete container deployment workflow including SSH connection validation, file synchronization via rsync, and remote podman compose execution. Introduce PostgreSQL database integration for future deployment tracking.
翻譯
新增完整的容器部署流程,包含 SSH 連線驗證、透過 rsync 進行檔案同步、以及遠端 podman compose 執行。引入 PostgreSQL 資料庫整合,為未來部署追蹤做準備。Changes
FEAT
- Add
Up()method for deploying containers to remote server via SSH and podman compose - Add
Deploystruct to represent deployment metadata (UID, PodID, LocalDir, RemoteDir, Status, etc.) - Add
CheckSSHConnection()function to validate SSH connectivity before deployment - Add
RsyncToRemote()method for synchronizing local files to remote server with exclusion patterns - Add command routing in main.go for
domain,deploy,upsubcommands - Add
SSHRun()andSSEOutput()utility functions for remote command execution - Add
CMDOutput()utility function for capturing local command output - Add
modifyComposeFile()to strip host ports and add SELinux:zlabels for volume mounts
翻譯
- 新增
Up()method,透過 SSH 與 podman compose 部署容器至遠端伺服器 - 新增
Deploystruct 表示部署 metadata(UID、PodID、LocalDir、RemoteDir、Status 等) - 新增
CheckSSHConnection()函式,於部署前驗證 SSH 連線 - 新增
RsyncToRemote()method,使用排除規則同步本地檔案至遠端伺服器 - 新增 main.go 命令路由,支援
domain、deploy、up子命令 - 新增
SSHRun()與SSEOutput()工具函式執行遠端命令 - 新增
CMDOutput()工具函式擷取本地命令輸出 - 新增
modifyComposeFile()移除 host ports 並為 volume mounts 加入 SELinux:z標籤
UPDATE
- Update
setRemoteDir()to return UID (MD5 hash) along with remote directory path - Change default
Targetfrom "pod" to "podman" - Update
CMDRun()(formerlyCmdExec()) to attach stdin for interactive commands
翻譯
- 更新
setRemoteDir()同時回傳 UID(MD5 hash)與遠端目錄路徑 - 將預設
Target從 "pod" 改為 "podman" - 更新
CMDRun()(原CmdExec())附加 stdin 以支援互動式命令
FIX
- Fix
getLocalDir()to properly handlefilepath.Abs()error instead of ignoring it - Improve error messages in
getLocalDir()for clarity
翻譯
- 修正
getLocalDir()正確處理filepath.Abs()錯誤,而非忽略 - 改善
getLocalDir()錯誤訊息的清晰度
REFACTOR
- Rename
CmdExec()toCMDRun()for naming consistency withCMDOutput()
翻譯
- 將
CmdExec()重新命名為CMDRun()以與CMDOutput()命名一致
Files Changed
| File | Status | Tag |
|---|---|---|
cmd/cli/main.go |
Modified | FEAT |
internal/command/command.go |
Modified | UPDATE |
internal/command/checkSSHConnection.go |
Added | FEAT |
internal/command/up.go |
Added | FEAT |
internal/utils/utils.go |
Modified | FEAT |
internal/utils/checkRelyPackages.go |
Modified | REFACTOR |
Generated by Claude Code
v0.2.1
Update Log
Generated: 2026-01-18 16:00
v0.2.0 → v0.2.1
Recommended Commit Message
refactor: Extract command parsing and utilities into internal packages
翻譯
refactor: 將命令解析與工具函式抽取至 internal packagesSummary
Restructure codebase by extracting command parsing logic and utility functions from cmd/cli/main.go into dedicated internal packages (internal/command, internal/utils) for better modularity and separation of concerns.
翻譯
重構程式碼結構,將命令解析邏輯與工具函式從 `cmd/cli/main.go` 抽取至專用的 internal packages(`internal/command`、`internal/utils`),提升模組化與關注點分離。Changes
REFACTOR
- Extract
PodmanArgstruct and command parsing logic tointernal/commandpackage - Move
New()(formerlyparseCommand()),parseArgs(),getLocalDir(),setRemoteDir()tointernal/command/command.go - Extract
CheckRelyPackages(),installPackage()tointernal/utils/checkRelyPackages.go - Extract common utilities
IsDir(),FileExist(),GetMAC(),CmdExec()tointernal/utils/utils.go - Simplify
cmd/cli/main.goto entry point only, removing unused imports (crypto/md5,encoding/hex,net,path/filepath,runtime,strings,os/exec)
翻譯
- 將
PodmanArgstruct 與命令解析邏輯抽取至internal/commandpackage - 將
New()(原parseCommand())、parseArgs()、getLocalDir()、setRemoteDir()移至internal/command/command.go - 將
CheckRelyPackages()、installPackage()抽取至internal/utils/checkRelyPackages.go - 將通用工具函式
IsDir()、FileExist()、GetMAC()、CmdExec()抽取至internal/utils/utils.go - 簡化
cmd/cli/main.go為純進入點,移除未使用的 imports(crypto/md5、encoding/hex、net、path/filepath、runtime、strings、os/exec)
Files Changed
| File | Status | Tag |
|---|---|---|
cmd/cli/main.go |
Modified | REFACTOR |
internal/command/command.go |
Added | REFACTOR |
internal/utils/utils.go |
Added | REFACTOR |
internal/utils/checkRelyPackages.go |
Added | REFACTOR |
Generated by Claude Code