Subchapter 31.3
references/beanstalk-platforms.mdMarkdown3 KBView on GitHub
These rules apply after Elastic Beanstalk has been selected as the deployment target by the deploy skill.
Detect the application’s language and framework, then map to an EB platform branch.
| Signal in Codebase | EB Platform | Notes |
|---|---|---|
requirements.txt, Pipfile, pyproject.toml | Python on AL2023 | Django, Flask, FastAPI |
package.json (backend Node.js) | Node.js on AL2023 | Express, NestJS, Fastify, Hono |
pom.xml, build.gradle, .jar | Corretto on AL2023 | Spring Boot, Quarkus |
pom.xml, build.gradle, .war | Tomcat on AL2023 | WAR-based Java web apps |
Gemfile, config.ru | Ruby on AL2023 | Rails, Sinatra |
go.mod | Go on AL2023 | Any Go HTTP server |
*.csproj, *.sln (ASP.NET Core) | .NET on AL2023 | ASP.NET Core on Linux |
*.csproj, *.sln (.NET Framework) | .NET on Windows Server | IIS, .NET Framework 4.x |
composer.json | PHP on AL2023 | Laravel, Symfony |
Dockerfile | Docker on AL2023 | Any containerized app |
Dockerfile exists AND a language runtime is also detected, ask the user for an explicit selection..war file, deploy to Tomcat platform. If .jar with
embedded server (Spring Boot), use Corretto platform.engines in package.json,
<TargetFramework> in .csproj).| Platform | Accepted Input |
|---|---|
| Language platforms | Source bundle (zip of source code) |
| .NET | Published output (dotnet publish zip, not source) |
| Java (.jar) | Built artifact (fat jar or exploded directory) |
| Docker | Source bundle containing Dockerfile |
| Docker (pre-built) | Dockerfile with FROM referencing ECR/registry image |
.NET and Java platforms require pre-built artifacts. Run dotnet publish or
mvn package/gradle build before zipping. Other language platforms (Python,
Node.js, Ruby, Go, PHP) accept raw source and build on-instance.
Worker environments use the same platforms as web server environments. The
difference is the SQS daemon that delivers messages to the application over HTTP
on localhost. The application must expose an HTTP endpoint (default: POST /)
that processes each message.