hull create
hull create scaffolds a ready-to-edit hull package — a working
Deployment + Service with values already wired in — in a new directory.
When to use it
- You want a working starter you can render and edit immediately, not a menu of layouts.
- You want the batteries-included set: a helpers partial, notes, and a
.hullignorealready in place. - For a choice of workload shapes (webapp, batch, operator, blank) use
hull initinstead.
What happens
- Creates a directory named after
<name>(fails if it already exists). - Writes
hull.yaml(name,version,description) and avalues.yamlseeded withreplicaCount,image, andservice.port. - Writes a
templates/directory:deployment.yaml,service.yaml, a_helpers.yamlpartial, andnotes.yaml. - Writes a
.hullignorelisting patterns to skip when packaging. - Prints
created package <name>/.
The templates read the seeded values via ${values.*}, so the package
renders and lints as-is. Edit the files, then run hull lint and
hull template.
Usage
hull create <name> [flags]
Flags
Inherits the global flags.
Worked example
Scaffold a package called myapp:
hull create myapp
OUTPUT:
created package myapp/
What you now have on disk:
myapp/
├── .hullignore
├── hull.yaml
├── values.yaml
└── templates/
├── _helpers.yaml
├── deployment.yaml
├── notes.yaml
└── service.yaml
values.yaml sets replicaCount: 1, image.repository: nginx, and
service.port: 80, and the templates reference those values, so the package
renders straight away:
cd myapp
hull template .
Change replicaCount or the image in values.yaml and re-render to watch
the manifest update.