Files
podi/README.md

66 lines
2.0 KiB
Markdown
Raw Normal View History

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
![](./doc/workflow.jpg)
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
![](./doc/intro.svg)
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
![](./doc/extend.svg)
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)