Merge branch 'master' of github.com:piku/piku

pull/348/head
Rui Carmo 2024-06-10 14:58:22 +01:00
commit 0c20f62929
4 zmienionych plików z 16 dodań i 17 usunięć

Wyświetl plik

@ -8,7 +8,7 @@
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
### Documentation: [Install](#install) | [Using](#using-piku) | [Procfile](https://piku.github.io/configuration/procfile.html) | [ENV](https://piku.github.io/configuration/env.html) | [Examples](https://piku.github.io/community/examples.html) | [Roadmap](https://github.com/orgs/piku/projects/2) | [Contributing](https://piku.github.io/community/contributing.html) | [LinuxConf Talk](https://www.youtube.com/watch?v=ec-GoDukHWk) | [Fast Web App Tutorial](https://github.com/piku/webapp-tutorial) | [Discussion Forum](https://github.com/piku/piku/discussions)
### Documentation: [Install](#install) | [Using](#workflow) | [Procfile](https://piku.github.io/configuration/procfile.html) | [ENV](https://piku.github.io/configuration/env.html) | [Examples](https://piku.github.io/community/examples.html) | [Roadmap](https://github.com/orgs/piku/projects/2) | [Contributing](https://piku.github.io/community/contributing.html) | [LinuxConf Talk](https://www.youtube.com/watch?v=ec-GoDukHWk) | [Fast Web App Tutorial](https://github.com/piku/webapp-tutorial) | [Discussion Forum](https://github.com/piku/piku/discussions)
## [Install](https://piku.github.io/install)
@ -32,7 +32,7 @@ We wanted an Heroku/CloudFoundry-like way to deploy stuff on a few `ARM` boards,
`piku` is currently able to deploy, manage and independently scale multiple applications per host on both ARM and Intel architectures, and works on any cloud provider (as well as bare metal) that can run Python, `nginx` and `uwsgi`.
## Using `piku`
## Workflow
`piku` supports a Heroku-like workflow:
@ -97,4 +97,4 @@ But as a general rule, if it can be invoked from a shell, it can be run inside `
[raspi-cluster]: https://github.com/rcarmo/raspi-cluster
[cygwin]: http://www.cygwin.com
[wsl]: https://en.wikipedia.org/wiki/Windows_Subsystem_for_Linux
[wsl]: https://en.wikipedia.org/wiki/Windows_Subsystem_for_Linux

Wyświetl plik

@ -1,16 +1,3 @@
# Piku Examples
The following table lists the available examples, including some third-party applications you can deploy with `piku`:
| Stack | Simple | Framework | Utility | Third-Party |
|-----------|:------:|:---------:|:-------:|:-----------:|
| C | [Baremetal C](https://github.com/piku/sample-bare-metal-c) |
| Clojure | [Sample app](https://github.com/piku/sample-clojure-app) |
| ClojureScript | | | [Piku Monitoring](https://github.com/piku/piku-monitoring) |
| Elixir | | [Phoenix App](https://github.com/piku/sample-phoenix-app) |
| Go | [Sample app](./golang) | | | [Gitea (Static Binary)](https://github.com/piku/deploy-gitea) |
| Java | [Sample app](https://github.com/piku/sample-java-app) |
| NodeJS | [Sample app](https://github.com/piku/sample-nodejs-app) | [Express with Wisp](./nodejs-wisp) | | [Node-RED](https://github.com/piku/deploy-nodered),<br/>[BitTorrent Tracker](https://github.com/piku/deploy-bittorrent-tracker) |
| Python | [Background workers](https://github.com/piku/sample-python-app),<br/>[Postgres database](./python-postgres) | [Django app](https://github.com/piku/sample-django-app),<br/>[Flask Web app Tutorial](https://github.com/piku/webapp-tutorial) | [WebDAV Server](https://github.com/piku/deploy-webdav) |
| Ruby | [Sample app](https://github.com/piku/sample-ruby-app) | [Rails app](https://github.com/piku/sample-rails-app) |
| SPA | | | | [Snapdrop](https://github.com/piku/deploy-snapdrop) |
Besides the examples in this folder, there is also [a set of community-supplied example applications](https://piku.github.io/community/examples.html)

5
piku
Wyświetl plik

@ -52,6 +52,8 @@ else
ssh -o LogLevel=QUIET ${sshflags} "$server" "$@" | grep -v "INTERNAL"
echo " shell Local command to start an SSH session in the remote."
echo " init Local command to download an example ENV and Procfile."
echo " download Local command to scp down a remote file. args: REMOTE-FILE(s) LOCAL-PATH"
echo " Remote file path is relative to the app folder."
;;
apps|setup|setup:ssh|update)
ssh ${sshflags} "$server" "$@"
@ -59,6 +61,9 @@ else
shell)
ssh -t "$server" run "$app" bash
;;
download)
scp "$server:~/.piku/apps/${app}/${2}" ${3:-'.'}
;;
*)
shift # remove cmd arg
ssh ${sshflags} "$server" "$cmd" "$app" "$@"

Wyświetl plik

@ -1649,6 +1649,13 @@ def cmd_git_upload_pack(app):
call('git-shell -c "{}" '.format(argv[1] + " '{}'".format(app)), cwd=GIT_ROOT, shell=True)
@piku.command("scp", context_settings=dict(ignore_unknown_options=True, allow_extra_args=True))
@pass_context
def cmd_scp(ctx):
"""Simple wrapper to allow scp to work."""
call(" ".join(["scp"] + ctx.args), cwd=GIT_ROOT, shell=True)
def _get_plugin_commands(path):
sys_path.append(abspath(path))