diff --git a/README.md b/README.md index 360c067..39fa763 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,16 @@ # ZeroTier GitHub Action -This Github Action connects to a [ZeroTier Network](https://www.zerotier.com). +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, authentication, and authorization +to network resources. -``` +The ZeroTier Github Action allows users to easily integrate +ZeroTier into their Github workflow by temporarily joining and +authorizing workflow runner onto a private ZeroTier network. + +```yaml - name: ZeroTier uses: zerotier/github-action@v1 with: @@ -13,3 +21,30 @@ This Github Action connects to a [ZeroTier Network](https://www.zerotier.com). `ZEROTIER_CENTRAL_TOKEN` can be provisioned from `Account` section in the [ZeroTier Central](https://my.zerotier.com) 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. + +```yaml +- name: ZeroTier + uses: zerotier/github-action@v1 + 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.