{"id":18636690,"url":"https://github.com/localstack/localstack-workshop","last_synced_at":"2025-04-11T09:31:03.134Z","repository":{"id":167527884,"uuid":"630930347","full_name":"localstack/localstack-workshop","owner":"localstack","description":"Repository with code samples for the LocalStack workshop","archived":false,"fork":false,"pushed_at":"2025-02-19T12:31:48.000Z","size":1174,"stargazers_count":17,"open_issues_count":0,"forks_count":8,"subscribers_count":15,"default_branch":"main","last_synced_at":"2025-03-25T11:52:28.303Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/localstack.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-04-21T13:44:21.000Z","updated_at":"2025-02-28T07:21:28.000Z","dependencies_parsed_at":"2024-01-03T09:24:59.038Z","dependency_job_id":"a148b6f6-cabb-4e74-b9b5-46f3f55dd98c","html_url":"https://github.com/localstack/localstack-workshop","commit_stats":null,"previous_names":["localstack/localstack-workshop"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/localstack%2Flocalstack-workshop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/localstack%2Flocalstack-workshop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/localstack%2Flocalstack-workshop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/localstack%2Flocalstack-workshop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/localstack","download_url":"https://codeload.github.com/localstack/localstack-workshop/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248368207,"owners_count":21092317,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-07T05:31:14.810Z","updated_at":"2025-04-11T09:31:03.099Z","avatar_url":"https://github.com/localstack.png","language":"JavaScript","readme":"![Build Status](https://github.com/localstack/localstack-workshop/actions/workflows/build-test.yml/badge.svg)\n\n# LocalStack Workshop\n\nRepository with code samples for the LocalStack workshop.\n\nNote: The project can either be cloned and installed on your local machine, or you can spin up a remote development environment (Gitpod, or Github Codespaces) to access the project directly from your browser.\n\n* **Option 1:** Open the project in [Github Codespaces](https://github.com/codespaces/new?hide_repo_select=true\u0026ref=main\u0026repo=630930347)\n* **Option 2:** Open the project in [Gitpod](https://gitpod.io/#https://github.com/localstack/localstack-workshop)\n* **Option 3:** Run the project locally (see instructions below)\n\n## Prerequisites\n\n* Docker\n* Python/`pip`\n* LocalStack Pro auth token ([free trial key here](https://app.localstack.cloud))\n\n## Installation \u0026 Getting Started\n\nLocalStack can be started in [different ways](https://docs.localstack.cloud/getting-started/installation/).\nThe easiest way (the one we recommend) is through the [LocalStack CLI](https://docs.localstack.cloud/getting-started/installation/#localstack-cli).\n\nFirst, install the LocalStack command-line interface (CLI):\n```\npip install localstack\n```\nThen we can simply start the LocalStack container locally:\n```\nexport LOCALSTACK_AUTH_TOKEN=... # insert your auth token here\nDEBUG=1 localstack start\n```\n\nOnce LocalStack is running in the Docker container, we can issue CLI commands to create and interact with AWS resources. Let's say, for instance, that we want to create a S3 bucket. \nIf you have the [AWS Command Line Interface](https://aws.amazon.com/cli/) installed on your machine, you can simply type:\n```\naws --endpoint=http://localhost.localstack.cloud:4566 s3 mb s3://demo-bucket\n```\n\nTo make things simpler, you might want to install [`awslocal`](https://github.com/localstack/awscli-local), i.e., our wrapper around the AWS CLI. This way, you don't need to set up the endpoint for every CLI command. The previous command would just be:\n```\nawslocal s3 mb s3://demo-bucket\n```\n\nYou can create and browse resources in LocalStack also from the research browser.\nSimply, go to our [Web App](https://app.localstack.cloud/), log in, and click on _Resources_ in the top navigation bar. You will gain access to our research browser, where each service has a console to manage its resources.\n\n### Hello World\n\nEvery programming language tutorial starts with printing a _Hello World_. Let us have the [equivalent](https://github.com/localstack/localstack-workshop/tree/main/00-hello-world) in LocalStack.\n\n## Sample 1: Deploy a Serverless App on LocalStack\n\nAs the next step, we'll deploy a [serverless application](./01-serverless-image-resizer) using Lambda, S3, SNS, and other AWS services.\nThis is an app to resize images uploaded to an S3 bucket, using Lambda functions and event-driven processing.\nA simple web fronted using HTML and JavaScript provides a way for users to upload images that are resized and listed.\n\n## Sample 3: Infrastructure-as-Code Tools and Containerized Applications\n\nWe mostly interacted with LocalStack through the CLI so far. However, large systems are hardly built this way.\nLuckily, LocalStack supports a [wide range of integrations](https://docs.localstack.cloud/user-guide/integrations/) that will cover your favorite Infrastructure-as-Code (IaC) tool.\nIn the following [sample](./02-serverless-api-ecs-apigateway), we will deploy a containerized application (using ECS, Cognito, etc) with either Terraform or CloudFormation.\n\n## Sample 4: AppSync GraphQL APIs for DynamoDB and RDS Aurora PostgreSQL\n\nIn this sample, we'll take a closer look at AppSync, a managed services for deploying GraphQL APIs to access data sources like RDS databases or DynamoDB tables.\nThe [AppSync GraphQL sample](./03-appsync-graphql-api-cdk) is a simple application that maintaines entries in a database table, and makes them accessible via a GraphQL HTTP endpoint.\nClients can also subscribe to a WebSocket endpoint to receive real-time updates about new DB entries. The stack is defined via CDK, and deployed fully locally against LocalStack.\n\n## Sample 5: Cloud Pods\n\nDetails following soon...\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flocalstack%2Flocalstack-workshop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flocalstack%2Flocalstack-workshop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flocalstack%2Flocalstack-workshop/lists"}