You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 776499d
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: docs/cli/exec.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -32,7 +32,7 @@ This command requires approval from the running desktop app:
32
32
33
33
- Commands matching the asset's **allow list** execute without approval
34
34
- Commands matching the **deny list** are rejected immediately
35
-
- A session is auto-created if not specified. Once the user approves with "Allow Session", subsequent commands in the same session skip approval
35
+
- A session is auto-created if not specified. Clicking "Remember" in the approval dialog stores the pattern, auto-approving matching subsequent commands in the same session
36
36
- When the desktop app is offline, only commands matching the allow-list policy or a pre-approved grant are permitted
Copy file name to clipboardExpand all lines: docs/cli/overview.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -37,7 +37,7 @@ When the OpsKat desktop app is running, `opsctl` automatically connects to it vi
37
37
38
38
-**Connection pooling** — reuses the desktop app's SSH connections instead of opening new ones
39
39
-**Approval workflow** — write operations (exec, cp, create, update) prompt an approval dialog in the desktop app
40
-
-**Session approval** — once the user clicks "Allow Session", all subsequent operations in the same session are auto-approved
40
+
-**Session approval** — clicking "Remember" in the approval dialog stores the command pattern for the current session, auto-approving matching subsequent operations
41
41
42
42
When the desktop app is not running, `opsctl` falls back to direct connections using the shared database and credentials.
| Windows | x64 |`opskat-vX.X.X-windows-amd64-installer.exe`|
19
+
| Linux | x64 |`opskat-vX.X.X-linux-amd64.deb`|
20
+
21
+
-**macOS** — Open the `.dmg` file and drag OpsKat to the Applications folder.
22
+
-**Windows** — Run the `.exe` installer and follow the prompts.
23
+
-**Linux** — Install the `.deb` package: `sudo dpkg -i opskat-vX.X.X-linux-amd64.deb`
24
+
25
+
## Installing opsctl
26
+
27
+
The `opsctl` CLI tool can be installed in two ways:
28
+
29
+
1.**From the desktop app (recommended)** — One-click install from the Settings page. The embedded binary is extracted to `~/.local/bin/` (Linux/macOS) or `%LOCALAPPDATA%/opsctl` (Windows).
30
+
2.**From source** — Run `make install-cli` to build and install to `$GOPATH/bin`.
20
31
21
-
Install the Wails CLI after Go is set up:
32
+
Verify the installation:
22
33
23
34
```bash
24
-
go install github.com/wailsapp/wails/v2/cmd/wails@latest
35
+
opsctl --help
25
36
```
26
37
27
-
## Download Pre-built Binaries
38
+
## Building from Source
28
39
29
-
Pre-built binaries for macOS, Linux, and Windows will be available on the [GitHub Releases](https://github.com/nicoxiang/opskat/releases) page.
make install # Install frontend dependencies (pnpm install)
39
-
make build # Production build (desktop app only)
52
+
go install github.com/wailsapp/wails/v2/cmd/wails@latest
40
53
```
41
54
42
-
To build with the embedded `opsctl` CLI (recommended for full functionality):
55
+
Clone and build:
43
56
44
57
```bash
45
-
make build-embed # Production build with embedded opsctl binary
58
+
git clone https://github.com/opskat/opskat.git
59
+
cd opskat
60
+
make install # Install frontend dependencies
61
+
make build-embed # Production build with embedded opsctl
46
62
```
47
63
48
64
The built application will be in the `build/bin/` directory.
49
65
50
-
### Build Targets
66
+
### Build Commands
51
67
52
68
| Command | Description |
53
69
|---|---|
@@ -58,43 +74,20 @@ The built application will be in the `build/bin/` directory.
58
74
|`make build-cli`| Build the opsctl CLI only |
59
75
|`make install-cli`| Install opsctl to `$GOPATH/bin`|
60
76
61
-
### Development Mode
62
-
63
-
For development with hot reload on both frontend and backend:
64
-
65
-
```bash
66
-
make dev
67
-
```
68
-
69
77
## Platform Support
70
78
71
-
OpsKat supports all three major desktop platforms:
72
-
73
-
-**macOS** (Intel and Apple Silicon)
74
-
-**Linux** (x86_64)
75
-
-**Windows** (x86_64)
79
+
-**macOS** — Intel and Apple Silicon
80
+
-**Linux** — x86_64
81
+
-**Windows** — x86_64
76
82
77
83
## App Data Directory
78
84
79
-
OpsKat stores its database (`opskat.db`), configuration, and logs in a platform-specific directory:
85
+
OpsKat stores its database, configuration, and logs in:
80
86
81
87
| Platform | Path |
82
88
|---|---|
83
89
| macOS |`~/Library/Application Support/opskat`|
84
90
| Windows |`%APPDATA%/opskat`|
85
91
| Linux |`~/.config/opskat`|
86
92
87
-
The `opsctl` CLI uses the same data directory by default, but you can override it with the `--data-dir` flag.
88
-
89
-
## Installing opsctl
90
-
91
-
The `opsctl` CLI tool can be installed in two ways:
92
-
93
-
1.**From the desktop app** — One-click install from the Settings page. The embedded binary is extracted to `~/.local/bin/` (Linux/macOS) or `%LOCALAPPDATA%/opsctl` (Windows).
94
-
2.**From source** — Run `make install-cli` to build and install to `$GOPATH/bin`.
95
-
96
-
Verify the installation:
97
-
98
-
```bash
99
-
opsctl --help
100
-
```
93
+
The `opsctl` CLI uses the same directory by default. Override with `--data-dir`.
Copy file name to clipboardExpand all lines: docs/guide/asset-management.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,7 +18,7 @@ SSH server assets for terminal access, command execution, and file transfer.
18
18
-**Username** — Login user
19
19
-**Auth Type** — `password` or `key`
20
20
-**Jump Host** — Optional jump host chain for bastion access
21
-
-**Proxy** — Optional SOCKS5/SOCKS4/HTTP proxy
21
+
-**Proxy** — Optional SOCKS5/SOCKS4 proxy
22
22
23
23
### Database (MySQL / PostgreSQL)
24
24
@@ -65,7 +65,7 @@ Right-click an asset and select **Delete**. Assets are soft-deleted (marked as d
65
65
66
66
## Credential Management
67
67
68
-
All credentials (passwords and SSH private keys) are encrypted before storage using AES encryption. The encryption key is derived from your OS keyring:
68
+
All credentials (passwords and SSH private keys) are encrypted with AES-256-GCM before storage. The master encryption key is stored in your OS keyring:
0 commit comments