How to set dynamic environment variables in a Laravel App on AppEngineWhy cname appengine app always redirect to www.google.com?Memory available in Google App Engine flexible environmentPDOException (1045) SQLSTATE[HY000] [1045] Laravel 4.2 MySQL 5.7Inconsistent memcache lookups from different Google AppEngine modules of the same appLaravel deployment using Google App Engine: No such file or directoryHow to reduce server response time for Google AppEngine?appengine flex deployment failing with error code 400Using dialogflow library in App Engine Flexible EnvironmentAppengine - How to allow request only coming from my domain?How to block port 80 in Google AppEngine
Bookshelves: the intruder
How can I monitor the bulk API limit?
In Dutch history two people are referred to as "William III"; are there any more cases where this happens?
What were the "pills" that were added to solid waste in Apollo 7?
Why aren't satellites disintegrated even though they orbit earth within earth's Roche Limits?
What technology would Dwarves need to forge titanium?
How can sister protect herself from impulse purchases with a credit card?
How do you cope with rejection?
Would a "ring language" be possible?
Why does string strummed with finger sound different from the one strummed with pick?
Taylor series leads to two different functions - why?
What should I wear to go and sign an employment contract?
Will this series of events work to drown the Tarrasque?
Is my company merging branches wrong?
Who is frowning in the sentence "Daisy looked at Tom frowning"?
What is the probability that two cards drawn from a deck are both face cards and at least one is red?
I recently started my machine learning PhD and I have absolutely no idea what I'm doing
Does the usage of mathematical symbols work differently in books than in theses?
Can I pay my credit card?
How do I balance a campaign consisting of four kobold PCs?
Error when running ((x++)) as root
Does the US Supreme Court vote using secret ballots?
Can I get the output of a command line program with TeX (using e.g. read18)?
What color to choose as "danger" if the main color of my app is red
How to set dynamic environment variables in a Laravel App on AppEngine
Why cname appengine app always redirect to www.google.com?Memory available in Google App Engine flexible environmentPDOException (1045) SQLSTATE[HY000] [1045] Laravel 4.2 MySQL 5.7Inconsistent memcache lookups from different Google AppEngine modules of the same appLaravel deployment using Google App Engine: No such file or directoryHow to reduce server response time for Google AppEngine?appengine flex deployment failing with error code 400Using dialogflow library in App Engine Flexible EnvironmentAppengine - How to allow request only coming from my domain?How to block port 80 in Google AppEngine
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;
I’m trying to deploy a Laravel application on GAE. As mentioned in the docs, the environment variables are supposed to be added on app.yaml
file. But as the source code is in GitHub and few people are collaborating on the project, it’s not definitely a good practice to put the database password and other app secrets in the app.yaml
file. Also I'm not interested in deploying the app from my machine. How should I provide those informations to the app as .env
file isn’t supported, or not possible to put there with any other means. Also, I would use push to deploy feature to deploy the code in GAE from GitHub. So how should I go about this?
php7 google-app-engine
add a comment |
I’m trying to deploy a Laravel application on GAE. As mentioned in the docs, the environment variables are supposed to be added on app.yaml
file. But as the source code is in GitHub and few people are collaborating on the project, it’s not definitely a good practice to put the database password and other app secrets in the app.yaml
file. Also I'm not interested in deploying the app from my machine. How should I provide those informations to the app as .env
file isn’t supported, or not possible to put there with any other means. Also, I would use push to deploy feature to deploy the code in GAE from GitHub. So how should I go about this?
php7 google-app-engine
add a comment |
I’m trying to deploy a Laravel application on GAE. As mentioned in the docs, the environment variables are supposed to be added on app.yaml
file. But as the source code is in GitHub and few people are collaborating on the project, it’s not definitely a good practice to put the database password and other app secrets in the app.yaml
file. Also I'm not interested in deploying the app from my machine. How should I provide those informations to the app as .env
file isn’t supported, or not possible to put there with any other means. Also, I would use push to deploy feature to deploy the code in GAE from GitHub. So how should I go about this?
php7 google-app-engine
I’m trying to deploy a Laravel application on GAE. As mentioned in the docs, the environment variables are supposed to be added on app.yaml
file. But as the source code is in GitHub and few people are collaborating on the project, it’s not definitely a good practice to put the database password and other app secrets in the app.yaml
file. Also I'm not interested in deploying the app from my machine. How should I provide those informations to the app as .env
file isn’t supported, or not possible to put there with any other means. Also, I would use push to deploy feature to deploy the code in GAE from GitHub. So how should I go about this?
php7 google-app-engine
php7 google-app-engine
asked May 6 at 10:11
TareqTareq
1013
1013
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
To answer your question about app secrets, you could use Cloud Datastore. If you're not already using Datastore, you can set up a new Kind (like a schema) by visiting the console and doing the following:
- Go to the Datastore page
- Make a database in Datastore Mode
- Go the Entities page
- Create an entity. Choose a location if required.
- Type an arbitrary name like
Sekrit
for the Kind - Make the key identifier be a custom name
- For this first one, make that name be "dbpass" -- you'll use this name to look it up later
- Add a String property named "payload" with a value of your DB password
- you'll use the name of that property to get your actual value out of the Datastore object
- even objects with a single property have to treated like named arrays
- Create the entity.
- Repeat for other
Sekrit
s giving each a unique name
Then in your Laravel app, you can access Datastore by saying:
require 'vendor/autoload.php';
use GoogleCloudDatastoreDatastoreClient;
$datastore = new DatastoreClient();
And for each thing you need to retrieve, do something like:
$db_pass_datastore_key = $datastore->key('Sekrit', 'dbpass');
$db_pass_object = $datastore->lookup($db_pass_datastore_key);
$db_pass = $db_pass_object['payload'];
Thanks a lot. How much overhead do you think it'll add?
– Tareq
May 8 at 3:52
The datastore docs do advise caching if you need low latency. If you fetch your secrets at startup and just keep them in memory it shoudn't be an issue. Or did you mean some other sort of overhead?
– Jesse Scherer
May 9 at 17:56
add a comment |
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "2"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f966028%2fhow-to-set-dynamic-environment-variables-in-a-laravel-app-on-appengine%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
To answer your question about app secrets, you could use Cloud Datastore. If you're not already using Datastore, you can set up a new Kind (like a schema) by visiting the console and doing the following:
- Go to the Datastore page
- Make a database in Datastore Mode
- Go the Entities page
- Create an entity. Choose a location if required.
- Type an arbitrary name like
Sekrit
for the Kind - Make the key identifier be a custom name
- For this first one, make that name be "dbpass" -- you'll use this name to look it up later
- Add a String property named "payload" with a value of your DB password
- you'll use the name of that property to get your actual value out of the Datastore object
- even objects with a single property have to treated like named arrays
- Create the entity.
- Repeat for other
Sekrit
s giving each a unique name
Then in your Laravel app, you can access Datastore by saying:
require 'vendor/autoload.php';
use GoogleCloudDatastoreDatastoreClient;
$datastore = new DatastoreClient();
And for each thing you need to retrieve, do something like:
$db_pass_datastore_key = $datastore->key('Sekrit', 'dbpass');
$db_pass_object = $datastore->lookup($db_pass_datastore_key);
$db_pass = $db_pass_object['payload'];
Thanks a lot. How much overhead do you think it'll add?
– Tareq
May 8 at 3:52
The datastore docs do advise caching if you need low latency. If you fetch your secrets at startup and just keep them in memory it shoudn't be an issue. Or did you mean some other sort of overhead?
– Jesse Scherer
May 9 at 17:56
add a comment |
To answer your question about app secrets, you could use Cloud Datastore. If you're not already using Datastore, you can set up a new Kind (like a schema) by visiting the console and doing the following:
- Go to the Datastore page
- Make a database in Datastore Mode
- Go the Entities page
- Create an entity. Choose a location if required.
- Type an arbitrary name like
Sekrit
for the Kind - Make the key identifier be a custom name
- For this first one, make that name be "dbpass" -- you'll use this name to look it up later
- Add a String property named "payload" with a value of your DB password
- you'll use the name of that property to get your actual value out of the Datastore object
- even objects with a single property have to treated like named arrays
- Create the entity.
- Repeat for other
Sekrit
s giving each a unique name
Then in your Laravel app, you can access Datastore by saying:
require 'vendor/autoload.php';
use GoogleCloudDatastoreDatastoreClient;
$datastore = new DatastoreClient();
And for each thing you need to retrieve, do something like:
$db_pass_datastore_key = $datastore->key('Sekrit', 'dbpass');
$db_pass_object = $datastore->lookup($db_pass_datastore_key);
$db_pass = $db_pass_object['payload'];
Thanks a lot. How much overhead do you think it'll add?
– Tareq
May 8 at 3:52
The datastore docs do advise caching if you need low latency. If you fetch your secrets at startup and just keep them in memory it shoudn't be an issue. Or did you mean some other sort of overhead?
– Jesse Scherer
May 9 at 17:56
add a comment |
To answer your question about app secrets, you could use Cloud Datastore. If you're not already using Datastore, you can set up a new Kind (like a schema) by visiting the console and doing the following:
- Go to the Datastore page
- Make a database in Datastore Mode
- Go the Entities page
- Create an entity. Choose a location if required.
- Type an arbitrary name like
Sekrit
for the Kind - Make the key identifier be a custom name
- For this first one, make that name be "dbpass" -- you'll use this name to look it up later
- Add a String property named "payload" with a value of your DB password
- you'll use the name of that property to get your actual value out of the Datastore object
- even objects with a single property have to treated like named arrays
- Create the entity.
- Repeat for other
Sekrit
s giving each a unique name
Then in your Laravel app, you can access Datastore by saying:
require 'vendor/autoload.php';
use GoogleCloudDatastoreDatastoreClient;
$datastore = new DatastoreClient();
And for each thing you need to retrieve, do something like:
$db_pass_datastore_key = $datastore->key('Sekrit', 'dbpass');
$db_pass_object = $datastore->lookup($db_pass_datastore_key);
$db_pass = $db_pass_object['payload'];
To answer your question about app secrets, you could use Cloud Datastore. If you're not already using Datastore, you can set up a new Kind (like a schema) by visiting the console and doing the following:
- Go to the Datastore page
- Make a database in Datastore Mode
- Go the Entities page
- Create an entity. Choose a location if required.
- Type an arbitrary name like
Sekrit
for the Kind - Make the key identifier be a custom name
- For this first one, make that name be "dbpass" -- you'll use this name to look it up later
- Add a String property named "payload" with a value of your DB password
- you'll use the name of that property to get your actual value out of the Datastore object
- even objects with a single property have to treated like named arrays
- Create the entity.
- Repeat for other
Sekrit
s giving each a unique name
Then in your Laravel app, you can access Datastore by saying:
require 'vendor/autoload.php';
use GoogleCloudDatastoreDatastoreClient;
$datastore = new DatastoreClient();
And for each thing you need to retrieve, do something like:
$db_pass_datastore_key = $datastore->key('Sekrit', 'dbpass');
$db_pass_object = $datastore->lookup($db_pass_datastore_key);
$db_pass = $db_pass_object['payload'];
answered May 7 at 19:22
Jesse SchererJesse Scherer
23618
23618
Thanks a lot. How much overhead do you think it'll add?
– Tareq
May 8 at 3:52
The datastore docs do advise caching if you need low latency. If you fetch your secrets at startup and just keep them in memory it shoudn't be an issue. Or did you mean some other sort of overhead?
– Jesse Scherer
May 9 at 17:56
add a comment |
Thanks a lot. How much overhead do you think it'll add?
– Tareq
May 8 at 3:52
The datastore docs do advise caching if you need low latency. If you fetch your secrets at startup and just keep them in memory it shoudn't be an issue. Or did you mean some other sort of overhead?
– Jesse Scherer
May 9 at 17:56
Thanks a lot. How much overhead do you think it'll add?
– Tareq
May 8 at 3:52
Thanks a lot. How much overhead do you think it'll add?
– Tareq
May 8 at 3:52
The datastore docs do advise caching if you need low latency. If you fetch your secrets at startup and just keep them in memory it shoudn't be an issue. Or did you mean some other sort of overhead?
– Jesse Scherer
May 9 at 17:56
The datastore docs do advise caching if you need low latency. If you fetch your secrets at startup and just keep them in memory it shoudn't be an issue. Or did you mean some other sort of overhead?
– Jesse Scherer
May 9 at 17:56
add a comment |
Thanks for contributing an answer to Server Fault!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f966028%2fhow-to-set-dynamic-environment-variables-in-a-laravel-app-on-appengine%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown