From c7562ba1d2a54a637e9659d1ae9d3efd6f0033ee Mon Sep 17 00:00:00 2001 From: David Dal Busco Date: Fri, 1 Aug 2025 07:13:59 +0200 Subject: [PATCH 1/4] docs: deprecate CLI juno use Signed-off-by: David Dal Busco --- docs/reference/cli.mdx | 80 +++++++++++++++++++++++++-------------- docs/reference/cli/use.md | 10 ----- 2 files changed, 52 insertions(+), 38 deletions(-) delete mode 100644 docs/reference/cli/use.md diff --git a/docs/reference/cli.mdx b/docs/reference/cli.mdx index 54f0710b..4735db93 100644 --- a/docs/reference/cli.mdx +++ b/docs/reference/cli.mdx @@ -61,26 +61,6 @@ If you've previously authenticated your terminal and decide to log in again, the This allows you to reuse your authorization, especially when creating new modules like satellites or orbiters. -#### Modes - -The CLI supports multiple environment modes (`production`, `staging`, `development`, etc.). - -Each mode requires its own login and identity for security reasons. -For example: `juno login --mode staging` or `juno login --mode development`. -If no mode is specified, it defaults to `production`. - -#### How does it work? - -A new [principal] is generated on your local machine and added as a administrator [access key](../miscellaneous/access-keys.md) of the selected modules. This principal is then used to authenticate any CLI calls made from your terminal to your satellites, mission controls or other modules. - -The key is saved in the OS-specific user's variables path, for example: - -| OS | Path | -| ------- | ---------------------------------------------------------------------------------------------------- | -| Mac | `~/Library/Preferences/juno-nodejs` | -| Windows | `%APPDATA%\juno-nodejs\Config` (for example, `C:\Users\USERNAME\AppData\Roaming\juno-nodejs\Config`) | -| Linux | `~/.config/juno-nodejs` (or `$XDG_CONFIG_HOME/juno-nodejs`) | - --- ### Logout @@ -292,14 +272,6 @@ import Open from "./cli/open.md"; --- -### Use - -import Use from "./cli/use.md"; - - - ---- - ### Version import Version from "./cli/version.md"; @@ -314,6 +286,58 @@ import WhoAmI from "./cli/whoami.md"; +--- + +## Environment + +Some CLI flags affect the context of your commands, such as which environment you're working in or which identity you're using. These flags are global and apply to most commands. + +--- + +### Mode + +The `--mode` flag lets you target a specific environment when executing CLI commands. This is useful for working across development, staging, and production setups. + +```bash +juno login --mode development +juno deploy --mode staging +``` + +The value for `--mode` can be any string. If omitted, it defaults to production. + +--- + +### Profile + +The optional `--profile` flag lets you switch between different identities. Useful when working with multiple Mission Controls. + +```bash +juno login --profile team +juno deploy --profile team --mode staging +``` + +It accepts any string. If omitted, no profile is used. + +--- + +### Local Persistence + +Unless you run it in headless mode with a token, the Juno CLI stores data locally in the following OS-specific user's variables path to work properly. + +| OS | Path | +| ------- | ---------------------------------------------------------------------------------------------------- | +| Mac | `~/Library/Preferences/juno-nodejs` | +| Windows | `%APPDATA%\juno-nodejs\Config` (for example, `C:\Users\USERNAME\AppData\Roaming\juno-nodejs\Config`) | +| Linux | `~/.config/juno-nodejs` (or `$XDG_CONFIG_HOME/juno-nodejs`) | + +These config files are created based on the selected `--profile` and `--mode`: + +| File | Encrypted | Purpose | +| ------------------------------------ | --------- | ----------------------------------------------------------------------------------------------------- | +| `juno[-profile][-mode]` | ✅ | Stores the [access key](../miscellaneous/access-keys.md) ([principal]) and list of modules. | +| `juno[-profile][-mode]-cli-settings` | | Stores CLI preferences, e.g. whether the access key file is encrypted (to avoid unnecessary prompts). | +| `juno[-profile][-mode]-cli-state` | | Stores ephemeral state like applied config hashes. | + [satellite]: ../terminology.md#satellite [mission control]: ../terminology.md#mission-control [principal]: ../terminology.md#principal diff --git a/docs/reference/cli/use.md b/docs/reference/cli/use.md deleted file mode 100644 index dbb4fca8..00000000 --- a/docs/reference/cli/use.md +++ /dev/null @@ -1,10 +0,0 @@ -Switch between multiple profiles. - -``` -Usage: juno use [options] - -Options: - -p, --profile The profile that should be use. - -l, --list What are the available profiles. - -h, --help Output usage information. -``` From 53f94c979a7bb4d38353f6629b4562bd3aebfa80 Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 1 Aug 2025 05:15:39 +0000 Subject: [PATCH 2/4] =?UTF-8?q?=F0=9F=93=84=20Update=20LLMs.txt=20snapshot?= =?UTF-8?q?=20for=20PR=20review?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .llms-snapshots/llms-full.txt | 76 ++++++++++++++++++++++------------- 1 file changed, 49 insertions(+), 27 deletions(-) diff --git a/.llms-snapshots/llms-full.txt b/.llms-snapshots/llms-full.txt index a55fbd85..dedb2b58 100644 --- a/.llms-snapshots/llms-full.txt +++ b/.llms-snapshots/llms-full.txt @@ -7340,24 +7340,6 @@ If you've previously authenticated your terminal and decide to log in again, the This allows you to reuse your authorization, especially when creating new modules like satellites or orbiters. -#### Modes - -The CLI supports multiple environment modes (`production`, `staging`, `development`, etc.). - -Each mode requires its own login and identity for security reasons. For example: `juno login --mode staging` or `juno login --mode development`. If no mode is specified, it defaults to `production`. - -#### How does it work? - -A new [principal](/docs/terminology.md#principal) is generated on your local machine and added as a administrator [access key](/docs/miscellaneous/access-keys.md) of the selected modules. This principal is then used to authenticate any CLI calls made from your terminal to your satellites, mission controls or other modules. - -The key is saved in the OS-specific user's variables path, for example: - -| OS | Path | -| --- | --- | -| Mac | `~/Library/Preferences/juno-nodejs` | -| Windows | `%APPDATA%\juno-nodejs\Config` (for example, `C:\Users\USERNAME\AppData\Roaming\juno-nodejs\Config`) | -| Linux | `~/.config/juno-nodejs` (or `$XDG_CONFIG_HOME/juno-nodejs`) | - --- ### Logout @@ -7603,34 +7585,74 @@ Usage: juno open [options]Options: -b, --browser A particular browser t --- -### Use +### Version -Switch between multiple profiles. +Check the version of the modules and CLI. ``` -Usage: juno use [options]Options: -p, --profile The profile that should be use. -l, --list What are the available profiles. -h, --help Output usage information. +Usage: juno init [options]Options: -c, --cli Check only the version of the CLI. -m, --mode Choose which environment to use (production, staging, development). Defaults to production if omitted. --container-url Override a custom container URL. If not provided, defaults to production or the local container in development mode. --console-url Specify a custom URL to access the developer Console. -h, --help Output usage information. ``` --- -### Version +### Who am I? -Check the version of the modules and CLI. +Display your current profile, access key, and links to your satellite. ``` -Usage: juno init [options]Options: -c, --cli Check only the version of the CLI. -m, --mode Choose which environment to use (production, staging, development). Defaults to production if omitted. --container-url Override a custom container URL. If not provided, defaults to production or the local container in development mode. --console-url Specify a custom URL to access the developer Console. -h, --help Output usage information. +Usage: juno whoami [options]Options: -h, --help Output usage information. -m, --mode Choose which environment to use (production, staging, development). Defaults to production if omitted. --container-url Override a custom container URL. If not provided, defaults to production or the local container in development mode. --console-url Specify a custom URL to access the developer Console. ``` --- -### Who am I? +## Environment -Display your current profile, access key, and links to your satellite. +Some CLI flags affect the context of your commands, such as which environment you're working in or which identity you're using. These flags are global and apply to most commands. + +--- + +### Mode + +The `--mode` flag lets you target a specific environment when executing CLI commands. This is useful for working across development, staging, and production setups. ``` -Usage: juno whoami [options]Options: -h, --help Output usage information. -m, --mode Choose which environment to use (production, staging, development). Defaults to production if omitted. --container-url Override a custom container URL. If not provided, defaults to production or the local container in development mode. --console-url Specify a custom URL to access the developer Console. +juno login --mode developmentjuno deploy --mode staging ``` +The value for `--mode` can be any string. If omitted, it defaults to production. + +--- + +### Profile + +The optional `--profile` flag lets you switch between different identities. Useful when working with multiple Mission Controls. + +``` +juno login --profile teamjuno deploy --profile team --mode staging +``` + +It accepts any string. If omitted, no profile is used. + +--- + +### Local Persistence + +Unless you run it in headless mode with a token, the Juno CLI stores data locally in the following OS-specific user's variables path to work properly. + +| OS | Path | +| --- | --- | +| Mac | `~/Library/Preferences/juno-nodejs` | +| Windows | `%APPDATA%\juno-nodejs\Config` (for example, `C:\Users\USERNAME\AppData\Roaming\juno-nodejs\Config`) | +| Linux | `~/.config/juno-nodejs` (or `$XDG_CONFIG_HOME/juno-nodejs`) | + +These config files are created based on the selected `--profile` and `--mode`: + +| File | Encrypted | Purpose | +| --- | --- | --- | +| `juno[-profile][-mode]` | ✅ | Stores the [access key](/docs/miscellaneous/access-keys.md) ([principal](/docs/terminology.md#principal)) and list of modules. | +| `juno[-profile][-mode]-cli-settings` | | Stores CLI preferences, e.g. whether the access key file is encrypted (to avoid unnecessary prompts). | +| `juno[-profile][-mode]-cli-state` | | Stores ephemeral state like applied config hashes. | + # Configuration When the `juno` command is run from your terminal or used in a CI environment, it will automatically attempt to locate a config file named `juno.config.ts` or `juno.config.js` or `juno.config.json` within your project's root directory. From 03b8f759608d510ce41f5130148c42c51bae8c59 Mon Sep 17 00:00:00 2001 From: David Dal Busco Date: Sun, 3 Aug 2025 07:31:36 +0200 Subject: [PATCH 3/4] docs: remove modes now documented in cli Signed-off-by: David Dal Busco --- docs/reference/configuration.mdx | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/docs/reference/configuration.mdx b/docs/reference/configuration.mdx index cfe27d8a..6ead0981 100644 --- a/docs/reference/configuration.mdx +++ b/docs/reference/configuration.mdx @@ -456,20 +456,6 @@ export default defineConfig(({ mode }) => ({ --- -## Modes - -By default, the CLI runs command for the `production` mode. - -This means when running a `juno` command in your terminal, it will pass the mode `production` to read your configuration. - -You can overwrite the default mode used for a command by passing the `--mode` option flag. For example, if you want to deploy your app for a `staging` mode: - -```bash -juno deploy --mode staging -``` - ---- - ## Multiple Environments You might want to deploy or manage a project across different environments, such as staging and production. Juno supports this through the `ids` field, allowing you to define separate Satellite IDs for each [mode](#modes). From 87fc293450fc8aaf480e970ff9a60eba00f13e16 Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 3 Aug 2025 05:33:12 +0000 Subject: [PATCH 4/4] =?UTF-8?q?=F0=9F=93=84=20Update=20LLMs.txt=20snapshot?= =?UTF-8?q?=20for=20PR=20review?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .llms-snapshots/llms-full.txt | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/.llms-snapshots/llms-full.txt b/.llms-snapshots/llms-full.txt index dedb2b58..6833bc5f 100644 --- a/.llms-snapshots/llms-full.txt +++ b/.llms-snapshots/llms-full.txt @@ -8091,20 +8091,6 @@ import { defineConfig } from "@junobuild/config";export default defineConfig(({ --- -## Modes - -By default, the CLI runs command for the `production` mode. - -This means when running a `juno` command in your terminal, it will pass the mode `production` to read your configuration. - -You can overwrite the default mode used for a command by passing the `--mode` option flag. For example, if you want to deploy your app for a `staging` mode: - -``` -juno deploy --mode staging -``` - ---- - ## Multiple Environments You might want to deploy or manage a project across different environments, such as staging and production. Juno supports this through the `ids` field, allowing you to define separate Satellite IDs for each ([mode](#modes)).