Hotomata

[abandonned][wip] Lightweight configuration management tool written in Go (yaml+ssh)
Alternatives To Hotomata
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Streisand23,038
2 years ago240otherShell
Streisand sets up a new server running your choice of WireGuard, OpenConnect, OpenSSH, OpenVPN, Shadowsocks, sslh, Stunnel, or a Tor bridge. It also generates custom instructions for all of these services. At the end of the run you are given an HTML file with instructions that can be shared with friends, family members, and fellow activists.
Mac Dev Playbook5,506
2 days ago7otherShell
Mac setup and configuration via Ansible.
Ansible Django Stack1,332
5 months ago27mitJinja
Ansible Playbook for setting up a Django app with Nginx, Gunicorn, PostgreSQL, Celery, RabbitMQ, Supervisor, Virtualenv, and Memcached. A Vagrantfile for provisioning a VirtualBox virtual machine is included as well.
Ansible Ssh Hardening740
3 years agoHTML
This Ansible role provides numerous security-related ssh configurations, providing all-round base protection.
Ansible Role Security685
3 months ago9mitJinja
Ansible Role - Security
Devops669
5 months ago15gpl-2.0
:smiley:DevOps System - :heart:devEops:heart: - 开发自运维平台 - 运维体系解决方案,适用于多个应用环境的资产组织以及运维脚本的适配运行。
Ansible Roles475
a year ago3mitHTML
Ansible Roles
Dotfiles460
a month ago1Shell
Sway acid dark
Ansible Openwisp2448
3 months ago15bsd-3-clausePython
Ansible role that installs and upgrades OpenWISP.
Ansible Role Proxmox395
a month ago24mitPython
Deploys and configures Proxmox VE 6.x/7.x clusters.
Alternatives To Hotomata
Select To Compare


Alternative Project Comparisons
Readme

Hotomata

Lightweight configuration management tool written in Go (yaml+ssh)

Hotomata is hopefully easy to use and candidate for serious projects but in all cases a great learning experience and fun project.

For simpler use cases it is more approachable than bigger players in the field.

The biggest differentiator with other CM tools out there is that Hotomata really embodies simplicity by promoting small commands doing one thing well that can be composed in complex operations by composing them together. Unix and Golang concepts yes, yes. All that without writing custom plugins once and still using your beloved YAML popular for Ansible or SaltStack folks, no funky DSL to learn.

Hotomata draws inspiration from Ansible and SaltStack but also from few open source, not widely popular projects like dynport/urknall or sudharsh/henchman and even few SaaSes out there like commando.io

Hotomata masterplans end up being conceptually close to this:

masterplan db
  machines db-master
  vars [...]
  plans
    - common
        vars [...]
        plans
          - hostname
              run: "echo '{{.varx}}' >> /etc/hostname"
          - lang
              vars [...]
              plans
                - upload
                    vars [...]
                    run "scp ..."
                    local true
                - service_reboot
                    vars [...]
                    run "sudo service {{.service}} restart"
    - db
        vars [...]
        plans
          - ...
    - upload
        vars [...]
        run "rsync {{.localDir}} {{.remoteDir}}"
        local true

Getting started

go get github.com/merd/hotomata/cmd/hotomata
hotomata -h

Documentation

There is plenty of documentation being written, even before code sometimes. Reading them is a good introduction to what hotomata does but mostly how it solves it:

CLI Tools

hotomata

Main tool used for execution of masterplans against remotes and remote execution facilities.

hotomata-vault

Tool used to decrypt, encrypt, view, edit, create and rekey vaults of var files. Those are the place you can store your secrets safely and commit them source control with less worry than with plaintext.

hotomata-inventory

A simple tool to inspect (print) an inventory file's contents as seen and parsed by hotomata and to validate (check) that an inventory file is syntactically valid.

Contributions

... are welcomed, hoping the docs are giving you a good idea of what's going on, if not I hope the code is clear enough to understand what's happening, in any case drop me a line if you want to help or know more ([email protected])

License

MIT

Popular Ansible Projects
Popular Ssh Projects
Popular Configuration Management Categories

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Golang
Ansible
Ssh
Yaml
Inventory
Saltstack