Skip to main content

Building your infrastructure

Project description

Hamlet Deploy - CLI

Code style: black release workflow PyPI version

Hamlet deploy is a tool to manage infrastructure throughout the life of your application. With hamlet you define the functional components of your application along with the context they should be run in. The context includes things like environments, tenants, and policies that can be applied across all of your different applications. From this information hamlet then creates the infrastructure that will perform the function you have asked for and manages it over the life of your application.

Support

Hamlet deploy is built on a plugin based approach so you can create infrastructure for any provider you want, we provide an API of common processes and tasks for provisioning and describing infrastructure which allows you to build a common language across different infrastructure providers

We also provide official plugins for:

  • Amazon Web Services (AWS) based on CloudFormation
  • Microsoft Azure based on Azure Resource Manager
  • mingrammer Diagrams for generating diagrams of your deployed infrastructure

Docs

To read more about hamlet and what it can do head to our docs site https://docs.hamlet.io/

Installation

Hamlet Deploy is made up of a couple of parts:

  • engine - The engine is the core of hamlet and defines how infrastructure is deployed along with understanding the context of your application defined in a CMDB. The engine creates contracts and supporting documents which describes a task to complete. The engine is a java based app using the freemarker template engine.
  • executor - The executor providers the user interface to hamlet along with executing the contracts provided by the engine. This is a mix of bash scripts and python code ( this cli )

Docker Image

This guide takes you through installing the cli on your own machine and includes the OS packages that are required. We also offer a docker image which includes the hamelt cli along with a suite of tools to use the image as a general purpose CI/CD environment

The image is available on Dockerhub - https://hub.docker.com/r/hamletio/hamlet

Prerequisites

Before using the cli a few OS level requirements need to be installed. This process differs from OS to OS so we are just including the packages and the websites if they are available. The packages need to be available on the PATH of your cli

Minimum

These packages will give you base access to start using hamlet

Name Install Link Version
Java https://openjdk.java.net/install/ 8 (1.8) required
Jq https://stedolan.github.io/jq/ 1.6 and above
dos2unix http://dos2unix.sourceforge.net/ Any version
Bash https://www.gnu.org/software/bash/ 4.0 and above
Python https://www.python.org/about/gettingstarted/ 3.6 and above

All of these packages should be available through linux OS based package managers ( apt-get, yum etc ) and would be the recommended install approach

Optional Packages

The optional packages depend on what you want to do with hamlet

Name Install Link Version Purpose
Docker https://www.docker.com/get-started No specific requirements Container deployments
AWS Cli https://aws.amazon.com/cli/ v1 Currently Supported AWS deployments
Az https://docs.microsoft.com/en-us/cli/azure/ No specific requirements Azure deployments
Graphviz https://graphviz.org/ No specific requirements Diagram generation

See the websites for each package for these ones, but they should also be available through OS package manages or language specific managers ( aws cli and az are both available through pypi)

Cli Install

Once you've got the prereqs installed the rest of hamlet is installed through the cli

To install the hamlet cli/executor use the python package manager pip

pip install hamlet

If you want the latest changes that are in development we publish all commits as pre-releases

pip install --pre hamlet

Note These builds can be unstable and aren't recommended for production usage

To confirm the install has worked

hamlet --help

Should return something like this

hamlet --help
Usage: hamlet [OPTIONS] COMMAND [ARGS]...

  hamlet deploy

And that's it, to see what you can do head to our docs https://docs.hamlet.io

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hamlet-9.4.1.dev2.tar.gz (125.5 kB view details)

Uploaded Source

Built Distribution

hamlet-9.4.1.dev2-py2.py3-none-any.whl (132.0 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file hamlet-9.4.1.dev2.tar.gz.

File metadata

  • Download URL: hamlet-9.4.1.dev2.tar.gz
  • Upload date:
  • Size: 125.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for hamlet-9.4.1.dev2.tar.gz
Algorithm Hash digest
SHA256 b24c22d5b7be28a75331bf5a792c7687d7aa86eed7ee618e9061729e18e222aa
MD5 0e339fb9e69386c5521ded33838eb5e1
BLAKE2b-256 7829831d3c521c0aa38d9f806aba49cadee50a6a548c6505c2dbbecc72be82c7

See more details on using hashes here.

File details

Details for the file hamlet-9.4.1.dev2-py2.py3-none-any.whl.

File metadata

  • Download URL: hamlet-9.4.1.dev2-py2.py3-none-any.whl
  • Upload date:
  • Size: 132.0 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for hamlet-9.4.1.dev2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 1607bddd4ae6c92345254b9c2f0d7fb0db8876c633875671cd01e8a3db28107c
MD5 d083b98a4d768e3517f82f976aab632d
BLAKE2b-256 15dabdbe9f6fec7c37b0897761b8934e511398c12c01840b8b62de39034e1225

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page