@fluid-app/fluid-cli-mist 0.1.65 → 0.1.67
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.
- package/README.md +2 -2
- package/dist/index.d.mts +3 -2
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +4 -4
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -33,9 +33,9 @@ fluid mist droplet egress-proxy on # ask for egress for the attached
|
|
|
33
33
|
fluid mist droplet egress-proxy off # withdraw the request (and any grant)
|
|
34
34
|
```
|
|
35
35
|
|
|
36
|
-
Fluid's egress proxy lets a Droplet's installations reach external systems such as Exigo from Fluid's fixed outbound IPs. These commands set the Droplet's `egress_proxy_requested
|
|
36
|
+
Fluid's egress proxy lets a Droplet's installations reach external systems such as Exigo from Fluid's fixed outbound IPs. These commands set the Droplet's `egress_proxy_requested`, and the proxy then admits the Droplet with no further approval, wherever the proxy honours Fluid's answer. Withdrawing the request also clears any grant a Fluid admin recorded (`egress_proxy_enabled`).
|
|
37
37
|
|
|
38
|
-
`--egress-proxy` works on `create --droplet`, `create --kind droplet`, `create --hostable`, `attach --kind droplet` and `attach-droplet`. On a Droplet that already exists it updates the request rather than ignoring the flag. Fluid accepts an egress request only from a company admin,
|
|
38
|
+
`--egress-proxy` works on `create --droplet`, `create --kind droplet`, `create --hostable`, `attach --kind droplet` and `attach-droplet`. On a Droplet that already exists it updates the request rather than ignoring the flag. Fluid accepts an egress request only from a company admin, for their own company's droplets. Otherwise it refuses the request: `--egress-proxy` then sets the droplet up without it and warns, and `droplet egress-proxy` fails with Fluid's reason without writing. A Fluid that predates the fields ignores them, and the commands warn or fail the same way. `droplet egress-proxy off` also clears a grant a Fluid admin gave without a request. Mist Desktop's Safe Mode treats `droplet egress-proxy` as a write.
|
|
39
39
|
|
|
40
40
|
## Repairing the attached Droplet
|
|
41
41
|
|
package/dist/index.d.mts
CHANGED
|
@@ -115,8 +115,9 @@ interface DropletCreateInput {
|
|
|
115
115
|
uninstall_webhook_url?: string;
|
|
116
116
|
requested_scopes?: string[];
|
|
117
117
|
/** Ask Fluid to let the droplet's installations reach external systems
|
|
118
|
-
* (e.g. Exigo) through Fluid's egress proxy.
|
|
119
|
-
*
|
|
118
|
+
* (e.g. Exigo) through Fluid's egress proxy. The request alone admits
|
|
119
|
+
* the droplet; a root admin's grant is only a record. Omitted means not
|
|
120
|
+
* asked. */
|
|
120
121
|
egress_proxy_requested?: boolean;
|
|
121
122
|
settings?: Record<string, unknown>;
|
|
122
123
|
}
|
package/dist/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/types.ts","../src/index.ts"],"mappings":";;;;;;AASA;;;;;KAAY,QAAA;AAAA,KAEA,SAAA;;;;AAeZ;;;;KAAY,YAAA;AAAA,UAEK,OAAA;EACf,EAAA;EACA,IAAA;EACA,IAAA;AAAA;;;;;AAWF;;;;cAAa,wBAAA;AAAA,KAMD,oBAAA,WAA+B,wBAAA;AAAA,UAE1B,IAAA;EACf,EAAA;EACA,IAAA;EAJyC;AAE3C;EAKE,IAAA;EACA,KAAA,EAAO,SAAA;EACP,IAAA,EAAM,QAAA;;;;;;EAMN,aAAA,GAAgB,YAAA;;EAEhB,WAAA;;;;;;EAMA,WAAA;EACA,UAAA;;EAEA,oBAAA;EACA,OAAA,EAAS,OAAA;EACT,cAAA;EACA,UAAA;EACA,UAAA;AAAA;AAAA,UAGe,gBAAA;EACf,MAAA;EACA,KAAA;EACA,WAAA;EACA,WAAA;AAAA;AAAA,UAGe,OAAA;EACf,UAAA;EACA,SAAA;EACA,UAAA,GAAa,gBAAA;AAAA;AAAA,UAGE,aAAA;EACf,IAAA,EAAM,OAAA;EACN,MAAA;AAAA;AAAA,KAGU,gBAAA;EACV,KAAA,EAAO,IAAA;EACP,IAAA,EAAM,OAAA;EACN,MAAA;AAAA;AAAA,KAGU,gBAAA;EACV,IAAA,EAAM,IAAA;EACN,IAAA,EAAM,OAAA;EACN,MAAA;AAAA;AAAA,UAGe,iBAAA;EACf,IAAA;IACE,IAAA;IACA,IAAA,GAAO,QAAA;EAAA;AAAA;AAfX;;;;;AAAA,UAwBiB,iBAAA;EACf,IAAA;IACE,IAAA;IACA,IAAA,GAAO,QAAA;EAAA;AAAA;AAAA,UAMM,kBAAA;EACf,IAAA;;;EAGA,SAAA;EACA,mBAAA;EACA,qBAAA;EACA,gBAAA;;;;
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/types.ts","../src/index.ts"],"mappings":"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"}
|
package/dist/index.mjs
CHANGED
|
@@ -2565,10 +2565,10 @@ function planReceiptMessage(code) {
|
|
|
2565
2565
|
* to company admins (and root admins), and older Fluids not at all. */
|
|
2566
2566
|
const EGRESS_NOT_RETURNED = "Fluid did not return the droplet's egress fields: only a company admin can see or ask for egress, or this Fluid predates it.";
|
|
2567
2567
|
/** Fluid refused the egress request outright: it accepts one only from a
|
|
2568
|
-
* company admin (401), and only
|
|
2568
|
+
* company admin (401), and only for their own company's droplets (403).
|
|
2569
2569
|
* Distinct from an older Fluid, which ignores the field and omits it from
|
|
2570
2570
|
* the response. */
|
|
2571
|
-
const EGRESS_REFUSED = "Fluid refused the egress request: only a company admin can ask for egress,
|
|
2571
|
+
const EGRESS_REFUSED = "Fluid refused the egress request: only a company admin can ask for egress, for their own company's droplets. The droplet was set up without it.";
|
|
2572
2572
|
/** Whether an API error is Fluid refusing the egress request: a 401 or 403
|
|
2573
2573
|
* whose `errors` names `egress_proxy_requested`. Matched exactly, so a real
|
|
2574
2574
|
* authentication failure is reported as one rather than as a refusal. */
|
|
@@ -2902,7 +2902,7 @@ async function ensureEgressProxy(client, args) {
|
|
|
2902
2902
|
}
|
|
2903
2903
|
const requested = record?.egress_proxy_requested === true;
|
|
2904
2904
|
const granted = record?.egress_proxy_enabled === true;
|
|
2905
|
-
if (requested) reporter.succeed("Egress requested — Fluid's proxy admits requested droplets
|
|
2905
|
+
if (requested) reporter.succeed("Egress requested — Fluid's proxy admits requested droplets wherever the proxy honours Fluid's answer");
|
|
2906
2906
|
else reporter.warn(`${EGRESS_NOT_RETURNED} Re-run \`fluid mist droplet egress-proxy on\` as a company admin.`);
|
|
2907
2907
|
return {
|
|
2908
2908
|
requested,
|
|
@@ -4099,7 +4099,7 @@ const dropletEgressProxyCommand = new Command("egress-proxy").description("Ask F
|
|
|
4099
4099
|
if (opts.json) return printJson(result);
|
|
4100
4100
|
const target = `droplet ${result.dropletUuid} (${result.mistSlug})`;
|
|
4101
4101
|
if (!result.requested) console.log(result.changed ? `${chalk.green("✓")} Egress request withdrawn for ${target}` : chalk.dim(`No egress request for ${target}`));
|
|
4102
|
-
else console.log(result.changed ? `${chalk.green("✓")} Egress requested for ${target}. Fluid's proxy admits requested droplets
|
|
4102
|
+
else console.log(result.changed ? `${chalk.green("✓")} Egress requested for ${target}. Fluid's proxy admits requested droplets wherever the proxy honours Fluid's answer.` : chalk.dim(`Egress already requested for ${target}`));
|
|
4103
4103
|
}));
|
|
4104
4104
|
//#endregion
|
|
4105
4105
|
//#region src/commands/droplet/reinstall.ts
|