Skip to content

Commit 8a60fe7

Browse files
Containers fixups (#9653)
* Rename docker bin override env var * Add warning banner to containers + cloudchamber commands * fix test * Create clever-crews-destroy.md * Create giant-kiwis-provide.md --------- Co-authored-by: Carmen Popoviciu <[email protected]>
1 parent c489a44 commit 8a60fe7

File tree

16 files changed

+86
-41
lines changed

16 files changed

+86
-41
lines changed

.changeset/clever-crews-destroy.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
"@cloudflare/containers-shared": patch
3+
"wrangler": patch
4+
---
5+
6+
Rename `WRANGLER_CONTAINERS_DOCKER_PATH` to `WRANGLER_DOCKER_BIN`

.changeset/giant-kiwis-provide.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
"@cloudflare/containers-shared": patch
3+
"wrangler": patch
4+
---
5+
6+
Add a warning banner to `wrangler cloudchamber` and `wrangler containers` commands

packages/containers-shared/src/utils.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ export const verifyDockerInstalled = async (dockerPath: string) => {
3535
} catch {
3636
// We assume this command is unlikely to fail for reasons other than the Docker CLI not being installed or not being in the PATH.
3737
throw new Error(
38-
`The Docker CLI does not appear to installed. Please ensure that the Docker CLI is installed. You can specify an executable with the environment variable WRANGLER_CONTAINERS_DOCKER_PATH.\n` +
38+
`The Docker CLI does not appear to installed. Please ensure that the Docker CLI is installed. You can specify an executable with the environment variable WRANGLER_DOCKER_BIN.\n` +
3939
`Other container tooling that is compatible with the Docker CLI may work, but is not yet guaranteed to do so.\n` +
4040
`To suppress this error if you do not intend on triggering any container instances, set dev.enable_containers to false in your Wrangler config or passing in --enable-containers=false.`
4141
);

packages/wrangler/e2e/containers.dev.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -141,11 +141,11 @@ describe.skipIf(process.platform !== "linux" && process.env.CI === "true")(
141141
});
142142

143143
it("errors if docker is not installed", async () => {
144-
vi.stubEnv("WRANGLER_CONTAINERS_DOCKER_PATH", "not-a-real-docker-binary");
144+
vi.stubEnv("WRANGLER_DOCKER_BIN", "not-a-real-docker-binary");
145145
const worker = helper.runLongLived("wrangler dev");
146146
expect(await worker.exitCode).toBe(1);
147147
expect(await worker.output).toContain(
148-
`The Docker CLI does not appear to installed. Please ensure that the Docker CLI is installed. You can specify an executable with the environment variable WRANGLER_CONTAINERS_DOCKER_PATH.`
148+
`The Docker CLI does not appear to installed. Please ensure that the Docker CLI is installed. You can specify an executable with the environment variable WRANGLER_DOCKER_BIN.`
149149
);
150150
});
151151
}

packages/wrangler/src/__tests__/cloudchamber/build.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ describe("buildAndMaybePush", () => {
5757
});
5858

