Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
09b2c74
remove mentions of ci credits,community img, localstack pro, etc
quetzalliwrites Mar 17, 2026
b5e16d0
remove s3 docker img
quetzalliwrites Mar 17, 2026
7756c5f
Apply suggestion from @quetzalliwrites
quetzalliwrites Mar 17, 2026
6d3799d
typo
quetzalliwrites Mar 17, 2026
34bad16
add updated licensing doc
quetzalliwrites Mar 18, 2026
3b1bf87
put back in credits explanation in ephemeral-instances.md
quetzalliwrites Mar 18, 2026
2825221
tyvm @brian, really helpful feebdack!
quetzalliwrites Mar 18, 2026
f43288a
remove community mention ses.mdx
quetzalliwrites Mar 18, 2026
c3df547
improve confusing grammar
quetzalliwrites Mar 18, 2026
cd3dfe4
Update installation.mdx to clarify auth token is required to start LS…
quetzalliwrites Mar 18, 2026
8f9bfe8
Fix links
remotesynth Mar 18, 2026
e937d2b
Fix licensing page formatting issues
remotesynth Mar 18, 2026
9a98b7d
Update licensing.md
remotesynth Mar 18, 2026
7d26eae
Fix missing column
remotesynth Mar 19, 2026
522ae27
thanks all! good feedback
quetzalliwrites Mar 19, 2026
fa12963
Update src/content/docs/aws/licensing.md
quetzalliwrites Mar 19, 2026
587335e
Update src/content/docs/aws/licensing.md
quetzalliwrites Mar 19, 2026
2074ce6
Update src/content/docs/aws/licensing.md
quetzalliwrites Mar 19, 2026
7b7cacc
Update src/content/docs/aws/licensing.md
quetzalliwrites Mar 19, 2026
1ce3ca0
Update src/content/docs/aws/licensing.md
quetzalliwrites Mar 19, 2026
b65846a
Update src/content/docs/aws/licensing.md
quetzalliwrites Mar 19, 2026
ddc163c
Update src/content/docs/aws/licensing.md
quetzalliwrites Mar 19, 2026
960ea31
Update src/content/docs/aws/licensing.md
quetzalliwrites Mar 19, 2026
977398e
Remove image column
remotesynth Mar 20, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
97 changes: 47 additions & 50 deletions src/components/feature-coverage/FeatureCoverage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -51,13 +51,6 @@ const columns: ColumnDef<any>[] = [
enableSorting: true,
enableResizing: false,
},
{
id: 'image',
accessorFn: (row) => row[Object.keys(row)[0]].availability,
header: () => 'Image',
enableSorting: false,
enableResizing: false,
},
{
id: 'k8s_support',
accessorFn: (row) => row[Object.keys(row)[0]].k8s_test_suite,
Expand All @@ -66,8 +59,9 @@ const columns: ColumnDef<any>[] = [
enableSorting: false,
enableResizing: false,
meta: {
tooltip: 'Indicates whether this operation has passed our internal integration test suite running against a LocalStack pod deployed on a Kubernetes cluster.'
}
tooltip:
'Indicates whether this operation has passed our internal integration test suite running against a LocalStack pod deployed on a Kubernetes cluster.',
},
},
];

Expand All @@ -78,7 +72,7 @@ export default function PersistenceCoverage({ service }: { service: string }) {
{ id: 'operation', desc: false },
]);
const [columnFilters, setColumnFilters] = React.useState<ColumnFiltersState>(
[]
[],
);

