2022-02-09 18:12:29 +01:00
|
|
|
> remove layers of complexity.
|
2022-02-13 14:14:18 +01:00
|
|
|
|
2022-02-22 22:23:32 +01:00
|
|
|

|
2022-02-13 21:08:46 +01:00
|
|
|
|
2022-02-21 16:17:16 +01:00
|
|
|
## Usage
|
2022-02-13 14:14:18 +01:00
|
|
|
|
|
|
|
|
```
|
2022-02-21 16:09:16 +01:00
|
|
|
$ cd myapp
|
|
|
|
|
$ wget "https://raw.githubusercontent.com/coderofsalvation/podi/master/podi"
|
|
|
|
|
$ chmod 755 podi
|
2022-02-13 14:14:18 +01:00
|
|
|
```
|
2022-02-21 16:09:16 +01:00
|
|
|
|
2022-02-21 16:12:02 +01:00
|
|
|
> PROFIT! now init your (ssh)server to enable a heroku-ish workflow:
|
2022-02-21 16:09:16 +01:00
|
|
|
|
2022-02-22 22:23:32 +01:00
|
|
|

|
2022-02-21 16:09:16 +01:00
|
|
|
|
2022-02-21 16:26:16 +01:00
|
|
|
## Features
|
|
|
|
|
|
|
|
|
|
* fully hackable PaaS & Gitops-designer (embedded in your repo)
|
2022-02-22 14:36:17 +01:00
|
|
|
* multitenant: multi-branch and multi-sshuser deployments
|
2022-02-23 18:27:13 +01:00
|
|
|
* `podi ls`: gitops templates for containerizing, autosuspending services on baremetal/podman/docker etc
|
2022-02-21 16:26:16 +01:00
|
|
|
* hookable (`on build callmyfunction arg1`)
|
2022-02-22 14:36:17 +01:00
|
|
|
* podi weighs ~7k, just needs ssh+git installed
|
2022-02-21 16:26:16 +01:00
|
|
|
* works on raspberry pi zero but also on kubernetes
|
|
|
|
|
|
2022-02-23 18:27:13 +01:00
|
|
|
## Install
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
$ wget "https://raw.githubusercontent.com/coderofsalvation/podi/master/podi"
|
|
|
|
|
$ chmod 755 podi
|
|
|
|
|
$ ./podi
|
|
|
|
|
usage:
|
|
|
|
|
init git@server:/dir/to/deploy [branch] [port] [name] initializes a deployment
|
|
|
|
|
recipe <name_or_url> installs a recipe from podi repo or url
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## Hooks / extend deployments
|
2022-02-15 15:11:37 +01:00
|
|
|
|
|
|
|
|

|
2022-02-13 14:14:18 +01:00
|
|
|
|
2022-02-22 22:23:32 +01:00
|
|
|
## Templates
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
$ ./podi init git@yourserver:/home/git/myapp master
|
|
|
|
|
|
|
|
|
|
[✓] init
|
|
|
|
|
[✓] init_localhost
|
|
|
|
|
│ writing .pod/pipeline
|
|
|
|
|
[?] how to run this app?
|
|
|
|
|
1 run/baremetal <-- perfect to run background services on lowend systems
|
|
|
|
|
2 run/baremetal_autosuspend <-- perfect for port-activated services on lowend systems
|
|
|
|
|
3 run/baremetal_webcli <-- perfect for outputting terminal-cmds to web
|
|
|
|
|
4 run/container <-- nice starting point for Dockerfile + app
|
|
|
|
|
5 run/container_autosuspend <-- port-activated container, nice starting point for Dockerfile + app
|
|
|
|
|
6 run/container_webcli <-- containerized cli, perfect for outputting terminal-cmds to web
|
|
|
|
|
7 run/container_compose <-- containerized stack, nice startingpoint using docker-compose.yml
|
|
|
|
|
> ▉
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
> IDEA: create your own! (see [adding your own recipes](doc/recipes.md) )
|
|
|
|
|
|
2022-02-13 14:14:18 +01:00
|
|
|
## Docs
|
|
|
|
|
|
|
|
|
|
* [adding your own recipes](doc/recipes.md)
|
2022-03-15 18:33:17 +01:00
|
|
|
* [starting podi at server boot](doc/systemd.md)
|