From a7dad72975ad0498f942068ae973859c143045d4 Mon Sep 17 00:00:00 2001 From: Harsh Mishra Date: Mon, 10 Aug 2026 16:32:37 +0530 Subject: [PATCH 1/2] DOC-396: Remove extension development documentation Remove the unsupported extension-building path while preserving guidance for installing and using existing extensions. --- public/_redirects | 10 +- public/images/aws/extension-installer.png | Bin 147938 -> 0 bytes scripts/generate_cli_docs.py | 11 + scripts/redirects/_redirects | 2 +- scripts/redirects/redirects_config.json | 2 +- .../customization/configuration-options.md | 1 - .../extensions/developing-extensions.mdx | 273 ------------------ .../integrations/extensions/index.md | 19 +- .../integrations/extensions/mailhog.md | 2 - .../extensions/managing-extensions.mdx | 1 - .../running-localstack/localstack-cli.mdx | 18 -- 11 files changed, 21 insertions(+), 318 deletions(-) delete mode 100644 public/images/aws/extension-installer.png delete mode 100644 src/content/docs/aws/customization/integrations/extensions/developing-extensions.mdx diff --git a/public/_redirects b/public/_redirects index 1faafa5fa..d1c6bb8af 100644 --- a/public/_redirects +++ b/public/_redirects @@ -218,7 +218,7 @@ /user-guide/integrations/terraform/ /aws/connecting/infrastructure-as-code/terraform/ 301 /user-guide/aws/es/ /aws/services/es/ 301 /references/coverage/coverage_dms/ /aws/services/dms/ 301 -/user-guide/extensions/developing-extensions/ /aws/customization/integrations/extensions/developing-extensions/ 301 +/user-guide/extensions/developing-extensions/ /aws/customization/integrations/extensions/ 301 /user-guide/security-testing/explainable-iam/ /aws/developer-tools/security-testing/explainable-iam/ 301 /user-guide/aws/ram/ /aws/services/ram/ 301 /references/coverage/coverage_ssm/ /aws/services/ssm/ 301 @@ -618,7 +618,7 @@ /user-guide/integrations/terraform /aws/connecting/infrastructure-as-code/terraform/ 301 /user-guide/aws/es /aws/services/es/ 301 /references/coverage/coverage_dms /aws/services/dms/ 301 -/user-guide/extensions/developing-extensions /aws/customization/integrations/extensions/developing-extensions/ 301 +/user-guide/extensions/developing-extensions /aws/customization/integrations/extensions/ 301 /user-guide/security-testing/explainable-iam /aws/developer-tools/security-testing/explainable-iam/ 301 /user-guide/aws/ram /aws/services/ram/ 301 /references/coverage/coverage_ssm /aws/services/ssm/ 301 @@ -910,8 +910,10 @@ /aws/tooling/extensions/ /aws/customization/integrations/extensions/ 301 /aws/tooling/extensions/mailhog /aws/customization/integrations/extensions/mailhog/ 301 /aws/tooling/extensions/mailhog/ /aws/customization/integrations/extensions/mailhog/ 301 -/aws/tooling/extensions/developing-extensions /aws/customization/integrations/extensions/developing-extensions/ 301 -/aws/tooling/extensions/developing-extensions/ /aws/customization/integrations/extensions/developing-extensions/ 301 +/aws/tooling/extensions/developing-extensions /aws/customization/integrations/extensions/ 301 +/aws/tooling/extensions/developing-extensions/ /aws/customization/integrations/extensions/ 301 +/aws/customization/integrations/extensions/developing-extensions /aws/customization/integrations/extensions/ 301 +/aws/customization/integrations/extensions/developing-extensions/ /aws/customization/integrations/extensions/ 301 /aws/tooling/extensions/managing-extensions /aws/customization/integrations/extensions/managing-extensions/ 301 /aws/tooling/extensions/managing-extensions/ /aws/customization/integrations/extensions/managing-extensions/ 301 /aws/capabilities/web-app/app-inspector /aws/developer-tools/app-inspector/ 301 diff --git a/public/images/aws/extension-installer.png b/public/images/aws/extension-installer.png deleted file mode 100644 index d5e1b5e8199bed8838e2147b5e068e3f4552a659..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 147938 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 W=wBjpz6zcO$_BGQn7=T)9rrJ+LO)0V diff --git a/scripts/generate_cli_docs.py b/scripts/generate_cli_docs.py index 81271d326..ef05d8e9e 100644 --- a/scripts/generate_cli_docs.py +++ b/scripts/generate_cli_docs.py @@ -24,6 +24,10 @@ # Output path for the generated documentation DEFAULT_OUTPUT_PATH = Path("src/content/docs/aws/tooling/localstack-cli.md") +HIDDEN_SUBCOMMANDS = { + "extensions": {"dev"}, +} + @dataclass class Subcommand: @@ -137,6 +141,13 @@ def populate_command_details(cmd: Command) -> None: """Fetch help output for a command and its subcommands.""" # Get main command help cmd.help_output = run_command(["localstack", cmd.name, "--help"]) + + for subcommand in HIDDEN_SUBCOMMANDS.get(cmd.name, set()): + cmd.help_output = re.sub( + rf"(?m)^ {re.escape(subcommand)}(?:[ \t].*)?\n?", + "", + cmd.help_output, + ) # Parse and fetch subcommands subcommand_info = parse_subcommands_from_help(cmd.help_output) diff --git a/scripts/redirects/_redirects b/scripts/redirects/_redirects index 213b5ab6c..1bdb586b1 100644 --- a/scripts/redirects/_redirects +++ b/scripts/redirects/_redirects @@ -220,7 +220,7 @@ /user-guide/integrations/terraform/ /aws/integrations/infrastructure-as-code/terraform 301 /user-guide/aws/es/ /aws/services/es 301 /references/coverage/coverage_dms/ /aws/services/dms 301 -/user-guide/extensions/developing-extensions/ /aws/tooling/extensions/developing-extensions 301 +/user-guide/extensions/developing-extensions/ /aws/customization/integrations/extensions/ 301 /user-guide/security-testing/explainable-iam/ /aws/capabilities/security-testing/explainable-iam 301 /user-guide/aws/ram/ /aws/services/ram 301 /references/coverage/coverage_ssm/ /aws/services/ssm 301 diff --git a/scripts/redirects/redirects_config.json b/scripts/redirects/redirects_config.json index 3c9ed2db1..e50c96e2a 100644 --- a/scripts/redirects/redirects_config.json +++ b/scripts/redirects/redirects_config.json @@ -1106,7 +1106,7 @@ }, { "old_link": "/user-guide/extensions/developing-extensions/", - "new_link": "/aws/tooling/extensions/developing-extensions", + "new_link": "/aws/customization/integrations/extensions/", "status_code": 301 }, { diff --git a/src/content/docs/aws/customization/configuration-options.md b/src/content/docs/aws/customization/configuration-options.md index bf641a972..0baa1b704 100644 --- a/src/content/docs/aws/customization/configuration-options.md +++ b/src/content/docs/aws/customization/configuration-options.md @@ -423,7 +423,6 @@ To learn more about these configuration options, see [Cloud Pods](/aws/developer | Variable | Example Values | Description | | - | - | - | | `EXTENSION_AUTO_INSTALL` | | Install a list of extensions automatically at startup. Comma-separated list of extensions directives which will be installed automatically at startup (see [managing extensions](/aws/customization/integrations/extensions/managing-extensions#automating-extensions-installation))| -| `EXTENSION_DEV_MODE` | `0` (default) \| `1` | Enables development mode for extensions. Refer to the [Extensions Development Guide](/aws/customization/integrations/extensions/developing-extensions) for more information. | ## Miscellaneous diff --git a/src/content/docs/aws/customization/integrations/extensions/developing-extensions.mdx b/src/content/docs/aws/customization/integrations/extensions/developing-extensions.mdx deleted file mode 100644 index 8a9aa5c6f..000000000 --- a/src/content/docs/aws/customization/integrations/extensions/developing-extensions.mdx +++ /dev/null @@ -1,273 +0,0 @@ ---- -title: Developing extensions -description: How to develop your own extensions. -template: doc -sidebar: - order: 3 -tags: ['Hobby'] ---- - -import { FileTree } from '@astrojs/starlight/components'; - -## Introduction - -This section provides a brief overview of how to develop your own extensions. - -## Extensions API - -LocalStack exposes a Python API for building extensions that can be found in the core codebase in [`localstack.extensions.api`](https://github.com/localstack/localstack/tree/main/localstack-core/localstack/extensions/api). - -The basic interface to implement is as follows: - -```python showLineNumbers -class Extension(BaseExtension): - """ - An extension that is loaded into LocalStack dynamically. The method - execution order of an extension is as follows: - - - on_extension_load - - on_platform_start - - update_gateway_routes - - update_request_handlers - - update_response_handlers - - on_platform_ready - - on_platform_shutdown - """ - - namespace: str = "localstack.extensions" - """The namespace of all basic localstack extensions.""" - - name: str - """The unique name of the extension set by the implementing class.""" - - def on_extension_load(self): - """ - Called when LocalStack loads the extension. - """ - pass - - def on_platform_start(self): - """ - Called when LocalStack starts the main runtime. - """ - pass - - def update_gateway_routes(self, router: Router[RouteHandler]): - """ - Called with the Router attached to the LocalStack gateway. Overwrite this to add or update routes. - :param router: the Router attached in the gateway - """ - pass - - def update_request_handlers(self, handlers: CompositeHandler): - """ - Called with the custom request handlers of the LocalStack gateway. Overwrite this to add or update handlers. - :param handlers: custom request handlers of the gateway - """ - pass - - def update_response_handlers(self, handlers: CompositeResponseHandler): - """ - Called with the custom response handlers of the LocalStack gateway. Overwrite this to add or update handlers. - :param handlers: custom response handlers of the gateway - """ - pass - - def on_platform_ready(self): - """ - Called when LocalStack is ready and the Ready marker has been printed. - """ - pass - - def on_platform_shutdown(self): - """ - Called when LocalStack is shutting down. Can be used to close any resources (threads, processes, sockets, etc.). - - Added in v1.4 - """ - pass -``` - -A minimal example would look like this: - -```python showLineNumbers -import logging -from localstack.extensions.api import Extension - -LOG = logging.getLogger(__name__) - -class ReadyAnnouncerExtension(Extension): - name = "my_ready_announcer" - - def on_platform_ready(self): - LOG.setLevel(logging.INFO) - LOG.info("my plugin is loaded and localstack is ready to roll!") -``` - -:::note -A note on importing LocalStack modules: since extensions run in the same Python process as the LocalStack runtime, -you can also import other LocalStack modules outside the `localstack.extensions.api` module, and work with them. -However, be aware that these modules are not part of our public API, and can change even with patch versions any time. -Your extension may break in unexpected ways, and we cannot provide support for internal APIs. -::: - -## Packaging extensions - -Your extensions needs to be packaged as a Python distribution with a -`setup.cfg` or `setup.py` config. -LocalStack uses the -[Plux](https://github.com/localstack/plux) code loading framework to load your -code from a Python [entry point](https://packaging.python.org/en/latest/specifications/entry-points/). -You can either use Plux to discover the entrypoints from your code when -building and publishing your distribution, or manually define them as in the -example below. - -A minimal `setup.cfg` for the extension above could look like this: - -```toml showLineNumbers -[metadata] -name = localstack-extension-ready-announcer -description = LocalStack extension that logs when LocalStack is ready to receive requests -author = Your Name -author_email = your@email.com -url = https://link-to-your-project - -[options] -zip_safe = False -packages = find: -install_requires = - localstack>=1.0.0 - -[options.entry_points] -localstack.extensions = - my_ready_announcer = localstack_announcer.extension:ReadyAnnouncerExtension -``` - -The entry point group is the Plux namespace `locastack.extensions`, and the -entry point name is the plugin name `my_ready_announcer`. -The object -reference points to the plugin class. - -## Using the extensions developer CLI - -The extensions CLI has a set of developer commands that allow you to create new extensions, and toggle local dev mode for extensions. -Extensions that are toggled for developer mode will be mounted into the localstack container so you don't need to re-install them every time you change something. - -```console -Usage: localstack extensions dev [OPTIONS] COMMAND [ARGS]... - - Developer tools for developing Localstack extensions - -Options: - --help Show this message and exit. - -Commands: - disable Disables an extension on the host for developer mode. - enable Enables an extension on the host for developer mode. - list List LocalStack extensions for which dev mode is enabled. - new Create a new LocalStack extension from the official extension... -``` - -## Creating your first extension - -### Creating an extension from a template - -First, create a new extension from a template. -To use `localstack extensions dev new`, you will also need to install [cookiecutter](https://github.com/cookiecutter/cookiecutter) via `pip install cookiecutter`. - -LocalStack provides two extension templates to help you get started: - -- **Basic template** (default): A minimal extension template with Python backend code -- **React template**: An extension template that includes a React-based UI component - -#### Using the basic template - -To create an extension using the basic template, run: - -```bash showLineNumbers -localstack extensions dev new -project_name [My LocalStack Extension]: -project_short_description [All the boilerplate you need to create a LocalStack extension.]: -project_slug [my-localstack-extension]: -module_name [my_localstack_extension]: -full_name [Jane Doe]: -email [jane@example.com]: -github_username [janedoe]: -version [0.1.0]: -``` - -This will create a new Python project with the following layout: - - - - my-localstack-extension - Makefile - my_localstack_extension - extension.py - - __init__.py - README.md - setup.cfg - setup.py - - -Then run `make install` in the newly created project to make a distribution package. - -#### Using the React template - -To create an extension with a React-based UI, use the `--template react` flag: - -```bash showLineNumbers -localstack extensions dev new --template react -project_name [My LocalStack Extension]: -project_short_description [All the boilerplate you need to create a LocalStack extension.]: -project_slug [my-localstack-extension]: -module_name [my_localstack_extension]: -full_name [Jane Doe]: -email [jane@example.com]: -github_username [janedoe]: -version [0.1.0]: -``` - -The React template provides a small app with multiple pages to demonstrate how to use multiple pages in the same extension. When you start the LocalStack container with your React-based extension enabled, the extension UI will be automatically available through the LocalStack Web Application. - - - - my-localstack-extension - Makefile - README.md - backend - - my_localstack_extension - backend.pth - frontend - \_\_init\_\_.py - - package.json - public - src - tsconfig.json - pyproject.toml - - -The extension UI will be available at `http://localhost.localstack.cloud:4566/_extension/my-localstack-extension/#/dashboard` when LocalStack is running. - -Then run `make install` in the newly created project to make a distribution package. - -### Start LocalStack with the extension - -To start LocalStack with the extension in dev mode, first enable it by running: - -```bash -localstack extensions dev enable ./my-localstack-extension -``` - -Then, start LocalStack with `EXTENSION_DEV_MODE=1` - -```bash -EXTENSION_DEV_MODE=1 LOCALSTACK_AUTH_TOKEN=... -localstack start -``` - -In the LocalStack logs you should then see something like: - -```bash -================================================== -👷 LocalStack extension developer mode enabled 🏗 -- mounting extension /opt/code/extensions/my-localstack-extension -Resuming normal execution, ... -================================================== -``` - -Now, when you make changes to your extensions, you just need to restart LocalStack and the changes will be picked up by LocalStack automatically. - -## Advertise your extension - -Once your extension is ready to be used, release it on a public GitHub repository. -To make your extension easily installable for everyone generate an extension badge for your extension on this page. -The resulting badge should look like this: - -![Extension badge](https://localstack.cloud/gh/extension-badge.svg) - -You can create a one-click installer for your extension using our [Extension Installer](https://app.localstack.cloud/extensions/remote). - -![Extension Installer](/images/aws/extension-installer.png) diff --git a/src/content/docs/aws/customization/integrations/extensions/index.md b/src/content/docs/aws/customization/integrations/extensions/index.md index 102905a2d..0fd4193ad 100644 --- a/src/content/docs/aws/customization/integrations/extensions/index.md +++ b/src/content/docs/aws/customization/integrations/extensions/index.md @@ -8,27 +8,12 @@ sidebar: tags: ['Hobby'] --- -LocalStack Extensions let you customize and extend LocalStack's core functionality by running additional logic and services inside the same container. This feature is available across all LocalStack plans, and is ideal for teams that want deeper control over how LocalStack behaves during development or testing. +LocalStack Extensions add services and integrations to your LocalStack container. This feature is available across all LocalStack plans. -You can use LocalStack Extensions to: - -- Start custom services alongside LocalStack in the same container (see our [Cloudflare Workers Extension](https://localstack.cloud/blog/2023-06-26-develop-your-cloudflare-workers-aws-apps-locally-with-localstack-miniflare/)) - -- Intercept AWS requests with additional information before they reach your Lambda functions - -- Log API calls to custom external backends or monitoring systems - -The Extensions API makes it easy to integrate your own logic or extend existing services, all within LocalStack’s runtime. - -Officially supported extensions are available in our [Official Extensions Library](https://app.localstack.cloud/extensions/library). +You can find supported extensions in the [Official Extensions Library](https://app.localstack.cloud/extensions/library). :::tip Want to try out a common LocalStack extension? Our [MailHog tutorial](/aws/customization/integrations/extensions/mailhog) teaches you how to install and use the official MailHog extension. It’s a quick way to explore how extensions work in LocalStack. ::: - -:::note -The feature and the API are currently in preview stage and may be subject to change. -Please report any issues or feature requests on [LocalStack Extension's GitHub repository](https://github.com/localstack/localstack-extensions). -::: diff --git a/src/content/docs/aws/customization/integrations/extensions/mailhog.md b/src/content/docs/aws/customization/integrations/extensions/mailhog.md index 8858dbff4..756f7d5a0 100644 --- a/src/content/docs/aws/customization/integrations/extensions/mailhog.md +++ b/src/content/docs/aws/customization/integrations/extensions/mailhog.md @@ -77,5 +77,3 @@ You should see the email you sent in the MailHog UI. - Explore our collection of official extensions, along with a growing ecosystem of third-party extensions, in our [Extensions Library](https://app.localstack.cloud/extensions/library). - Learn about the various methods for extension management and automating their installation when using LocalStack in a CI environment. Get detailed insights from our [Managing Extensions](/aws/customization/integrations/extensions/managing-extensions) guide. -- Want to create your own extensions? - Dive into our guide on [Developing Extensions](/aws/customization/integrations/extensions/developing-extensions) for step-by-step instructions. diff --git a/src/content/docs/aws/customization/integrations/extensions/managing-extensions.mdx b/src/content/docs/aws/customization/integrations/extensions/managing-extensions.mdx index 1e0bb5df5..e43716999 100644 --- a/src/content/docs/aws/customization/integrations/extensions/managing-extensions.mdx +++ b/src/content/docs/aws/customization/integrations/extensions/managing-extensions.mdx @@ -48,7 +48,6 @@ Options: -h, --help Show this message and exit Commands: -dev Developer tools for developing LocalStack extensions init Initialize the LocalStack extensions environment install Install a LocalStack extension list List installed extension diff --git a/src/content/docs/aws/developer-tools/running-localstack/localstack-cli.mdx b/src/content/docs/aws/developer-tools/running-localstack/localstack-cli.mdx index 566d0f393..4ef830f1a 100644 --- a/src/content/docs/aws/developer-tools/running-localstack/localstack-cli.mdx +++ b/src/content/docs/aws/developer-tools/running-localstack/localstack-cli.mdx @@ -873,7 +873,6 @@ Options: -h, --help Show this message and exit. Commands: - dev init Initialize the LocalStack extensions environment. install Install a LocalStack extension. list List installed extension. @@ -883,23 +882,6 @@ Commands:

