# Implementation Status

This page lays out PodRun's full scope: what works today and what is still in progress. The goal is to make deploying to remote Podman and k3s as easy as running docker compose locally.

## Done

| Item | Description |
|---|---|
| Podman Compose deploy | `up`, `down`, `clear`, and passthrough for `ps` / `logs` / `restart` / `exec` / `build` |
| File sync | rsync sync with a diff preview before overwriting |
| Compose rewrite | Remote copy with host ports stripped and `:z` appended |
| Deployment record API | `/api/pod/*` backed by SQLite |

## Unfinished

| Item | Status | Planned Scope |
|---|---|---|
| k3s runtime (`--type=k3s`) | **[Unfinished]** | Deploy to k3s with the same commands; currently only stored in the `target` field and still runs through Podman Compose |
| `deploy` | **[Unfinished]** | Deploy the project to Kubernetes |
| `export` | **[Unfinished]** | Export the project as a Pod manifest |
| `domain` | **[Unfinished]** | Assign a domain to a Pod; the `domains` table is already reserved |
| `info` | **[Unfinished]** | Show project info |
| `clone` | **[Unfinished]** | Clone the remote project back to local |

Current behavior of unfinished commands: all five first print a one-line planned description; then `domain` and `deploy` do nothing, while `export`, `info`, and `clone` return `unsupported command`.
