Configuration File
Each application needs a .decycles.json
file at the root of the application archive and/or repository. This instructs the virtual machine builder on what features to use, how to build the machine and how to run the machine.
Common Parameters
Examples
Static Site
{
"builder": {
"type": "static-site",
"source": [
{
"path": "./path/to/web/root/",
"type": "source"
}
]
}
}
Go Application
{
"builder": {
"type": "golang",
"source": [
{
"path": "./path/to/main/package/",
"type": "source",
"arch": [
"amd64",
"arm64"
]
}
]
},
"network": {
"http_port": 8000,
"health_check_path": "/"
}
}
Linux Binary
{
"builder": {
"type": "linux-binary",
"source": [
{
"path": "./path/to/x86/executable",
"type": "executable",
"arch": ["amd64"]
},
{
"path": "./path/to/arm/executable",
"type": "executable",
"arch": ["arm64"]
}
]
},
"network": {
"http_port": 8000,
"health_check_path": "/"
}
}
type (required)
Application type
Must be one of: golang
, python2
, python3
, node18
, linux-binary
or static-site
entrypoint (required)
Type | Entrypoint Description | Example | Result |
---|---|---|---|
golang | The build target for the go build command. The output will always be app for the resulting binary and the app binary will be run without arguments on boot. | main.go | go build -o app main.go |
python2 | The first argument for the python command. The target script will be run without arguments on boot. | app.py | python app.py |
python3 | The first argument for the python3 command. The target script will be run without arguments on boot. | app.py | python3 app.py |
linux-binary | The binary/executable to run on boot. The target binary will be given execution permission (chmod) and run without arguments. | application | ./application |
static-site | The web root folder. This will be loaded into an image running a web server and the files will be served directly for the domain/subdomain. | site | N/A |