Home

Awesome

ZeroTier GitHub Action

ZeroTier is an SDN platform that allows users to create virtual networks that can span multiple devices, locations, and cloud providers. ZeroTier creates an encrypted peer-to-peer mesh overlay network that handles NAT traversal and authentication to network resources.

The ZeroTier Github Action allows users to easily integrate ZeroTier into their CI/CD workflows by temporarily joining and authorizing runners onto private ZeroTier networks.

- name: ZeroTier
  uses: zerotier/github-action@v1.0.1
  with:
    network_id: ${{ secrets.ZEROTIER_NETWORK_ID }}
    auth_token: ${{ secrets.ZEROTIER_CENTRAL_TOKEN }}

ZEROTIER_CENTRAL_TOKEN can be provisioned from Account section in the ZeroTier Central admin panel.

This Action works on Ubuntu, MacOS, and Windows runners.


This action installs ZeroTier on the runner node and generates a unique ZeroTier identity.
It then uses the supplied auth_token to authorize the runner onto the network.

- name: ZeroTier
  uses: zerotier/github-action@v1.0.1
  with:
    network_id: ${{ secrets.ZEROTIER_NETWORK_ID }}
    auth_token: ${{ secrets.ZEROTIER_CENTRAL_TOKEN }}
    
- name: ping host
  shell: bash
  run: |
    count=10
    while ! ping -c 1 ${{ secrets.ZEROTIER_HOST_IP }} ; do
      echo "waiting..." ;
      sleep 1 ;
      let count=count-1
    done
    echo "ping success"

After the workflow has completed, a post step automatically cleans up by removing the runner from the network.