Google's App Engine provides a list of predefined environment variables and additional environment variables may be defined in app.yaml. Meanwhile, the instructions for Testing and Deploying your Application just say to use go run to test the app locally. If I test my app locally inside a cloud-sdk Docker container, is there a gcloud command (or another tool) that would create the same environment variables in my local container as in App Engine? Right now I am just setting the environment variables locally with a bash script, but that means that I need to maintain the variables in multiple locations.
Testing app that depends on environment variables locally
169 Views Asked by Sam Herrmann At
1
There are 1 best solutions below
Related Questions in GO
- Go Fiber and HTMX - HX-Trigger header is changed to Hx-Trigger, which is not what HTMX is listening for
- Golang == Error: OCI runtime create failed: unable to start container process: exec: "./bin": stat ./bin: no such file or directory: unknown
- Handling both JSON and form values in POST request body with unknown values in Golang
- invalid transaction: Transaction failed to sanitize accounts offsets correctly
- Golang lambda upload image into s3 static website
- Is there a way to get a list of selected module versions, but only for modules within the pruned graph?
- Save Interface in DB golang
- ERROR: column "country" is of type text[] but expression is of type record (SQLSTATE 42804)
- Trying to update the version.go file with the release tag from GitHub actions but its failing
- How can I optimize this transposition table for connect 4 AI?
- const declaration - How to evaluate expressions at compile time?
- How add array of authors for unique user in database in Goland IDE?
- Why is the main goroutine not blocked after write in unbuffered channel?
- Insert & Retrieve from a channel in same main function throws "goroutine 1 [chan receive]: main.main() /path exit status 2" error
- Gob error when decoding array of structs: decoding into local type but received remote type
Related Questions in GOOGLE-APP-ENGINE
- Deployment through app engine, cloud sql database, problem connecting with server code, doesn't connect
- Jetty 12 idle timeout limited to 30 seconds when upgrading to Java 21 in Google App Engine Standard Environment
- Unable to deploy to GAE from Github Actions
- Migrating Google App Engine - Eclipse Java 8
- How to use Oauth in order to log‑in on .googleapis.com on almost any arbitrary endpoints domains from the web browser?
- Running gcloud app deploy and getting PERMISSION_DENIED 'compute.regions.get', despite having Owner and Compute admin permissions
- Spring security CORS configuration not working after deploying to App Engine
- Google App Engine: manual scaling with one instance suddenly created multiple instances
- gcloud.app.deploy Error Response: [13] Failed to create cloud build: invalid bucket
- gcloud.app.deploy Error Response: [13] default Cloud Build service account or user-specified service account does not have access to the bucket
- GCP Java dev_appserver Can't make API call memcache.Get in a thread that is neither the original request thread nor a thread created by ThreadManager
- How to correlate and aggregate logs in Google App Engine Python 3?
- App Engine Python3 db / ndb & eventual consistency
- How do I connect to Google Cloud mySQL from App Engine using Django-Environ?
- How to deploy my fast api with llama 2 on app engine
Related Questions in GCLOUD
- Permission 'storage.buckets.get' denied on resource (or it may not exist)
- ERROR: (gcloud.endpoints.services.deploy) INVALID_ARGUMENT: Cannot convert to service config
- Google API NodeJS - Getting 401 Unauthorized Error on Subsequent Runs After Successful OAuth2
- Problem using service accounts in gke deployment
- How to connect docker container to vpn site to site
- Is there anyway of setting datastore to use firebase firestore emulator? i.e Datastore in native mode
- ModuleNotFoundError: No module named 'main' in Flask application deployed on gcloud
- gcloud.app.deploy Error Response: [13] default Cloud Build service account or user-specified service account does not have access to the bucket
- GCP Java dev_appserver Can't make API call memcache.Get in a thread that is neither the original request thread nor a thread created by ThreadManager
- Google Sign-In for iOS and OAuth
- gcloud CLI: use IPv4 only
- Configure Lens with GKE cluster - gke_gcloud_auth_plugin issue
- Google recaptcha enterprise: Your default credentials were not found
- Configuring podman on google cloud server for deployment
- Google cloud shows persistent disk SSD is full, wherease I do not have anything deployed currently
Related Questions in GOOGLE-APP-ENGINE-GO
- Possible to use `log/slog` in Go v1.21 with App Engine Standard?
- service bridge HTTP failed error when using dev_appserver.py
- gcloud deploy: No buildable Go source files
- How do I select which files to deploy to a Standard Environment AppEngine in Google Cloud?
- Occasional `ErrServerError` returned when calling "memcache.Set" against shared Memcache on App Engine Standard
- Step #0: exec: "gcc": executable file not found in $PATH
- Why would an AppEngine deploy fail with a build failure?
- go Unable to get login user information
- How to pass run arguments in app.yaml for Go?
- How to run App Engine Standard apps locally (for development/testing) in 2021 without `dev_appserver.py`?
- Replacement for Go App Engine "google.golang.org/appengine/log" package, with log levels?
- Can't set up AppEngine's Memcache in Go
- Testing app that depends on environment variables locally
- GCloud AppEngine Task execution returns 403
- How to deploy "Verily Pathfinder Virtual Agent Template for COVID-19"
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
The variables are all runtime metadata. Only the runtime can provide values for these variables and then the data is specific to the deployment.
If your app needs this metadata, you will know which variables it uses and how it uses them and, when you specify the value, you will need to provide the variable name anyway, e g.
GAE_SERVICE="freddie".For these reasons, it's likely not useful for local testing to spoof these values for you. When you
go runyour app, there's nothing intrinsic about it that makes it an App Engine app. It only becomes one, after you deploy it, because it's running on the App Engine service.If you're running your code in a container, you can provide environment variables to the container runtime. Doing so is likely preferable to scripting these:
Although not really practical with App Engine, there's an argument for having your code not bind directly to any runtime (e.g. App Engine) metadata. If it does, you can't run it easily elsewhere.
In other platforms, metadata would be abstracted further and some sort of sidecar would convert the metadata into a form that's presented consistently regardless of where you deploy it; your code doesn't change but some adapter configures it correctly for each runtime.