Want to try Habitat? Get started here.
Habitat is an application automation framework that allows you to build applications that have automation built-in. This provides modern applications that:
- Provide repeatable builds
- Run from single, immutable assets
- Allow for runtime configuration for multiple deployment scenarios
- Are agnostic to operating environment (works the same on bare metal, virtualization, containers, PaaS)
- Provide idempotent behavior (the same inputs to the same asset provide the same outcome)
- Provide convergent behavior (each service makes progress towards the correct behavior in the face of failure)
- Expose promises to those who rely on it
- Provide a low barrier to entry
- Are language agnostic
To learn more about Habitat, please visit the Habitat website.
Participation in the Habitat community is governed by the code of conduct.
Table of Contents
- Code Organization
- Community and support
- Further reference material
You can download Habitat from the Habitat downloads page.
Once you have downloaded it, follow the instructions on the page for your specific operating system.
$ brew tap habitat-sh/habitat $ brew install hab
C:\> choco install habitat
If you do not run Homebrew or Chocolatey, or if you use Linux, you can use the Habitat install script from a bash shell.
$ curl https://raw.githubusercontent.com/habitat-sh/habitat/master/components/hab/install.sh | sudo bash
We are always looking for more opportunities for community involvement. Interested in contributing? Check out our CONTRIBUTING.md to get started!
The Habitat plans that are built and maintained by Habitat's Core Team are in their own repo.
Habitat Supervisor, Builder, and other core components
The code for the Habitat Supervisor, Builder, and other core components are in the components directory.
The code for the Habitat Builder web application is in the components/builder-web directory. See its README for more information.
Habitat's website and documentation source is located in the
www directory of the Habitat source code. See its README for more information.
The Habitat project's roadmap is public and is on our community page.
The Habitat core team's project tracker is also public and on Github.
Community and support
- Habitat Slack
- Community triage is every Tuesday at 10am Pacific. The link to participate is shared in the Habitat Slack channel, and videos are posted on the Habitat YouTube channel.
See BUILDING.md for platform specific info on building Habitat from source.
Further reference material
- The Rust Programming Language
- Rust by Example
- Introduction to Bash programming
- Advanced Bash-Scripting Guide
- Bash Cheat Sheet
- Writing Robust Bash Shell Scripts
- Wikibook: Bourne Shell Scripting
- What is the difference between test, [ and [[ ?
- POSIX Shell Command Language
Copyright (c) 2016 Chef Software Inc. and/or applicable contributors
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.