All Projects → smintz → nomadgen

smintz / nomadgen

Licence: MIT license
Configuration util in python syntax for Hashicorp's Nomad

Programming Languages

python
139335 projects - #7 most used programming language
Thrift
134 projects
shell
77523 projects

Projects that are alternatives of or similar to nomadgen

vim-hcl
Syntax highlighting for HashiCorp Configuration Language (HCL)
Stars: ✭ 83 (+336.84%)
Mutual labels:  hcl, nomad
Terraform Modules
Reusable Terraform modules
Stars: ✭ 63 (+231.58%)
Mutual labels:  hcl, nomad
Nomadfiles
A collection of Nomad job files for deploying applications to a cluster
Stars: ✭ 89 (+368.42%)
Mutual labels:  hcl, nomad
scaleway-terraform-demo
example using terraform for scaleway with nomad, consul & fabio
Stars: ✭ 52 (+173.68%)
Mutual labels:  nomad
hashicorp-labs
Deploy locally on VM an Hashicorp cluster formed by Vault, Consul and Nomad. Ready for deploying and testing your apps.
Stars: ✭ 32 (+68.42%)
Mutual labels:  nomad
dropship
Super simple deployment tool
Stars: ✭ 62 (+226.32%)
Mutual labels:  hcl
chip
📦 🐳 🚀 - Smart "dummy" mock for cloud native tests
Stars: ✭ 19 (+0%)
Mutual labels:  nomad
nomad-droplets-autoscaler
DigitalOcean Droplets target plugin for HashiCorp Nomad Autoscaler
Stars: ✭ 42 (+121.05%)
Mutual labels:  nomad
terraform-templates
Terraform templates, examples, etc.
Stars: ✭ 16 (-15.79%)
Mutual labels:  hcl
parquet-flinktacular
How to use Parquet in Flink
Stars: ✭ 29 (+52.63%)
Mutual labels:  thrift
tryingtowork
A collection of free spaces to work online
Stars: ✭ 78 (+310.53%)
Mutual labels:  nomad
nomad-service-alerter
Alerting for Nomad Jobs
Stars: ✭ 37 (+94.74%)
Mutual labels:  nomad
terraform-aws-waf-webacl-supporting-resources
A module to create several resources needed by AWS WAF WebACL.
Stars: ✭ 25 (+31.58%)
Mutual labels:  hcl
thrift-parser
A Thrift Parser built in TypeScript that generates a TypeScript AST that retains the Thrift grammar
Stars: ✭ 84 (+342.11%)
Mutual labels:  thrift
picasso
Picasso is a tool that can take a template and data, and generate images from them.
Stars: ✭ 16 (-15.79%)
Mutual labels:  hcl
hcl
Parsing, encoding and decoding of HCL to and from Go types and an AST.
Stars: ✭ 38 (+100%)
Mutual labels:  hcl
tree-sitter-hcl
A tree-sitter grammar for HCL (HashiCorp Configuration Language), used by projects such as Terraform.
Stars: ✭ 65 (+242.11%)
Mutual labels:  hcl
wildq
Command-line TOML/JSON/INI/YAML/XML/HCL processor using jq c bindings
Stars: ✭ 22 (+15.79%)
Mutual labels:  hcl
ThriftDemo PHP CPP
Demo for Thrift RPC framework. PHP client call CPP server.
Stars: ✭ 29 (+52.63%)
Mutual labels:  thrift
concrete-python
Python modules and scripts for working with Concrete, a data serialization format for NLP
Stars: ✭ 19 (+0%)
Mutual labels:  thrift

nomadgen

Craft your Hashicorp's Nomad job specs in python.

Still under development.

Motivation

Nomad is a great job/task scheduler but HCL is pretty limited. This tool will allow you to easily create job specs in python. Its heavily inspired by Facebook's configerator.

Install and run

  1. pip install nomadgen
  2. See JSON output: python jobspec.py
  3. Apply to Nomad: python jobspec.py --run

Examples

  • Redis - See how to use same basic task spec config with different drivers (Docker, rkt, qemu).
  • Hashiapp - Blue/Green deployments made easy.
  • periodic - Periodic task example.
  • common/resources - How to simplfy your API even better.

Contribute:

  1. Clone the repo
  2. Install the thrift compiler
sudo apt-get install thrift-compiler
  1. Install requirements
  sudo pip install -r requirements.txt
  1. Build and install locally
  make
  1. Run the examples/hashiapp.py to validate output
  VAULT_TOKEN="<a vault token>" python examples/hashiapp.py
  1. Run examples/hashiapp.py against nomad agent to run it
  VAULT_TOKEN="<a vault token>" python examples/hashiapp.py --run

License: MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].