atymic / vapor-core
The kernel and invocation handlers for Laravel Vapor
Fund package maintenance!
atymic
Requires
- php: ^7.2|^8.0
- aws/aws-sdk-php: ^3.80
- guzzlehttp/guzzle: ^6.3|^7.0
- guzzlehttp/promises: ^1.4|^2.0
- hollodotme/fast-cgi-client: ^3.0
- illuminate/container: ^6.0|^7.0|^8.0|^9.0|^10.0|^11.0
- illuminate/http: ^6.0|^7.0|^8.0|^9.0|^10.0|^11.0
- illuminate/queue: ^6.0|^7.0|^8.0|^9.0|^10.0|^11.0
- illuminate/support: ^6.0|^7.0|^8.0|^9.0|^10.0|^11.0
- monolog/monolog: ^1.12|^2.0|^3.2
- nyholm/psr7: ^1.0
- riverline/multipart-parser: ^2.0.9
- symfony/process: ^4.3|^5.0|^6.0|^7.0
- symfony/psr-http-message-bridge: ^1.0|^2.0|^6.4|^7.0
- vlucas/phpdotenv: ^5.3
Requires (Dev)
- mockery/mockery: ^1.2
- orchestra/testbench: ^4.0|^5.0|^6.0|^7.0|^8.0|^9.0
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^8.0|^9.0|^10.4
- v2.37.1
- v2.35.0
- v2.32.1
- v2.31.0
- v2.29.0
- v2.28.0
- v2.22.2
- v2.22.0
- v2.21.3
- v2.12.3
- v2.12.2
- v2.12.1
- v2.12.0
- v2.11.0
- v2.10.2
- v2.10.1
- v2.10.0
- v2.9.11
- v2.9.10
- v2.9.9
- v2.9.8
- v2.9.7
- v2.9.6
- v2.9.5
- v2.9.4
- v2.9.3
- v2.9.2
- v2.9.1
- v2.9.0
- v2.8.2
- v2.8.1
- v2.8.0
- v2.7.3
- v2.7.2
- v2.7.1
- v2.7.0
- v2.6.1
- v2.6.0
- v2.5.5
- v2.5.4
- v2.5.3
- v2.5.2
- v2.5.1
- v2.5.0
- v2.4.2
- v2.4.1
- v2.4.0
- v2.3.1
- v2.3.0
- v2.2.4
- v2.2.3
- v2.2.2
- v2.2.1
- v2.2.0
- v2.1.0
- 2.0.x-dev
- v2.0.9
- v2.0.8
- v2.0.7
- v2.0.6
- v2.0.5
- v2.0.4
- v2.0.3
- v2.0.2
- v2.0.1
- v2.0.0
- 1.0.x-dev
- dev-master / 1.0.x-dev
- v1.0.4
- v1.0.3
- v1.0.2
- v1.0.1
- v1.0.0
This package is auto-updated.
Last update: 2024-10-31 00:18:34 UTC
README
Changes from upstream
By default, vapor passes your .env
variables directly to the lambda function. Unfortunately this has a 2kb limit - very easy to exceed, especially with apps that interact with lots of external services. Currently, the Laravel team suggests creating a secret for every single extra environment variable, which is unfeasible.
This fork of the official package adds extended ENV support. This works by pushing your additional .env
files to a secret which is loaded just like a normal dotenv in Laravel.
Ideally this will be integrated into the core, but the Laravel team does not currently seem to be prioritising this issue.
The change is very small and single, you can view it by diffing this fork against the official repo.
Using this package
- Update your
composer.json
to point your installation to the fork, using therepositories
option.
"repositories": [ { "type": "github", "url": "https://github.com/atymic/vapor-core" } ],
- Update your version to the latest tag (first release being 2.21.3), which will have the secrets code in it. Make sure to lock it to the specific version (otherwise, when laravel updates the mainline package you'll be upgraded and won't have the secret code). Subscribe to release notifications on the repo so you can update once we have released the new version.
- Create an additional
.env
file, for example,.env.extended
(make sure to gitignore). This file can be up to 10kb - Update your production deployment script to push the extended env file to a secret (i.e.
vapor secret --name DOT_ENV_EXTENDED --file .env.extended production
)- Any secret with a name prefixed with
DOT_ENV
will be loaded by laravel as aenv
file
- Any secret with a name prefixed with
- Your app will load the additional secret file at runtime!
Upstream Readme
Laravel Vapor is an auto-scaling, serverless deployment platform for Laravel, powered by AWS Lambda. Manage your Laravel infrastructure on Vapor and fall in love with the scalability and simplicity of serverless.
Vapor abstracts the complexity of managing Laravel applications on AWS Lambda, as well as interfacing those applications with SQS queues, databases, Redis clusters, networks, CloudFront CDN, and more.
This repository contains the core service providers and runtime client used to make Laravel applications run smoothly in a serverless environment. To learn more about Vapor and how to use this repository, please consult the official documentation.