Skip to content

Commit 92e4b59

Browse files
Update docs (#1701)
1 parent e0162d9 commit 92e4b59

File tree

9 files changed

+68
-69
lines changed

9 files changed

+68
-69
lines changed

Diff for: content/en/user-guide/aws/dynamodb/index.md

+2
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ DynamoDB provides a fast and scalable key-value datastore with support for repli
1313
LocalStack allows you to use the DynamoDB APIs in your local environment to manage key-value and document data models.
1414
The supported APIs are available on our [API coverage page](https://docs.localstack.cloud/references/coverage/coverage_dynamodb/), which provides information on the extent of DynamoDB's integration with LocalStack.
1515

16+
DynamoDB emulation is powered by [DynamoDB Local](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DynamoDBLocal.html).
17+
1618
## Getting started
1719

1820
This guide is designed for users new to DynamoDB and assumes basic knowledge of the AWS CLI and our [`awslocal`](https://github.com/localstack/awscli-local) wrapper script.

Diff for: content/en/user-guide/aws/ec2/index.md

+21-19
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,7 @@ Any execution of this data is recorded in the `/var/log/cloud-init-output.log` f
196196

197197
You can also set up an SSH connection to the locally emulated EC2 instance using the instance IP address.
198198

199-
This section assumes that you have created or imported an SSH key pair named `my-key` (see [instructions above]({{< relref "#create-a-key-pair" >}})).
199+
This section assumes that you have created or imported an SSH key pair named `my-key`.
200200
When running the EC2 instance, make sure to pass the `--key-name` parameter to the command:
201201

202202
{{< command >}}
@@ -211,7 +211,7 @@ $ ssh -p 12862 -i key.pem [email protected]
211211
{{< /command >}}
212212

213213
{{< callout "tip" >}}
214-
If the `ssh` command throws an error like "Identity file not accessible" or "bad permissions", then please make sure that the key file has a restrictive `0400` permission as illustrated [here]({{< relref "ec2#create-a-key-pair" >}}).
214+
If the `ssh` command throws an error like "Identity file not accessible" or "bad permissions", make sure that the key file has a restrictive `0400` permission as illustrated above.
215215
{{< /callout >}}
216216

217217
## VM Managers
@@ -251,8 +251,8 @@ While the records of resources will be persisted, the instances or AMIs themselv
251251

252252
### AMIs
253253

254-
LocalStack utilizes a specific naming scheme to recognize and manage associated containers and images.
255254
Docker base images which are tagged with the scheme `localstack-ec2/<AmiName>:<AmiId>` are recognized as Amazon Machine Images (AMIs).
255+
These can be used to launch EC2 instances which are in fact Docker containers.
256256

257257
You can mark any Docker base image as AMI using the below command:
258258

@@ -267,28 +267,27 @@ At startup, LocalStack downloads the following AMIs that can be used to launch D
267267
- Amazon Linux 2023 `ami-024f768332f0`
268268

269269
{{< callout "note" >}}
270-
The auto download of Docker images to be used as AMIs can be disabled using the `EC2_DOWNLOAD_DEFAULT_IMAGES=0` configuration variable.
270+
The auto download of Docker images for default AMIs can be disabled using the `EC2_DOWNLOAD_DEFAULT_IMAGES=0` configuration variable.
271271
{{< /callout >}}
272272

273273
All LocalStack-managed Docker AMIs bear the resource tag `ec2_vm_manager:docker`.
274-
These AMIs can be listed using:
274+
These can be listed using:
275275

276276
{{< command >}}
277277
$ awslocal ec2 describe-images --filters Name=tag:ec2_vm_manager,Values=docker
278278
{{< /command >}}
279279

280280
{{< callout "note" >}}
281-
If an AMI does have the `ec2_vm_manager:docker` tag, it means that it is mocked.
281+
If an AMI does not have the `ec2_vm_manager:docker` tag, it means that it is mocked.
282282
Attempting to launch Dockerized instances using these AMIs will result in an `InvalidAMIID.NotFound` error.
283283
See [Mock VM manager](#mock-vm-manager).
284284
{{< /callout >}}
285285

286-
AWS does not provide an API to download AMIs.
287-
This prevents the use stock AWS AMIs on LocalStack.
288-
However, in certain cases it may be possible to tweak your AMI build process to target Docker images.
286+
AWS does not provide an API to download AMIs which prevents the use of real AWS AMIs on LocalStack.
287+
However, in certain cases it may be possible to tweak your workflow to make it work with Localstack.
289288

290-
For example, suppose you use [Packer](https://packer.io/) to customise the Amazon Linux AMI on AWS.
291-
You can instead make Packer use the [Docker builder](https://developer.hashicorp.com/packer/integrations/hashicorp/docker/latest/components/builder/docker) instead of the Amazon builder and add the customisations on top of the Amazon Linux [Docker base image](https://hub.docker.com/_/amazonlinux/).
289+
For example, you can use [Packer](https://packer.io/) to customise the Amazon Linux AMI on AWS.
290+
Packer can be made to use the [Docker builder](https://developer.hashicorp.com/packer/integrations/hashicorp/docker/latest/components/builder/docker) instead of the Amazon builder and add the customisations on top of the Amazon Linux [Docker base image](https://hub.docker.com/_/amazonlinux/).
292291
The final image then can be used by LocalStack EC2 as illustrated above.
293292

294293
### Instances
@@ -321,26 +320,27 @@ These addresses are also printed in the logs while the instance is being initial
321320
When instances are launched, LocalStack attempts to start SSH server `/usr/sbin/sshd` in the Docker base image.
322321
If not found, it installs and starts the [Dropbear](https://github.com/mkj/dropbear) SSH server.
323322

324-
To be able to access the instance at additional ports from the host system, you can modify the default security group and incorporate the needed ingress ports.
323+
To be able to access the instance at additional ports from the host system, you can modify the default security group and include the required ingress ports.
325324

326325
{{< callout "note" >}}
327326
Security group ingress rules are applied only during the creation of the Dockerized instance.
328327
Modifying a security group will not open any ports for a running instance.
329328
{{< /callout >}}
330329

331330
The system supports up to 32 ingress ports.
332-
This constraint is in place to prevent the host from exhausting available ports.
331+
This constraint is in place to prevent exhausting free ports on the host.
333332

334333
{{< command >}}
335334
$ awslocal ec2 authorize-security-group-ingress \
336335
--group-id default \
337336
--protocol tcp \
338337
--port 8080
339-
$ awslocal ec2 describe-security-groups \
340-
--group-names default
338+
{{< /command >}}
339+
{{< command >}}
340+
$ awslocal ec2 describe-security-groups --group-names default
341341
{{< /command >}}
342342

343-
The port mapping details are provided in the logs during the instance initialization process.
343+
The port mapping details are provided in the logs when the instance starts up.
344344

345345
```bash
346346
2022-12-20T19:43:44.544 INFO Instance i-1d6327abf04e31be6 port mappings (container -> host): {'8080/tcp': 51747, '22/tcp': 55705}
@@ -507,9 +507,7 @@ Underlying virtual machines and volumes are not persisted, only their mock respr
507507
### AMIs
508508

509509
All qcow2 images with cloud-init support can be used as AMIs.
510-
511-
LocalStack does not come preloaded with any AMIs.
512-
You can find the download links for images of popular OSs below:
510+
You can find the download links for images of popular OSs below.
513511

514512
{{< tabpane text=true >}}
515513

@@ -545,6 +543,8 @@ An evaluation version of Windows Server 2012 R2 is provided by [Cloudbase Soluti
545543

546544
{{< /tabpane >}}
547545

546+
LocalStack does not come preloaded with any AMIs.
547+
548548
Compatible qcow2 images must be placed at the default Libvirt storage pool at `/var/lib/libvirt/images` on the host machine.
549549
Images must be named with the prefix `ami-` followed by at least 8 hexadecimal characters without an extension, e.g. `ami-1234abcd`.
550550
You may need run the following command to make sure the image is registered with Libvirt:
@@ -554,6 +554,8 @@ $ virsh pool-refresh default
554554
<disable-copy>
555555
Pool default refreshed
556556
</disable-copy>
557+
{{< /command >}}
558+
{{< command >}}
557559
$ virsh vol-list --pool default
558560
<disable-copy>
559561
Name Path

Diff for: content/en/user-guide/aws/fis/index.md

+3-6
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ FIS defines the following elements:
2828
1. Duration of the disruption.
2929

3030
Together this is termed as an Experiment.
31-
After the designated time, FIS restores systems to their original state and/or ceases introducing faults.
31+
After the designated time, running experiments restore systems to their original state and cease introducing faults.
3232

3333
{{< callout "note" >}}
3434
FIS experiment emulation is part of LocalStack Enterprise.
@@ -37,10 +37,9 @@ If you'd like to try it out, please [contact us](https://www.localstack.cloud/de
3737

3838
FIS actions can be categorized into two main types:
3939

40-
1. Single-time events For example, the `aws:ec2:stop-instances` FIS action, which sends a [`StopInstances`](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_StopInstances.html) API to specific EC2 instances.
40+
1. One-time events: For example, the `aws:ec2:stop-instances` FIS action, which sends a [`StopInstances`](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_StopInstances.html) API to specific EC2 instances.
4141
Some of these events can automatically be undone after a defined time, such as sending a [`StartInstances`](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_StartInstances.html) command to the affected instances.
42-
1. Inducing API errors in response to a specified percentage of API calls.
43-
For instance, using `aws:fis:inject-api-unavailable-error` to introduce an HTTP 503 error.
42+
1. Probabilistic API errors: For instance, using `aws:fis:inject-api-unavailable-error` to introduce an HTTP 503 error.
4443

4544
## Getting started
4645

@@ -233,9 +232,7 @@ LocalStack FIS currently supports the following actions:
233232
- **`aws:rds:reboot-db-instances`**: Runs EC2 RebootInstances on the target EC2 instances.
234233
- **`aws:ssm:send-command`**: Runs the Systems Manager SendCommand on the target EC2 instances.
235234

236-
{{< callout "note" >}}
237235
If you would like support for more FIS actions, please make a feature request on [GitHub](https://github.com/localstack/localstack/issues/new/choose).
238-
{{< /callout >}}
239236

240237
## Current Limitations
241238

Diff for: content/en/user-guide/aws/iot/index.md

+11-15
Original file line numberDiff line numberDiff line change
@@ -10,32 +10,35 @@ aliases:
1010

1111
## Introduction
1212

13-
AWS IoT provides cloud services to manage IoT fleet and integrate them with other AWS services
13+
AWS IoT provides cloud services to manage IoT devices and integrate them with other AWS services.
1414

15-
LocalStack Pro supports IoT Core, IoT Data, IoT Analytics and related APIs as well as an in-built MQTT broker.
15+
LocalStack Pro supports IoT Core, IoT Data, IoT Analytics.
1616
Common operations for creating and updating things, groups, policies, certificates and other entities are implemented with full CloudFormation support.
1717
The supported APIs are available on our [API coverage page](https://docs.localstack.cloud/references/coverage/coverage_iot/).
1818

19+
LocalStack ships a [Message Queuing Telemetry Transport (MQTT)](https://mqtt.org/) broker powered by [Eclipse Mosquitto](https://mosquitto.org/) which supports both pure MQTT and MQTT-over-WSS (WebSockets Secure) protocols.
20+
1921
## Getting Started
2022

2123
This guide is for users that are new to IoT and assumes a basic knowledge of the AWS CLI and LocalStack [`awslocal`](https://github.com/localstack/awscli-local) wrapper.
2224

2325
Start LocalStack using your preferred method.
2426

25-
LocalStack ships an Message Queuing Telemetry Transport (MQTT) broker powered by [Mosquitto](https://mosquitto.org/) which supports both pure MQTT and MQTT-over-WSS (WebSockets Secure) protocols.
2627
To retrieve the MQTT endpoint, use the [`DescribeEndpoint`](https://docs.aws.amazon.com/iot/latest/apireference/API_DescribeEndpoint.html) operation.
2728

2829
{{< command >}}
2930
$ awslocal iot describe-endpoint
31+
<disable-copy>
3032
{
3133
"endpointAddress": "000000000000.iot.eu-central-1.localhost.localstack.cloud:4510"
3234
}
35+
</disable-copy>
3336
{{< / command >}}
3437

3538
{{< callout "tip" >}}
3639
LocalStack lazy-loads services by default.
3740
The MQTT broker may not be automatically available on a fresh launch of LocalStack.
38-
You should make a `DescribeEndpoint` call to ensure the broker is running and identify the port.
41+
You can make a `DescribeEndpoint` call to start the broker and identify the port.
3942
{{< /callout >}}
4043

4144
This endpoint can then be used with any MQTT client to publish and subscribe to topics.
@@ -50,7 +53,7 @@ $ mqtt subscribe \
5053
--topic climate
5154
{{< /command >}}
5255

53-
In another terminal, publish a message to this topic.
56+
In a separate terminal session, publish a message to this topic.
5457

5558
{{< command >}}
5659
$ mqtt publish \
@@ -60,16 +63,16 @@ $ mqtt publish \
6063
-m "temperature=30°C;humidity=60%"
6164
{{< /command >}}
6265

63-
This message will be pushed to all subscribers of this topic, including the one in the first terminal.
66+
This message will be pushed to all subscribers of this topic, including the one in the first terminal session.
6467

6568
## Authentication
6669

6770
LocalStack IoT maintains its own root certificate authority which is regenerated at every run.
6871
The root CA certificate can be retrieved from <http://localhost.localstack.cloud:4566/_aws/iot/LocalStackIoTRootCA.pem>.
6972

70-
{{< callout >}}
73+
{{< callout "tip" >}}
7174
AWS provides its root CA certificate at <https://www.amazontrust.com/repository/AmazonRootCA1.pem>.
72-
For more information, see [this](https://docs.aws.amazon.com/iot/latest/developerguide/server-authentication.html#server-authentication-certs).
75+
[This section](https://docs.aws.amazon.com/iot/latest/developerguide/server-authentication.html#server-authentication-certs) contains information about CA certificates.
7376
{{< /callout >}}
7477

7578
When connecting to the endpoints, you will need to provide this root CA certificate for authentication.
@@ -191,10 +194,3 @@ The following actions are supported:
191194
- [Firehose](https://docs.aws.amazon.com/iot/latest/developerguide/kinesis-firehose-rule-action.html)
192195
- [DynamoDBv2](https://docs.aws.amazon.com/iot/latest/developerguide/dynamodb-v2-rule-action.html)
193196
- [HTTP](https://docs.aws.amazon.com/iot/latest/developerguide/https-rule-action.html) (URL confirmation and substitution templating is not implemented)
194-
195-
## Current Limitations
196-
197-
LocalStack MQTT broker does not support multi-account/multi-region namespacing.
198-
Internally, the MQTT messages are not routed to the appropriate account ID/region even though the endpoint URL may suggest otherwise.
199-
All messages will be routed to the `000000000000` account and the `us-east-1` region.
200-
This prevents features such as topic rules from working properly when not using the this account ID or region.

Diff for: content/en/user-guide/aws/kinesis/index.md

+3-1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ It is used for applications that require real-time processing and deriving insig
1414
LocalStack allows you to use the Kinesis Data Streams APIs in your local environment from setting up data streams and configuring data processing to building real-time applications.
1515
The supported APIs are available on our [API coverage page](https://docs.localstack.cloud/references/coverage/coverage_kinesis/).
1616

17+
Emulation for Kinesis is powered by [Kinesis Mock](https://github.com/etspaceman/kinesis-mock).
18+
1719
## Getting started
1820

1921
This guide is designed for users new to Kinesis Data Streams and assumes basic knowledge of the AWS CLI and our [`awslocal`](https://github.com/localstack/awscli-local) wrapper script.
@@ -205,4 +207,4 @@ The following code snippets and sample applications provide practical examples o
205207
## Limitations
206208

207209
In multi-account setups, each AWS account launches a separate instance of Kinesis Mock, which is very resource intensive when a large number of AWS accounts are used.
208-
An [open Kinesis Mock issue](https://github.com/etspaceman/kinesis-mock/issues/377) is being used to keep track of this feature.
210+
[This Kinesis Mock issue](https://github.com/etspaceman/kinesis-mock/issues/377) is being used to keep track of this feature.

Diff for: content/en/user-guide/aws/mwaa/index.md

+7-3
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,15 @@ tags: ["Pro image"]
88

99
## Introduction
1010

11-
Managed Workflows for Apache Airflow (MWAA) is a fully managed service by AWS that simplifies the deployment, management, and scaling of Apache Airflow workflows in the cloud.
11+
Managed Workflows for Apache Airflow (MWAA) is a fully managed service by AWS that simplifies the deployment, management, and scaling of [Apache Airflow](https://airflow.apache.org/) workflows in the cloud.
1212
MWAA leverages the familiar Airflow features and integrations while integrating with S3, Glue, Redshift, Lambda, and other AWS services to build data pipelines and orchestrate data processing workflows in the cloud.
1313

1414
LocalStack allows you to use the MWAA APIs in your local environment to allow the setup and operation of data pipelines.
15-
The supported APIs are available on our [API coverage page](https://docs.localstack.cloud/references/coverage/coverage_mwaa/), which provides information on the extent of MWAA's integration with LocalStack.
15+
The supported APIs are available on the [API coverage page](https://docs.localstack.cloud/references/coverage/coverage_mwaa/).
1616

1717
## Getting started
1818

19-
This guide is designed for users new to Managed Workflows for Apache Airflow and assumes basic knowledge of the AWS CLI and our [`awslocal`](https://github.com/localstack/awscli-local) wrapper script.
19+
This guide is designed for users new to MWAA and assumes basic knowledge of the AWS CLI and our [`awslocal`](https://github.com/localstack/awscli-local) wrapper script.
2020

2121
Start your LocalStack container using your preferred method.
2222
We will demonstrate how to create an Airflow environment and access the Airflow UI.
@@ -153,3 +153,7 @@ The Resource Browser allows you to perform the following actions:
153153
- **View Environment**: View details of an existing MWAA environment by clicking on the environment name.
154154
- **Edit Environment**: Edit an existing MWAA environment by clicking on the **Edit** button after clicking on the environment name.
155155
- **Delete Environment**: Select the environment name and click on the **Actions** button followed by **Remove Selected** button.
156+
157+
## Current Limitations
158+
159+
- LocalStack MWAA does not support [startup scripts](https://docs.aws.amazon.com/mwaa/latest/userguide/using-startup-script.html)

Diff for: content/en/user-guide/aws/ram/index.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ Resource Access Manager (RAM) helps resources to be shared across AWS accounts,
88

99
On AWS, RAM is an abstraction on top of AWS Identity and Access Management (IAM) which can manage resource-based policies to supported resource types.
1010

11-
LocalStack supports RAM in the Pro edition.
11+
RAM is available in LocalStack Pro.
1212
The supported API operations can be found on the [API coverage page](https://docs.localstack.cloud/references/coverage/coverage_ram/).
1313

1414
## Getting started

0 commit comments

Comments
 (0)