Habitat
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.
Installation
There are a couple of different way to install Habitat.
You can download it from the Habitat downloads page.
Once you have downloaded it, follow the instructions on the page for your specific operating system.
If you are running on a Mac or Linux, you can also use the Habitat install script.
$ curl https://raw.githubusercontent.com/habitat-sh/habitat/master/components/hab/install.sh | sudo bash
Web Application
The Habitat Builder web application is in the components/builder-web directory. See its README for more information.
Documentation
Habitat's website and documentation is located in the www
directory of the Habitat source code. See its README for more information.
Contributing
We are always looking for more opportunities for community involvement. Interested in contributing? Check out our CONTRIBUTING.md the Rustlang reference materials below or our UX_PRINCIPLES doc to get started!
Building
See BUILDING.md for platform specific info on building Habitat from source.
Useful 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
License
Copyright (c) 2016-2017 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
http://www.apache.org/licenses/LICENSE-2.0
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.