secflow-cli 0.1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,64 @@
1
+ Metadata-Version: 2.4
2
+ Name: secflow-cli
3
+ Version: 0.1.0
4
+ Summary: SecFlow operator CLI
5
+ License-Expression: MIT
6
+ Project-URL: Repository, https://github.com/yeon3724/secflow
7
+ Project-URL: Issues, https://github.com/yeon3724/secflow/issues
8
+ Requires-Python: >=3.10
9
+ Description-Content-Type: text/markdown
10
+ License-File: LICENSE
11
+ Requires-Dist: secflow-sdk==0.1.8
12
+ Requires-Dist: keyring<26,>=25
13
+ Dynamic: license-file
14
+
15
+ # SecFlow CLI
16
+
17
+ Use Intflow browser login or an existing Slack-issued Admin session. Both distributions provide the same `secflowctl` commands.
18
+
19
+ ## Install and update
20
+
21
+ Choose one distribution per machine; both own the same `secflowctl` command and share profiles and the OS credential store.
22
+
23
+ ```sh
24
+ pipx install secflow-cli
25
+ # Or in a Python environment:
26
+ python -m pip install secflow-cli
27
+
28
+ # Alternative: Node.js 22+; no separate Python installation required
29
+ npm install --global @intflow/secflow-cli
30
+ secflowctl --version
31
+ ```
32
+
33
+ The Python distribution requires Python 3.10+. Installation automatically includes the Admin-capable `secflow-sdk==0.1.8` dependency.
34
+
35
+ The npm distribution includes Python and the CLI dependencies in OS-specific native packages. Initial targets: Windows x64, macOS Intel/Apple Silicon, and Linux x64 with glibc 2.35+ (Ubuntu 22.04+). Alpine/musl and Linux ARM are not npm targets yet; use the Python distribution there. Keep npm optional dependencies enabled. Installation has no postinstall script or runtime download. Native binaries are not platform-signed or notarized.
36
+
37
+ The bundled interpreter includes CA certificates for HTTPS. An explicit `SSL_CERT_FILE` or `SSL_CERT_DIR` takes precedence for organization-managed trust; TLS certificate verification stays enabled.
38
+
39
+ ```sh
40
+ pipx upgrade secflow-cli
41
+ # Or use the same installer as the initial installation:
42
+ python -m pip install --upgrade secflow-cli
43
+ npm install --global @intflow/secflow-cli@latest
44
+ ```
45
+
46
+ ## Connect
47
+
48
+ ```sh
49
+ secflowctl login
50
+ secflowctl auth status
51
+ secflowctl namespaces list --help
52
+ secflowctl namespaces list --all
53
+ secflowctl --help
54
+ ```
55
+
56
+ `secflowctl` without arguments displays a quick start. `secflowctl login` opens Intflow login and creates the `production` profile for `https://secflow.intflow.dev` on first use. Existing profiles retain their selected server. For another server, first use `secflowctl profile add staging --base-url https://secflow.example.test`, then `secflowctl --profile staging login`. Global options precede the command. Every command supports `--help`, including examples. Account and role administration still requires server authorization; token commands currently list metadata only.
57
+
58
+ `auth login` remains compatible with Slack-issued Admin sessions and prompts without echo for an existing session. Sessions are stored in Windows Credential Manager, macOS Keychain, or Linux Secret Service. Linux persistent login needs an unlocked Secret Service (for example GNOME Keyring) and a D-Bus session. If secure storage is unavailable, login fails without a plaintext file fallback. Installing the CLI does not create an account or grant access.
59
+
60
+ When browser login is enabled on the server, run `secflowctl auth login --browser`. Sign in to Intflow, compare the code with your terminal, and approve the SecFlow login. Use `--browser --no-browser` to open the displayed URL manually. This requires an interactive terminal, an existing authorized SecFlow account, and OS credential storage. The CLI stores only the resulting SecFlow session. If login expires or the exchange fails, start a new login.
61
+
62
+ For automation use `SECFLOW_ADMIN_SESSION_TOKEN` supplied by your secret manager, or `--token-stdin` with `--non-interactive`. Never put tokens in command arguments, profiles, shell history, or tracked files. SDK tokens cannot authorize these Admin commands. `auth logout` revokes the current server session; `auth forget` only removes the local credential.
63
+
64
+ To uninstall, use `pipx uninstall secflow-cli`, `python -m pip uninstall secflow-cli`, or `npm uninstall --global @intflow/secflow-cli` as appropriate. Uninstalling does not revoke server sessions or erase profiles; log out and remove unwanted profiles first.
@@ -0,0 +1,18 @@
1
+ secflow_cli/__init__.py,sha256=PhCS3yQQYd0wZkY65JdlOwrxwBUfNnDtq3AsmbyIOas,77
2
+ secflow_cli/__main__.py,sha256=MO8VVLAb2ytgdfyviI3_zeAa2YeDLJMJIWi9J0eqEoE,60
3
+ secflow_cli/access_profile_commands.py,sha256=tFP8uXwSZFTMl8T-AZEWPjJH4EKCWBf-Gp1qb7ZOzUQ,4672
4
+ secflow_cli/account_commands.py,sha256=kaxH7tmGpdgxNZDPNNxdAhXPDYzJDWg8Z23hpUU83k8,6526
5
+ secflow_cli/browser_login.py,sha256=0RVJoQZbgpzFKnGpjRP00ZYs5G6D3N8TmCyNuXzHrWQ,5281
6
+ secflow_cli/config.py,sha256=PtFwlxdRI1SHMctrGmf5v7hxDfKp56uRKGVAd0L8uy4,4909
7
+ secflow_cli/credentials.py,sha256=1mPwqDOySuFFZ7GwKGx4zn7VtgM31B9T2m92gRiF8-s,2443
8
+ secflow_cli/errors.py,sha256=x_HkTDvn0rPVXrPmfCDJG7_VB3KFL6imosKj_A8toec,287
9
+ secflow_cli/help.py,sha256=zTzvr7aJgioFmSwEj4WVRleGQTSrPfUM36jJdyCNHbw,7032
10
+ secflow_cli/main.py,sha256=5ARLBinVdxw3pVan6RII_35FgYYIMQrjTxOCk70u2aM,22854
11
+ secflow_cli/namespace_commands.py,sha256=cVBwKcL0IX5HHqeqq1cb2FjSyLA2_9QQweFyajKHV64,8203
12
+ secflow_cli/role_commands.py,sha256=WVF2GCOgcUPYmMRLB04mEczFugj2pRjX8Cmhy8Q7Vqk,5176
13
+ secflow_cli-0.1.0.dist-info/licenses/LICENSE,sha256=lkuZDJi4eOjp7xU3_ZedIoj4bUrzCeO5wL-luDMbtoU,1077
14
+ secflow_cli-0.1.0.dist-info/METADATA,sha256=tpiaB_BGxo5FozXcWJzmUPtvLpZFYwmr_nu5suKVdus,4150
15
+ secflow_cli-0.1.0.dist-info/WHEEL,sha256=YVMoNqKzERt-wjUZwJ33xBGAwnFl-4cqbYkTtWa4itE,91
16
+ secflow_cli-0.1.0.dist-info/entry_points.txt,sha256=bcAY5pq49bMl6YGgs1KwCwjmZ4IRTu7qwWU8s2hQPgQ,53
17
+ secflow_cli-0.1.0.dist-info/top_level.txt,sha256=bt8cA4MqXlcILjjDwN0sIKThGWvyd2v8NN2wZnQX_6w,12
18
+ secflow_cli-0.1.0.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (84.0.0)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ secflowctl = secflow_cli.main:main
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 SecFlow contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1 @@
1
+ secflow_cli