React.useEffect(() => {
Expand All @@ -94,8 +88,8 @@ export default function PersistenceCoverage({ service }: { service: string }) {
const table = useReactTable({
data: coverage,
columns,
state: {
sorting,
state: {
sorting,
columnFilters,
},
onSortingChange: setSorting,
Expand All @@ -122,7 +116,7 @@ export default function PersistenceCoverage({ service }: { service: string }) {
}
className="border rounded px-2 py-1 w-full max-w-xs"
style={{
color: '#707385',
color: '#707385',
fontFamily: 'AeonikFono',
fontSize: '14px',
fontStyle: 'normal',
Expand All @@ -133,9 +127,9 @@ export default function PersistenceCoverage({ service }: { service: string }) {
/>
</div>
<div className="p-2 block max-w-full overflow-x-scroll overflow-y-hidden">
<Table
className="w-full"
style={{
<Table
className="w-full"
style={{
borderCollapse: 'collapse',
tableLayout: 'fixed',
width: '100%',
Expand All @@ -146,22 +140,20 @@ export default function PersistenceCoverage({ service }: { service: string }) {
<TableRow key={headerGroup.id}>
{headerGroup.headers.map((header, index) => {
const canSort = header.column.getCanSort();

const getColumnWidth = (columnId: string) => {
switch (columnId) {
case 'operation':
return '90%';
case 'implemented':
return '15%';
case 'image':
return '15%';
case 'k8s_support':
return '15%';
default:
return '15%';
}
};

return (
<TableHead
key={header.id}
Expand All @@ -173,7 +165,8 @@ export default function PersistenceCoverage({ service }: { service: string }) {
className={canSort ? 'cursor-pointer select-none' : ''}
style={{
width: getColumnWidth(header.id),
textAlign: header.id === 'operation' ? 'left' : 'center',
textAlign:
header.id === 'operation' ? 'left' : 'center',
border: '1px solid #999CAD',
background: '#AFB2C2',
color: 'var(--sl-color-gray-1)',
Expand All @@ -188,29 +181,29 @@ export default function PersistenceCoverage({ service }: { service: string }) {
>
{flexRender(
header.column.columnDef.header,
header.getContext()
header.getContext(),
)}
{header.column.columnDef.meta?.tooltip && (
<span
title={header.column.columnDef.meta.tooltip}
style={{
cursor: 'help',
display: 'inline-flex',
}}
>
<CircleHelp
size={20}
className="text-gray-500 dark:text-gray-200 hover:text-gray-300"
/>
</span>
<span
title={header.column.columnDef.meta.tooltip}
style={{
cursor: 'help',
display: 'inline-flex',
}}
>
<CircleHelp
size={20}
className="text-gray-500 dark:text-gray-200 hover:text-gray-300"
/>
</span>
)}
{canSort && (
<span>
{header.column.getIsSorted() === 'asc'
? ' ▲'
: header.column.getIsSorted() === 'desc'
? ' ▼'
: ''}
? ' ▼'
: ''}
</span>
)}
</TableHead>
Expand All @@ -219,33 +212,37 @@ export default function PersistenceCoverage({ service }: { service: string }) {
</TableRow>
))}
</TableHeader>
<TableBody style={{
color: 'var(--sl-color-gray-1)',
fontFamily: 'AeonikFono',
fontSize: '14px',
fontStyle: 'normal',
fontWeight: '400',
lineHeight: '16px',
letterSpacing: '-0.15px',
}}>
<TableBody
style={{
color: 'var(--sl-color-gray-1)',
fontFamily: 'AeonikFono',
fontSize: '14px',
fontStyle: 'normal',
fontWeight: '400',
lineHeight: '16px',
letterSpacing: '-0.15px',
}}
>
{table.getRowModel().rows.map((row) => (
<TableRow key={row.id}>
{row.getVisibleCells().map((cell) => {
return (
<TableCell
key={cell.id}
style={{
textAlign: cell.column.id === 'operation' ? 'left' : 'center',
textAlign:
cell.column.id === 'operation' ? 'left' : 'center',
border: '1px solid #999CAD',
padding: '12px 8px',
overflow: 'hidden',
textOverflow: 'ellipsis',
whiteSpace: cell.column.id === 'operation' ? 'normal' : 'nowrap',
whiteSpace:
cell.column.id === 'operation' ? 'normal' : 'nowrap',
}}
>
{flexRender(
cell.column.columnDef.cell,
cell.getContext()
cell.getContext(),
)}
</TableCell>
);
Expand All @@ -259,7 +256,7 @@ export default function PersistenceCoverage({ service }: { service: string }) {
<button
className="px-3 py-1 border rounded disabled:opacity-50"
style={{
color: 'var(--sl-color-gray-1)',
color: 'var(--sl-color-gray-1)',
fontFamily: 'AeonikFono',
fontSize: '14px',
fontStyle: 'normal',
Expand All @@ -279,7 +276,7 @@ export default function PersistenceCoverage({ service }: { service: string }) {
<button
className="px-3 py-1 border rounded disabled:opacity-50"
style={{
color: 'var(--sl-color-gray-1)',
color: 'var(--sl-color-gray-1)',
fontFamily: 'AeonikFono',
fontSize: '14px',
fontStyle: 'normal',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,8 @@ If you'd like to try it out, please [contact us](https://www.localstack.cloud/de

The prerequisites for this guide are:

- LocalStack Pro with [LocalStack CLI](/aws/getting-started/installation/) & [LocalStack Auth Token](/aws/getting-started/auth-token/)
- LocalStack for AWS and [LocalStack CLI](/aws/getting-started/installation/)
- [LocalStack Auth Token](/aws/getting-started/auth-token/)
- [Docker](https://docs.docker.com/get-docker/) and [Docker Compose](https://docs.docker.com/compose/install/)
- [Python](https://www.python.org/downloads/)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -192,4 +192,4 @@ Currently, for every 1 credit, you can run an Ephemeral Instance for 1 minute.
You can view the available minutes under the **Lifetime in minutes** slider when creating an Ephemeral Instance.
You can also see the credit consumption in the **Credit Consumption** section of the Ephemeral Instance page.

![Credit Consumption](/images/aws/credit-consumption.png)
![Credit Consumption](/images/aws/credit-consumption.png)
16 changes: 7 additions & 9 deletions src/content/docs/aws/capabilities/config/configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ Options that affect the core LocalStack system.
| - | - | - |
| `DEBUG` | `0` (default) \|`1`| Flag to increase log level and print more verbose logs (useful for troubleshooting issues)|
| `IMAGE_NAME`| `localstack/localstack` (default), `localstack/localstack:0.11.0` | Specific name and tag of LocalStack Docker image to use.|
| `GATEWAY_LISTEN`| `0.0.0.0:4566` (default in Docker mode) `127.0.0.1:4566` (default in host mode) | Configures the bind addresses of LocalStack. It has the form `<ip address>:<port>(,<ip address>:<port>)*`. LocalStack Pro adds port `443`. |
| `GATEWAY_LISTEN`| `0.0.0.0:4566` (default in Docker mode) `127.0.0.1:4566` (default in host mode) | Configures the bind addresses of LocalStack. It has the form `<ip address>:<port>(,<ip address>:<port>)*`. LocalStack for AWS adds port `443`. |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: I think we don't allow host mode any more. Should this be simplified ?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you can confirm it, then we can update this. @nik-localstack i will await your confirmation :)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes this shouldn't be mentioned in the docs. I confirmed with @alexrashed

| `LOCALSTACK_HOST`| `localhost.localstack.cloud:4566` (default) | This is interpolated into URLs and addresses that are returned by LocalStack. It has the form `<hostname>:<port>`. |
| `USE_SSL` | `0` (default) | Whether to return URLs using HTTP (`0`) or HTTPS (`1`). Changed with 3.0.0. In earlier versions this was toggling SSL support on or off. |
| `PERSISTENCE` | `0` (default) | Enable persistence. See [Persistence Mechanism](/aws/capabilities/state-management/persistence) and [Filesystem Layout](/aws/capabilities/config/filesystem). |
Expand Down Expand Up @@ -182,15 +182,15 @@ This section covers configuration options that are specific to certain AWS servi
| - | - | - |
| `EC2_DOCKER_FLAGS` | `--privileged` | Additional flags passed to Docker when launching containerized instances. Same restrictions as `LAMBDA_DOCKER_FLAGS`. |
| `EC2_DOCKER_INIT` | `0`\|`1` (default) | Start container instances with docker-init system, learn more [here](https://docs.docker.com/reference/cli/docker/container/run/#init). Disable this if you want to use a custom init system. |
| `EC2_DOWNLOAD_DEFAULT_IMAGES` | `0`\|`1` (default) | At startup, LocalStack Pro downloads latest Ubuntu images from Docker Hub for use as AMIs. This can be disabled for security reasons. |
| `EC2_DOWNLOAD_DEFAULT_IMAGES` | `0`\|`1` (default) | At startup, LocalStack for AWS downloads latest Ubuntu images from Docker Hub for use as AMIs. This can be disabled for security reasons. |
| `EC2_EBS_MAX_VOLUME_SIZE` | `1000` (default) | Maximum size (in MiBs) of user-specified EBS block devices mounted into EC2 container instances. |
| `EC2_HYPERVISOR_URI` | `qemu:///system` (default) | [Libvirt connection URI](https://libvirt.org/uri.html#remote-uris) that indicates the hypervisor host. Only QEMU drivers are supported at this time. |
| `EC2_LIBVIRT_NETWORK` | `default` (default) | Name of the Libvirt network to use for all instances when using the Libvirt VM manager. |
| `EC2_LIBVIRT_POOL` | `default` (default) | Name of the Libvirt storage pool to use for all images when using the Libvirt VM manager. |
| `EC2_MOUNT_BLOCK_DEVICES` | `1`\|`0` (default) | Whether to create and mount user-specified EBS block devices into EC2 container instances. |
| `EC2_REFERENCE_DOMAIN` | `my-template-vm` | Name of a shut-off Libvirt domain whose configuration will be cloned for all new VMs created by LocalStack. If unset or the domain is not found/not shut-off, LocalStack uses a generic configuration. |
| `EC2_REMOVE_CONTAINERS` | `0`\|`1` (default) | Controls whether created Docker containers are removed at instance termination or LocalStack shuts down. Disable this if there is a need to examine the container filesystem for debugging. |
| `EC2_VM_MANAGER` | `docker`(default)\|`libvirt`\|`mock` | Emulation method to use in LocalStack Pro. This option is not available in LocalStack community. |
| `EC2_VM_MANAGER` | `docker`(default)\|`libvirt`\|`mock` | Emulation method to use in LocalStack for AWS. |

### EKS

Expand Down Expand Up @@ -461,13 +461,13 @@ To learn more about these configuration options, see [DNS Server](/aws/tooling/d
| - | - | - |
| `DISABLE_TRANSPARENT_ENDPOINT_INJECTION` | `0` (default in Pro) \| `1` | Whether to disable DNS resolution of AWS hostnames to the LocalStack container. Pro feature. (see [Transparent Endpoint Injection](/aws/capabilities/networking/transparent-endpoint-injection))

## LocalStack Pro
## LocalStack for AWS

| Variable | Example Values | Description |
|----------------------|----------------|-------------|
| `ACTIVATE_PRO` | `0` \| `1`&nbsp;(default) | Whether Pro should be activated or not. This is set to true by default if using the `localstack/localstack-pro` container image. If set to `1`, LocalStack will fail to start if the license key activation did not work. If set to `0`, an attempt is made to start LocalStack without Pro features. |
| `LOCALSTACK_AUTH_TOKEN` | | [Auth token](/aws/getting-started/auth-token) to activate LocalStack Pro. |
| `LOCALSTACK_API_KEY` | | **Deprecated since 3.0.0** API key to activate LocalStack Pro.<br/> **Use the `LOCALSTACK_AUTH_TOKEN` instead (except for [CI environments](/aws/integrations/continuous-integration/)).** |
| `LOCALSTACK_AUTH_TOKEN` | | [Auth token](/aws/getting-started/auth-token) to activate LocalStack for AWS. |
| `LOCALSTACK_API_KEY` | | **Deprecated since 3.0.0** API key to activate LocalStack for AWS.<br/> **Use the `LOCALSTACK_AUTH_TOKEN` instead (except for [CI environments](/aws/integrations/continuous-integration/)).** |
| `LOG_LICENSE_ISSUES` | `0` \| `1`&nbsp;(default) | Whether to log issues with the license activation to the console. |

## Legacy
Expand All @@ -484,7 +484,7 @@ These configurations have already been removed and **won't have any effect** on
| `PROVIDER_OVERRIDE_STEPFUNCTIONS` | 4.0.0 | `v2` (default) \| `legacy` | The new LocalStack-native StepFunctions provider (v2) is active by default since LocalStack 3.0. |
| `STEPFUNCTIONS_LAMBDA_ENDPOINT` | 4.0.0 | `default` | This is only supported for the `legacy` provider. URL to use as the Lambda service endpoint in Step Functions. By default this is the LocalStack Lambda endpoint. Use default to select the original AWS Lambda endpoint. |
| `LOCAL_PORT_STEPFUNCTIONS` | 4.0.0 | `8083` (default) | This is only supported for the legacy provider. It defines the local port to which Step Functions traffic is redirected. By default, LocalStack routes Step Functions traffic to its internal runtime. Use this variable only if you need to redirect traffic to a different local Step Functions runtime. |
| `S3_DIR` | 4.0.0 | `/path/to/root` | This was only supported for the `legacy_v2` provider. Configure a global parent directory that contains all buckets as sub-directories (`S3_DIR=/path/to/root`) or an individual directory that will get mounted as special bucket names (`S3_DIR=/path/to/root/bucket1:bucket1`). Only available for Localstack Pro.
| `S3_DIR` | 4.0.0 | `/path/to/root` | This was only supported for the `legacy_v2` provider. Configure a global parent directory that contains all buckets as sub-directories (`S3_DIR=/path/to/root`) or an individual directory that will get mounted as special bucket names (`S3_DIR=/path/to/root/bucket1:bucket1`). Only available for LocalStack for AWS.
| `<SERVICE>_BACKEND` | 3.0.0 | `http://localhost:7577` | Custom endpoint URL to use for a specific service, where `<SERVICE>` is the uppercase service name. |
| `<SERVICE>_PORT_EXTERNAL` | 3.0.0 | `4567` | Port number to expose a specific service externally . `SQS_PORT_EXTERNAL`, e.g. , is used when returning queue URLs from the SQS service to the client. |
| `ACTIVATE_NEW_POD_CLIENT` | 3.0.0 | `0`\|`1` (default) | Whether to use the new Cloud Pods client leveraging LocalStack container's APIs. |
Expand Down Expand Up @@ -535,8 +535,6 @@ These configurations have already been removed and **won't have any effect** on
| `SYNCHRONOUS_SNS_EVENTS` | 2.0.0 | `1` \| `0` (default) | Whether or not to handle SNS Lambda event sources as synchronous invocations. |
| `TMPDIR`| 2.0.0 | `/tmp` (default) | Temporary folder on the host running the CLI and inside the LocalStack container .|
| `USE_LIGHT_IMAGE` | 2.0.0 | `1` (default) | Whether to use the light-weight Docker image. Overwritten by `IMAGE_NAME`.|
| `LEGACY_PERSISTENCE` | 1.0.0 | `true` (default) | Whether to enable legacy persistence mechanism based on API calls record & replay. Only relevant for Community image, not relevant for advanced persistence mechanism in Pro. |
| `PERSISTENCE_SINGLE_FILE` | 1.0.0 | `true` (default)| Specify if persistence files should be combined (only relevant for legacy persistence in Community image, not relevant for advanced persistence in Pro version). |
| `PORT_WEB_UI` | 0.12.8 | `8080` (default) | Port for the legacy Web UI. Replaced by our [Web Application](https://app.localstack.cloud) |

## Profiles
Expand Down
Loading