{"id":13785421,"url":"https://github.com/nunchistudio/hashibox","last_synced_at":"2025-04-12T07:31:41.881Z","repository":{"id":37211547,"uuid":"447534101","full_name":"nunchistudio/hashibox","owner":"nunchistudio","description":"Simulate a highly-available Cloud Platform with Consul, Nomad, and Vault. OSS \u0026 Enterprise versions supported.","archived":false,"fork":false,"pushed_at":"2024-02-14T17:08:03.000Z","size":12788,"stargazers_count":86,"open_issues_count":2,"forks_count":18,"subscribers_count":5,"default_branch":"main","last_synced_at":"2024-08-03T19:09:26.467Z","etag":null,"topics":["bolt","cloud","cloud-platform","consul","consul-connect","devops","docker","hashicloud","hashicorp","hashistack","hcp","localstack","nomad","platform-engineering","puppet-bolt","vagrant","vault","waypoint"],"latest_commit_sha":null,"homepage":"https://nunchi.studio/hashibox","language":"Shell","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/nunchistudio.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE.md","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},"funding":{"github":["nunchistudio"]}},"created_at":"2022-01-13T09:12:26.000Z","updated_at":"2024-08-01T04:10:04.000Z","dependencies_parsed_at":"2023-11-30T07:27:38.675Z","dependency_job_id":"ddee6a94-f0a5-484e-96aa-c187daae6100","html_url":"https://github.com/nunchistudio/hashibox","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nunchistudio%2Fhashibox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nunchistudio%2Fhashibox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nunchistudio%2Fhashibox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nunchistudio%2Fhashibox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nunchistudio","download_url":"https://codeload.github.com/nunchistudio/hashibox/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223503486,"owners_count":17156165,"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":["bolt","cloud","cloud-platform","consul","consul-connect","devops","docker","hashicloud","hashicorp","hashistack","hcp","localstack","nomad","platform-engineering","puppet-bolt","vagrant","vault","waypoint"],"created_at":"2024-08-03T19:01:00.158Z","updated_at":"2024-11-07T11:21:49.367Z","avatar_url":"https://github.com/nunchistudio.png","language":"Shell","funding_links":["https://github.com/sponsors/nunchistudio"],"categories":["Provisioning"],"sub_categories":[],"readme":"# HashiBox\n\nHashiBox is a local environment to simulate a highly-available cloud with\n[Consul](https://www.consul.io/), [Nomad](https://www.nomadproject.io/), and\n[Vault](https://www.vaultproject.io/). OSS and Enterprise versions of each\nproduct are supported. Consul Connect is enabled and uses Vault as CA provider.\n\nIt also installs [Docker](https://www.docker.com/) for running Nomad's jobs inside\ncontainers.\n\nIt leverages [Vagrant](https://www.vagrantup.com/) for virtualization, and\n[Bolt](https://puppet.com/docs/bolt/) for maintenance automation across nodes.\n\nThe main goal of HashiBox is to provide a local setup respecting environment\nparity for simulating a Cloud Platform from end-to-end before going in production.\n\n**Useful links:**\n- [Get started](https://nunchi.studio/hashibox)\n\n**Vagrant providers supported:**\n- `parallels`\n- `virtualbox`\n- `vmware_desktop`\n\n**Architectures supported:**\n- `amd64`\n- `arm64`\n\n**Notes about the environment:**\n- ACLs are enabled and automatically bootstrapped in Consul and Nomad. To simplify\n  the setup, the bootstrapped tokens are used in favor of scope-defined ones.\n- To simplify the setup, TLS across Consul, Nomad, and Vault is not configured.\n- Only Vault *server* is leveraged. Vault agents in *client* mode are not setup\n  since we don't use it. Feel free to make a pull request to support it.\n- We could have leveraged Vagrant's *sync folders* instead of Bolt for file\n  sharing with machines. Bolt is a better choice for *production-practices*\n  but also for automating scripts across nodes.\n\n## Summary schema\n\n\u003cpicture\u003e\n  \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"./assets/hashibox-light.png\"\u003e\n  \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"./assets/hashibox-dark.png\"\u003e\n  \u003cimg alt=\"How HashiBox works\" src=\"./assets/hashibox-light.png\"\u003e\n\u003c/picture\u003e\n\n## Screenshots\n\n\u003cdetails\u003e\n  \u003csummary\u003eConsul\u003c/summary\u003e\n  \u003cbr\u003e\n\n  ![Consul Services](./assets/screenshots/consul-services.png)\n\n  ![Consul Nodes](./assets/screenshots/consul-nodes.png)\n\n  ![Consul Tokens](./assets/screenshots/consul-tokens.png)\n  \n  ![Consul Policies](./assets/screenshots/consul-policies.png)\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eNomad\u003c/summary\u003e\n  \u003cbr\u003e\n\n  ![Nomad Jobs](./assets/screenshots/nomad-jobs.png)\n\n  ![Nomad Clients](./assets/screenshots/nomad-clients.png)\n\n  ![Nomad Servers](./assets/screenshots/nomad-servers.png)\n\n  ![Nomad Tokens](./assets/screenshots/nomad-tokens.png)\n  \n  ![Nomad Topology](./assets/screenshots/nomad-topology.png)\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eVault\u003c/summary\u003e\n  \u003cbr\u003e\n\n  ![Vault Secrets](./assets/screenshots/vault-secrets.png)\n\n  ![Vault Access](./assets/screenshots/vault-access.png)\n\u003c/details\u003e\n\n## License\n\nRepository licensed under the [MIT License](./LICENSE.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnunchistudio%2Fhashibox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnunchistudio%2Fhashibox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnunchistudio%2Fhashibox/lists"}