Initial release
This commit is contained in:
commit
fdb863be82
43
README.md
Normal file
43
README.md
Normal file
@ -0,0 +1,43 @@
|
||||
# Mac OS Ngrok tunelling Github Action
|
||||
|
||||
This is a Github Action that can be used in your Github Workflow to tunnel incoming/outgoing TCP traffic in your workflow environment running on Mac OS.
|
||||
|
||||
## How to use
|
||||
|
||||
This action accepts the following parameters:
|
||||
|
||||
| Name | Description | Required | Default |
|
||||
| ------------- |-------------|-----|-----|
|
||||
| timeout | After this timeout the deployment will automatically shutdown the tunelling and therefore stop the action. (max is 6 hours) | No | 1h |
|
||||
| protocol | Protocol that will be used by Ngrok: tcp or http | No | tcp |
|
||||
| port | The port in localhost to forward traffic from/to | Yes | - |
|
||||
| ngrok_authtoken | Your ngrok authtoken | Yes | - |
|
||||
|
||||
You also need to set up `NGROK_AUTHTOKEN` secret with token required from [here](https://dashboard.ngrok.com/get-started/your-authtoken)
|
||||
|
||||
Example usage:
|
||||
|
||||
```yaml
|
||||
name: CI
|
||||
on: push
|
||||
|
||||
jobs:
|
||||
|
||||
deploy:
|
||||
name: Deploy challenge
|
||||
runs-on: macos-latest
|
||||
needs: cancel
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Run container
|
||||
run: docker-compose up -d
|
||||
|
||||
- uses: dm1sh/macos-ngrok-action
|
||||
with:
|
||||
timeout: 1h
|
||||
port: 8080
|
||||
ngrok_authtoken: ${{ secrets.NGROK_AUTHTOKEN }}
|
||||
```
|
29
action.yml
Normal file
29
action.yml
Normal file
@ -0,0 +1,29 @@
|
||||
name: 'Mac OS Ngrok tunelling'
|
||||
description: 'A github action for tunelling TCP traffic from within Workflow environemt'
|
||||
|
||||
branding:
|
||||
icon: 'activity'
|
||||
color: 'blue'
|
||||
|
||||
inputs:
|
||||
timeout:
|
||||
description: 'Tunelling time'
|
||||
required: true
|
||||
default: '1h'
|
||||
port:
|
||||
description: 'The port to forward traffic to'
|
||||
required: true
|
||||
protocol:
|
||||
description: 'Protocol that will be used for tunelling: tcp or http'
|
||||
required: true
|
||||
default: 'tcp'
|
||||
ngrok_authtoken:
|
||||
description: 'Ngrok authorization token'
|
||||
required: true
|
||||
|
||||
runs:
|
||||
using: "composite"
|
||||
steps:
|
||||
- run: brew install -cask ngrok
|
||||
- run: ngrok authtoken ${{ inputs.ngrok_authtoken }}
|
||||
- run: (ngrok ${{ inputs.protocol }} ${{ inputs.port }}) & sleep ${{ inputs.timeout }} ; kill $!
|
Loading…
x
Reference in New Issue
Block a user