Gridify

A tool used to deploy projects on Threefold grid.
Usage
First download gridify binaries.
Login using your mnemonics and specify which grid network (mainnet/testnet) to deploy on by running:
gridify login
Use gridify
to deploy your project and specify the ports you want gridify to assign domains to:
gridify deploy --ports <ports>
ports are your services' ports defined in Procfile
for example:
gridify deploy --ports 80,8080
gridify generates a unique domain for each service.
To destroy deployed project run the following command inside the project directory:
gridify destroy
Download
- Download the binaries from releases
- Extract the downloaded files
- Move the binary to any of
$PATH
directories, for example:
mv gridify /usr/local/bin
Configuration
Gridify saves user configuration in .gridifyconfig
under default configuration directory for your system see: UserConfigDir()
Requirements
- gridify uses ginit so Procfile and env must exist in root directory of your project see: Demo
- the project github repository must be public
Gridify Demo Project
See gridify-demo
In this demo gridify deploys a VM with flist that clones the demo project and run each service defined in Procfile. Then, gridify assign a domain for each service.
Supported Projects Languages and Tools
- go 1.18
- python 3.10.10
- node 16.17.1
- npm 8.10.0
- caddy
Testing
For unittests run:
make test
Build
Clone the repo and run the following command inside the repo directory:
make build
Release
- Check:
goreleaser check
- Create a tag:
git tag -a v1.0.1 -m "release v1.0.1"
- Push the tag:
git push origin v1.0.1
- A goreleaser workflow will release the created tag.