{ "info": { "author": "Distributed Masonry", "author_email": "support@onyxplatform.org", "bugtrack_url": null, "classifiers": [], "description": "# Engraver\n\nEngraver is command-line tool for managing and deploying Onyx clusters.\n\n### What does it offer?\n\n- A full application template, preloaded with best practices and design idioms\n- Automatic cluster provisioning to a cloud environment\n- Network security locked down by default\n- High availability configured by default\n- Containerized, preconfigured images of common services\n- Automatic security group adjustment when services are added\n- Log streaming to the developer machine\n- Multi-tenancy as a first class concept\n- Seamless scale up/down\n\n### Installation\n\nAvailable via Pip:\n\n```\n$ pip install engraver\n```\n\n#### Dependencies\n\nTo run Engraver, you will need:\n\n- Python >= 2.7.8\n- Java 8\n- [Leiningen](http://leiningen.org/)\n- [Ansible](http://docs.ansible.com/ansible/intro_installation.html#latest-releases-via-pip)\n- [Docker](https://docs.docker.com/engine/installation/)\n- [An AWS account](http://aws.amazon.com/)\n- [A DockerHub account](https://hub.docker.com/)\n\n### Summary\n\nEngraver is a tool for managing Onyx cluster infrastructure. Unlike other platforms such as Spark and Hadoop, Onyx does not embed a feature for application deployment. The design decision to omit deployment is intentional since it lets application authors choose how and when to deploy application code instead of being forced to opt into a predetermined strategy.\n\nThere is a fair amount of overlap, however, between the deployment techniques for many teams that run Onyx in clustered, production environments. Engraver is a tool that unifies deployment code and makes a handful of opinionated decisions for the sake of making it easier to run Onyx in the cloud. Engraver itself is a Python based tool that wraps Ansible. We designed Engraver to make it friendly for getting started on using Onyx without knowing Ansible, but you're encouraged to learn Ansible along the way to make your Onyx deployment customized to your needs.\n\nIf you disagree with our set up of Ansible out of the box, that's fine. If you know enough about configuration management to take issue with the set up, you're in the category of developers that's advanced enough to not need Engraver. For everyone else, we've built Engraver to be a springboard into production, and as something that can be used for serious deployments.\n\nEngraver has a small set of commands that are built to guide your engineering from initial design all the way into production:\n\n
\n \n
\n \n
\n \n