Skip to content
100% serverless Laravel Framework
PHP HTML Other
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
app Underscore added for better cloudbuild support Jul 10, 2019
bootstrap custom APP_STORAGE May 3, 2019
ci stop build on on phpunit failure Aug 20, 2019
config updated comments related to gcs filesystem Aug 19, 2019
database fresh laravel 5.8 May 3, 2019
public
resources updated welcome page Jul 9, 2019
routes fresh laravel 5.8 May 3, 2019
storage fresh laravel 5.8 May 3, 2019
tests fresh laravel 5.8 May 3, 2019
.editorconfig fresh laravel 5.8 May 3, 2019
.env.example
.gcloudignore gcloud ignore .env files Jun 26, 2019
.gitattributes fresh laravel 5.8 May 3, 2019
.gitignore ignore composer.lock Dec 11, 2019
.styleci.yml fresh laravel 5.8 May 3, 2019
LICENSE
README.md more information about CI and setup Aug 20, 2019
app.yaml.example google-cloud-storage filesystem + default config Aug 19, 2019
artisan fresh laravel 5.8 May 3, 2019
cloudbuild.yaml
composer.json laravel 6 composer update Dec 10, 2019
package.json vue-template-compiler + updated npm packages Aug 20, 2019
php.ini
phpunit.xml fresh laravel 5.8 May 3, 2019
server.php
webpack.mix.js js + css moved to static Jul 9, 2019

README.md

About Firevel

Firevel is a modified, serverless version of Laravel Framework designed to work inside Google App Engine standard environment, together with Google Firestore as database and cache.

In addition to standard Laravel Framework benefits it offers:

  • Simple, serverless setup.
  • Downscaling to zero.
  • Micro-service friendly design.
  • Free tier eligibility.
  • Capacity to deal with high loads.

Installation

  1. Create a project in the Google Cloud Platform Console.

  2. Install gcloud command-line tool.

  3. Create firevel project with:

composer create-project firevel/firevel
  1. Deploy project with:
gcloud app deploy

Firevel does not require any credentials while running inside App Engine. If you like to run it locally you will also need to set GOOGLE_CLOUD_PROJECT and GOOGLE_APPLICATION_CREDENTIALS .env variables. If you prefer to use git clone https://github.com/firevel/firevel.git, you should also run php artisan firevel:generate:app to generate your app.yaml file.

Differences between Laravel and Firevel.

Firevel is a Laravel 5.8 after small updates and packages installation:

Usage

You can use Firevel in the same way you use Laravel. Be aware of Firebase limits and Google App Engine limits.

You should also replace Eloquent models with Firequent, by using use Firevel\Firequent\Model; instead of use Illuminate\Database\Eloquent\Model; inside a model class. Keep in mind that Firequent is in beta and support only basic queries.

File Storage

By default Firevel running inside App Engine is using Google Cloud Storage file system, and {GOOGLE_CLOUD_PROJECT}.appspot.com/services/{GAE_SERVICE}/storage/ path.

CI

You can run a simple CI process with gcloud builds submit --config cloudbuild.yaml --substitutions _APP_KEY= with your production API key at the end. You can also connect it with your existing repository but remember about setting _APP_KEY in substitution variables.

You also must grant App Engine access to the Cloud Build service account.

More

Credits

You can’t perform that action at this time.