liveBook · Manning

App.yaml

As explained in Shipping Go: Develop, deliver, discuss, design, and go again

app.yaml is a YAML configuration file that describes an application deployment for Google App Engine.

When a Go service is ready to leave the local machine, app.yaml gives Google App Engine the deployment details it needs. Stored at the project root, it identifies the runtime and application entry point, while App Engine manages the underlying servers, libraries, and isolated runtime. A CI pipeline can deploy the application after tests, then call the resulting endpoint for fast feedback. section 4.6

A small App Engine deployment

The configuration selects the Go 1.16 runtime, starts the application from ./cmd, and uses /health for both liveness and readiness checks. Readiness checks run more frequently and allow up to five minutes for startup. A pipeline can deploy this configuration and curl the deployed translation endpoint. section 4.6

Listing 4.8 app.yaml
runtime: go116
main: ./cmd
liveness_check:
  path: "/health"
  check_interval_sec: 30
  timeout_sec: 4
  failure_threshold: 2
  success_threshold: 2
readiness_check:
  path: "/health"
  check_interval_sec: 5
  timeout_sec: 4
  failure_threshold: 2
  success_threshold: 2
  app_start_timeout_sec: 300

Inspect the complete app.yaml example, including runtime, entry point, liveness settings, and readiness settings. section 4.6

How Shipping Go: Develop, deliver, discuss, design, and go again covers it

How deep it goes
Defines runtime, entry point, liveness, and readiness settings, but does not detail the wider YAML schema.
Examples
Uses a Go runtime, ./cmd entry point, /health checks, and pipeline deployment followed by a curl request.
What it assumes
Assumes a Go application, repository pipeline, and health endpoint; supplies the deployment configuration that connects them.
What you can do after
Operate/configure an App Engine deployment by adding app.yaml and invoking deployment from a CI pipeline.
How it connects
Connects App Engine deployment with Go services, health endpoints, PaaS, CI pipelines, and customer feedback.

This explainer was generated by Manning's knowledge graph from the text of Shipping Go: Develop, deliver, discuss, design, and go again. The section links point to the parts of the book it draws on.