Skip to content

Organizing with Namespaces ​

This guide explains how Wanaku namespaces work and how to use them to isolate tools and resources across environments or teams.

What You Will Learn ​

  • What namespaces are and when to use them
  • Creating and managing namespaces
  • Isolating tools and resources per namespace
  • Listing and managing resources within a namespace

What You Will Need ​

Step 1: Understanding namespaces ​

A namespace in Wanaku is a logical partition that isolates tools and resources. By default, every tool and resource you add belongs to the default namespace. Using namespaces you can:

  • Keep development tools separate from production tools
  • Allow different teams to manage their own tool sets without conflicts
  • Organize tools by environment or team without restarting Wanaku

Think of namespaces like separate workspaces — the router is the same, but each namespace has its own catalog of tools and resources.

Step 2: Creating a namespace ​

To create a new namespace, use the wanaku namespaces create command:

shell
wanaku namespaces create --path /dev --name dev

You should see output confirming the namespace was created.

Create a second namespace for staging:

shell
wanaku namespaces create --path /staging --name staging

Step 3: Listing namespaces ​

To see all available namespaces:

shell
wanaku namespaces list

Expected output:

text
NAME       CREATED
default    ...
dev        ...
staging    ...

Step 4: Adding tools to a specific namespace ​

When adding tools, use the -N / --namespace flag to target a specific namespace:

shell
wanaku tools add \
  --name get-dev-config \
  --uri https://config.internal/dev \
  --description "Get dev environment configuration" \
  --type http \
  --namespace dev

Add a different tool to the staging namespace:

shell
wanaku tools add \
  --name get-staging-config \
  --uri https://config.internal/staging \
  --description "Get staging environment configuration" \
  --type http \
  --namespace staging

Step 5: Listing tools and their namespaces ​

To see all registered tools along with the namespace each one belongs to:

shell
wanaku tools list

The output includes a namespace column so you can identify which tools belong to which namespace.

When to use namespaces ​

Use CaseRecommendation
Single developer, single projectUse the default namespace
Multiple environments (dev/staging/prod)Create one namespace per environment
Multiple teams sharing one Wanaku instanceCreate one namespace per team
Temporary experimentsCreate a throwaway namespace and delete it when done

What's Next? ​

If you find a bug, please report it. To get in touch with the community, visit the Wanaku project.