skygear.yaml defines the deployment configuration. It contains configuration for an app deployment:
A sample deployment configuration file looks like this:
app: my-appapi_version: v2.1deployments:- name: backendtype: http-servicepath: /apiport: 8080context: backendtemplate: nodejs:12environment:- name: SERVER_PORTvalue: "8080"- secret: DATABASE_URL- name: frontendtype: http-servicepath: /port: 8080context: frontendtemplate: nodejs:12hooks:- path: /api/after_user_createevent: after_user_create
The top-level key
api_version declares the API version. Use the value
v2.1 for now.
The top-level key
deployments contains a list of deployment items. In the above sample, there are two micro-service deployment item, named
name key specifies the name of the deployment item. It must be unique within the list.
type key specifies the type of the deployment item. For now only http-service is supported. Each type of deployment item has its own additional properties.
path key represents the path which the deployment item would be mounted at. For details, refer to Routing documentation.
port key specifies the TCP port the micro-service is listening for. Required.
command key specifies the command of micro-service. It will be translated to
args key of Kubernetes deployment.
image key specifies micro-service's Docker image source. For details, refer to Deployment Image documentation.
environment key specifies the environment variables of the micro-services.
For simple environment variables, it can be configured with literal
For environment variables using secret as source, the
secret key is used.
name is optional and default to the name of secret.
Web-hook configurations are put under
hooks key. Each entry represents a web-hook handler.
event key specifies the event name that the web-hook handler would handle. The same event name can appears multiple times in the list. For list of event names, refer to Web-hooks documentation.
path key specifies the location of web-hook handler. It can be an absolute URL (e.g.
https://example.com), or a absolute path (which would be resolved to absolute URL based on the app endpoint).