Using multiple tenants in Netpicker (multi-tenancy)

In Netpicker, you can set up multiple tenants to isolate your devices and administer them in separate workspaces. Each tenant has its own devices and users can be given access to a specific tenant.

Use cases for multi-tenancy can be for example:

  • Departments inside your organisation
  • Datacenters which are isolated because of redundancy
  • Networks in different physical locations around the world

In Netpicker, you can create extra tenants by clicking on your user icon and going to ‘Tenants’:

This will display a list of your tenants and an option to create a new tenant.

After creating a tenant, you can assign users to a tenant by going to the ‘Tenant users’ tab:

Each tenant in Netpicker has its own agent, a container that connects to the network devices in the tenant. When you navigate to your new tenant, you wil see an information modal with the AGENT_ID you need to configure:

To set up a new agent, create a new docker-compose.yml file and put in the following content, updating the AGENT_ID to the value displayed in Netpicker and the WS_ENDPOINT to your Netpicker instance address:

services:
  agent:
    image: netpicker/agent
    container_name: agent
    labels:
      service.netpicker.io: agent
    environment:
      AGENT_ID: XXXXXXXX
      WS_ENDPOINT: wss://dev.netpicker.io/api/v1/agents/ws
    volumes:
      - config:/agent-config
      - secret:/run/secrets
    restart: unless-stopped
    depends_on:
      api:
        condition: service_healthy
    healthcheck:
      test: "echo LST | nc -v localhost 8765"
      start_period: 2s
      interval: 5s

volumes:
  config:
  secret: