Weave Net website screenshot

Weave Net

Weave Net is an open source container networking plugin that creates a virtual network connecting Docker containers and Kubernetes pods across multiple hosts. It provides automatic IP address management (IPAM), DNS resolution via WeaveDNS, network policy enforcement, and optional encryption for container-to-container communication. The Weave Net daemon exposes a local HTTP API on port 6784 for programmatic network management. Weave Net is maintained by Weaveworks and is archived but remains widely used in production environments.

1 APIs 7 Features
ContainersNetworkingKubernetesDockerIPAMOpen SourceCNCF

APIs

Weave Net HTTP API

The Weave Net local HTTP API exposed on port 6784 for managing container networking including IP address allocation (IPAM), peer connections, WeaveDNS registration, and network ...

Collections

Pricing Plans

Weave Net Plans Pricing

3 plans

PLANS

Rate Limits

Weave Net Rate Limits

5 limits

RATE LIMITS

FinOps

Features

Container Overlay Network

Creates a virtual network connecting containers across multiple hosts without requiring any configuration of the physical network.

Automatic IPAM

Automatically allocates IP addresses to containers from a configurable subnet using distributed consensus.

WeaveDNS

Built-in DNS resolution for containers by hostname, making services discoverable by name on the Weave network.

Network Encryption

Optional encryption of all network traffic using NaCl for secure container-to-container communication.

Kubernetes Integration

Native Kubernetes CNI plugin for pod-to-pod networking across nodes.

Docker Integration

Docker network plugin for seamless multi-host Docker container networking.

Fast Datapath

Kernel-level packet forwarding using Open vSwitch for high-performance networking.

Use Cases

Multi-Host Docker Networking

Connect Docker containers across multiple physical or virtual machines without complex network configuration.

Kubernetes Pod Networking

Provide pod-to-pod networking for Kubernetes clusters as a CNI-compliant network plugin.

Automated IP Management

Automate container IP allocation and release in orchestration workflows.

Service Discovery

Enable container service discovery by DNS name using WeaveDNS.

Semantic Vocabularies

Weave Net Context

8 classes · 19 properties

JSON-LD

API Governance Rules

Weave Net API Rules

22 rules · 8 errors 8 warnings 6 info

SPECTRAL

JSON Structure

Weave Net Connect Request Structure

2 properties

JSON STRUCTURE

Weave Net Connection Info Structure

3 properties

JSON STRUCTURE

Weave Net Dns Status Structure

2 properties

JSON STRUCTURE

Weave Net Ipam Status Structure

4 properties

JSON STRUCTURE

Weave Net Peer Info Structure

3 properties

JSON STRUCTURE

Weave Net Router Status Structure

3 properties

JSON STRUCTURE

Weave Net Status Response Structure

4 properties

JSON STRUCTURE

Example Payloads

Weave Net Dns Status Example

2 fields

EXAMPLE

Weave Net Peer Info Example

3 fields

EXAMPLE

Resources

🔗
LinkedIn
LinkedIn
👥
GitHubRepository
GitHubRepository
👥
GitHubOrganization
GitHubOrganization
📜
TermsOfService
TermsOfService
🔗
Security
Security
📄
ChangeLog
ChangeLog
💬
Support
Support
🔗
SpectralRules
SpectralRules
🔗
Vocabulary
Vocabulary

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Weave Net HTTP API
  version: 2.0.0
items:
- info:
    name: Status
    type: folder
  items:
  - info:
      name: Weave Net Get Status
      type: http
    http:
      method: GET
      url: http://127.0.0.1:6784/status
    docs: Returns the status of the Weave Net daemon. Returns HTTP 200 when fully ready, or HTTP 503 (Service Unavailable)
      when starting up. Clients checking for readiness should accept both status codes.
- info:
    name: Peers
    type: folder
  items:
  - info:
      name: Weave Net Connect to Peer
      type: http
    http:
      method: POST
      url: http://127.0.0.1:6784/connect
      body:
        type: form-urlencoded
        data: []
    docs: Connects to one or more remote Weave peers. Optionally replaces the current set of peers entirely when 'replace=true'
      is provided.
  - info:
      name: Weave Net Remove Peer
      type: http
    http:
      method: DELETE
      url: http://127.0.0.1:6784/peer/:peerName
      params:
      - name: peerName
        value: 10.0.1.5
        type: path
        description: Peer name or address
    docs: Releases all IP space owned by the named peer and removes it from the peer list.
- info:
    name: Network
    type: folder
  items:
  - info:
      name: Weave Net Expose Network
      type: http
    http:
      method: POST
      url: http://127.0.0.1:6784/expose/:cidr
      params:
      - name: cidr
        value: 10.32.0.1/12
        type: path
        description: IP address and subnet in CIDR notation (e.g., 10.32.0.1/12)
    docs: Assigns the given IP address/CIDR to the Weave bridge, exposing the Weave network to the host. This allows the host
      to communicate with containers on the Weave network.
- info:
    name: IPAM
    type: folder
  items:
  - info:
      name: Weave Net Look Up IP Address
      type: http
    http:
      method: GET
      url: http://127.0.0.1:6784/ip/:containerId
      params:
      - name: containerId
        value: abc123def456
        type: path
        description: Container identifier
    docs: Returns the IP address allocated to the container with the given ID, or an empty response if none has been allocated.
  - info:
      name: Weave Net Allocate IP Address
      type: http
    http:
      method: POST
      url: http://127.0.0.1:6784/ip/:containerId
      params:
      - name: containerId
        value: abc123def456
        type: path
        description: Container identifier
      - name: check-alive
        value: 'false'
        type: query
        description: Check if container is alive before allocating
    docs: Allocates an IP address for the given container ID. If an IP is already allocated for this container, the existing
      IP is returned. Optionally checks if the container is alive before allocating.
  - info:
      name: Weave Net Release IP Addresses
      type: http
    http:
      method: DELETE
      url: http://127.0.0.1:6784/ip/:containerId
      params:
      - name: containerId
        value: abc123def456
        type: path
        description: Container identifier
    docs: Releases all IP addresses allocated to the given container ID.
  - info:
      name: Weave Net Allocate IP Address in Subnet
      type: http
    http:
      method: POST
      url: http://127.0.0.1:6784/ip/:containerId/:subnet
      params:
      - name: containerId
        value: abc123def456
        type: path
        description: Container identifier
      - name: subnet
        value: 10.32.0.0/12
        type: path
        description: Target subnet in CIDR notation
      - name: check-alive
        value: 'false'
        type: query
        description: Check if container is alive
    docs: Allocates an IP address for the given container ID within the specified subnet. Useful when multiple subnets are
      in use.
  - info:
      name: Weave Net Claim Specific IP Address
      type: http
    http:
      method: PUT
      url: http://127.0.0.1:6784/ip/:containerId/:subnet
      params:
      - name: containerId
        value: abc123def456
        type: path
        description: Container identifier
      - name: subnet
        value: 10.32.0.5/12
        type: path
        description: IP address and subnet in CIDR notation
      - name: check-alive
        value: 'false'
        type: query
        description: Check if container is alive
    docs: Claims a specific IP address for the given container ID within the specified subnet.
  - info:
      name: Weave Net Get Default Subnet
      type: http
    http:
      method: GET
      url: http://127.0.0.1:6784/ipinfo/defaultsubnet
    docs: Returns the default IP subnet configured for Weave Net IP address allocation.
- info:
    name: DNS
    type: folder
  items:
  - info:
      name: Weave Net Get DNS Domain
      type: http
    http:
      method: GET
      url: http://127.0.0.1:6784/domain
    docs: Returns the WeaveDNS domain suffix used for container name resolution. Defaults to weave.local.
  - info:
      name: Weave Net Register DNS Name
      type: http
    http:
      method: PUT
      url: http://127.0.0.1:6784/name/:containerId/:ip
      params:
      - name: containerId
        value: abc123def456
        type: path
        description: Container identifier
      - name: ip
        value: 10.32.0.2
        type: path
        description: Container IP address
      body:
        type: form-urlencoded
        data:
        - name: fqdn
          value: ''
    docs: Registers a DNS name (FQDN) for the given container ID and IP address in WeaveDNS, making the container resolvable
      by name on the Weave network.
  - info:
      name: Weave Net Deregister DNS Name
      type: http
    http:
      method: DELETE
      url: http://127.0.0.1:6784/name/:containerId/:ip
      params:
      - name: containerId
        value: abc123def456
        type: path
        description: Container identifier
      - name: ip
        value: 10.32.0.2
        type: path
        description: Container IP address
    docs: Deregisters the DNS name for the given container ID and IP address from WeaveDNS.
bundled: true