diff --git a/.github/workflows/trigger-flowpipe-io.yml b/.github/workflows/trigger-flowpipe-io.yml
index 758ee3d..ae42025 100644
--- a/.github/workflows/trigger-flowpipe-io.yml
+++ b/.github/workflows/trigger-flowpipe-io.yml
@@ -7,6 +7,9 @@ on:
branches-ignore:
- "main"
+ pull_request:
+ types: [opened]
+
jobs:
update:
runs-on: ubuntu-latest
@@ -16,6 +19,50 @@ jobs:
uses: peter-evans/repository-dispatch@v2
with:
token: ${{ secrets.G_PERSONAL_ACCESS_TOKEN }}
- repository: turbotio/flowpipe.io
- event-type: build-preview
- client-payload: '{"ref": "${{ github.ref }}", "sha": "${{ github.sha }}", "ref_name": "${{ github.ref_name }}"}'
\ No newline at end of file
+ repository: turbot/flowpipe.io
+ event-type: build-preview-test
+ client-payload: '{"ref": "${{ github.ref }}", "sha": "${{ github.sha }}", "ref_name": "${{ github.ref_name }}"}'
+
+
+ comment-link:
+ runs-on: ubuntu-latest
+ timeout-minutes: 5
+ if: ${{ github.event_name == 'pull_request' && github.event.action == 'opened' }}
+ steps:
+ - name: Get the deployment details
+ id: get_deployment_details
+ if: ${{ github.event_name == 'pull_request' && github.event.action == 'opened' }}
+ uses: actions/github-script@v6
+ with:
+ script: |
+ const branchName = 'docs/${{ github.event.pull_request.head.ref }}';
+
+ const response = await fetch('https://flowpipe-io.vercel.app/api/service/deploy-details', {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json',
+ 'Authorization': 'Bearer ${{ secrets.FLOWPIPE_API_KEY }}',
+ },
+ body: JSON.stringify({ branch: branchName }),
+ });
+ if (!response.ok) {
+ core.setOutput('foundDeployment', false);
+ } else {
+ const data = await response.json();
+ core.setOutput('foundDeployment', true);
+ core.setOutput('apiResponse', data);
+ }
+
+ - name: Add comment with preview link
+ uses: actions/github-script@v7
+ if: ${{ steps.get_deployment_details.outputs.foundDeployment == 'true' }}
+ with:
+ script: |
+ const apiResponse = ${{ steps.get_deployment_details.outputs.apiResponse }};
+
+ github.rest.issues.createComment({
+ issue_number: context.issue.number,
+ owner: context.repo.owner,
+ repo: context.repo.repo,
+ body: `### Preview Available 🚀\n\n**Commit Author:** ${apiResponse.meta.githubCommitAuthorName}\n**Commit Message:** ${apiResponse.meta.githubCommitMessage}\n\n**Preview Link:** [${apiResponse.meta.branchAlias}](https://${apiResponse.meta.branchAlias})`
+ });
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
index 2782ec6..538c762 100644
--- a/.gitignore
+++ b/.gitignore
@@ -52,4 +52,8 @@ yarn-error.log*
/tmp
content/docs
-.vscode
\ No newline at end of file
+.vscode
+images/**/*.todo
+images/**/*.keep
+images/**/*.sav
+images/**/*.json
diff --git a/README.md b/README.md
index bd99eeb..df7ca4a 100644
--- a/README.md
+++ b/README.md
@@ -19,7 +19,7 @@ We support up to 2 levels of docs, e.g.:
For your docs to appear in the sidebar, you need to edit `docs/sidebar.json`. This is an array of sidebar entries, which are either stings matching the path of the required document, or a category to nest the docs down 1 level.
-Any images required by docs must be placed in `/images/docs/...` and must be referenced by the tag ``.
+Any images required by docs must be placed in `/images/docs/...` and must be referenced by the tag `
`.
# Guidelines for contribution
diff --git a/docs/build/input.md b/docs/build/input.md
index d8182db..c9d24ec 100644
--- a/docs/build/input.md
+++ b/docs/build/input.md
@@ -58,12 +58,12 @@ After the user selects a game, the pipeline will send back a message with a hype
If you run the pipeline in [client-mode](/docs/run#operating-modes), pipes will prompt you on the console and wait for your response.
-
+
Once you respond, the pipeline will continue.
-
+
## Running in Server-Mode
@@ -94,7 +94,7 @@ $ flowpipe pipeline run play_a_game --host local
Open the URL in your browser. The form appears.
-
+
Select a game and then click the **Submit** button. Return to the terminal where you are running the pipeline. You will see that the pipeline is now finished and the message appears in the output:
@@ -142,4 +142,4 @@ notifier "default" {
The pipeline that we created earlier already routes the input request to the default notifier. By adding integrations to the default notifier we can route the input request to Slack and/or email without modifying the pipeline!
-
+
diff --git a/docs/flowpipe-hcl/step/input.md b/docs/flowpipe-hcl/step/input.md
index 79b3f59..540ed0c 100644
--- a/docs/flowpipe-hcl/step/input.md
+++ b/docs/flowpipe-hcl/step/input.md
@@ -91,14 +91,14 @@ This step also supports the [common step arguments](/docs/flowpipe-hcl/step#comm
### Button - Simple
##### Console (Client-Mode)
-
+
##### HTTP
-
+
##### Slack
-
+
```hcl
@@ -126,13 +126,13 @@ pipeline "my_pipe" {
### Button - With labels and values
##### Console (Client-Mode)
-
+
##### HTTP
-
+
##### Slack
-
+
```hcl
@@ -167,14 +167,14 @@ pipeline "my_pipe" {
### Select - basic
##### Console (Client-Mode)
-
+
##### HTTP
-
+
##### Slack
-
+
```hcl
@@ -208,13 +208,13 @@ pipeline "my_select" {
#### Select - with labels & default selection
##### Console (Client-Mode)
-
+
##### HTTP
-
+
##### Slack
-
+
```hcl
@@ -257,14 +257,14 @@ pipeline "my_select_labels" {
### Multiselect - basic
##### Console (Client-Mode)
-
+
##### HTTP
-
+
##### Slack
-
+
```hcl
@@ -299,14 +299,14 @@ pipeline "my_multi" {
### Multiselect with labels & default selection
##### Console (Client-Mode)
-
+
##### HTTP
-
+
##### Slack
-
+
```hcl
diff --git a/docs/flowpipe-hcl/trigger/http.md b/docs/flowpipe-hcl/trigger/http.md
index fbe54e1..809db07 100644
--- a/docs/flowpipe-hcl/trigger/http.md
+++ b/docs/flowpipe-hcl/trigger/http.md
@@ -87,7 +87,7 @@ trigger "http" "my_webhook" {
Flowpipe creates an endpoint on the flowpipe server for each `http` trigger. The HTTP webhook does not support any authentication mechanism, but it does have a URL with randomness to make it unguessable. The webhook URL path is: `/api/latest/hook/{trigger HCL label}/{random string}`, eg `/api/latest/hook/my_webhook/21ifp8truzi8y2r29jdl0qi7qt`
-The webhook URL will remain consistent across restarts. The {random string} is generated using the trigger name (the block label of the `trigger` ) and a global salt value.
+The webhook URL will remain consistent across restarts. The {random string} is generated using the trigger name (the block label of the `trigger` ) and a global salt value.
- Because the URL contains the trigger name, changing the trigger name will generate a new URL.
- The salt value is stored in `~/.flowpipe/internal/salt`
- If the file is missing or empty, flowpipe will randomly generate a new salt and write it there. If you want to change *all* of your webhook URLs, remove the salt value.
diff --git a/docs/learn.md b/docs/learn.md
index f7fac22..cb03623 100644
--- a/docs/learn.md
+++ b/docs/learn.md
@@ -55,7 +55,7 @@ Let's run it!
flowpipe pipeline run learn_flowpipe
```
-
+
Flowpipe runs the pipeline and prints its outputs once it is complete.
@@ -65,7 +65,7 @@ When troubleshooting, it's often useful to view more information about the curre
flowpipe pipeline run learn_flowpipe --verbose
```
-
+
## Using mods
@@ -102,7 +102,7 @@ You can run pipelines from the dependency mod on the command line:
flowpipe pipeline run reallyfreegeoip.pipeline.get_ip_geolocation --arg ip_address=35.236.238.30
```
-
+
## Composing with pipelines
@@ -201,7 +201,7 @@ pipeline "learn_flowpipe" {
}
```
-
+
@@ -239,5 +239,5 @@ flowpipe server &
flowpipe pipeline run learn_flowpipe --host local
```
-
+
diff --git a/docs/reference/cli/index.md b/docs/reference/cli/index.md
index c8cd132..520e62a 100644
--- a/docs/reference/cli/index.md
+++ b/docs/reference/cli/index.md
@@ -31,20 +31,23 @@ sidebar_label: Flowpipe CLI
## Global Flags
| Flag | Description | ||
|---|---|---|---|
| |
+ `--config-path` |
- Sets the search path for configuration files. This argument accepts a colon-separated list of directories. All configuration files ( |
|
| |
+ `--data-dir` | Sets the event store data directory. Flowpipe defaults to the `.flowpipe` directory in the current mod directory. This argument allows you to specify a different directory. | @@ -52,59 +55,60 @@ sidebar_label: Flowpipe CLI|
| |
+ `-h`, `--help` | Help for Flowpipe. | |
| |
- Run the command against a local or remote server instance. You may specify the full host and port (e.g. |
+ `--host` | +Run the command against a local or remote server instance. You may specify the full host and port (e.g. `--host https://flowpipe.my-org.com:7103`), or use the keyword `local` to connect to the local server instance as a shortcut for `https://localhost:7103` (e.g. `--host local`) |
| |
- Enable interactive prompts (default |
+ `--input` | +Enable interactive prompts (default `true`). |
| |
- Set the maximum number of |
+ `--max-concurrency-container int` | +Set the maximum number of `container` step instances that can execute concurrently across all pipeline instances (default `25`). |
| |
- Set the maximum number of |
+ `--max-concurrency-function int` | +Set the maximum number of `function` step instances that can execute concurrently across all pipeline instances (default `50`). |
| |
- Set the maximum number of |
+ `--max-concurrency-http int` | +Set the maximum number of `http` step instances that can execute concurrently across all pipeline instances (default `500`). |
| |
- Set the maximum number of |
+ `--max-concurrency-query int` | +Set the maximum number of `query` step instances that can execute concurrently across all pipeline instances (default `50`). |
| |
+ `--mod-location` | Sets the Flowpipe workspace working directory. If not specified, the workspace directory will be set to the current working directory. See FLOWPIPE_MOD_LOCATION for details. | |
| |
- Select a console output format: |
+ `--output` | +Select a console output format: `pretty`, `plain`, `yaml` or `json` (default `pretty`). |
| |
+ `-v`, `--version` | Display Flowpipe version. | |
| |
+ `--workspace ` | Sets the Flowpipe workspace profile. If not specified, the default workspace will be used if it exists. See FLOWPIPE_WORKSPACE for details. |