All Projects → sorah → Hocho

sorah / Hocho

Licence: mit
Hocho: Run Itamae easily with host inventory

Programming Languages

ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to Hocho

pico
A Git-driven task runner built to facilitate GitOps and Infrastructure-as-Code while securely passing secrets to tasks.
Stars: ✭ 51 (+88.89%)
Mutual labels:  orchestration, infrastructure-as-code
paco
Paco: Prescribed automation for cloud orchestration
Stars: ✭ 32 (+18.52%)
Mutual labels:  orchestration, infrastructure-as-code
Prefect
The easiest way to automate your data
Stars: ✭ 7,956 (+29366.67%)
Mutual labels:  orchestration
Terraform Modules
Terraform Modules
Stars: ✭ 25 (-7.41%)
Mutual labels:  infrastructure-as-code
Aks Engine
AKS Engine: Units of Kubernetes on Azure!
Stars: ✭ 833 (+2985.19%)
Mutual labels:  orchestration
Spring Cloud Dataflow
A microservices-based Streaming and Batch data processing in Cloud Foundry and Kubernetes
Stars: ✭ 753 (+2688.89%)
Mutual labels:  orchestration
Orcinus
Agnostic Orchestration Tools
Stars: ✭ 17 (-37.04%)
Mutual labels:  orchestration
Terraform
Terraform enables you to safely and predictably create, change, and improve infrastructure. It is an open source tool that codifies APIs into declarative configuration files that can be shared amongst team members, treated as code, edited, reviewed, and versioned.
Stars: ✭ 30,477 (+112777.78%)
Mutual labels:  infrastructure-as-code
Trivy
Scanner for vulnerabilities in container images, file systems, and Git repositories, as well as for configuration issues
Stars: ✭ 9,673 (+35725.93%)
Mutual labels:  infrastructure-as-code
Element Motion
Tween between view states with declarative zero configuration element motions for React
Stars: ✭ 828 (+2966.67%)
Mutual labels:  orchestration
Terraform Best Practices
Terraform Best Practices for AWS users
Stars: ✭ 931 (+3348.15%)
Mutual labels:  infrastructure-as-code
Aws Cdk
The AWS Cloud Development Kit is a framework for defining cloud infrastructure in code
Stars: ✭ 7,963 (+29392.59%)
Mutual labels:  infrastructure-as-code
Keptn
Cloud-native application life-cycle orchestration. Keptn automates your SLO-driven multi-stage delivery and operations & remediation of your applications.
Stars: ✭ 755 (+2696.3%)
Mutual labels:  orchestration
Junos Automation With Saltstack
How to automate Junos with SaltStack (Event-Driven automation)
Stars: ✭ 19 (-29.63%)
Mutual labels:  orchestration
Gocd
Main repository for GoCD - Continuous Delivery server
Stars: ✭ 6,314 (+23285.19%)
Mutual labels:  infrastructure-as-code
Sonarondocker
🐳 📡 Docker way of running SonarQube + any DB
Stars: ✭ 25 (-7.41%)
Mutual labels:  orchestration
Tack
Terraform module for creating Kubernetes cluster running on Container Linux by CoreOS in an AWS VPC
Stars: ✭ 734 (+2618.52%)
Mutual labels:  infrastructure-as-code
Crane
Crane - Lift containers with ease
Stars: ✭ 793 (+2837.04%)
Mutual labels:  orchestration
Ansible Modules
Custom ansible modules
Stars: ✭ 17 (-37.04%)
Mutual labels:  orchestration
Walkoff
A flexible, easy to use, automation framework allowing users to integrate their capabilities and devices to cut through the repetitive, tedious tasks slowing them down. #nsacyber
Stars: ✭ 855 (+3066.67%)
Mutual labels:  orchestration

Hocho: an itamae wrapper

Hocho is a wrapper of the provisioning tool itamae.

Features

  • Drivers
    • itamae ssh support
    • remote itamae local support on rsync+bundler
    • remote mitamae support
  • Simple pluggable host inventory, discovery

Installation

Add this line to your application's Gemfile:

gem 'hocho'

And then execute:

$ bundle

Or install it yourself as:

$ gem install hocho

Usage

# hocho.yml
inventory_providers:
  file:
    path: './hosts'

property_providers:
  ## Provide default values to host properties (reverse_merge).
  - add_default:
      properties:
        blah: blahblah
        # preferred_driver: mitamae
        attributes:
          node_attributes_goes_here: hello

  ## Run ruby script to mutate host properties
  - ruby_script:
      name: name-for-your-convenience # optional
      script: 'host.properties[:hello] = Time.now.xmlschema'
    ## or 
    # file: path/to/script.rb

# driver_options:
#   mitamae:
#     mitamae_prepare_script: 'wget -O /usr/local/bin/mitamae https://...'
# ./hosts/test.yml
test.example.org:
  # ssh_options:
  #   user: ...
  properties:
    # preferred_driver: bundler
    # preferred_driver: mitamae
    attributes:
      node_attributes_goes_here: hello
    run_list:
      - roles/app/default.rb
$ hocho list
$ hocho show test.example.org
$ hocho apply test.example.org

Development

After checking out the repo, run bin/setup to install dependencies. Then, run rake spec to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/hocho.

License

The gem is available as open source under the terms of the MIT License.

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].