mozbridge-cli 0.6.0__tar.gz → 0.7.0__tar.gz
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.
- {mozbridge_cli-0.6.0 → mozbridge_cli-0.7.0}/PKG-INFO +2 -2
- {mozbridge_cli-0.6.0 → mozbridge_cli-0.7.0}/README.md +1 -1
- {mozbridge_cli-0.6.0 → mozbridge_cli-0.7.0}/pyproject.toml +1 -1
- {mozbridge_cli-0.6.0 → mozbridge_cli-0.7.0}/src/mozbridge_cli/config.py +11 -1
- {mozbridge_cli-0.6.0 → mozbridge_cli-0.7.0}/.gitignore +0 -0
- {mozbridge_cli-0.6.0 → mozbridge_cli-0.7.0}/docs/commands.md +0 -0
- {mozbridge_cli-0.6.0 → mozbridge_cli-0.7.0}/scripts/release.sh +0 -0
- {mozbridge_cli-0.6.0 → mozbridge_cli-0.7.0}/src/mozbridge_cli/__init__.py +0 -0
- {mozbridge_cli-0.6.0 → mozbridge_cli-0.7.0}/src/mozbridge_cli/__main__.py +0 -0
- {mozbridge_cli-0.6.0 → mozbridge_cli-0.7.0}/src/mozbridge_cli/api.py +0 -0
- {mozbridge_cli-0.6.0 → mozbridge_cli-0.7.0}/src/mozbridge_cli/auth.py +0 -0
- {mozbridge_cli-0.6.0 → mozbridge_cli-0.7.0}/src/mozbridge_cli/build.py +0 -0
- {mozbridge_cli-0.6.0 → mozbridge_cli-0.7.0}/src/mozbridge_cli/cmd_adopt.py +0 -0
- {mozbridge_cli-0.6.0 → mozbridge_cli-0.7.0}/src/mozbridge_cli/cmd_auth.py +0 -0
- {mozbridge_cli-0.6.0 → mozbridge_cli-0.7.0}/src/mozbridge_cli/cmd_config.py +0 -0
- {mozbridge_cli-0.6.0 → mozbridge_cli-0.7.0}/src/mozbridge_cli/cmd_deploy.py +0 -0
- {mozbridge_cli-0.6.0 → mozbridge_cli-0.7.0}/src/mozbridge_cli/cmd_doctor.py +0 -0
- {mozbridge_cli-0.6.0 → mozbridge_cli-0.7.0}/src/mozbridge_cli/cmd_env.py +0 -0
- {mozbridge_cli-0.6.0 → mozbridge_cli-0.7.0}/src/mozbridge_cli/cmd_projects.py +0 -0
- {mozbridge_cli-0.6.0 → mozbridge_cli-0.7.0}/src/mozbridge_cli/cmd_publish.py +0 -0
- {mozbridge_cli-0.6.0 → mozbridge_cli-0.7.0}/src/mozbridge_cli/cmd_registry.py +0 -0
- {mozbridge_cli-0.6.0 → mozbridge_cli-0.7.0}/src/mozbridge_cli/cmd_secrets.py +0 -0
- {mozbridge_cli-0.6.0 → mozbridge_cli-0.7.0}/src/mozbridge_cli/cmd_shared.py +0 -0
- {mozbridge_cli-0.6.0 → mozbridge_cli-0.7.0}/src/mozbridge_cli/cmd_token.py +0 -0
- {mozbridge_cli-0.6.0 → mozbridge_cli-0.7.0}/src/mozbridge_cli/compose.py +0 -0
- {mozbridge_cli-0.6.0 → mozbridge_cli-0.7.0}/src/mozbridge_cli/link.py +0 -0
- {mozbridge_cli-0.6.0 → mozbridge_cli-0.7.0}/src/mozbridge_cli/local_build.py +0 -0
- {mozbridge_cli-0.6.0 → mozbridge_cli-0.7.0}/src/mozbridge_cli/main.py +0 -0
- {mozbridge_cli-0.6.0 → mozbridge_cli-0.7.0}/src/mozbridge_cli/runtime_secrets.py +0 -0
- {mozbridge_cli-0.6.0 → mozbridge_cli-0.7.0}/src/mozbridge_cli/session.py +0 -0
- {mozbridge_cli-0.6.0 → mozbridge_cli-0.7.0}/tests/conftest.py +0 -0
- {mozbridge_cli-0.6.0 → mozbridge_cli-0.7.0}/tests/test_adopt.py +0 -0
- {mozbridge_cli-0.6.0 → mozbridge_cli-0.7.0}/tests/test_build.py +0 -0
- {mozbridge_cli-0.6.0 → mozbridge_cli-0.7.0}/tests/test_ci_token_auth.py +0 -0
- {mozbridge_cli-0.6.0 → mozbridge_cli-0.7.0}/tests/test_compose.py +0 -0
- {mozbridge_cli-0.6.0 → mozbridge_cli-0.7.0}/tests/test_config.py +0 -0
- {mozbridge_cli-0.6.0 → mozbridge_cli-0.7.0}/tests/test_deploy.py +0 -0
- {mozbridge_cli-0.6.0 → mozbridge_cli-0.7.0}/tests/test_deploy_preflight.py +0 -0
- {mozbridge_cli-0.6.0 → mozbridge_cli-0.7.0}/tests/test_diff.py +0 -0
- {mozbridge_cli-0.6.0 → mozbridge_cli-0.7.0}/tests/test_doctor.py +0 -0
- {mozbridge_cli-0.6.0 → mozbridge_cli-0.7.0}/tests/test_env.py +0 -0
- {mozbridge_cli-0.6.0 → mozbridge_cli-0.7.0}/tests/test_link.py +0 -0
- {mozbridge_cli-0.6.0 → mozbridge_cli-0.7.0}/tests/test_local_build.py +0 -0
- {mozbridge_cli-0.6.0 → mozbridge_cli-0.7.0}/tests/test_login.py +0 -0
- {mozbridge_cli-0.6.0 → mozbridge_cli-0.7.0}/tests/test_login_cli.py +0 -0
- {mozbridge_cli-0.6.0 → mozbridge_cli-0.7.0}/tests/test_logout.py +0 -0
- {mozbridge_cli-0.6.0 → mozbridge_cli-0.7.0}/tests/test_logs.py +0 -0
- {mozbridge_cli-0.6.0 → mozbridge_cli-0.7.0}/tests/test_publish.py +0 -0
- {mozbridge_cli-0.6.0 → mozbridge_cli-0.7.0}/tests/test_publish_local.py +0 -0
- {mozbridge_cli-0.6.0 → mozbridge_cli-0.7.0}/tests/test_publish_multi_component.py +0 -0
- {mozbridge_cli-0.6.0 → mozbridge_cli-0.7.0}/tests/test_refresh.py +0 -0
- {mozbridge_cli-0.6.0 → mozbridge_cli-0.7.0}/tests/test_registry.py +0 -0
- {mozbridge_cli-0.6.0 → mozbridge_cli-0.7.0}/tests/test_rollback.py +0 -0
- {mozbridge_cli-0.6.0 → mozbridge_cli-0.7.0}/tests/test_runtime_secrets.py +0 -0
- {mozbridge_cli-0.6.0 → mozbridge_cli-0.7.0}/tests/test_secrets.py +0 -0
- {mozbridge_cli-0.6.0 → mozbridge_cli-0.7.0}/tests/test_session_permissions.py +0 -0
- {mozbridge_cli-0.6.0 → mozbridge_cli-0.7.0}/tests/test_status.py +0 -0
- {mozbridge_cli-0.6.0 → mozbridge_cli-0.7.0}/tests/test_token.py +0 -0
- {mozbridge_cli-0.6.0 → mozbridge_cli-0.7.0}/tests/test_whoami.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: mozbridge-cli
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.7.0
|
|
4
4
|
Summary: Command-line client for the Mozbridge deployment platform: SSO login, build, publish, status, and rollback for any project hosted on Mozbridge.
|
|
5
5
|
Project-URL: Homepage, https://mozbridge.com
|
|
6
6
|
Project-URL: Documentation, https://github.com/jessin01/mozbridge/blob/main/cli/docs/commands.md
|
|
@@ -305,7 +305,7 @@ so it belongs in the same pipeline step, before `publish`.
|
|
|
305
305
|
| Env var | Default | Purpose |
|
|
306
306
|
|---|---|---|
|
|
307
307
|
| `MOZBRIDGE_LOGTO_ENDPOINT` | `https://auth.mozbridge.com` | Logto tenant endpoint |
|
|
308
|
-
| `MOZBRIDGE_LOGTO_CLIENT_ID` | `
|
|
308
|
+
| `MOZBRIDGE_LOGTO_CLIENT_ID` | `7zkurxlp5x98iw217wrhw` | Logto Native app client id (public client, device-flow-capable) |
|
|
309
309
|
| `MOZBRIDGE_PUBLIC_API_URL` (falls back to `PUBLIC_API_URL`) | `https://api.mozbridge.com` | Mozbridge API base |
|
|
310
310
|
| `MOZBRIDGE_GHCR_ORG` | `jessin01` | GHCR org used to compute default image names for multi-component publish |
|
|
311
311
|
| `MOZBRIDGE_CONFIG_DIR` | `~/.config/mozbridge` | Where the session file lives (mainly for tests) |
|
|
@@ -277,7 +277,7 @@ so it belongs in the same pipeline step, before `publish`.
|
|
|
277
277
|
| Env var | Default | Purpose |
|
|
278
278
|
|---|---|---|
|
|
279
279
|
| `MOZBRIDGE_LOGTO_ENDPOINT` | `https://auth.mozbridge.com` | Logto tenant endpoint |
|
|
280
|
-
| `MOZBRIDGE_LOGTO_CLIENT_ID` | `
|
|
280
|
+
| `MOZBRIDGE_LOGTO_CLIENT_ID` | `7zkurxlp5x98iw217wrhw` | Logto Native app client id (public client, device-flow-capable) |
|
|
281
281
|
| `MOZBRIDGE_PUBLIC_API_URL` (falls back to `PUBLIC_API_URL`) | `https://api.mozbridge.com` | Mozbridge API base |
|
|
282
282
|
| `MOZBRIDGE_GHCR_ORG` | `jessin01` | GHCR org used to compute default image names for multi-component publish |
|
|
283
283
|
| `MOZBRIDGE_CONFIG_DIR` | `~/.config/mozbridge` | Where the session file lives (mainly for tests) |
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "mozbridge-cli"
|
|
7
|
-
version = "0.
|
|
7
|
+
version = "0.7.0"
|
|
8
8
|
description = "Command-line client for the Mozbridge deployment platform: SSO login, build, publish, status, and rollback for any project hosted on Mozbridge."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.10"
|
|
@@ -11,8 +11,18 @@ import os
|
|
|
11
11
|
from pathlib import Path
|
|
12
12
|
|
|
13
13
|
# Logto tenant serving Mozbridge's real, provisioned Native (public) client.
|
|
14
|
+
#
|
|
15
|
+
# client_id history: the original app (swdtsuiz6dgzack1g75x3) was created
|
|
16
|
+
# without Logto's `customClientMetadata.isDeviceFlow` set, and that field can
|
|
17
|
+
# ONLY be set at application creation — confirmed live, 2026-09-14, via a 422
|
|
18
|
+
# `application.device_flow_not_changeable` on an attempted PATCH. It can
|
|
19
|
+
# never complete a device-flow login and there is no way to repair it in
|
|
20
|
+
# place. Every mozbridge-cli release through 0.6.0 shipped with that old,
|
|
21
|
+
# permanently-broken id — this new one (created with is_device_flow=True,
|
|
22
|
+
# verified live with a real 200 from POST /oidc/device/auth) is what actually
|
|
23
|
+
# works, starting with this release.
|
|
14
24
|
LOGTO_ENDPOINT = os.environ.get("MOZBRIDGE_LOGTO_ENDPOINT", "https://auth.mozbridge.com").rstrip("/")
|
|
15
|
-
LOGTO_CLIENT_ID = os.environ.get("MOZBRIDGE_LOGTO_CLIENT_ID", "
|
|
25
|
+
LOGTO_CLIENT_ID = os.environ.get("MOZBRIDGE_LOGTO_CLIENT_ID", "7zkurxlp5x98iw217wrhw")
|
|
16
26
|
|
|
17
27
|
DEVICE_AUTH_URL = f"{LOGTO_ENDPOINT}/oidc/device/auth"
|
|
18
28
|
TOKEN_URL = f"{LOGTO_ENDPOINT}/oidc/token"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|