habitat.sh

Current

Supervisor

Composite Packages

A composite package is a package that runs multiple services. It is composed of multiple plans. There is a one to one mapping between a composite plan and a Supervisor. 

Example: 

nginx + app server

php with its many services 

single node for demo environment with front end & backend combined in docker container

supervisor
Builder

Github Webhook

As a Builder user, I want to choose a Git branch to monitor for changes and, when a change is made, automatically issue a build and publish a new artifact to a depot, so I always have a package for the latest HEAD of the given branch

Criteria of acceptance

A project can be configured to watch a branch (master by default)Pushing a commit to the watched branch automatically builds and uploads a new .hart to the depot

https://github.com/habitat-sh/habitat/issues/1857

Builder

Publishing

Add the ability for users to publish their Habitat built packages to other artifact stores that are appropriate for their workflow.

  • IDEA 024 - Export a docker image to dockerhub

    Queued for Dev

  • IDEA 025 - Export an AMI to AWS

    Queued for Dev

  • IDEA 026 - Expose Publishing phase in Builder UI

    Queued for Dev

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

Near term

Builder

Make Public Builder power everyone's builds

Open up the proactive build service of builder to all users who turn it on, for both private and public packages.

  • IDEA 027 - Add the ability to link a Habitat package to a plan in a github repo in the UI. https://github.com/habitat-sh/habitat/issues/2889

    Queued for Dev

  • IDEA 028 - Add the ability for users to specify packages for private builds by Builder, and have those packages automatically rebuilt and kept up to date as their source code or underlying dependencies are updated.

    Queued for Dev

  • IDEA 029 - Add Windows workers to automatically rebuild Windows packages.

    New idea

  • IDEA 030 - Add ReadMe to packages page

    Queued for Dev

  • IDEA 031 - Add support for private github repos

    New idea

Builder

Webhooks for Builder

We need a mechanism for notifying external systems of build and publish status for packages. This is often manifested in an HTTP callback known as a WebHook.

We should aim at a minimum to support WebHook notifications for

  • Build finish - with a payload containing the status and information about the generated artifact
  • Publish finish (i.e. Docker Hub export) - with the same payload as above

https://github.com/habitat-sh/habitat/issues/2891

Future

Builder

Add a "Favorites" page to Builder UI

As a user, I would like to be able to save packages that I am interested in easily and be able to reference a list of them later.

Builder

Add "New Build" alerts to UI

As a user, I would like to have an indicator alert when there is a new build for me to consume or use.

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

Supervisor: Garbage Collection

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