Getting Started

Get sew installed and deploy your first application stack in under a minute.

Prerequisites#

  • Go 1.25+ – sew is installed via go install
  • Docker – sew uses it under the hood for Kind clusters

Install#

go install github.com/a-cordier/sew@latest

For Homebrew, Linux packages, and other options, see Installation.

Create your first cluster#

You don’t even need a config file to get started. Pick a context from the registry and deploy it in one command:

sew create --from gravitee.io/oss/apim

That’s it. sew creates a Kind cluster, installs the Helm repos and components defined by the context, and gives you a full Gravitee API Management stack.

Once the cluster is ready, you can inspect it:

sew list        # shows running clusters
sew describe    # shows features, networking, and active flags for the current cluster

Before creating a cluster, you can preview what a context offers with sew info:

sew info --from gravitee.io/oss/apim

This shows the component list, available context flags (optional toggles like --no-es to disable Elasticsearch), and enabled features.

When you’re done:

sew delete

Using a config file#

For anything beyond a quick test, you’ll want a sew.yaml file. It lets you compose multiple contexts, add your own components, and configure networking:

from:
  - gravitee.io/oss/apim

Then just run sew create without flags. The config file is where things get interesting – you can layer contexts, override values, enable DNS, and more. See Composing Contexts for the full story.

What just happened?#

Whether you used --from or a config file, sew did the same thing behind the scenes:

  1. Fetched the context from the registry – a sew.yaml describing which Helm charts and Kubernetes manifests to deploy, and how.
  2. Created a Kind cluster with the port mappings, nodes, and settings specified by the context.
  3. Installed components in dependency order – adding Helm repos, running helm upgrade --install, and applying Kubernetes manifests.

You didn’t need to write any Helm commands, manage chart repos, or wire up port mappings. The context handled it. See Architecture for the full picture of how these components interact.

What’s next?#