Skip to main content

No project description provided

Project description

[TOC]


Prerequisites

  • Wireguard kernel module is installed and loaded:
lsmod | grep wireguard
  • Optional: Docker is installed and running:
docker system info

Limitations

  • Docker network subnets can't overlap.
  • 10.69.0.0/16 is used for internal Wireguard network

Steps


1. Login to https://platform.noia.network

2. Create API key (Settings > API keys)

3. Install NOIA Agent

Possible versions:

Stable: noia/agent:prod

Development: noia/agent:devel or noia/agent:latest

With Docker
docker run --network="host" --restart=on-failure:10 \ 
--cap-add=NET_ADMIN --cap-add=SYS_MODULE \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
--device /dev/net/tun:/dev/net/tun \
--name=noia-agent \
-e NOIA_API_KEY='z99CuiZnMhe2qtz4LLX43Gbho5Zu9G8oAoWRY68WdMTVB9GzuMY2HNn667A752EA' \
-e NOIA_NETWORK_API='docker' \
-d noia/agent:prod

Check agent logs:

docker logs noia-agent

More information: https://bitbucket.org/noianetwork-team/platform-agent/src/master/DOCKER.md


With Docker-compose

With Portainer agent:

curl  https://bitbucket.org/noianetwork-team/platform-agent/raw/master/docker-compose/na-pa.yml \
-o docker-compose.yaml

Without portainer agent:

curl  https://bitbucket.org/noianetwork-team/platform-agent/raw/master/docker-compose/noia-agent.yaml \
-o docker-compose.yaml

Edit docker-compose.yaml file and edit these environment variables:

NOIA_API_KEY= your_api_key

Start containers:

docker-compose up -d

Check agent logs:

docker logs noia-agent

P.S. NOIA Agent will ignore the default docker network, you will need to create a separate network with different subnets on different hosts. Also, subnet 10.69.0.0/16 is used by our agent.

More information:

https://bitbucket.org/noianetwork-team/platform-agent/src/master/DOCKER_COMPOSE.md


With pip
pip3 install platform-agent

Download systemd service file:

curl https://bitbucket.org/noianetwork-team/platform-agent/raw/master/systemd/noia-agent.service -o /etc/systemd/system/noia-agent.service

Create noia-agent directory:

mkdir /etc/systemd/system/noia-agent.service.d/
chmod -R 600 /etc/noia-agent

Download settings file:

curl https://bitbucket.org/noianetwork-team/platform-agent/raw/master/systemd/10-vars.conf -o /etc/systemd/system/noia-agent.service.d/10-vars.conf

Edit settings file /etc/systemd/system/noia-agent.service.d/10-vars.conf and change these settings:

[Service]
# Required parameters
Environment=NOIA_API_KEY=YOUR_API_KEY
# Optional parameters
Environment=NOIA_CONTROLLER_URL=app-controller-platform-agents.noia.network
Environment=NOIA_ALLOWED_IPS=[{"10.0.44.0/24":"oracle_vpc"},{"192.168.111.2/32":"internal"}]
#If using docker , NOIA_NETWORK_API=docker would allow agent to access docker networks for information.
Environment=NOIA_NETWORK_API=none
Environment="NOIA_NAME=Azure EU gateway"
Environment=NOIA_COUNTRY=Germany
Environment=NOIA_CITY=Frankfurt
#Select one of the categories from the list or default will be assigned
# 'IoT','Server','none'
Environment=NOIA_CATEGORY=IoT
#Select one of providers from the list or default will be assigned
#'AWS', 'DigitalOcean', 'Microsoft Azure', 'Rackspace', 'Alibaba Cloud',
#'Google Cloud Platform', 'Oracle Cloud', 'VMware', 'IBM Cloud', 'Vultr'.
Environment="NOIA_PROVIDER=Microsoft Azure"
Environment=NOIA_LAT=40.14
Environment=NOIA_LON=-74.21
Environment=NOIA_TAGS=Tag1,Tag2
systemctl  daemon-reload
systemctl enable --now noia-agent

Check if service is running:

systemctl status noia-agent

More information: https://bitbucket.org/noianetwork-team/platform-agent/src/master/pip.md


On Portainer
  1. Select image:

alt_text

  1. Select network (Agent MUST run in the host network):

alt_text

  1. Add environment variables:

** Mandatory variables: **

NOIA_API_KEY= your_api_key

** Metadata (Optional) **

-e NOIA_NETWORK_API='docker'
-e NOIA_NAME='Azure EU gateway '
-e NOIA_COUNTRY='Germany'
-e NOIA_CITY='Frankfurt'

#Select one of the categories from the list or default will be assigned 
# 'IoT','Server','none' 
-e NOIA_CATEGORY='IoT'

#Select one of providers from the list or default will be assigned 
#'AWS', 'DigitalOcean', 'Microsoft Azure', 'Rackspace', 'Alibaba Cloud', 
#'Google Cloud Platform', 'Oracle Cloud', 'VMware', 'IBM Cloud', 'Vultr'. 

-e NOIA_PROVIDER ='Microsoft Azure'
-e NOIA_LAT='40.14'
-e NOIA_LON='-74.21'

#You can manually add allowed ips
-e NOIA_ALLOWED_IPS='[{"127.0.24.0/24":"myvpc"},{"192.168.24.0/32":"vpc"}]'

alt_text

(noia agent will read docker subnets and report them to the controller). If this variable is selected, you also need to add docker.sock as a read-only volume;

alt_text

  1. Add additional capabilities (NET_ADMIN and SYS_MODULE):

alt_text

  1. All agents will appear in NOIA Platform as endpoints:

alt_text

  1. To connect endpoints to a network, select Networks > Add new network. Input Network name, select Type (if you want connect multiple Portainer agents to Portainer, choose Gateway and select Portainer host as a gateway and select agents which you want to connect), then click Add:

alt_text

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

platform-agent-devel-0.0.44.tar.gz (15.5 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page