Features¶
- Basic compatibility with Google App Engine app.yaml files
- Basic compatibility with Google App Engine dispatch.yaml files
- Support for static files
Use¶
To run an application defined in a app.yaml
file:
$ railyard app.yaml
To run an application which uses a dispatch.yaml
file:
$ railyard dispatch.yaml
Railyard will first search the folder it is run from for the service definition files, failing that, it will search folders matching the service names. For example, take the following dispatch.yaml
:
dispatch:
- url: "*/app1/*"
service: app1
- url: "*/app2/*"
service: app2
Railyard will use files in the following order:
./app1.yaml
./app1/app1.yaml
./app2.yaml
./app2/app2.yaml
Supported variables¶
Only the following runtime variables are supported:
PORT
- the port the service will listen at
Options¶
-e
, --entrypoint
= ENTRYPOINT
Overrides the entrypoint defined in the input file(s) with the given ENTRYPOINT
.
When input is a dispatch.yaml
file, an ENTRYPOINT
must be provided for each service
defined in the dispatch.yaml
file. The ENTRYPOINT
overrides must be specified in the same order as the code:service definitions in dispatch.yaml
file.
Development¶
Setup¶
It is recommended to develop using a pipenv.
A development environment can be set up automatically:
$ pipenv install --dev
You can work directly inside the development environment:
$ pipenv shell
From inside the development environment, you can install the pre-commit hooks using pre-commit:
$ pre-commit install
To run the pre-commit hooks manually:
$ pre-commit run --all-files