A JSII construct lib to build AWS Serverless LAMP with AWS CDK
Project description
Welcome to cdk-serverless-lamp
A JSII construct library for AWS CDK to build the New Serverless LAMP Stack
Usage
# Example automatically generated without compilation. See https://github.com/aws/jsii/issues/826
from cdk_serverless_lamp import ServerlessApi
ServerlessApi(self, "API")
On deploy complete, the API Gateway URL will be returned in the Output. Click the URL and you will see the Laravel landing page:
Prepare the Laravel and bref
$ git clone https://github.com/pahud/cdk-serverless-lamp.git
$ cd cdk-serverless-lamp
$ mkdir composer && cd composer
# create a laravel project
$ docker run --rm -ti \
--volume $PWD:/app \
composer create-project laravel/laravel laravel58-bref --prefer-dist
# enter this project
$ cd laravel58-bref
# install bref in the vendor
$ docker run --rm -ti \
--volume $PWD:/app \
composer require bref/bref
Configure Laravel with Bref for Lambda
According to the Bref document, we need configure the environment before it can be deployed on Lambda:
edit the .env
file
VIEW_COMPILED_PATH=/tmp/storage/framework/views
# We cannot store sessions to disk: if you don't need sessions (e.g. API) then use `array`
# If you write a website, use `cookie` or store sessions in database.
SESSION_DRIVER=cookie
# Logging to stderr allows the logs to end up in Cloudwatch
LOG_CHANNEL=stderr
edit the app/Providers/AppServiceProvider.php
public function boot()
{
// Make sure the directory for compiled views exist
if (! is_dir(config('view.compiled'))) {
mkdir(config('view.compiled'), 0755, true);
}
}
edit bootstrap/app.php
$app = new Illuminate\Foundation\Application(
$_ENV['APP_BASE_PATH'] ?? dirname(__DIR__)
);
// add the following statement
// we will configure APP_STORAGE = '/tmp' in Lambda env var
$app->useStoragePath($_ENV['APP_STORAGE'] ?? $app->storagePath());
(credit to @azole)
TODO
- Add Aurora for MySQL stack
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
cdk-serverless-lamp-1.0.3.tar.gz
(41.1 kB
view hashes)
Built Distribution
Close
Hashes for cdk-serverless-lamp-1.0.3.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3fec07621fae17df69314e7cbb202e38d84f67687cbde0b4072e6f54ab50b62a |
|
MD5 | c1efd3ae39232fa0152dad5e2ad54200 |
|
BLAKE2b-256 | 2fc72463b1e3000a949f5a0a3a18c6872e1e4ee50fdecbe8cbcd562faa8dd29c |
Close
Hashes for cdk_serverless_lamp-1.0.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 80e5e89a762e1311bd1f1da115c77578e6a360c38851ffcb408ca18a5ed30071 |
|
MD5 | aea50f1c8b6d3672d9bf5c414edced1c |
|
BLAKE2b-256 | 724b8c1fd0256c67fad619d2912d092fcba82bce34fd3c5196cbb0dba895f36c |