{"id":13466790,"url":"https://github.com/jsiebens/hashi-up","last_synced_at":"2025-04-04T08:09:20.608Z","repository":{"id":39591824,"uuid":"281706528","full_name":"jsiebens/hashi-up","owner":"jsiebens","description":"bootstrap HashiCorp Consul, Nomad, or Vault over SSH \u003c 1 minute","archived":false,"fork":false,"pushed_at":"2023-12-18T22:54:32.000Z","size":191,"stargazers_count":687,"open_issues_count":7,"forks_count":52,"subscribers_count":13,"default_branch":"main","last_synced_at":"2025-03-28T07:08:39.719Z","etag":null,"topics":["automation","boundary","cloud","consul","consul-cluster","devops","devtools","go","golang","hashicorp","linux","nomad","nomad-cluster","raspberry-pi","ssh-agent","vault","vault-cluster","vm"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jsiebens.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-07-22T14:54:58.000Z","updated_at":"2025-03-19T23:00:36.000Z","dependencies_parsed_at":"2024-01-08T01:44:47.241Z","dependency_job_id":"69f05344-bbf2-4799-a653-ea0330ee618f","html_url":"https://github.com/jsiebens/hashi-up","commit_stats":null,"previous_names":[],"tags_count":24,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsiebens%2Fhashi-up","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsiebens%2Fhashi-up/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsiebens%2Fhashi-up/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsiebens%2Fhashi-up/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jsiebens","download_url":"https://codeload.github.com/jsiebens/hashi-up/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247142074,"owners_count":20890653,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automation","boundary","cloud","consul","consul-cluster","devops","devtools","go","golang","hashicorp","linux","nomad","nomad-cluster","raspberry-pi","ssh-agent","vault","vault-cluster","vm"],"created_at":"2024-07-31T15:00:50.046Z","updated_at":"2025-04-04T08:09:20.579Z","avatar_url":"https://github.com/jsiebens.png","language":"Go","funding_links":[],"categories":["Go","Utilities","Infrastructure setup"],"sub_categories":["Deployment and Cluster Setup"],"readme":"# hashi-up\n\nhashi-up is a lightweight utility to install HashiCorp [Consul](https://www.consul.io/), [Nomad](https://www.nomadproject.io) or [Vault](https://www.vaultproject.io/) on any remote Linux host. All you need is `ssh` access and the binary `hashi-up` to build a Consul, Nomad or Vault cluster.\n\nThe tool is written in Go and is cross-compiled for Linux, Windows, MacOS and even on Raspberry Pi.\n\nThis project is heavily inspired on the work of [Alex Ellis](https://www.alexellis.io/) who created [k3sup](https://k3sup.dev/), a tool to to get from zero to KUBECONFIG with [k3s](https://k3s.io/)\n\n[![Go Report Card](https://goreportcard.com/badge/github.com/jsiebens/hashi-up)](https://goreportcard.com/report/github.com/jsiebens/hashi-up)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n![GitHub All Releases](https://img.shields.io/github/downloads/jsiebens/hashi-up/total)\n\n## What's this for?\n\nThis tool uses `ssh` to install HashiCorp Consul, Nomad or Vault to a remote Linux host. You can also use it to join existing Linux hosts into a Consul, Nomad, Vault or Boundary cluster. First, Consul, Nomad or Vault is installed using a utility script, along with a minimal configuration to run the agent as server or client.\n\n`hashi-up` was developed to automate what can be a very manual and confusing process for many developers, who are already short on time. Once you've provisioned a VM with your favourite tooling, `hashi-up` means you are only 60 seconds away from running `nomad status` on your own computer.\n\n## Download `hashi-up`\n\n`hashi-up` is distributed as a static Go binary. \nYou can use the installer on MacOS and Linux, or visit the Releases page to download the executable for Windows.\n\n``` shell\ncurl -sLS https://get.hashi-up.dev | sh\nsudo install hashi-up /usr/local/bin/\n\nhashi-up version\n```\n\n## Usage\n\nThe `hashi-up` tool is a client application which you can run on your own computer. It uses SSH to connect to remote servers when installing HashiCorp Consul or Nomad. Binaries are provided for MacOS, Windows, and Linux (including ARM).\n\n### SSH credentials\n\nBy default, `hashi-up` talks to an SSH agent on your host via the SSH agent protocol. This saves you from typing a passphrase for an encrypted private key every time you connect to a server.\nThe `ssh-agent` that comes with OpenSSH is commonly used, but other agents, like gpg-agent or yubikey-agent are supported by setting the `SSH_AUTH_SOCK` environment variable to the Unix domain socket of the agent.\n\nThe `--ssh-target-key` flag can be used when no agent is available or when a specific private key is preferred.\n\nThe `--ssh-target-user` and `--ssh-target-password` flags allow you to authenticate using a username and a password.\n\n### Guides\n\n- [Installing Consul](docs/consul.md)\n- [Installing Nomad](docs/nomad.md)\n- [Installing Vault](docs/vault.md)\n- [Installing Boundary](docs/boundary.md)\n\n## Resources\n\n[Deploying a highly-available Nomad cluster with hashi-up!](https://johansiebens.dev/posts/2020/07/deploying-a-highly-available-nomad-cluster-with-hashi-up/)\n\n[Building a Nomad cluster on Raspberry Pi running Ubuntu server](https://johansiebens.dev/posts/2020/08/building-a-nomad-cluster-on-raspberry-pi-running-ubuntu-server/)\n\n[Installing HashiCorp Vault on DigitalOcean with hashi-up](https://johansiebens.dev/posts/2020/12/installing-hashicorp-vault-on-digitalocean-with-hashi-up/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjsiebens%2Fhashi-up","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjsiebens%2Fhashi-up","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjsiebens%2Fhashi-up/lists"}