SlideShare ist ein Scribd-Unternehmen logo
1 von 23
Application Automation with Habitat
Simon Fisher / Fletcher Nichol
Errno::EACCES: Permission denied - /home/-----
/#####/-----/vendor/bundle/ruby/1.9.1/cache/bundler
/home/-----/.rvm/rubies/ruby-1.9.3-
p551/lib/ruby/1.9.1/fileutils.rb:247:in `mkdir'
/home/-----/.rvm/rubies/ruby-1.9.3-
p551/lib/ruby/1.9.1/fileutils.rb:247:in `fu_mkdir'
/home/-----/.rvm/rubies/ruby-1.9.3-
p551/lib/ruby/1.9.1/fileutils.rb:221:in `block (2
levels) in mkdir_p'
/home/-----/.rvm/rubies/ruby-1.9.3-
p551/lib/ruby/1.9.1/fileutils.rb:219:in
`reverse_each'
/home/-----/.rvm/rubies/ruby-1.9.3-
p551/lib/ruby/1.9.1/fileutils.rb:219:in `block in
mkdir_p'
include_recipe 'nginx::default’
template "#{node['dafne_online']['deploy_base']}/shared/config/nginx.conf" do
source 'nginx_conf.erb’
owner 'rails’
group 'admin’
mode '0644’
notifies :restart, 'service[nginx]’
end
deploy node['dafne_online']['deploy_base'] do
repository "https://#{node['dafne_online']['git_user']}:#{git_pw}@dafneonline.git.cloudforge.com/dafneonline.git" rollback_on_error true
environment rails_user_env
restart_command 'sudo -H -u rails bash -c "export PATH=/opt/rubies/2.2.3/bin:$PATH && /etc/init.d/unicorn_dafneonline restart"’
action :deploy symlinks shared_hash
user node['dafne_online']['deploy_user']
group 'admin’
before_symlink do
execute 'bundle install' do
command "bundle install --path #{node['dafne_online']['deploy_base']}/shared/bundle --without development test --deployment --quiet”
user node['dafne_online']['deploy_user']
environment rails_user_env
cwd release_path
action :run
end
end
before_restart do
link '/etc/init.d/unicorn_dafneonline' do
to '/home/rails/apps/dafneonline/current/config/unicorn_init.sh’
end
template "#{node['dafne_online']['deploy_base']}/current/config/unicorn.rb" do
source 'unicorn.rb.erb' owner node['dafne_online']['deploy_user']
group 'admin’
mode 00744
end
execute 'compile assets' do
command "RAILS_ENV=#{node['dafne_online']['rails_env']} bundle exec rake assets:precompile”
user node['dafne_online']['deploy_user']
environment rails_user_env
cwd release_path
action :run
end
end
after_restart do
execute 'notify Airbrake of deployment' do
command "RAILS_ENV=#{node['dafne_online']['rails_env']} bundle exec rake airbrake:deploy TO=#{node['dafne_online']['rails_env']} REVISION=
REPO=https://dafneonline.git.cloudforge.com/dafneonline.git USER=#{node['dafne_online']['deploy_user']}”
environment rails_user_env
user node['dafne_online']['deploy_user']
cwd release_path
action :run
end
end
end
9
Habitat Technology
Plan Artifact Depot
Build
Service
Supervis
or
Supervis
or
Supervis
or
Supervis
or
Ring
Bare Metal
Containers
AMI
VM
Depot
Build Service &
Workflow
Package Format Artifact Distribution
Server
Artifact Distribution
Server
Intelligent Run-Time Supervisor w/REST
API
Source
Code
Repo
Supervisor Supervisor
Stop!
Demo Time
What’s New?
Habitat features and updates post-launch 2016
Package Search from Command Line
$ hab pkg search hab-studio
core/hab-studio/0.10.0/20160929200453
core/hab-studio/0.10.0/20160929200924
core/hab-studio/0.10.1/20160929223112
core/hab-studio/0.10.2/20160930230930
core/hab-studio/0.6.0/20160612082608
core/hab-studio/0.6.0/20160613075329
core/hab-studio/0.7.0/20160614232531
core/hab-studio/0.8.0/20160708162421
core/hab-studio/0.8.0/20160729121901
core/hab-studio/0.8.0/20160729180228
core/hab-studio/0.8.0/20160729195909
core/hab-studio/0.9.0/20160815225526
core/hab-studio/0.9.1/20160901205418
core/hab-studio/0.9.3/20160916192516
core/hab-studio/0.9.3/20160922234920
core/hab-studio/0.9.3/20160926154214
Improved Proxy Support
• Supports $http_proxy, $https_proxy, $no_proxy environment
variables
• Basic authentication
• Propagate into Studios
Iterate Service Configurations Quicker
using
–config-from
• Faster iteration of configuration templates during plan
development
• $ hab start yourorigin/yourpackage --config-from /path/to/config
• Intended only for development
Improved Root/Non-Root Behavior via
sudo
• Drop the need to prefix most hab commands with sudo
• Entering a Studio with sudo detects user’s key cache (not
root’s)
• $ hab setup; sudo hab studio enter
• Future release will “auto-sudo” when using Studio
subcommands
Better Mac Docker/Studio Upgrading
• Mac uses a Docker image for Linux Studio
• Runs Docker image with same version as hab CLI
• On upgrading hab CLI, new Docker image automatically pulled
Process: Release Train Model
• Userland tooling: hab CLI, Supervisor, Director
• Every second Thursday, cut from master
• Typically a minor version revision
• Features ship when ready and early features will hide behind
feature flags
Process: (Upcoming) Continuous
Deployment
• Platform infrastructure: web site, Depot, Builder
• Packages built off master and published to Depot
• Platform upgrades when new packages publish
• Decoupled release from userland tooling
Builder: A Distributed Build Service
• Micro service architecture, built with Habitat in mind
• Habitat runs on Habitat
• Upcoming: early access to build a package on the platform via
feature flag/invite
• Upcoming: building packages on pushes to GitHub
• Upcoming: dependent package rebuilding
• More details: “Habitat 301: Building Habitats” ChefConf 2016
Talk by Jamie Winsor
Expanding Horizons: Windows
• Bring Mac Habitat experience to Windows
• Building hab CLI
• Upcoming: ship first hab packages for Windows
• Upcoming: native Windows Habitat packages
• Upcoming: Supervisor running on Windows
Contribute to “Habtoberfest”!
• Habitat participating in Digital Ocean’s Hacktoberfest event
• Runs October 1st through 31st
• Make 4 pull requests (on any FOSS project), earn a limited
edition Hacktoberfest T-shirt
• Habitat repo has “Hacktoberfest” tagged issues
• http://hacktoberfest.digitalocean.com
Help Shape the Direction of Habitat
• Try out Habitat https://www.habitat.sh/try/
• Build a package
• Try out use cases, contact us when: you win, you come up
short, (i.e. anytime)
• Join us in HabiChat http://slack.habitat.sh/
• We’re at a Community Summit—let’s talk!

Weitere ähnliche Inhalte

Was ist angesagt?

Compliance as Code
Compliance as CodeCompliance as Code
Compliance as CodeMatt Ray
 
Infrastructure Automation with Chef
Infrastructure Automation with Chef Infrastructure Automation with Chef
Infrastructure Automation with Chef REAN Cloud
 
Continuous Updating with VersionEye at code.talks 2014
Continuous Updating with VersionEye at code.talks 2014Continuous Updating with VersionEye at code.talks 2014
Continuous Updating with VersionEye at code.talks 2014Robert Reiz
 
Chef Workflow Demo
Chef Workflow DemoChef Workflow Demo
Chef Workflow DemoChef
 
Compliance Automation with Inspec Part 4
Compliance Automation with Inspec Part 4Compliance Automation with Inspec Part 4
Compliance Automation with Inspec Part 4Chef
 
How Ansible Makes Automation Easy
How Ansible Makes Automation EasyHow Ansible Makes Automation Easy
How Ansible Makes Automation EasyPeter Sankauskas
 
Chef - Infrastructure Automation for the Masses
Chef - Infrastructure Automation for the Masses�Chef - Infrastructure Automation for the Masses�
Chef - Infrastructure Automation for the MassesSai Perchard
 
Automated Deployment with Capistrano
Automated Deployment with CapistranoAutomated Deployment with Capistrano
Automated Deployment with CapistranoSumit Chhetri
 
Continuous Delivery in Enterprise Environments using Docker, Ansible and Jenkins
Continuous Delivery in Enterprise Environments using Docker, Ansible and JenkinsContinuous Delivery in Enterprise Environments using Docker, Ansible and Jenkins
Continuous Delivery in Enterprise Environments using Docker, Ansible and JenkinsMarcel Birkner
 
Migration Station at SAS - DevOps for Fusion with Version Control and Continu...
Migration Station at SAS - DevOps for Fusion with Version Control and Continu...Migration Station at SAS - DevOps for Fusion with Version Control and Continu...
Migration Station at SAS - DevOps for Fusion with Version Control and Continu...Lucidworks
 
Hooking Docker With Selenium
Hooking Docker With SeleniumHooking Docker With Selenium
Hooking Docker With SeleniumSujith Vakathanam
 
An Introduction into Bosh | anynines
An Introduction into Bosh | anynines An Introduction into Bosh | anynines
An Introduction into Bosh | anynines anynines GmbH
 
Cloud Foundry Meetup Tokyo #1 Route service
Cloud Foundry Meetup Tokyo #1 Route serviceCloud Foundry Meetup Tokyo #1 Route service
Cloud Foundry Meetup Tokyo #1 Route serviceGwenn Etourneau
 

Was ist angesagt? (20)

Where is my scalable API?
Where is my scalable API?Where is my scalable API?
Where is my scalable API?
 
Compliance as Code
Compliance as CodeCompliance as Code
Compliance as Code
 
OpenWhisk
OpenWhiskOpenWhisk
OpenWhisk
 
Infrastructure Automation with Chef
Infrastructure Automation with Chef Infrastructure Automation with Chef
Infrastructure Automation with Chef
 
Continuous Updating with VersionEye at code.talks 2014
Continuous Updating with VersionEye at code.talks 2014Continuous Updating with VersionEye at code.talks 2014
Continuous Updating with VersionEye at code.talks 2014
 
Chef Workflow Demo
Chef Workflow DemoChef Workflow Demo
Chef Workflow Demo
 
Docker
DockerDocker
Docker
 
Compliance Automation with Inspec Part 4
Compliance Automation with Inspec Part 4Compliance Automation with Inspec Part 4
Compliance Automation with Inspec Part 4
 
How Ansible Makes Automation Easy
How Ansible Makes Automation EasyHow Ansible Makes Automation Easy
How Ansible Makes Automation Easy
 
Chef - Infrastructure Automation for the Masses
Chef - Infrastructure Automation for the Masses�Chef - Infrastructure Automation for the Masses�
Chef - Infrastructure Automation for the Masses
 
Amazon SWF and Gordon
Amazon SWF and GordonAmazon SWF and Gordon
Amazon SWF and Gordon
 
IT Automation with Chef
IT Automation with ChefIT Automation with Chef
IT Automation with Chef
 
Automated Deployment with Capistrano
Automated Deployment with CapistranoAutomated Deployment with Capistrano
Automated Deployment with Capistrano
 
Continuous Delivery in Enterprise Environments using Docker, Ansible and Jenkins
Continuous Delivery in Enterprise Environments using Docker, Ansible and JenkinsContinuous Delivery in Enterprise Environments using Docker, Ansible and Jenkins
Continuous Delivery in Enterprise Environments using Docker, Ansible and Jenkins
 
Migration Station at SAS - DevOps for Fusion with Version Control and Continu...
Migration Station at SAS - DevOps for Fusion with Version Control and Continu...Migration Station at SAS - DevOps for Fusion with Version Control and Continu...
Migration Station at SAS - DevOps for Fusion with Version Control and Continu...
 
Bosh 2-0-reloaded
Bosh 2-0-reloadedBosh 2-0-reloaded
Bosh 2-0-reloaded
 
Introduction to chef
Introduction to chefIntroduction to chef
Introduction to chef
 
Hooking Docker With Selenium
Hooking Docker With SeleniumHooking Docker With Selenium
Hooking Docker With Selenium
 
An Introduction into Bosh | anynines
An Introduction into Bosh | anynines An Introduction into Bosh | anynines
An Introduction into Bosh | anynines
 
Cloud Foundry Meetup Tokyo #1 Route service
Cloud Foundry Meetup Tokyo #1 Route serviceCloud Foundry Meetup Tokyo #1 Route service
Cloud Foundry Meetup Tokyo #1 Route service
 

Andere mochten auch

London Community Summit - From Contribution to Authorship
London Community Summit - From Contribution to AuthorshipLondon Community Summit - From Contribution to Authorship
London Community Summit - From Contribution to AuthorshipChef
 
London Community Summit 2016 - Chef Automate
London Community Summit 2016 - Chef AutomateLondon Community Summit 2016 - Chef Automate
London Community Summit 2016 - Chef AutomateChef
 
The caseforawesome
The caseforawesomeThe caseforawesome
The caseforawesomeChef
 
London Community Summit 2016 - Community Update
London Community Summit 2016 - Community UpdateLondon Community Summit 2016 - Community Update
London Community Summit 2016 - Community UpdateChef
 
Chef for beginners module 1
Chef for beginners   module 1Chef for beginners   module 1
Chef for beginners module 1Chef
 
Learning from Configuration Management
Learning from Configuration Management Learning from Configuration Management
Learning from Configuration Management Chef
 
Netflix's Could Migration
Netflix's Could MigrationNetflix's Could Migration
Netflix's Could MigrationChef
 
London Community Summit 2016 - Adopting Chef Compliance
London Community Summit 2016 - Adopting Chef ComplianceLondon Community Summit 2016 - Adopting Chef Compliance
London Community Summit 2016 - Adopting Chef ComplianceChef
 
Intermediate/Compliance training Guide
Intermediate/Compliance training GuideIntermediate/Compliance training Guide
Intermediate/Compliance training GuideChef
 
PuppetConf 2016: Keynote - Sanjay Mirchandani, Puppet CEO
PuppetConf 2016: Keynote - Sanjay Mirchandani, Puppet CEOPuppetConf 2016: Keynote - Sanjay Mirchandani, Puppet CEO
PuppetConf 2016: Keynote - Sanjay Mirchandani, Puppet CEOPuppet
 
11 Ways to Hack Puppet for Fun and Productivity - Luke Kanies - Velocity 2012
11 Ways to Hack Puppet for Fun and Productivity - Luke Kanies - Velocity 201211 Ways to Hack Puppet for Fun and Productivity - Luke Kanies - Velocity 2012
11 Ways to Hack Puppet for Fun and Productivity - Luke Kanies - Velocity 2012Puppet
 
Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅
Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅
Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅승엽 신
 
20150113 secret chef ver03
20150113 secret chef ver0320150113 secret chef ver03
20150113 secret chef ver03Eun Suk Lee
 
Introduction to Chef
Introduction to ChefIntroduction to Chef
Introduction to ChefKnoldus Inc.
 
What is chef - korean
What is chef - koreanWhat is chef - korean
What is chef - koreanSangUk Park
 
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...Animesh Singh
 
Compliance Automation Workshop
Compliance Automation WorkshopCompliance Automation Workshop
Compliance Automation WorkshopChef
 
Puppet과 자동화된 시스템 관리
Puppet과 자동화된 시스템 관리Puppet과 자동화된 시스템 관리
Puppet과 자동화된 시스템 관리Keon Ahn
 

Andere mochten auch (20)

London Community Summit - From Contribution to Authorship
London Community Summit - From Contribution to AuthorshipLondon Community Summit - From Contribution to Authorship
London Community Summit - From Contribution to Authorship
 
London Community Summit 2016 - Chef Automate
London Community Summit 2016 - Chef AutomateLondon Community Summit 2016 - Chef Automate
London Community Summit 2016 - Chef Automate
 
The caseforawesome
The caseforawesomeThe caseforawesome
The caseforawesome
 
vBACD - Introduction to Puppet, Configuration Management and IT Automation So...
vBACD - Introduction to Puppet, Configuration Management and IT Automation So...vBACD - Introduction to Puppet, Configuration Management and IT Automation So...
vBACD - Introduction to Puppet, Configuration Management and IT Automation So...
 
London Community Summit 2016 - Community Update
London Community Summit 2016 - Community UpdateLondon Community Summit 2016 - Community Update
London Community Summit 2016 - Community Update
 
Chef for beginners module 1
Chef for beginners   module 1Chef for beginners   module 1
Chef for beginners module 1
 
Learning from Configuration Management
Learning from Configuration Management Learning from Configuration Management
Learning from Configuration Management
 
Netflix's Could Migration
Netflix's Could MigrationNetflix's Could Migration
Netflix's Could Migration
 
London Community Summit 2016 - Adopting Chef Compliance
London Community Summit 2016 - Adopting Chef ComplianceLondon Community Summit 2016 - Adopting Chef Compliance
London Community Summit 2016 - Adopting Chef Compliance
 
Intermediate/Compliance training Guide
Intermediate/Compliance training GuideIntermediate/Compliance training Guide
Intermediate/Compliance training Guide
 
PuppetConf 2016: Keynote - Sanjay Mirchandani, Puppet CEO
PuppetConf 2016: Keynote - Sanjay Mirchandani, Puppet CEOPuppetConf 2016: Keynote - Sanjay Mirchandani, Puppet CEO
PuppetConf 2016: Keynote - Sanjay Mirchandani, Puppet CEO
 
11 Ways to Hack Puppet for Fun and Productivity - Luke Kanies - Velocity 2012
11 Ways to Hack Puppet for Fun and Productivity - Luke Kanies - Velocity 201211 Ways to Hack Puppet for Fun and Productivity - Luke Kanies - Velocity 2012
11 Ways to Hack Puppet for Fun and Productivity - Luke Kanies - Velocity 2012
 
Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅
Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅
Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅
 
20150113 secret chef ver03
20150113 secret chef ver0320150113 secret chef ver03
20150113 secret chef ver03
 
Introduction to Chef
Introduction to ChefIntroduction to Chef
Introduction to Chef
 
Chef 소개
Chef 소개Chef 소개
Chef 소개
 
What is chef - korean
What is chef - koreanWhat is chef - korean
What is chef - korean
 
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...
 
Compliance Automation Workshop
Compliance Automation WorkshopCompliance Automation Workshop
Compliance Automation Workshop
 
Puppet과 자동화된 시스템 관리
Puppet과 자동화된 시스템 관리Puppet과 자동화된 시스템 관리
Puppet과 자동화된 시스템 관리
 

Ähnlich wie London Community Summit 2016 - Habitat

Taking Control of Chaos with Docker and Puppet
Taking Control of Chaos with Docker and PuppetTaking Control of Chaos with Docker and Puppet
Taking Control of Chaos with Docker and PuppetPuppet
 
Docker puppetcamp london 2013
Docker puppetcamp london 2013Docker puppetcamp london 2013
Docker puppetcamp london 2013Tomas Doran
 
Preparation study of_docker - (MOSG)
Preparation study of_docker  - (MOSG)Preparation study of_docker  - (MOSG)
Preparation study of_docker - (MOSG)Soshi Nemoto
 
Docksal: Better than VMs
Docksal:  Better than VMsDocksal:  Better than VMs
Docksal: Better than VMsLeonid Makarov
 
habitat at docker bud
habitat at docker budhabitat at docker bud
habitat at docker budMandi Walls
 
Altoros Cloud Foundry Training: hands-on workshop for DevOps, Architects and ...
Altoros Cloud Foundry Training: hands-on workshop for DevOps, Architects and ...Altoros Cloud Foundry Training: hands-on workshop for DevOps, Architects and ...
Altoros Cloud Foundry Training: hands-on workshop for DevOps, Architects and ...Manuel Garcia
 
Ruby and Rails Packaging to Production
Ruby and Rails Packaging to ProductionRuby and Rails Packaging to Production
Ruby and Rails Packaging to ProductionFabio Kung
 
Luca Ceresoli - Buildroot vs Yocto: Differences for Your Daily Job
Luca Ceresoli - Buildroot vs Yocto: Differences for Your Daily JobLuca Ceresoli - Buildroot vs Yocto: Differences for Your Daily Job
Luca Ceresoli - Buildroot vs Yocto: Differences for Your Daily Joblinuxlab_conf
 
Mastering Docker on a Raspberry Pi
Mastering Docker on a Raspberry PiMastering Docker on a Raspberry Pi
Mastering Docker on a Raspberry PiTeam Hypriot
 
Ruby microservices with Docker - Sergii Koba
Ruby microservices with Docker -  Sergii KobaRuby microservices with Docker -  Sergii Koba
Ruby microservices with Docker - Sergii KobaRuby Meditation
 
ASP.NET 5 auf Raspberry PI & docker
ASP.NET 5 auf Raspberry PI & dockerASP.NET 5 auf Raspberry PI & docker
ASP.NET 5 auf Raspberry PI & dockerJürgen Gutsch
 
DevOPS training - Day 2/2
DevOPS training - Day 2/2DevOPS training - Day 2/2
DevOPS training - Day 2/2Vincent Mercier
 
Using Minikube for Node.js development
Using Minikube for Node.js developmentUsing Minikube for Node.js development
Using Minikube for Node.js developmentTroy Connor
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to DockerKuan Yen Heng
 
Jak se ^bonami\.(cz|pl|sk)$ vešlo do kontejneru
Jak se ^bonami\.(cz|pl|sk)$ vešlo do kontejneruJak se ^bonami\.(cz|pl|sk)$ vešlo do kontejneru
Jak se ^bonami\.(cz|pl|sk)$ vešlo do kontejneruVašek Boch
 
Breaking bad habits with GitLab CI
Breaking bad habits with GitLab CIBreaking bad habits with GitLab CI
Breaking bad habits with GitLab CIIvan Nemytchenko
 
Marco Cavallini - Yocto Project, an automatic generator of embedded Linux dis...
Marco Cavallini - Yocto Project, an automatic generator of embedded Linux dis...Marco Cavallini - Yocto Project, an automatic generator of embedded Linux dis...
Marco Cavallini - Yocto Project, an automatic generator of embedded Linux dis...linuxlab_conf
 

Ähnlich wie London Community Summit 2016 - Habitat (20)

Taking Control of Chaos with Docker and Puppet
Taking Control of Chaos with Docker and PuppetTaking Control of Chaos with Docker and Puppet
Taking Control of Chaos with Docker and Puppet
 
Docker puppetcamp london 2013
Docker puppetcamp london 2013Docker puppetcamp london 2013
Docker puppetcamp london 2013
 
Preparation study of_docker - (MOSG)
Preparation study of_docker  - (MOSG)Preparation study of_docker  - (MOSG)
Preparation study of_docker - (MOSG)
 
Docksal: Better than VMs
Docksal:  Better than VMsDocksal:  Better than VMs
Docksal: Better than VMs
 
habitat at docker bud
habitat at docker budhabitat at docker bud
habitat at docker bud
 
Rexdockercon2017
Rexdockercon2017Rexdockercon2017
Rexdockercon2017
 
Altoros Cloud Foundry Training: hands-on workshop for DevOps, Architects and ...
Altoros Cloud Foundry Training: hands-on workshop for DevOps, Architects and ...Altoros Cloud Foundry Training: hands-on workshop for DevOps, Architects and ...
Altoros Cloud Foundry Training: hands-on workshop for DevOps, Architects and ...
 
Ruby and Rails Packaging to Production
Ruby and Rails Packaging to ProductionRuby and Rails Packaging to Production
Ruby and Rails Packaging to Production
 
Luca Ceresoli - Buildroot vs Yocto: Differences for Your Daily Job
Luca Ceresoli - Buildroot vs Yocto: Differences for Your Daily JobLuca Ceresoli - Buildroot vs Yocto: Differences for Your Daily Job
Luca Ceresoli - Buildroot vs Yocto: Differences for Your Daily Job
 
Mastering Docker on a Raspberry Pi
Mastering Docker on a Raspberry PiMastering Docker on a Raspberry Pi
Mastering Docker on a Raspberry Pi
 
Firebird on Linux
Firebird on LinuxFirebird on Linux
Firebird on Linux
 
Ruby microservices with Docker - Sergii Koba
Ruby microservices with Docker -  Sergii KobaRuby microservices with Docker -  Sergii Koba
Ruby microservices with Docker - Sergii Koba
 
ASP.NET 5 auf Raspberry PI & docker
ASP.NET 5 auf Raspberry PI & dockerASP.NET 5 auf Raspberry PI & docker
ASP.NET 5 auf Raspberry PI & docker
 
DevOPS training - Day 2/2
DevOPS training - Day 2/2DevOPS training - Day 2/2
DevOPS training - Day 2/2
 
CentOS at Facebook
CentOS at FacebookCentOS at Facebook
CentOS at Facebook
 
Using Minikube for Node.js development
Using Minikube for Node.js developmentUsing Minikube for Node.js development
Using Minikube for Node.js development
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Jak se ^bonami\.(cz|pl|sk)$ vešlo do kontejneru
Jak se ^bonami\.(cz|pl|sk)$ vešlo do kontejneruJak se ^bonami\.(cz|pl|sk)$ vešlo do kontejneru
Jak se ^bonami\.(cz|pl|sk)$ vešlo do kontejneru
 
Breaking bad habits with GitLab CI
Breaking bad habits with GitLab CIBreaking bad habits with GitLab CI
Breaking bad habits with GitLab CI
 
Marco Cavallini - Yocto Project, an automatic generator of embedded Linux dis...
Marco Cavallini - Yocto Project, an automatic generator of embedded Linux dis...Marco Cavallini - Yocto Project, an automatic generator of embedded Linux dis...
Marco Cavallini - Yocto Project, an automatic generator of embedded Linux dis...
 

Mehr von Chef

Habitat Managed Chef
Habitat Managed ChefHabitat Managed Chef
Habitat Managed ChefChef
 
Automation, Audits, and Apps Tour
Automation, Audits, and Apps TourAutomation, Audits, and Apps Tour
Automation, Audits, and Apps TourChef
 
Automation, Audits, and Apps Tour
Automation, Audits, and Apps TourAutomation, Audits, and Apps Tour
Automation, Audits, and Apps TourChef
 
London Community Summit - Chef at SkyBet
London Community Summit - Chef at SkyBetLondon Community Summit - Chef at SkyBet
London Community Summit - Chef at SkyBetChef
 
Compliance Automation with Inspec Part 3
Compliance Automation with Inspec Part 3Compliance Automation with Inspec Part 3
Compliance Automation with Inspec Part 3Chef
 
Compliance Automation with Inspec Part 2
Compliance Automation with Inspec Part 2Compliance Automation with Inspec Part 2
Compliance Automation with Inspec Part 2Chef
 
Compliance Automation with Inspec Part 1
Compliance Automation with Inspec Part 1Compliance Automation with Inspec Part 1
Compliance Automation with Inspec Part 1Chef
 
Application Automation with Habitat
Application Automation with HabitatApplication Automation with Habitat
Application Automation with HabitatChef
 
Achieving DevOps Success with Chef Automate
Achieving DevOps Success with Chef AutomateAchieving DevOps Success with Chef Automate
Achieving DevOps Success with Chef AutomateChef
 
Nike popup compliance workshop
Nike popup compliance workshopNike popup compliance workshop
Nike popup compliance workshopChef
 
Alaska Airlines DevOps Journey
Alaska Airlines DevOps JourneyAlaska Airlines DevOps Journey
Alaska Airlines DevOps JourneyChef
 
And The Slow Suffer What They Must
And The Slow Suffer What They MustAnd The Slow Suffer What They Must
And The Slow Suffer What They MustChef
 
Visualizing your journey with chef
Visualizing your journey with chefVisualizing your journey with chef
Visualizing your journey with chefChef
 
The New IT Game
The New IT GameThe New IT Game
The New IT GameChef
 
How to Accelerate Agile, Lean and DevOps Adoption Across Your Organization
How to Accelerate Agile, Lean and DevOps Adoption Across Your OrganizationHow to Accelerate Agile, Lean and DevOps Adoption Across Your Organization
How to Accelerate Agile, Lean and DevOps Adoption Across Your OrganizationChef
 
Our DevOps Journey - An Exercise in Cultural Change
Our DevOps Journey - An Exercise in Cultural ChangeOur DevOps Journey - An Exercise in Cultural Change
Our DevOps Journey - An Exercise in Cultural ChangeChef
 
Azure handsonlab
Azure handsonlabAzure handsonlab
Azure handsonlabChef
 
Chef andwindows reactor
Chef andwindows reactorChef andwindows reactor
Chef andwindows reactorChef
 

Mehr von Chef (18)

Habitat Managed Chef
Habitat Managed ChefHabitat Managed Chef
Habitat Managed Chef
 
Automation, Audits, and Apps Tour
Automation, Audits, and Apps TourAutomation, Audits, and Apps Tour
Automation, Audits, and Apps Tour
 
Automation, Audits, and Apps Tour
Automation, Audits, and Apps TourAutomation, Audits, and Apps Tour
Automation, Audits, and Apps Tour
 
London Community Summit - Chef at SkyBet
London Community Summit - Chef at SkyBetLondon Community Summit - Chef at SkyBet
London Community Summit - Chef at SkyBet
 
Compliance Automation with Inspec Part 3
Compliance Automation with Inspec Part 3Compliance Automation with Inspec Part 3
Compliance Automation with Inspec Part 3
 
Compliance Automation with Inspec Part 2
Compliance Automation with Inspec Part 2Compliance Automation with Inspec Part 2
Compliance Automation with Inspec Part 2
 
Compliance Automation with Inspec Part 1
Compliance Automation with Inspec Part 1Compliance Automation with Inspec Part 1
Compliance Automation with Inspec Part 1
 
Application Automation with Habitat
Application Automation with HabitatApplication Automation with Habitat
Application Automation with Habitat
 
Achieving DevOps Success with Chef Automate
Achieving DevOps Success with Chef AutomateAchieving DevOps Success with Chef Automate
Achieving DevOps Success with Chef Automate
 
Nike popup compliance workshop
Nike popup compliance workshopNike popup compliance workshop
Nike popup compliance workshop
 
Alaska Airlines DevOps Journey
Alaska Airlines DevOps JourneyAlaska Airlines DevOps Journey
Alaska Airlines DevOps Journey
 
And The Slow Suffer What They Must
And The Slow Suffer What They MustAnd The Slow Suffer What They Must
And The Slow Suffer What They Must
 
Visualizing your journey with chef
Visualizing your journey with chefVisualizing your journey with chef
Visualizing your journey with chef
 
The New IT Game
The New IT GameThe New IT Game
The New IT Game
 
How to Accelerate Agile, Lean and DevOps Adoption Across Your Organization
How to Accelerate Agile, Lean and DevOps Adoption Across Your OrganizationHow to Accelerate Agile, Lean and DevOps Adoption Across Your Organization
How to Accelerate Agile, Lean and DevOps Adoption Across Your Organization
 
Our DevOps Journey - An Exercise in Cultural Change
Our DevOps Journey - An Exercise in Cultural ChangeOur DevOps Journey - An Exercise in Cultural Change
Our DevOps Journey - An Exercise in Cultural Change
 
Azure handsonlab
Azure handsonlabAzure handsonlab
Azure handsonlab
 
Chef andwindows reactor
Chef andwindows reactorChef andwindows reactor
Chef andwindows reactor
 

Kürzlich hochgeladen

Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 

Kürzlich hochgeladen (20)

Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 

London Community Summit 2016 - Habitat

  • 1. Application Automation with Habitat Simon Fisher / Fletcher Nichol
  • 2.
  • 3.
  • 4. Errno::EACCES: Permission denied - /home/----- /#####/-----/vendor/bundle/ruby/1.9.1/cache/bundler /home/-----/.rvm/rubies/ruby-1.9.3- p551/lib/ruby/1.9.1/fileutils.rb:247:in `mkdir' /home/-----/.rvm/rubies/ruby-1.9.3- p551/lib/ruby/1.9.1/fileutils.rb:247:in `fu_mkdir' /home/-----/.rvm/rubies/ruby-1.9.3- p551/lib/ruby/1.9.1/fileutils.rb:221:in `block (2 levels) in mkdir_p' /home/-----/.rvm/rubies/ruby-1.9.3- p551/lib/ruby/1.9.1/fileutils.rb:219:in `reverse_each' /home/-----/.rvm/rubies/ruby-1.9.3- p551/lib/ruby/1.9.1/fileutils.rb:219:in `block in mkdir_p'
  • 5.
  • 6.
  • 7. include_recipe 'nginx::default’ template "#{node['dafne_online']['deploy_base']}/shared/config/nginx.conf" do source 'nginx_conf.erb’ owner 'rails’ group 'admin’ mode '0644’ notifies :restart, 'service[nginx]’ end
  • 8. deploy node['dafne_online']['deploy_base'] do repository "https://#{node['dafne_online']['git_user']}:#{git_pw}@dafneonline.git.cloudforge.com/dafneonline.git" rollback_on_error true environment rails_user_env restart_command 'sudo -H -u rails bash -c "export PATH=/opt/rubies/2.2.3/bin:$PATH && /etc/init.d/unicorn_dafneonline restart"’ action :deploy symlinks shared_hash user node['dafne_online']['deploy_user'] group 'admin’ before_symlink do execute 'bundle install' do command "bundle install --path #{node['dafne_online']['deploy_base']}/shared/bundle --without development test --deployment --quiet” user node['dafne_online']['deploy_user'] environment rails_user_env cwd release_path action :run end end before_restart do link '/etc/init.d/unicorn_dafneonline' do to '/home/rails/apps/dafneonline/current/config/unicorn_init.sh’ end template "#{node['dafne_online']['deploy_base']}/current/config/unicorn.rb" do source 'unicorn.rb.erb' owner node['dafne_online']['deploy_user'] group 'admin’ mode 00744 end execute 'compile assets' do command "RAILS_ENV=#{node['dafne_online']['rails_env']} bundle exec rake assets:precompile” user node['dafne_online']['deploy_user'] environment rails_user_env cwd release_path action :run end end after_restart do execute 'notify Airbrake of deployment' do command "RAILS_ENV=#{node['dafne_online']['rails_env']} bundle exec rake airbrake:deploy TO=#{node['dafne_online']['rails_env']} REVISION= REPO=https://dafneonline.git.cloudforge.com/dafneonline.git USER=#{node['dafne_online']['deploy_user']}” environment rails_user_env user node['dafne_online']['deploy_user'] cwd release_path action :run end end end
  • 9. 9
  • 10. Habitat Technology Plan Artifact Depot Build Service Supervis or Supervis or Supervis or Supervis or Ring Bare Metal Containers AMI VM Depot Build Service & Workflow Package Format Artifact Distribution Server Artifact Distribution Server Intelligent Run-Time Supervisor w/REST API Source Code Repo Supervisor Supervisor
  • 12. What’s New? Habitat features and updates post-launch 2016
  • 13. Package Search from Command Line $ hab pkg search hab-studio core/hab-studio/0.10.0/20160929200453 core/hab-studio/0.10.0/20160929200924 core/hab-studio/0.10.1/20160929223112 core/hab-studio/0.10.2/20160930230930 core/hab-studio/0.6.0/20160612082608 core/hab-studio/0.6.0/20160613075329 core/hab-studio/0.7.0/20160614232531 core/hab-studio/0.8.0/20160708162421 core/hab-studio/0.8.0/20160729121901 core/hab-studio/0.8.0/20160729180228 core/hab-studio/0.8.0/20160729195909 core/hab-studio/0.9.0/20160815225526 core/hab-studio/0.9.1/20160901205418 core/hab-studio/0.9.3/20160916192516 core/hab-studio/0.9.3/20160922234920 core/hab-studio/0.9.3/20160926154214
  • 14. Improved Proxy Support • Supports $http_proxy, $https_proxy, $no_proxy environment variables • Basic authentication • Propagate into Studios
  • 15. Iterate Service Configurations Quicker using –config-from • Faster iteration of configuration templates during plan development • $ hab start yourorigin/yourpackage --config-from /path/to/config • Intended only for development
  • 16. Improved Root/Non-Root Behavior via sudo • Drop the need to prefix most hab commands with sudo • Entering a Studio with sudo detects user’s key cache (not root’s) • $ hab setup; sudo hab studio enter • Future release will “auto-sudo” when using Studio subcommands
  • 17. Better Mac Docker/Studio Upgrading • Mac uses a Docker image for Linux Studio • Runs Docker image with same version as hab CLI • On upgrading hab CLI, new Docker image automatically pulled
  • 18. Process: Release Train Model • Userland tooling: hab CLI, Supervisor, Director • Every second Thursday, cut from master • Typically a minor version revision • Features ship when ready and early features will hide behind feature flags
  • 19. Process: (Upcoming) Continuous Deployment • Platform infrastructure: web site, Depot, Builder • Packages built off master and published to Depot • Platform upgrades when new packages publish • Decoupled release from userland tooling
  • 20. Builder: A Distributed Build Service • Micro service architecture, built with Habitat in mind • Habitat runs on Habitat • Upcoming: early access to build a package on the platform via feature flag/invite • Upcoming: building packages on pushes to GitHub • Upcoming: dependent package rebuilding • More details: “Habitat 301: Building Habitats” ChefConf 2016 Talk by Jamie Winsor
  • 21. Expanding Horizons: Windows • Bring Mac Habitat experience to Windows • Building hab CLI • Upcoming: ship first hab packages for Windows • Upcoming: native Windows Habitat packages • Upcoming: Supervisor running on Windows
  • 22. Contribute to “Habtoberfest”! • Habitat participating in Digital Ocean’s Hacktoberfest event • Runs October 1st through 31st • Make 4 pull requests (on any FOSS project), earn a limited edition Hacktoberfest T-shirt • Habitat repo has “Hacktoberfest” tagged issues • http://hacktoberfest.digitalocean.com
  • 23. Help Shape the Direction of Habitat • Try out Habitat https://www.habitat.sh/try/ • Build a package • Try out use cases, contact us when: you win, you come up short, (i.e. anytime) • Join us in HabiChat http://slack.habitat.sh/ • We’re at a Community Summit—let’s talk!

Hinweis der Redaktion

  1. And that’s basically how it comes together. You, as a user, make plans that get turned into artifacts that are accessible via a depot. Supervisors then pick up and run those artifacts on a variety of platforms and are equipped to make decisions about how they’re configured as they are starting up their child process (i.e. at runtime). Your applications can act autonomously and are equipped to make decisions about how they manage and update themselves. They intercommunicate securely and the supervisors all constantly watch, update, and share the status of the entire cluster with each other. Bam! That’s how Habitat works.