piku/docs/old/ROADMAP.md

2.9 KiB

Roadmap

This was the original roadmap, filed here in 2019-11-21 for future reference:

  • Prebuilt Raspbian image with everything baked in
  • chroot/namespace isolation (tentative)
  • Relay commands to other nodes
  • Proxy deployments to other nodes (build on one box, deploy to many)
  • Support Clojure/Java deployments through boot or lein
  • Sample Go app
  • Support Go deployments (in progress)
  • nginx SSL optimization/cypher suites, own certificates
  • Review deployment messages
  • WIP: Review docs/CLI command documentation (short descriptions done, need help <cmd> and better descriptions)
  • Lua/WSAPI support
  • Support for Java Apps with maven/gradle (in progress through jwsgi, by @matrixjnr)
  • Django and Wisp examples (by @chr15m)
  • Project logo (by @chr15m)
  • Various release/deployment improvements (by @chr15m)
  • Support Node deployments (by @chr15m)
  • Let's Encrypt support (by @chr15m)
  • Allow setting nginx IP bindings in ENV file (NGINX_IPV4_ADDRESS and NGINX_IPV6_ADDRESS)
  • Cleanups to remove 2.7 syntax internally
  • Change to Python 3 runtime as default, with PYTHON_VERSION = 2 as fallback
  • Run in Python 3 only
  • (experimental) REPL in feature/repl
  • Python 3 support through PYTHON_VERSION = 3
  • static URL mapping to arbitrary paths (hat tip to @carlosefr for nginx tuning)
  • remote CLI (requires ssh -t)
  • saner uWSGI logging
  • gevent activated when UWSGI_GEVENT = <integer>
  • enable CloudFlare ACL when NGINX_CLOUDFLARE_ACL = True
  • Autodetect SPDY/HTTPv2 support and activate it
  • Basic nginx SSL config with self-signed certificates and UNIX domain socket connection
  • nginx support - creates an nginx config file if NGINX_SERVER_NAME is defined
  • Testing with pre-packaged uWSGI versions on Debian Jessie (yes, it was painful)
  • Support barebones binary deployments
  • Complete installation instructions (see INSTALL.md, which also has a draft of Go installation steps)
  • Installation helper/SSH key setup
  • Worker scaling
  • Remote CLI commands for changing/viewing applied/live settings
  • Remote tailing of all logfiles for a single application
  • HTTP port selection (and per-app environment variables)
  • Sample Python app
  • Procfile support (wsgi and worker processes for now, web processes being tested)
  • Basic CLI commands to manage apps
  • virtualenv isolation
  • Support Python deployments
  • Repo creation upon first push
  • Basic understanding of how dokku works