Subcommands for localstack extensions -#### `extensions dev` - - - -```bash -Usage: localstack extensions dev [OPTIONS] COMMAND [ARGS]... - -Options: - -h, --help Show this message and exit. - -Commands: - disable Disables an extension on the host for developer mode. - enable Enables an extension on the host for developer mode. - list List LocalStack extensions for which dev mode is enabled. - new Create a new LocalStack extension from the official extension... -``` - #### `extensions init` Initialize the LocalStack extensions environment. From 9df864d162a84b7a29b1b097324aa11cae8507aa Mon Sep 17 00:00:00 2001 From: Harsh Mishra Date: Mon, 10 Aug 2026 16:37:22 +0530 Subject: [PATCH 2/2] DOC-396: Preserve existing extension references Keep generated CLI and repository references for existing extensions while removing only the unsupported extension-building guide. --- scripts/generate_cli_docs.py | 11 ----------- scripts/generate_extensions_docs.py | 2 +- .../aws/customization/integrations/index.mdx | 6 +++--- .../running-localstack/localstack-cli.mdx | 18 ++++++++++++++++++ 4 files changed, 22 insertions(+), 15 deletions(-) diff --git a/scripts/generate_cli_docs.py b/scripts/generate_cli_docs.py index ef05d8e9e..81271d326 100644 --- a/scripts/generate_cli_docs.py +++ b/scripts/generate_cli_docs.py @@ -24,10 +24,6 @@ # Output path for the generated documentation DEFAULT_OUTPUT_PATH = Path("src/content/docs/aws/tooling/localstack-cli.md") -HIDDEN_SUBCOMMANDS = { - "extensions": {"dev"}, -} - @dataclass class Subcommand: @@ -141,13 +137,6 @@ def populate_command_details(cmd: Command) -> None: """Fetch help output for a command and its subcommands.""" # Get main command help cmd.help_output = run_command(["localstack", cmd.name, "--help"]) - - for subcommand in HIDDEN_SUBCOMMANDS.get(cmd.name, set()): - cmd.help_output = re.sub( - rf"(?m)^ {re.escape(subcommand)}(?:[ \t].*)?\n?", - "", - cmd.help_output, - ) # Parse and fetch subcommands subcommand_info = parse_subcommands_from_help(cmd.help_output) diff --git a/scripts/generate_extensions_docs.py b/scripts/generate_extensions_docs.py index 392ef721c..e2ad2ba9a 100644 --- a/scripts/generate_extensions_docs.py +++ b/scripts/generate_extensions_docs.py @@ -161,7 +161,7 @@ def generate_documentation(extensions: list[Extension]) -> str: "localstack extensions install ", "```", "", - "See [Managing extensions](/aws/tooling/extensions/managing-extensions) for more details " + "See [Managing extensions](/aws/customization/integrations/extensions/managing-extensions/) for more details " "on installing, listing, and removing extensions.", "", ":::note", diff --git a/src/content/docs/aws/customization/integrations/index.mdx b/src/content/docs/aws/customization/integrations/index.mdx index 8a0bb1202..c6a47b9d5 100644 --- a/src/content/docs/aws/customization/integrations/index.mdx +++ b/src/content/docs/aws/customization/integrations/index.mdx @@ -1,17 +1,17 @@ --- title: Overview -description: Integrate LocalStack with third-party software and extend it with your own extensions and SDKs. +description: Integrate LocalStack with supported extensions, SDKs, application frameworks, and testing tools. template: doc editUrl: false --- import SectionCards from '../../../../../components/SectionCards.astro'; -LocalStack integrates with a wide range of third-party software from the cloud development ecosystem, and can be extended to fit your own tooling. This section is mostly useful to platform teams who need to wire LocalStack into existing development and testing workflows. +LocalStack integrates with a wide range of third-party software from the cloud development ecosystem. This section is mostly useful to platform teams who need to wire LocalStack into existing development and testing workflows. ## The Cloud Development Ecosystem -Whether you’re adding an extension, driving LocalStack from the Java or Python SDKs, or wiring it into an application framework, this section shows how to integrate LocalStack with the tools you already use. +Whether you’re installing a supported extension, driving LocalStack from the Java or Python SDKs, or wiring it into an application framework, this section shows how to integrate LocalStack with the tools you already use. ![Sample of supported integrations](/images/aws/integrations-overview.png) diff --git a/src/content/docs/aws/developer-tools/running-localstack/localstack-cli.mdx b/src/content/docs/aws/developer-tools/running-localstack/localstack-cli.mdx index 4ef830f1a..566d0f393 100644 --- a/src/content/docs/aws/developer-tools/running-localstack/localstack-cli.mdx +++ b/src/content/docs/aws/developer-tools/running-localstack/localstack-cli.mdx @@ -873,6 +873,7 @@ Options: -h, --help Show this message and exit. Commands: + dev init Initialize the LocalStack extensions environment. install Install a LocalStack extension. list List installed extension. @@ -882,6 +883,23 @@ Commands:
Subcommands for localstack extensions +#### `extensions dev` + + + +```bash +Usage: localstack extensions dev [OPTIONS] COMMAND [ARGS]... + +Options: + -h, --help Show this message and exit. + +Commands: + disable Disables an extension on the host for developer mode. + enable Enables an extension on the host for developer mode. + list List LocalStack extensions for which dev mode is enabled. + new Create a new LocalStack extension from the official extension... +``` + #### `extensions init` Initialize the LocalStack extensions environment.