Skip to content

Serving Raw Files

You can now serve up raw files from the public/ directory. Put your CSS, Image, or whatever else in there and link directly to it.

Inject php.ini directives

If you would like to enable PHP Extensions, or simply adjust some php.ini settings, you may now place .ini files in storage_path('php/conf.d') and the packaging mechanism will ensure they are packaged properly for bref to pick them up.

Example

╰─ ls -al storage/php/conf.d/
total 8.0K
-rw-r--r-- 1 bubba staff 40 Apr  9 13:59 imagick.ini
-rw-r--r-- 1 bubba staff 37 Apr  9 13:59 vips.ini                                                                                                                                                              
╰─ cat storage/php/conf.d/imagick.ini 
extension = /opt/sts/modules/imagick.so

Package Rotation

Previously, you had to manually delete old packages storage_path('*.zip') manually. Now, older packages will be deleted as newer packages are created. The default is to keep the latest 3 zip files. However, you may modify this with BREF_PACKAGE_KEEP in your .env, or directly in the config_path('bref.php').

More Cloudformation Configuration

Much of the template.yml was preconfigured and static. You could manually modify settings directly in the file, but no other way. Now, many of the most common settings have been moved into Laravel Config files and can be modified in the .env.

  • BREF_DESCRIPTION -
  • BREF_FUNCTION_TIMEOUT - This value is the timeout, in seconds, to configure the lambda function for. The timeout can not exceed 900 seconds (15 minutes). The API Gateway timeout is 30 seconds, so that is our default.
  • BREF_FUNCTION_MEMORY_SIZE - The amount of memory that your function has access to. Increasing the function's memory also increases it's CPU allocation. The default value is 3008 MB. The memory size must be an integer between 128 MB to 3,008 MB, in 64 MB increments

Layer Configuration

You can now manage your layers (if you have any) as well. We must have the base bref layer, and can have no more than a total of five layers.

  • BREF_FUNCTION_LAYER_1 - Required. Default arn:aws:lambda:us-east-1:209497400698:layer:php-73-fpm:2. This is the base bref layer.
  • BREF_FUNCTION_LAYER_2 - Optional.
  • BREF_FUNCTION_LAYER_3 - Optional.
  • BREF_FUNCTION_LAYER_4 - Optional.
  • BREF_FUNCTION_LAYER_5 - Optional.

Bug Fixes

  • Reverted to built-in mime.types
  • Create/Register the /tmp/storage directories prior to any services registering.
  • Fixed CLI Event Responses to properly signal failures to the Lambda Service.
Assets 2

@bubba-h57 bubba-h57 released this Mar 7, 2019 · 24 commits to master since this release

This release fixes a few bugs, focuses on SQS auto creation as the default Laravel Queue, reports some data after deployment, and updates the documentation.

SQS

Now we create the SQS queue via the CloudFormation template and ensure that the Lambda Function has read/write access to it. This allows Laravel to dispatch a job to SQS, which then triggers the same Lambda Function; allowing the Lambda function to handle the job.

Deployment Report

After deployment, you will now receive the following report:

*****************************
URL of our function in the *Prod* environment: https://1207z7o6hh.execute-api.us-east-1.amazonaws.com/Prod/
ARN of our Job Queue: arn:aws:sqs:us-east-1:9876234598766:JobQueueLaravel
Name of our Job Queue: JobQueueLaravel

Environment Variables

Are no longer in the Global Cloudformation space, but are now in the Function specific space.

Region Configuration

A new region value has been added to the bref.config. It first looks for BREF_DEFAULT_REGION and if that is not found it defaults back to AWS_DEFAULT_REGION. Note that we currently only support deployment to a single region out of the box. You would have to tinker a bit with the deployment for more regions. Eventually, we will support multi-region deployments.

Assets 2

@bubba-h57 bubba-h57 released this Mar 4, 2019 · 39 commits to master since this release

The big dawg is off the porch and ready to play with our initial release! Find some bugs, submit some pull requests, have fun.

Assets 2
You can’t perform that action at this time.