Added a search for plugins modules that contains a `def get_commands()` that returns a clic.Command object. This object is merged with others commands to populate the cli.
An example file that should be placed at `~/.piku/plugins/postgres/__init__.py`
```
import click
@click.group()
def postgres():
"""Postgres command plugin"""
pass
@postgres.command("postgres:create")
@click.argument('name')
@click.argument('user')
@click.argument('password')
def postgres_create():
"""Postgres create a database"""
pass
@postgres.command("postgres:drop")
@click.argument('name')
def postgres_drop():
"""Postgres drops a database"""
pass
@postgres.command("postgres:import")
@click.argument('name')
def postgres_drop():
"""Postgres import a database"""
pass
@postgres.command("postgres:dump")
@click.argument('name')
def postgres_drop():
"""Postgres dumps a database SQL"""
pass
def cli_commands():
return postgres
```
* Clojure Support
Conflicts:
piku.py
* Tweaks to get Clojure deploy working.
* Allows user to install lein binary into ~/bin
* Simplifies Clojure re-build sequence
* Bootstrap playbooks for lein + Java.
This PR modifies Piku such that if the user has a `web` and a `release`
worker defined it will allow the deploy to continue. This is useful in
cases where the user wants to run some binary server.
An example is the gitea deploy. Without this change it needs a
superfluous requirements.txt file exists before it will deploy. If/when
this is merged I'll update the deploy-gitea repo to remove that
superfluous file.
Another fun thing this would allow is tiny web services written with
bash/netcat etc.
* Enable gh-pages style static site deployment.
As per #42 this PR allows the user to do static site deployments using
Piku which work very similarly to gh-pages. In the Procfile the user
defines a worker called 'static' with the path to the root of the files
to be served. An example app can be found here:
https://github.com/chr15m/piku-static-site
* Documentation.
This commit adds a small change to the `piku` script to pass through SSH
command flags, and documentation explaining how to use this to obtain a
remote shell on the piku server inside a running app folder.