Skip to content

Commit 67942a1

Browse files
revamp the tutorials UI for the Developer Hub (#648)
Co-authored-by: Osama M <[email protected]>
1 parent 3cb2190 commit 67942a1

File tree

29 files changed

+398
-215
lines changed

29 files changed

+398
-215
lines changed

assets/scss/_styles_project.scss

+6
Original file line numberDiff line numberDiff line change
@@ -517,6 +517,12 @@ table tfoot {
517517
}
518518
}
519519

520+
.reading-time-in-card{
521+
.reading-time{
522+
margin-bottom: 0;
523+
}
524+
}
525+
520526
.td-content .code-container {
521527
.code-copy-button {
522528
position: absolute;

content/en/getting-started/_index.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@ With LocalStack, you can run your AWS applications or Lambdas entirely on your l
1616

1717
Whether you are testing complex CDK applications or Terraform configurations, or just beginning to learn about AWS services, LocalStack helps speed up and simplify your testing and development workflow.
1818

19-
LocalStack supports a growing number of [AWS services]({{< ref "aws" >}}), like AWS [Lambda]({{< ref "user-guide/aws/lambda" >}}), [S3]({{< ref "s3" >}}), DynamoDB, [Kinesis]({{< ref "kinesis" >}}), [SQS]({{< ref "sqs" >}}), SNS, and more!
19+
LocalStack supports a growing number of [AWS services]({{< ref "aws" >}}), like AWS [Lambda]({{< ref "user-guide/aws/lambda" >}}), [S3]({{< ref "user-guide/aws/s3" >}}), DynamoDB, [Kinesis]({{< ref "kinesis" >}}), [SQS]({{< ref "sqs" >}}), SNS, and more!
2020
[LocalStack Pro](https://localstack.cloud/pricing) supports additional APIs and advanced features to make your cloud development experience a breeze!
2121

2222
You can find a comprehensive list of supported APIs on our [Feature Coverage]({{< ref "feature-coverage" >}}) page.
2323

24-
LocalStack also provides additional features to make your life as a cloud developer easier! Check out LocalStack's [Cloud Developer Tools]({{< ref "user-guide/tools" >}}).
24+
LocalStack also provides additional features to make your life as a cloud developer easier! Check out LocalStack's [Cloud Developer Tools]({{< ref "user-guide/tools" >}}).

content/en/getting-started/glossary.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ hide_readingtime: true
1313

1414
| Term | Definition |
1515
|---------------------------------------------------------------------------| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
16-
| [Cloud Pods]({{< ref "cloud-pods" >}}) | Advanced persistence mechanism that allows to take a snapshot of the state of your LocalStack instance, as well as easily share the application state to enable collaborative debugging. |
16+
| [Cloud Pods]({{< ref "user-guide/tools/cloud-pods" >}}) | Advanced persistence mechanism that allows to take a snapshot of the state of your LocalStack instance, as well as easily share the application state to enable collaborative debugging. |
1717
| [Diagnostics Endpoint]({{< ref "help-and-support" >}}) | The endpoint on the running LocalStack Container that prints diagnostic data about LocalStack to assist with debugging and troubleshooting. |
1818
| [Edge Port]({{< ref "endpoint-url" >}}) | The HTTP port LocalStack listens on for any type of request (e.g. from AWS SDKs). The default port is 4566. |
1919
| [External Service Ports]({{< ref "external-ports" >}}) | The ports reserved for infrastructure that is started as part of a managed service like database server, Redis cluster, and are exposed through the LocalStack Container. |

content/en/overview/_index.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ <h5 class="card-title"><i class="fa fa-book"></i> Featured guides and articles</
9292
<div class="card-text">
9393
<ul>
9494
<li><a href="{{< ref "api-key" >}}">How do I get started with a LocalStack API key?</a></li>
95-
<li><a href="{{< ref "cloud-pods" >}}">What are Local Cloud Pods and how do I use them?</a></li>
95+
<li><a href="{{< ref "user-guide/tools/cloud-pods" >}}">What are Local Cloud Pods and how do I use them?</a></li>
9696
<li><a href="{{< ref "lambda-tools" >}}">How LocalStack improves your Lambda developer experience</a></li>
9797
<li><a href="{{< ref "feature-coverage" >}}">Which AWS services does LocalStack support?</a></li>
9898
<li><a href="{{< ref "user-guide/integrations/serverless-framework" >}}">How do I use the Serverless Framework with LocalStack?</a></li>

content/en/references/init-hooks.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ which returns either `true` or `false`.
107107
## Usage example
108108

109109
A common use case for init hooks is pre-seeding LocalStack with custom state.
110-
If you have more complex state, [Cloud Pods]({{< ref `cloud-pods` >}}) may be a good option to look into!
110+
If you have more complex state, [Cloud Pods]({{< ref `user-guide/tools/cloud-pods` >}}) may be a good option to look into!
111111
But for simple state, for example if you want to have a certain S3 bucket or DynamoDB table created when starting LocalStack, init hooks can be very useful.
112112

113113
To execute aws cli commands when LocalStack becomes ready,

content/en/references/persistence-mechanism.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ LocalStack has two distinct persistence mechanisms
1616
* **Cloud Pods**: a way to store, distribute, inspect, and version snapshots.
1717

1818
This document is concerned with snapshot-based persistence.
19-
To learn more about cloud pods and their use cases, please refer to our documentation on [**Cloud pods**]({{< ref "cloud-pods">}}).
19+
To learn more about cloud pods and their use cases, please refer to our documentation on [**Cloud pods**]({{< ref "user-guide/tools/cloud-pods">}}).
2020

2121
## Snapshot-based persistence
2222

Loading

content/en/tutorials/ecs-ecr-container-app/index.md

+23-5
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,24 @@ weight: 6
55
description: >
66
Set up an NGINX web server via Elastic Container Service (ECS) and Elastic Container Registry (ECR) to serve a static website using LocalStack. Learn how you can use CloudFormation templates to declaratively define, create, and deploy your architecture locally with LocalStack's `awslocal` CLI.
77
type: tutorials
8+
teaser: ""
9+
services:
10+
- ecs
11+
- ecr
12+
platform:
13+
- docker
14+
deployment:
15+
- cloudformation
16+
- awscli
17+
tags:
18+
- Docker
19+
- ECS
20+
- ECR
21+
- Fargate
22+
- CloudFormation
23+
- NGINX
24+
pro: true
25+
leadimage: "ecs-ecr-container-app-featured-image.png"
826
---
927

1028
[Amazon Elastic Container Service (ECS)](https://aws.amazon.com/ecs/) is a fully-managed container orchestration service that simplifies the deployment, management, and scaling of Docker containers on AWS. With support for two [launch types](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html), EC2 and Fargate, ECS allows you to run containers on your cluster of EC2 instances or have AWS manage your underlying infrastructure with Fargate. The Fargate launch type provides a serverless-like experience for running containers, allowing you to focus on your applications instead of infrastructure.
@@ -32,13 +50,13 @@ ENV foo=bar
3250

3351
The `Dockerfile` uses the official `nginx` image from Docker Hub, which allows us to serve the default index page. Before building our Docker image, we need to start LocalStack and create an ECR repository to push our Docker image. To start LocalStack with the `LOCALSTACK_API_KEY` environment variable, run the following command:
3452

35-
{{< command >}}
53+
{{< command >}}
3654
$ LOCALSTACK_API_KEY=<your-api-key> localstack start -d
3755
{{< / command >}}
3856

3957
Next, we will create an ECR repository to push our Docker image. We will use the `awslocal` CLI to create the repository.
4058

41-
{{< command >}}
59+
{{< command >}}
4260
$ awslocal ecr create-repository --repository-name <REPOSITORY_NAME>
4361
{{< / command >}}
4462

@@ -65,7 +83,7 @@ Replace `<REPOSITORY_NAME>` with your desired repository name. The output of thi
6583

6684
Copy the `repositoryUri` value from the output and replace `<REPOSITORY_URI>` in the following command:
6785

68-
{{< command >}}
86+
{{< command >}}
6987
$ docker build -t <REPOSITORY_URI> .
7088
{{< / command >}}
7189

@@ -79,7 +97,7 @@ After a few seconds, the Docker image will be pushed to the local ECR repository
7997

8098
## Creating the local ECS infrastructure
8199

82-
LocalStack enables the deployment of ECS task definitions, services, and tasks, allowing us to deploy our ECR containers via the ECS Fargate launch type, which uses the local Docker engine to deploy containers locally. To create the necessary ECS infrastructure on our local machine before deploying our NGINX web server, we will use a CloudFormation template.
100+
LocalStack enables the deployment of ECS task definitions, services, and tasks, allowing us to deploy our ECR containers via the ECS Fargate launch type, which uses the local Docker engine to deploy containers locally. To create the necessary ECS infrastructure on our local machine before deploying our NGINX web server, we will use a CloudFormation template.
83101

84102
You can create a new file named `ecs.infra.yml` inside a new `templates` directory, using a [publicly available CloudFormation template as a starting point](https://github.com/awslabs/aws-cloudformation-templates/blob/master/aws/services/ECS/FargateLaunchType/clusters/public-vpc.yml). To begin, we'll add the `Mappings` section and configure the subnet mask values, which define the range of internal IP addresses that can be assigned.
85103

@@ -542,7 +560,7 @@ $ awslocal ecs describe-tasks --cluster <CLUSTER_ARN> --tasks <TASK_ARN> | jq -r
542560
Earlier, we configured the application to run on port `45139`, in our `HostPort` parameter. Let us now access the application endpoint. Run the following command to get the public IP address of the host:
543561

544562
{{< command >}}
545-
$ curl localhost:45139
563+
$ curl localhost:45139
546564
{{< /command >}}
547565

548566
Alternatively, in the address bar of your web browser, you can navigate to [`localhost:45139`](https://localhost:45139/). You should see the default index page of the NGINX web server.
Loading

content/en/tutorials/elb-load-balancing/index.md

+18-1
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,28 @@ weight: 3
55
description: >
66
Learn how to configure Elastic Load Balancing (ELB) Application Load Balancers and set up Node.js Lambda functions as targets. This tutorial demonstrates how to forward requests to the target group for your Lambda function using the Serverless Framework and the `serverless-localstack` plugin to effortlessly deploy and manage your infrastructure locally with LocalStack.
77
type: tutorials
8+
teaser: ""
9+
services:
10+
- elb
11+
- lmb
12+
platform:
13+
- javascript
14+
deployment:
15+
- serverless
16+
tags:
17+
- Elastic Load Balancing
18+
- Lambda
19+
- Serverless Framework
20+
- Node.js
21+
- JavaScript
22+
- serverless-localstack plugin
23+
pro: true
24+
leadimage: "elb-load-balancing-featured-image.png"
825
---
926

1027
[Elastic Load Balancer (ELB)](https://aws.amazon.com/elasticloadbalancing/) is a service that distributes incoming application traffic across multiple targets, such as EC2 instances, containers, IP addresses, and Lambda functions. ELBs can be physical hardware or virtual software components. They accept incoming traffic and distribute it across multiple targets in one or more Availability Zones. Using ELB, you can quickly scale your load balancer to accommodate changes in traffic over time, ensuring optimal performance for your application and workloads running on the AWS infrastructure.
1128

12-
ELB provides three types of load balancers: [Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html), [Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html), [Classic Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/gateway/introduction.html), and [Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html).
29+
ELB provides three types of load balancers: [Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html), [Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html), [Classic Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/gateway/introduction.html), and [Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html).
1330

1431
In this tutorial we focus on the Application Load Balancer (ALB), which operates at the Application layer of the OSI model and is specifically designed for load balancing HTTP and HTTPS traffic for web applications. ALB works at the request level, allowing advanced load-balancing features for HTTP and HTTPS requests. It also enables you to register Lambda functions as targets. You can configure a listener rule that forwards requests to a target group for your Lambda function, triggering its execution to process the request.
1532

content/en/tutorials/java-notification-app/index.md

+22-1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,27 @@ weight: 3
55
description: >
66
Build a Java Spring Boot application to configure Simple Email Service (SES) to send messages using AWS Java SDK in LocalStack. Learn how to configure Simple Queue Service (SQS) & Simple Notification Service (SNS) using CloudFormation templates deployed locally.
77
type: tutorials
8+
teaser: ""
9+
services:
10+
- ses
11+
- sqs
12+
- sns
13+
- clf
14+
platform:
15+
- java
16+
deployment:
17+
- aws-java-sdk
18+
- cloudFormation
19+
tags:
20+
- Java
21+
- Spring Boot
22+
- AWS Java SDK
23+
- Simple Email Service
24+
- Simple Queue Service
25+
- Simple Notification Service
26+
- CloudFormation
27+
pro: true
28+
leadimage: "java-notification-app-featured-image.png"
829
---
930

1031
Java is a popular platform for cloud applications that use Amazon Web Services.
@@ -626,6 +647,6 @@ You can also navigate to the MailHog via the user-interface: [`localhost:8025`](
626647
In this tutorial, we have demonstrated, how you can:
627648

628649
- Use CloudFormation to provision infrastructure for SNS & SQS subscriptions on LocalStack
629-
- Use the AWS Java SDK and Spring Boot to build an application that sends SQS and SES messages.
650+
- Use the AWS Java SDK and Spring Boot to build an application that sends SQS and SES messages.
630651

631652
Using [LocalStack Pro](https://app.localstack.cloud), you can use our Web user interface to view the email messages sent by SES. The code for this tutorial can be found in our [LocalStack Pro samples over GitHub](https://github.com/localstack/localstack-pro-samples/tree/master/java-notification-app).
Loading

content/en/tutorials/lambda-ecr-container-images/index.md

+16
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,22 @@ weight: 2
55
description: >
66
Learn how to create and deploy Lambda functions using container images in LocalStack. This tutorial guides you through packaging your code and dependencies into a Docker image, creating a local Elastic Container Registry (ECR) in LocalStack, and deploying the Lambda container image.
77
type: tutorials
8+
teaser: ""
9+
services:
10+
- ecr
11+
- lmb
12+
platform:
13+
- python
14+
deployment:
15+
- awscli
16+
tags:
17+
- Lambda
18+
- ECR
19+
- Docker
20+
- Container
21+
- Container Image
22+
pro: true
23+
leadimage: "lambda-ecr-container-images-featured-image.png"
824
---
925

1026
[Lambda](https://aws.amazon.com/lambda/) is a powerful serverless compute system that enables you to break down your application into smaller, independent functions. These functions can be deployed as individual units within the AWS ecosystem. Lambda offers seamless integration with various AWS services and supports multiple programming languages for different runtime environments. To deploy Lambda functions programmatically, you have two options: [uploading a ZIP file containing your code and dependencies](https://docs.aws.amazon.com/lambda/latest/dg/configuration-function-zip.html) or [packaging your code in a container image](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-images.html) and deploying it through Elastic Container Registry (ECR).

0 commit comments

Comments
 (0)