A Go app in App Engine is configured using an
file, that contains CPU, memory, network and disk resources, scaling, and other
general settings including environment variables.
Specify all the runtime configuration for your Go app, including
versions and URLs, in the
app.yamlfile. This file acts as a deployment descriptor of a specific service version. You must first create the
app.yamlfile for the
defaultservice of your app before you can create and deploy
app.yamlfiles for additional services.
You can specify a unique name for your
app.yaml files, but then you must
specify the file name with the deployment
as well. For example, if you name your
app.flexible.yaml, then you must deploy your app using either:
To learn more about structuring multiple services and
gcloud app deploy service-name-app.yaml gcloud app deploy app.flexible.yaml
app.yamlfiles in your app, see Structuring Web Services. Depending on the complexity of your app's service, you might only need to define a few elements in the corresponding
app.yamlfile. The following example demonstrates what a simple Go app might require in the flexible environment:
# Copyright 2019 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. runtime: go env: flex # This sample incurs costs to run on the App Engine flexible environment. # The settings below are to reduce costs during testing and are not appropriate # for production use. For more information, see: # https://cloud.google.com/appengine/docs/flexible/python/configuring-your-app-with-app-yaml manual_scaling: instances: 1 resources: cpu: 1 memory_gb: 0.5 disk_size_gb: 10
app.yamlfile is in the YAML format.
All configuration elements
For a complete list of all the supported elements in this configuration file,