For the new pack developer, it's not known that these values are overwritten on `draft up`. Removing these will make it easier for new pack devs to approach pack development.
Not all applications deployed are HTTP/1.1 applications, and not all of them
respond with a 2xx or a 3xx status code at /. A few examples would be
draftd, tiller, Deis' builder.
These values have been bubbled up into `image.repository`. Some registries do not have organizations
and `image.name` was never being changed, so it made sense to simplify the verbiage.
With this re-write of the `draft create` codebase, Draft will:
- detect a pack
- write the chart into chart/packname/
This differs from the existing behaviour because the current implementation writes the chart directly to chart/. This allows users to run `helm lint chart/packname` and more importantly, `helm package chart/packname`.
For users migrating over from Deis Workflow (or from an application that follows 12 Factor best practices), it is common for the app to specify the listening port as $PORT. By providing this environment variable by default, applications like deis/example-python-flask can be deployed by Draft by simply calling `draft create && draft up`.
This replaces the hard-coded built-in packs with a generator that uses
go-bindata to read the `packs/` directory and generate an internal
representation that is compiled into the binary.
It adds the make target `generate`, which is called by the build and
cross-compile steps.
Doing things this way has the following advantages:
- Managing built-in packs is much easier (see #95)
- The packed binaries are compressed, so overall memory footprint is
smaller
The main disadvantage is that it is harder to share files across the
packs. However, it is likely that these paks would diverge over time
anyway.