Skip to content

Commit 50be9d5

Browse files
authored
add link validator (#19)
* add link validator * fix several links * fix all links
1 parent 1bac8b1 commit 50be9d5

40 files changed

+118
-87
lines changed

astro.config.mjs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
import { defineConfig, envField } from 'astro/config';
33
import starlight from '@astrojs/starlight';
44
import starlightUtils from '@lorenzo_lewis/starlight-utils';
5+
import starlightLinksValidator from 'starlight-links-validator'
56

67
import markdoc from '@astrojs/markdoc';
78

@@ -75,6 +76,10 @@ export default defineConfig({
7576
alt: 'LocalStack',
7677
},
7778
plugins: [
79+
starlightLinksValidator({
80+
errorOnRelativeLinks: false,
81+
errorOnLocalLinks: false,
82+
}),
7883
starlightUtils({
7984
multiSidebar: {
8085
switcherStyle: 'dropdown',

package-lock.json

Lines changed: 40 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
"react": "^19.1.0",
2929
"react-dom": "^19.1.0",
3030
"sharp": "^0.32.5",
31+
"starlight-links-validator": "^0.17.0",
3132
"tailwind-merge": "^3.2.0",
3233
"tailwindcss": "^4.1.6"
3334
},

src/content/docs/aws/capabilities/cloud-sandbox/app-preview.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,4 +110,4 @@ preview-cmd: |
110110

111111
## Examples
112112

113-
- [Creating ephemeral application previews with LocalStack and GitHub Actions](/aws/tutorials/ephemeral-application-previews/) and the [example repository](https://github.com/localstack-samples/sample-notes-app-dynamodb-lambda-apigateway)
113+
- [Creating ephemeral application previews with LocalStack and GitHub Actions]() and the [example repository](https://github.com/localstack-samples/sample-notes-app-dynamodb-lambda-apigateway)

src/content/docs/aws/capabilities/config/configuration.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ Options that affect the core LocalStack system.
3131
| `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`. |
3232
| `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>`. |
3333
| `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. |
34-
| `PERSISTENCE` | `0` (default) | Enable persistence. See [Persistence Mechanism](/aws/capabilities/state-management/persistence) and [Filesystem Layout](/aws/capabilities/config/filesystem-layout). |
34+
| `PERSISTENCE` | `0` (default) | Enable persistence. See [Persistence Mechanism](/aws/capabilities/state-management/persistence) and [Filesystem Layout](/aws/capabilities/config/filesystem). |
3535
| `MAIN_CONTAINER_NAME` | `localstack-main` (default) | Specify the main docker container name |
3636
| `LS_LOG` | `trace`, `trace-internal`, `debug`, `info`, `warn`, `error`, `warning`| Specify the log level. Currently overrides the `DEBUG` configuration. `trace` for detailed request/response, `trace-internal` for internal calls, too. |
3737
| `EXTERNAL_SERVICE_PORTS_START` | `4510` (default) | Start of the [External Service Port Range](/aws/capabilities/networking/external-port-range) (inclusive). |
@@ -47,7 +47,7 @@ These options are applicable when using the CLI to start LocalStack.
4747

4848
| Variable | Example Values | Description |
4949
| - | - | - |
50-
| `LOCALSTACK_VOLUME_DIR` | `~/.cache/localstack/volume` (on Linux) | The location on the host of the LocalStack volume directory mount. See [Filesystem Layout](/aws/capabilities/config/filesystem-layout#using-the-cli) |
50+
| `LOCALSTACK_VOLUME_DIR` | `~/.cache/localstack/volume` (on Linux) | The location on the host of the LocalStack volume directory mount. See [Filesystem Layout](/aws/capabilities/config/filesystem#using-the-cli) |
5151
| `CONFIG_PROFILE` | | The configuration profile to load. See [Profiles](#profiles) |
5252
| `CONFIG_DIR` | `~/.localstack` | The path where LocalStack can find configuration profiles and other CLI-specific configuration |
5353

@@ -226,7 +226,7 @@ Also see [OpenSearch configuration variables](#opensearch) which are used to man
226226
| Variable | Example Values | Description |
227227
| - | - | - |
228228
| `ENFORCE_IAM` (pro) | `0` (default)\|`1` | Enable IAM policy evaluation and enforcement. If this is disabled (the default), IAM policies will have no effect to your requests. |
229-
| `IAM_SOFT_MODE` (pro) | `0` (default)\|`1` | Enable IAM soft mode. This leads to policy evaluation without actually denying access. Needs `ENFORCE_IAM` enabled as well. For more information, see [Identity and Access Management](/aws/servicesiam).|
229+
| `IAM_SOFT_MODE` (pro) | `0` (default)\|`1` | Enable IAM soft mode. This leads to policy evaluation without actually denying access. Needs `ENFORCE_IAM` enabled as well. For more information, see [Identity and Access Management](/aws/services/iam).|
230230

231231
### Kinesis
232232

@@ -252,7 +252,7 @@ Please consult the [migration guide](/aws/services/lambda#migrating-to-lambda-v2
252252
| `BUCKET_MARKER_LOCAL` | `hot-reload` (default) | Magic S3 bucket name for [Hot Reloading](/aws/tooling/lambda-tools/hot-reloading). The S3Key points to the source code on the local file system. |
253253
| `HOSTNAME_FROM_LAMBDA` | `localstack` | Endpoint host under which APIs are accessible from Lambda containers (optional). This can be useful in docker-compose stacks to use the local container hostname if neither IP address nor container name of the main container are available (e.g., in CI). Often used in combination with `LAMBDA_DOCKER_NETWORK`.|
254254
| `LAMBDA_DISABLE_AWS_ENDPOINT_URL` | `0` (default) \| `1` | Whether to disable injecting the environment variable `AWS_ENDPOINT_URL`, which automatically configures [supported AWS SDKs](https://docs.aws.amazon.com/sdkref/latest/guide/feature-ss-endpoints.html). |
255-
| `LAMBDA_DISABLE_JAVA_SDK_V2_CERTIFICATE_VALIDATION` | `1` (default) | Whether to disable the certificate name validation for [AWS Java SDK v2](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/home.html) calls when using [transparent endpoint injection](/aws/tooling/transparent-endpoint-injection).|
255+
| `LAMBDA_DISABLE_JAVA_SDK_V2_CERTIFICATE_VALIDATION` | `1` (default) | Whether to disable the certificate name validation for [AWS Java SDK v2](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/home.html) calls when using [transparent endpoint injection](/aws/capabilities/networking/transparent-endpoint-injection).|
256256
| `LAMBDA_DOCKER_DNS` | `""` (default) | Optional custom DNS server for the container running your Lambda function. Overwrites the default LocalStack [DNS Server](/aws/tooling/dns-server). Hence, resolving `localhost.localstack.cloud` requires additional configuration. |
257257
| `LAMBDA_DOCKER_FLAGS` | `-e KEY=VALUE`, `-v host:container`, `-p host:container`, `--add-host domain:ip` | Additional flags passed to Docker `run`\|`create` commands. Supports environment variables (also with `--env-file`, but the file has to be mounted into the LocalStack container), ports, volume mounts, extra hosts, networks, DNS servers, labels, ulimits, user, platform, and privileged mode. The `--env-file` argument for Docker `run` and Docker Compose have different feature sets. To provide both, we support the `--env-file` for environment files with the docker run syntax, while `--compose-env-file` supports the full docker compose features, like placeholders with `${}`, replacing quotes, etc. |
258258
| `LAMBDA_DOCKER_NETWORK` | `bridge` (Docker default) | [Docker network driver](https://docs.docker.com/network/) for the Lambda and ECS containers. Needs to be set to the network the LocalStack container is connected to. Limitation: `host` mode currently not supported. |
@@ -310,7 +310,7 @@ Please consult the [migration guide](/aws/services/lambda#migrating-to-lambda-v2
310310
| - | - | - |
311311
| `OPENSEARCH_CUSTOM_BACKEND` | `http://opensearch:9200` | URL to a custom OpenSearch backend cluster. If this is set to a valid URL, then LocalStack will not create OpenSearch cluster instances, but instead forward all domains to the given backend (see [Custom Opensearch Backends](/aws/services/opensearch#custom-opensearch-backends). |
312312
| `OPENSEARCH_MULTI_CLUSTER` | `1`\| `0` | When activated, LocalStack will spawn one OpenSearch cluster per domain. Otherwise all domains will share a single cluster instance. This is ignored if `OPENSEARCH_CUSTOM_BACKEND` is set. |
313-
| `OPENSEARCH_ENDPOINT_STRATEGY` | `path`\|`domain`\|`port` | Governs how domain endpoints are created to access a cluster (see [Opensearch Endpoints](/aws/services/opensearch#endpoints)). |
313+
| `OPENSEARCH_ENDPOINT_STRATEGY` | `path`\|`domain`\|`port` | Governs how domain endpoints are created to access a cluster (see [Opensearch Endpoints](/aws/services/opensearch#domain-endpoints)). |
314314
| `SKIP_INFRA_DOWNLOADS` | `1` \| `0` (default) | **Deprecated since 1.3.0** Whether to skip downloading additional infrastructure components (e.g., specific Elasticsearch versions) |
315315
| `IGNORE_OS_DOWNLOAD_ERRORS` | `0`\|`1` | Whether to ignore errors (e.g., network/SSL) when downloading OpenSearch plugins |
316316

@@ -345,8 +345,8 @@ Please consult the [migration guide](/aws/services/lambda#migrating-to-lambda-v2
345345
| - | - | - |
346346
| `SQS_DELAY_PURGE_RETRY` | `0` (default) | Used to toggle PurgeQueueInProgress errors when making more than one PurgeQueue call within 60 seconds. |
347347
| `SQS_DELAY_RECENTLY_DELETED` | `0` (default) | Used to toggle QueueDeletedRecently errors when re-creating a queue within 60 seconds of deleting it. |
348-
| `SQS_ENABLE_MESSAGE_RETENTION_PERIOD`| `0` (default) \| `1` | Used to toggle the MessageRetentionPeriod feature (see [Enabling `MessageRetentionPeriod`](/aws/sqs/#enabling-messageretentionperiod) |
349-
| `SQS_ENDPOINT_STRATEGY`| `standard` (default) \| `domain` \| `path` \| `off` | Configures the format of Queue URLs (see [SQS Queue URLs](/aws/sqs/#queue-urls) |
348+
| `SQS_ENABLE_MESSAGE_RETENTION_PERIOD`| `0` (default) \| `1` | Used to toggle the MessageRetentionPeriod feature (see [Enabling `MessageRetentionPeriod`](/aws/services/sqs/#enabling-messageretentionperiod) |
349+
| `SQS_ENDPOINT_STRATEGY`| `standard` (default) \| `domain` \| `path` \| `off` | Configures the format of Queue URLs (see [SQS Queue URLs](/aws/services/sqs/#queue-urls) |
350350
| `SQS_DISABLE_CLOUDWATCH_METRICS` | `0` (default) | Disables the CloudWatch Metrics for SQS when set to `1` |
351351
| `SQS_CLOUDWATCH_METRICS_REPORT_INTERVAL` | `60` (default) | Configures the report interval (in seconds) for `Approximate*` metrics that are sent to CloudWatch periodically. Sending will be disabled if `SQS_DISABLE_CLOUDWATCH_METRICS=1` |
352352

@@ -449,7 +449,7 @@ To learn more about these configuration options, see [DNS Server](/aws/tooling/d
449449

450450
| Variable | Example Values | Description |
451451
| - | - | - |
452-
| `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/tooling/transparent-endpoint-injection))
452+
| `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))
453453

454454
## LocalStack Pro
455455

@@ -515,7 +515,7 @@ These configurations have already been removed and **won't have any effect** on
515515
| `DISABLE_TERM_HANDLER` | 2.0.0 | `""` (default) \| `1` | Whether to disable signal passing to LocalStack when running in docker. Enabling this will prevent an orderly shutdown when running inside LS in docker. Setting this to anything else than an empty string will disable it.
516516
| `HOST_TMP_FOLDER` | 2.0.0 | `/some/path` | Temporary folder on the host that gets mounted as `$TMPDIR/localstack` into the LocalStack container. Required only for Lambda volume mounts when using `LAMBDA_REMOTE_DOCKER=false.` |
517517
| `INIT_SCRIPTS_PATH` | 2.0.0 | `/some/path` | Before 1.0, this was used to configure the path to the initializing files with extensions `.sh` that were found in `/docker-entrypoint-initaws.d`. This has been replaced by the [init-hook system](/aws/capabilities/config/initialization-hooks/). |
518-
| `LEGACY_DIRECTORIES` | 2.0.0 | `0` (default) | Use legacy method of managing internal filesystem layout. See [Filesystem Layout](/aws/capabilities/config/filesystem-layout). |
518+
| `LEGACY_DIRECTORIES` | 2.0.0 | `0` (default) | Use legacy method of managing internal filesystem layout. See [Filesystem Layout](/aws/capabilities/config/filesystem). |
519519
| `LEGACY_INIT_DIR` | 2.0.0 | `1` \| `0`(default) | Used with `INIT_SCRIPTS_PATH`. This has been replaced by the [init-hook system](/aws/capabilities/config/initialization-hooks). |
520520
| `MULTI_ACCOUNTS` | 2.0.0 | `0` (default) | Enable multi-accounts (preview) |
521521
| `SQS_PROVIDER` | 2.0.0 | `moto` (default) and `elasticmq` | |

src/content/docs/aws/capabilities/config/initialization-hooks.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -230,7 +230,7 @@ The logs should show something like:
230230
2024-06-26T20:36:26.864 DEBUG --- [ady_monitor)] localstack.utils.run : Executing command: ['tflocal', '-chdir=/etc/localstack/init/ready.d', 'apply', '-auto-approve']
231231
```
232232

233-
For a more complex demo project, on how to use Terraform init hooks for your testing environments, you can check out [this example](/aws/tutorials/using-terraform-with-testcontainers-and-localstack/) in the Tutorials section.
233+
For a more complex demo project, on how to use Terraform init hooks for your testing environments, you can check out [this example]() in the Tutorials section.
234234

235235
## Troubleshooting
236236

src/content/docs/aws/capabilities/config/internal-endpoints.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,4 +33,4 @@ curl -v --request POST --header "Content-Type: application/json" --data '{"acti
3333

3434
The API path for the AWS internal resources is `/_aws`.
3535
These endpoints offer LocalStack-specific features in addition to the ones offered by the AWS services.
36-
For instance, `/aws/sqs/messages` conveniently access all messages within a SQS queue, without deleting them.
36+
For instance, `/aws/services/sqs/messages` conveniently access all messages within a SQS queue, without deleting them.

src/content/docs/aws/capabilities/event-studio.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ This is essential for effectively debugging complex event-driven architectures.
8989
The following services are supported on Event Studio:
9090

9191
- [S3](https://docs.localstack.cloud/user-guide/aws/s3/)
92-
- [SQS](https://docs.localstack.cloud/user-guide/aws/sqs/)
92+
- [SQS](https://docs.localstack.cloud/user-guide/aws/services/sqs/)
9393
- [SNS](https://docs.localstack.cloud/user-guide/aws/sns/)
9494
- [DynamoDB](https://docs.localstack.cloud/user-guide/aws/dynamodb/)
9595
- [Lambda](https://docs.localstack.cloud/user-guide/aws/lambda/)

src/content/docs/aws/capabilities/networking/external-port-range.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,13 @@ This documentation discusses two approaches to access these external services wi
1818
LocalStack offers a proxy functionality to access external services indirectly.
1919
In this approach, LocalStack assigns local domains to the external services based on the individual service's configuration.
2020

21-
For instance, if OpenSearch is configured to use the [`OPENSEARCH_ENDPOINT_STRATEGY=domain`](/aws/services/opensearch#endpoints) setting, a cluster can be reached using the domain name `<domain-name>.<region>.<engine-type>.localhost.localstack.cloud`.
21+
For instance, if OpenSearch is configured to use the [`OPENSEARCH_ENDPOINT_STRATEGY=domain`](/aws/services/opensearch#domain-endpoints) setting, a cluster can be reached using the domain name `<domain-name>.<region>.<engine-type>.localhost.localstack.cloud`.
2222
Incoming messages to these domains are relayed to servers running on ports that do not require external accessibility.
2323

2424
## Direct Access with External Service Port Range
2525

2626
An alternative approach to accessing external services is by utilizing the _external service port range_.
27-
This method, applicable to services like OpenSearch, is activated using the [`OPENSEARCH_ENDPOINT_STRATEGY=port`](/aws/services/opensearch#endpoints) configuration.
27+
This method, applicable to services like OpenSearch, is activated using the [`OPENSEARCH_ENDPOINT_STRATEGY=port`](/aws/services/opensearch#domain-endpoints) configuration.
2828
The external service port range is pre-defined and set to `4510-4559` by default.
2929

3030
When a LocalStack service starts an external service, it automatically selects an available port from within the specified range.

src/content/docs/aws/capabilities/networking/internal-endpoints.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,4 +35,4 @@ $ curl -v --request POST --header "Content-Type: application/json" --data '{"ac
3535

3636
The API path for the AWS internal resources is `/_aws`.
3737
These endpoints offer LocalStack-specific features in addition to the ones offered by the AWS services.
38-
For instance, `/aws/sqs/messages` conveniently access all messages within a SQS queue, without deleting them.
38+
For instance, `/aws/services/sqs/messages` conveniently access all messages within a SQS queue, without deleting them.

0 commit comments

Comments
 (0)