5959
it("should use a custom docker path if provided", async () => {
60-
vi.stubEnv("WRANGLER_CONTAINERS_DOCKER_PATH", "/custom/docker/path");
60+
vi.stubEnv("WRANGLER_DOCKER_BIN", "/custom/docker/path");
6161
await runWrangler(
6262
"containers build ./container-context -t test-app:tag -p"
6363
);

packages/wrangler/src/__tests__/deploy.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8668,7 +8668,7 @@ addEventListener('fetch', event => {});`
86688668
});
86698669

86708670
it("should support durable object bindings to SQLite classes with containers (docker flow)", async () => {
8671-
vi.stubEnv("WRANGLER_CONTAINERS_DOCKER_PATH", "/usr/bin/docker");
8671+
vi.stubEnv("WRANGLER_DOCKER_BIN", "/usr/bin/docker");
86728672
function mockGetVersion(versionId: string) {
86738673
msw.use(
86748674
http.get(

packages/wrangler/src/cloudchamber/common.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import {
1010
import { version as wranglerVersion } from "../../package.json";
1111
import { readConfig } from "../config";
1212
import { getConfigCache, purgeConfigCaches } from "../config-cache";
13+
import { constructStatusMessage } from "../core/CommandRegistry";
1314
import { getCloudflareApiBaseUrl } from "../environment-variables/misc-variables";
1415
import { UserError } from "../errors";
1516
import { isNonInteractiveOrCI } from "../is-interactive";
@@ -26,6 +27,7 @@ import {
2627
requireAuth,
2728
setLoginScopeKeys,
2829
} from "../user";
30+
import { printWranglerBanner } from "../wrangler-banner";
2931
import { parseByteSize } from "./../parse";
3032
import { wrap } from "./helpers/wrap";
3133
import { idToLocationName, loadAccount } from "./locations";
@@ -103,6 +105,7 @@ export function handleFailure<
103105
? K
104106
: never,
105107
>(
108+
command: string,
106109
cb: (args: CommandArgumentsObject, config: Config) => Promise<void>
107110
): (
108111
args: CommonYargsOptions &
@@ -111,6 +114,10 @@ export function handleFailure<
111114
) => Promise<void> {
112115
return async (args) => {
113116
try {
117+
if (!args.json) {
118+
await printWranglerBanner();
119+
logger.warn(constructStatusMessage(command, "alpha"));
120+
}
114121
const config = readConfig(args);
115122
await fillOpenAPIConfiguration(config, args.json);
116123
await cb(args, config);

packages/wrangler/src/cloudchamber/images/images.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ export const registriesCommand = (yargs: CommonYargsArgvJSON) => {
6868
(args) => configureImageRegistryOptionalYargs(args),
6969
(args) =>
7070
handleFailure(
71+
`wrangler cloudchamber registries configure`,
7172
async (
7273
imageArgs: StrictYargsOptionsToInterfaceJSON<
7374
typeof configureImageRegistryOptionalYargs
@@ -119,6 +120,7 @@ export const registriesCommand = (yargs: CommonYargsArgvJSON) => {
119120
// we don't want any kind of spinners
120121
args.json = true;
121122
return handleFailure(
123+
`wrangler cloudchamber registries credentials`,
122124
async (
123125
imageArgs: StrictYargsOptionsToInterfaceJSON<
124126
typeof credentialsImageRegistryYargs
@@ -154,6 +156,7 @@ export const registriesCommand = (yargs: CommonYargsArgvJSON) => {
154156
(args) => {
155157
args.json = true;
156158
return handleFailure(
159+
`wrangler cloudchamber registries remove`,
157160
async (
158161
imageArgs: StrictYargsOptionsToInterfaceJSON<
159162
typeof removeImageRegistryYargs
@@ -174,6 +177,7 @@ export const registriesCommand = (yargs: CommonYargsArgvJSON) => {
174177
(args) => args,
175178
(args) =>
176179
handleFailure(
180+
`wrangler cloudchamber registries list`,
177181
async (imageArgs: CommonYargsArgvSanitizedJSON, config) => {
178182
if (!interactWithUser(imageArgs)) {
179183
const registries =

packages/wrangler/src/cloudchamber/images/list.ts

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,18 +28,24 @@ export const imagesCommand = (yargs: CommonYargsArgvJSON) => {
2828
"perform operations on images in your Cloudflare managed registry",
2929
(args) => listImagesYargs(args),
3030
(args) =>
31-
handleFailure(async (_args: CommonYargsArgvSanitizedJSON, config) => {
32-
await handleListImagesCommand(args, config);
33-
})(args)
31+
handleFailure(
32+
`wrangler containers images list`,
33+
async (_args: CommonYargsArgvSanitizedJSON, config) => {
34+
await handleListImagesCommand(args, config);
35+
}
36+
)(args)
3437
)
3538
.command(
3639
"delete [image]",
3740
"remove an image from your Cloudflare managed registry",
3841
(args) => deleteImageYargs(args),
3942
(args) =>
40-
handleFailure(async (_args: CommonYargsArgvSanitizedJSON, config) => {
41-
await handleDeleteImageCommand(args, config);
42-
})(args)
43+
handleFailure(
44+
`wrangler containers images delete`,
45+
async (_args: CommonYargsArgvSanitizedJSON, config) => {
46+
await handleDeleteImageCommand(args, config);
47+
}
48+
)(args)
4349
);
4450
};
4551

packages/wrangler/src/cloudchamber/index.ts

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -33,25 +33,28 @@ export const cloudchamber = (
3333
"delete [deploymentId]",
3434
"Delete an existing deployment that is running in the Cloudflare edge",
3535
(args) => deleteCommandOptionalYargs(args),
36-
(args) => handleFailure(deleteCommand)(args)
36+
(args) =>
37+
handleFailure(`wrangler cloudchamber delete`, deleteCommand)(args)
3738
)
3839
.command(
3940
"create",
4041
"Create a new deployment",
4142
(args) => createCommandOptionalYargs(args),
42-
(args) => handleFailure(createCommand)(args)
43+
(args) =>
44+
handleFailure(`wrangler cloudchamber create`, createCommand)(args)
4345
)
4446
.command(
4547
"list [deploymentIdPrefix]",
4648
"List and view status of deployments",
4749
(args) => listDeploymentsYargs(args),
48-
(args) => handleFailure(listCommand)(args)
50+
(args) => handleFailure(`wrangler cloudchamber list`, listCommand)(args)
4951
)
5052
.command(
5153
"modify [deploymentId]",
5254
"Modify an existing deployment",
5355
(args) => modifyCommandOptionalYargs(args),
54-
(args) => handleFailure(modifyCommand)(args)
56+
(args) =>
57+
handleFailure(`wrangler cloudchamber modify`, modifyCommand)(args)
5558
)
5659
.command("ssh", "Manage the ssh keys of your account", (args) =>
5760
sshCommand(args).command(subHelp)
@@ -63,25 +66,25 @@ export const cloudchamber = (
6366
"curl <path>",
6467
"send a request to an arbitrary cloudchamber endpoint",
6568
(args) => yargsCurl(args),
66-
(args) => handleFailure(curlCommand)(args)
69+
(args) => handleFailure(`wrangler cloudchamber curl`, curlCommand)(args)
6770
)
6871
.command(
6972
"apply",
7073
"apply the changes in the container applications to deploy",
7174
(args) => applyCommandOptionalYargs(args),
72-
(args) => handleFailure(applyCommand)(args)
75+
(args) => handleFailure(`wrangler cloudchamber apply`, applyCommand)(args)
7376
)
7477
.command(
7578
"build [PATH]",
7679
"build a dockerfile",
7780
(args) => buildYargs(args),
78-
(args) => handleFailure(buildCommand)(args)
81+
(args) => handleFailure(`wrangler cloudchamber build`, buildCommand)(args)
7982
)
8083
.command(
8184
"push [TAG]",
8285
"push a tagged image to a Cloudflare managed registry, which is automatically integrated with your account",
8386
(args) => pushYargs(args),
84-
(args) => handleFailure(pushCommand)(args)
87+
(args) => handleFailure(`wrangler cloudchamber push`, pushCommand)(args)
8588
)
8689
.command(
8790
"images",

0 commit comments

Comments
 (0)