/habitat

Modern applications with built-in automation

Primary LanguageRustApache License 2.0Apache-2.0

Build Status Slack Discourse status Open Source Helpers

Habitat is open source software that creates platform-independent build artifacts and provides built-in deployment and management capabilities.

The goal of Habitat is to allow you to automate your application behavior when you create your application, and then bundle your application with the automation it needs to behave with the correct run time behavior, update strategies, failure handling strategies, and scaling behavior, wherever you choose to deploy it.

See a quick demo of how to build, deploy and manage an application with Habitat:

Project State: Active

Issues Response Time Max: 5 business days

Pull Request Response Time Max: 5 business days

Build, Deploy and Manage with Habitat (5:33)

Table of Contents

Diagrams

Graphics that will help you and your team better understand the concepts and how they fit together into the larger Habitat ecosystem.

Where Habitat Fits

Habitat Flow Infographic

Try the interactive infographics on the website!

How Habitat Works

Habitat and Docker

View all diagrams in Docs

Hands-on Demos

Choose any topic to begin learning how Habitat can help your team build, deploy, and manage all of your applications - both new and legacy - in a cloud-native way:

View all demos and tutorials in Learn

Install

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.

If you are running macOS and use Homebrew, you can use our official Homebrew tap.

$ brew tap habitat-sh/habitat
$ brew install hab

If you are running Windows and use Chocolatey, you can install our chocolatey package

C:\> choco install habitat

If you do not run Homebrew or Chocolatey, or if you use Linux, you can use the Habitat install.sh or install.ps1 script.

Bash:

$ curl https://raw.githubusercontent.com/habitat-sh/habitat/master/components/hab/install.sh | sudo bash

Powershell:

C:\> Set-ExecutionPolicy Bypass -Scope Process -Force
C:\> iex ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/habitat-sh/habitat/master/components/hab/install.ps1'))

Contribute

We are always looking for more opportunities for community involvement. Interested in contributing? Check out our CONTRIBUTING.md to get started!

Documentation

Get started with the Habitat tutorials or plunge into the complete documentation.

Code Organization

Core Plans

The Habitat plans that are built and maintained by Habitat's Core Team are in their own repo.

Habitat Supervisor and other core components

The code for the Habitat Supervisor and other core components are in the components directory.

Docs

Habitat's website and documentation source is located in the www directory of the Habitat source code. See its README for more information.

Roadmap

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

Building

See BUILDING.md for platform specific info on building Habitat from source.

Further reference material

Code of Conduct

Participation in the Habitat community is governed by the code of conduct.

License

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

 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.