habitat.sh

Current

Builder

Scaffolding

Scaffolding is a way for a new user who is using a common development pattern to use a predefined pkg_scaffolding, and then have Habitat create default implementations for your application's build phases, run hooks, and default health check hooks. The idea is to make it super easy for new users who have applications with standard web stacks to get started with Habitat without needing to do much or any additional customization. Read the docs to learn more.

There are currently scaffoldings written for Ruby and Node.js, with more to come. Let us know if there is a particular scaffolding you would like to see!

  • IDEA 018 - Build a Scaffolding for Ruby on Rails

    Released

    Archived

  • IDEA 019 - Build a Scaffolding for Node.js

    Released

    Archived

  • IDEA 020 - Build a Scaffolding for PHP

    Queued for Dev

    Visible on portal

  • IDEA 022 - Scaffolding for Go

    In Development

    Active

Supervisor

Supervisor Event Stream

There are a few pieces to this task.

  • A separate event service that receives events from the supervisor on a zeromq socket and publishes those events out to anything that's listening. Listening processes will subscribe to the zeromq socket that the event service publishes.
  • An internal queue that the supervisor maintains where event data is deposited. This could be represented as a file on the filesystem.

There should be a separate thread in the supervisor that's taking the event data from the census and putting it into the internal queue for publishing. If the supervisor isn't configured to talk to the event service, then it doesn't do anything at all.

The event data that's put into the queue is the "me" portion of the census, e.g. each supervisor puts what it knows about itself (in its entirety, not a diff) onto the queue every time it changes.

Habitat.sh

New User On-Boarding

Work on streamlining the new user experience so that, upon navigating to habitat.sh, a user can:

- watch a short video to understand what habitat is
- try a demo to see the benefits of the habitat runtime capabilities
- package a sample application to understand how the build system works
- package their own application successfully and publish it to the habitat depot
- create a user and interact with available packages and tools on the depot

User Growth
  • IDEA 017 - New Tutorial for Building and Running Your own Application for the First Time

    Queued for Dev

    Visible on portal

Near term

Builder

Windows Supervisor & Build Services

In Progress: Working on Windows Supervisors

As you may have noticed, we have a bunch of work landing to support Windows supervisors. This work is still very early, and if you are interested in kicking the tires, we recommend you join us in our Habitat Community Slack team and join the #windows channel to learn more.

Ecosystem

Export Integration: Dockerhub

Build a slimmer and optimized version of *.hart exports to Dockerhub, to be more in line with what docker users expect. 

Ecosystem

Export Integration: AMI

Add ability to export a *.hart package directly into an AMI format, to be easy to use for AWS users.

Supervisor

Event Aggregator

Have a queue that aggregates all of the events from the Supervisor Event Stream to power visualizations and visibility about the health and current status of the members of your Habitat ring. 

Streaming Log Output
supervisor

Future

Builder

Compliance + Build Service

Add the ability for the Habitat.sh build service to be aware of issued CVEs for dependencies of your application, and to alert users that a CVE has been issued for a package that their application depends on, and to rebuild those dependencies so users can quickly rebuild their application to be in compliance. 

  • IDEA 015 - CVE Mapped to Packages

    Queued for Dev

    Visible on portal

  • IDEA 016 - Message Vulnerabilities

    Queued for Dev

    Visible on portal

Builder

Builder Neighborhoods: builder service for private applications

Add the ability for a user to easily install a private build service node wherever they would like to have it (i.e. on the cloud, on prem, behind a firewall, air-gapped, etc.), to power pro-active reverse dependency builds of their own unique packages on demand and as underlying dependencies change and need updates. 

  • IDEA 009 - Package Persistance Solution

    Queued for Dev

    Active

  • IDEA 010 - Authentication between Private & Public Build Nodes

    Queued for Dev

    Active

  • IDEA 011 - Private Build Service: One Button Set-Up

    Queued for Dev

    Visible on portal

  • IDEA 012 - Private Build Service: Registration

    Queued for Dev

    Active

  • IDEA 013 - Private Build Service: Extend Scheduler to Connect to Sub-Gate

    Queued for Dev

    Visible on portal

  • IDEA 014 - Private Build Service: Solve for Origin Namespace Collision

    Queued for Dev

    Visible on portal

Supervisor

Upgradeable Supervisor

A supervisor should be able to upgrade itself from one version of Habitat to another, without causing a service impact. 

Supervisor

Supervisor: Garbage Collection

Ensure that gossiped messages are properly deleted by the system and that we add garbage collection to the gossip protocol. 

Ecosystem

Export Integration: Bitbucket

Add bitbucket integration so that users can easily export their habitat *.hart packages to bitbucket.

Ecosystem

Export Integration: Artifactory

Add artifactory integration so that users can easily export their habitat *.hart packages to Artifactory.