diff options
-rw-r--r-- | README.md | 38 | ||||
-rw-r--r-- | action.yml | 8 |
2 files changed, 42 insertions, 4 deletions
@@ -6,6 +6,44 @@ This GitHub action sets up a WireGuard connection in your workflow run. 1. Installs WireGuard if it's missing. 2. Sets up a connection using the provided credentials. +Use it your workflow like this: + + - name: Set up WireGuard + uses: egor-tensin/setup-wireguard@v1 + with: + endpoint: 46.46.46.46:51820 + endpoint_public_key: 9IHlvJqgkVWMq57a0A56XI5IjhnL5gaRhI1Pszk7S24= + ips: 192.168.143.254/24,fd8c:bc10:5021::192.168.143.254/48 + private_key: GLEiXhRwFuhw8aPy+HQfSMwwoLU0Sw8jE8MOxZ8GV3w= + preshared_key: PWAfvVWCjiNV0Uh2DhmXhdRaT326qosSOcaDB3j9dwI= + allowed_ips: 192.168.143.0/24,fd8c:bc10:5021::/48 + +Of couse it's highly advised to store all sensitive data in your repository's +secrets. +It could then become something like: + + - name: Set up WireGuard + uses: egor-tensin/setup-wireguard@v1 + with: + endpoint: '${{ secrets.ENDPOINT }}' + endpoint_public_key: '${{ secrets.ENDPOINT_PUBLIC }}' + ips: '${{ secrets.IPS }}' + allowed_ips: '${{ secrets.ALLOWED_IPS }}' + private_key: '${{ secrets.PRIVATE }}' + preshared_key: '${{ secrets.PRESHARED }}' + +API +--- + +| Input | Example | Description +| ------------------- | ----------------------------------------------------- | ----------- +| endpoint | 46.46.46.46:51820 | Endpoint to connect to in the HOST:PORT format. +| endpoint_public_key | 9IHlvJqgkVWMq57a0A56XI5IjhnL5gaRhI1Pszk7S24= | Endpoint's public key. +| ips | 192.168.143.254/24,fd8c:bc10:5021::192.168.143.254/48 | Comma-separated list of IP addresses to assign to the VM. +| allowed_ips | 192.168.143.0/24,fd8c:bc10:5021::/48 | Comma-separated list of netmasks. +| private_key | GLEiXhRwFuhw8aPy+HQfSMwwoLU0Sw8jE8MOxZ8GV3w= | Private key of the VM. +| preshared_key | PWAfvVWCjiNV0Uh2DhmXhdRaT326qosSOcaDB3j9dwI= | Preshared key assigned to the VM. + License ------- @@ -11,15 +11,15 @@ inputs: ips: description: Comma-separated list of IP addresses required: true + allowed_ips: + description: Comma-separated list of netmasks + required: true private_key: description: Private key required: true preshared_key: description: Preshared key required: false - allowed_ips: - description: Comma-separated list of netmasks - required: true runs: using: composite @@ -30,9 +30,9 @@ runs: readonly endpoint='${{ inputs.endpoint }}' readonly endpoint_public_key='${{ inputs.endpoint_public_key }}' readonly ips='${{ inputs.ips }}' + readonly allowed_ips='${{ inputs.allowed_ips }}' readonly private_key='${{ inputs.private_key }}' readonly preshared_key='${{ inputs.preshared_key }}' - readonly allowed_ips='${{ inputs.allowed_ips }}' readonly minport=51000 readonly maxport=51999 |