From 199ae2d4b51f4deb488f3c7ce23afa8e2fc0944b Mon Sep 17 00:00:00 2001 From: Jon Udell Date: Thu, 21 Nov 2024 17:07:44 -0800 Subject: [PATCH] continue buildout --- docs/collect/index.md | 6 - docs/query/index.md | 6 - docs/reference/cli/collect.md | 8 +- docs/reference/cli/help.md | 6 +- docs/reference/cli/index.md | 22 +-- docs/reference/cli/plugin.md | 20 +- docs/reference/cli/query.md | 42 ++-- .../config-files/connection/abuseipdb.md | 32 --- .../config-files/connection/alicloud.md | 55 ------ docs/reference/config-files/connection/aws.md | 78 -------- .../config-files/connection/azure.md | 46 ----- .../config-files/connection/bitbucket.md | 44 ----- .../config-files/connection/clickup.md | 32 --- .../config-files/connection/datadog.md | 37 ---- .../config-files/connection/discord.md | 38 ---- .../config-files/connection/duckdb.md | 41 ---- .../config-files/connection/freshdesk.md | 35 ---- docs/reference/config-files/connection/gcp.md | 103 ---------- .../config-files/connection/github.md | 38 ---- .../config-files/connection/gitlab.md | 32 --- .../config-files/connection/index.md | 76 -------- .../config-files/connection/ip2locationio.md | 32 --- .../config-files/connection/ipstack.md | 32 --- .../reference/config-files/connection/jira.md | 38 ---- .../config-files/connection/jumpcloud.md | 32 --- .../config-files/connection/mastodon.md | 24 --- .../config-files/connection/mysql.md | 55 ------ .../reference/config-files/connection/okta.md | 41 ---- .../config-files/connection/openai.md | 38 ---- .../config-files/connection/opsgenie.md | 35 ---- .../config-files/connection/pagerduty.md | 32 --- .../config-files/connection/pipes.md | 38 ---- .../config-files/connection/postgres.md | 60 ------ .../config-files/connection/sendgrid.md | 38 ---- .../config-files/connection/servicenow.md | 38 ---- .../config-files/connection/slack.md | 73 ------- .../config-files/connection/sqlite.md | 107 ---------- .../config-files/connection/steampipe.md | 55 ------ .../config-files/connection/teams.md | 38 ---- .../config-files/connection/template.keep | 39 ---- .../config-files/connection/trello.md | 35 ---- .../connection/turbot_guardrails.md | 44 ----- .../config-files/connection/uptimerobot.md | 38 ---- .../config-files/connection/urlscan.md | 38 ---- .../config-files/connection/vault.md | 41 ---- .../config-files/connection/virustotal.md | 32 --- .../config-files/connection/zendesk.md | 38 ---- .../config-files/connection_import/index.md | 22 +-- .../connection_import/steampipe.md | 32 +-- .../config-files/credential/abuseipdb.md | 36 ---- .../config-files/credential/alicloud.md | 59 ------ docs/reference/config-files/credential/aws.md | 81 -------- .../config-files/credential/azure.md | 50 ----- .../config-files/credential/bitbucket.md | 47 ----- .../config-files/credential/clickup.md | 35 ---- .../config-files/credential/datadog.md | 41 ---- .../config-files/credential/discord.md | 41 ---- .../config-files/credential/freshdesk.md | 38 ---- docs/reference/config-files/credential/gcp.md | 106 ---------- .../config-files/credential/github.md | 41 ---- .../config-files/credential/gitlab.md | 35 ---- .../config-files/credential/index.md | 18 +- .../config-files/credential/ip2locationio.md | 36 ---- .../config-files/credential/ipstack.md | 36 ---- .../reference/config-files/credential/jira.md | 41 ---- .../config-files/credential/jumpcloud.md | 35 ---- .../config-files/credential/mastodon.md | 27 --- .../reference/config-files/credential/okta.md | 44 ----- .../config-files/credential/openai.md | 41 ---- .../config-files/credential/opsgenie.md | 38 ---- .../config-files/credential/pagerduty.md | 35 ---- .../config-files/credential/pipes.md | 41 ---- .../config-files/credential/sendgrid.md | 41 ---- .../config-files/credential/servicenow.md | 41 ---- .../config-files/credential/slack.md | 76 -------- .../config-files/credential/teams.md | 41 ---- .../config-files/credential/trello.md | 38 ---- .../credential/turbot_guardrails.md | 47 ----- .../config-files/credential/uptimerobot.md | 41 ---- .../config-files/credential/urlscan.md | 42 ---- .../config-files/credential/vault.md | 45 ----- .../config-files/credential/virustotal.md | 35 ---- .../config-files/credential/zendesk.md | 41 ---- .../config-files/credential_import/index.md | 22 +-- .../credential_import/steampipe.md | 34 ++-- docs/reference/config-files/index.md | 4 +- .../config-files/integration/email.md | 47 ----- .../config-files/integration/http.md | 20 -- .../config-files/integration/index.md | 39 ---- .../config-files/integration/msteams.md | 45 ----- .../config-files/integration/slack.md | 147 -------------- docs/reference/config-files/notifier.md | 175 ----------------- docs/reference/config-files/workspace.md | 58 +++--- docs/reference/developers/index.md | 5 + .../env-vars/flowpipe_insecure.md.todo | 14 -- docs/reference/env-vars/foo | 16 -- docs/reference/env-vars/index.md | 3 +- docs/reference/env-vars/pipes_token.md.sav | 2 +- docs/reference/env-vars/tailpipe_log.md | 28 +++ docs/run/collect.md | 24 +++ docs/run/connections.md | 27 +++ docs/run/plugins.md | 182 +++++++++++++++++- docs/run/workspaces.md | 35 ++++ docs/sidebar.json | 50 +---- docs/tailpipe-hcl/index.md | 2 + 105 files changed, 457 insertions(+), 3974 deletions(-) delete mode 100644 docs/collect/index.md delete mode 100644 docs/query/index.md delete mode 100644 docs/reference/config-files/connection/abuseipdb.md delete mode 100644 docs/reference/config-files/connection/alicloud.md delete mode 100644 docs/reference/config-files/connection/aws.md delete mode 100644 docs/reference/config-files/connection/azure.md delete mode 100644 docs/reference/config-files/connection/bitbucket.md delete mode 100644 docs/reference/config-files/connection/clickup.md delete mode 100644 docs/reference/config-files/connection/datadog.md delete mode 100644 docs/reference/config-files/connection/discord.md delete mode 100644 docs/reference/config-files/connection/duckdb.md delete mode 100644 docs/reference/config-files/connection/freshdesk.md delete mode 100644 docs/reference/config-files/connection/gcp.md delete mode 100644 docs/reference/config-files/connection/github.md delete mode 100644 docs/reference/config-files/connection/gitlab.md delete mode 100644 docs/reference/config-files/connection/index.md delete mode 100644 docs/reference/config-files/connection/ip2locationio.md delete mode 100644 docs/reference/config-files/connection/ipstack.md delete mode 100644 docs/reference/config-files/connection/jira.md delete mode 100644 docs/reference/config-files/connection/jumpcloud.md delete mode 100644 docs/reference/config-files/connection/mastodon.md delete mode 100644 docs/reference/config-files/connection/mysql.md delete mode 100644 docs/reference/config-files/connection/okta.md delete mode 100644 docs/reference/config-files/connection/openai.md delete mode 100644 docs/reference/config-files/connection/opsgenie.md delete mode 100644 docs/reference/config-files/connection/pagerduty.md delete mode 100644 docs/reference/config-files/connection/pipes.md delete mode 100644 docs/reference/config-files/connection/postgres.md delete mode 100644 docs/reference/config-files/connection/sendgrid.md delete mode 100644 docs/reference/config-files/connection/servicenow.md delete mode 100644 docs/reference/config-files/connection/slack.md delete mode 100644 docs/reference/config-files/connection/sqlite.md delete mode 100644 docs/reference/config-files/connection/steampipe.md delete mode 100644 docs/reference/config-files/connection/teams.md delete mode 100644 docs/reference/config-files/connection/template.keep delete mode 100644 docs/reference/config-files/connection/trello.md delete mode 100644 docs/reference/config-files/connection/turbot_guardrails.md delete mode 100644 docs/reference/config-files/connection/uptimerobot.md delete mode 100644 docs/reference/config-files/connection/urlscan.md delete mode 100644 docs/reference/config-files/connection/vault.md delete mode 100644 docs/reference/config-files/connection/virustotal.md delete mode 100644 docs/reference/config-files/connection/zendesk.md delete mode 100644 docs/reference/config-files/credential/abuseipdb.md delete mode 100644 docs/reference/config-files/credential/alicloud.md delete mode 100644 docs/reference/config-files/credential/aws.md delete mode 100644 docs/reference/config-files/credential/azure.md delete mode 100644 docs/reference/config-files/credential/bitbucket.md delete mode 100644 docs/reference/config-files/credential/clickup.md delete mode 100644 docs/reference/config-files/credential/datadog.md delete mode 100644 docs/reference/config-files/credential/discord.md delete mode 100644 docs/reference/config-files/credential/freshdesk.md delete mode 100644 docs/reference/config-files/credential/gcp.md delete mode 100644 docs/reference/config-files/credential/github.md delete mode 100644 docs/reference/config-files/credential/gitlab.md delete mode 100644 docs/reference/config-files/credential/ip2locationio.md delete mode 100644 docs/reference/config-files/credential/ipstack.md delete mode 100644 docs/reference/config-files/credential/jira.md delete mode 100644 docs/reference/config-files/credential/jumpcloud.md delete mode 100644 docs/reference/config-files/credential/mastodon.md delete mode 100644 docs/reference/config-files/credential/okta.md delete mode 100644 docs/reference/config-files/credential/openai.md delete mode 100644 docs/reference/config-files/credential/opsgenie.md delete mode 100644 docs/reference/config-files/credential/pagerduty.md delete mode 100644 docs/reference/config-files/credential/pipes.md delete mode 100644 docs/reference/config-files/credential/sendgrid.md delete mode 100644 docs/reference/config-files/credential/servicenow.md delete mode 100644 docs/reference/config-files/credential/slack.md delete mode 100644 docs/reference/config-files/credential/teams.md delete mode 100644 docs/reference/config-files/credential/trello.md delete mode 100644 docs/reference/config-files/credential/turbot_guardrails.md delete mode 100644 docs/reference/config-files/credential/uptimerobot.md delete mode 100644 docs/reference/config-files/credential/urlscan.md delete mode 100644 docs/reference/config-files/credential/vault.md delete mode 100644 docs/reference/config-files/credential/virustotal.md delete mode 100644 docs/reference/config-files/credential/zendesk.md delete mode 100644 docs/reference/config-files/integration/email.md delete mode 100644 docs/reference/config-files/integration/http.md delete mode 100644 docs/reference/config-files/integration/index.md delete mode 100644 docs/reference/config-files/integration/msteams.md delete mode 100644 docs/reference/config-files/integration/slack.md delete mode 100644 docs/reference/config-files/notifier.md create mode 100644 docs/reference/developers/index.md delete mode 100644 docs/reference/env-vars/flowpipe_insecure.md.todo delete mode 100644 docs/reference/env-vars/foo create mode 100644 docs/reference/env-vars/tailpipe_log.md diff --git a/docs/collect/index.md b/docs/collect/index.md deleted file mode 100644 index 875d13a..0000000 --- a/docs/collect/index.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -title: Collect -sidebar_label: Collect ---- - -# Collect \ No newline at end of file diff --git a/docs/query/index.md b/docs/query/index.md deleted file mode 100644 index c04a679..0000000 --- a/docs/query/index.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -title: Query -sidebar_label: Query ---- - -# Query \ No newline at end of file diff --git a/docs/reference/cli/collect.md b/docs/reference/cli/collect.md index f44f72f..58ff717 100644 --- a/docs/reference/cli/collect.md +++ b/docs/reference/cli/collect.md @@ -10,7 +10,7 @@ Run a [collection](/docs/reference/config-files/integration). ## Usage ```bash -flowpipe integration [command] [flags] +tailpipe integration [command] [flags] ``` ## Sub-Commands @@ -26,17 +26,17 @@ flowpipe integration [command] [flags] List integrations: ```bash -flowpipe integration list +tailpipe integration list ``` View integration details: ```bash -flowpipe integration show slack.default +tailpipe integration show slack.default ``` List integrations in JSON format: ```bash -flowpipe integration list --output json +tailpipe integration list --output json ``` \ No newline at end of file diff --git a/docs/reference/cli/help.md b/docs/reference/cli/help.md index 9aebaf4..ff71b64 100644 --- a/docs/reference/cli/help.md +++ b/docs/reference/cli/help.md @@ -14,13 +14,13 @@ tailpipe help [command] [flags] ## Examples Show help: ```bash -flowpipe help +tailpipe help ``` Show help for the `mod` sub-command: ```bash -flowpipe help mod +tailpipe help mod ``` Show help for the `mod install` sub-command: ```bash -flowpipe help mod install +tailpipe help mod install ``` diff --git a/docs/reference/cli/index.md b/docs/reference/cli/index.md index 690bdb3..6fe5797 100644 --- a/docs/reference/cli/index.md +++ b/docs/reference/cli/index.md @@ -27,26 +27,26 @@ sidebar_label: Tailpipe CLI --config-path - Sets the search path for configuration files. This argument accepts a colon-separated list of directories. All configuration files (*.fpc) will be loaded from each path, with decreasing precedence. The default is .:$FLOWPIPE_INSTALL_DIR/config (.:~/.flowpipe/config). This allows you to manage your workspaces and connections centrally in the ~/.flowpipe/config directory, but override them in the working directory / mod location if desired. + Sets the search path for configuration files. This argument accepts a colon-separated list of directories. All configuration files (*.fpc) will be loaded from each path, with decreasing precedence. The default is .:$TAILPIPE_INSTALL_DIR/config (.:~/.tailpipe/config). This allows you to manage your workspaces and connections centrally in the ~/.tailpipe/config directory, but override them in the working directory / mod location if desired. --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. + Sets the event store data directory. Tailpipe defaults to the `.tailpipe` directory in the current mod directory. This argument allows you to specify a different directory. -h, --help - Help for Flowpipe. + Help for Tailpipe. --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) + Run the command against a local or remote server instance. You may specify the full host and port (e.g. --host https://tailpipe.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) @@ -76,7 +76,7 @@ sidebar_label: Tailpipe CLI --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. + Sets the Tailpipe workspace working directory. If not specified, the workspace directory will be set to the current working directory. See TAILPIPE_MOD_LOCATION for details. @@ -86,12 +86,12 @@ sidebar_label: Tailpipe CLI -v, --version - Display Flowpipe version. + Display Tailpipe version. --workspace - Sets the Flowpipe workspace profile. If not specified, the default workspace will be used if it exists. See FLOWPIPE_WORKSPACE for details. + Sets the Tailpipe workspace profile. If not specified, the default workspace will be used if it exists. See TAILPIPE_WORKSPACE for details. @@ -121,10 +121,10 @@ sidebar_label: Tailpipe CLI | Value | Name | Description |---------|---------------------------------------|---------------------------------------- -| **0** | `ExitCodeSuccessful` | Flowpipe ran successfully -| **1** | `ExitCodeExecutionPaused` | Flowpipe ran without errors but paused waiting input -| **2** | `ExitCodeExecutionFailed` | Flowpipe completed with one or more errors -| **3** | `ExitCodeExecutionCancelled` | The Flowpipe command was canceelled by user request +| **0** | `ExitCodeSuccessful` | Tailpipe ran successfully +| **1** | `ExitCodeExecutionPaused` | Tailpipe ran without errors but paused waiting input +| **2** | `ExitCodeExecutionFailed` | Tailpipe completed with one or more errors +| **3** | `ExitCodeExecutionCancelled` | The Tailpipe command was canceelled by user request | **61** | `ExitCodeModInitFailed` | Mod init failed | **62** | `ExitCodeModInstallFailed` | Mod install failed | **250** | `ExitCodeInitializationFailed` | Initialization failed diff --git a/docs/reference/cli/plugin.md b/docs/reference/cli/plugin.md index 9632333..a940a56 100644 --- a/docs/reference/cli/plugin.md +++ b/docs/reference/cli/plugin.md @@ -50,51 +50,51 @@ tailpipe plugin [command] Install or update a plugin: ```bash -steampipe plugin install aws +tailpipe plugin install aws ``` Install a specific version of a plugin: ```bash -steampipe plugin install aws@0.107.0 +tailpipe plugin install aws@0.107.0 ``` Install the latest version of a plugin matching a semver constraint: ```bash -steampipe plugin install aws@^0.107 +tailpipe plugin install aws@^0.107 ``` Note: if your semver constraint contain special characters you may need to quote it: ```bash -steampipe plugin install "aws@>=0.100" +tailpipe plugin install "aws@>=0.100" ``` Install all missing plugins that specified in configuration files. Do not download their default configuration files: ```bash -steampipe plugin install --skip-config +tailpipe plugin install --skip-config ``` List installed plugins: ```bash -steampipe plugin list +tailpipe plugin list ``` Uninstall a plugin: ```bash -steampipe plugin uninstall dmi/paper +tailpipe plugin uninstall dmi/paper ``` Update all plugins to the latest in the installed stream: ```bash -steampipe plugin update --all +tailpipe plugin update --all ``` Update the aws plugin to the latest version meeting the constraint: ```bash -steampipe plugin update aws@^0.107 +tailpipe plugin update aws@^0.107 ``` Update all plugins to the latest and hide the progress bar: ```bash -steampipe plugin update --all --progress=false +tailpipe plugin update --all --progress=false ``` diff --git a/docs/reference/cli/query.md b/docs/reference/cli/query.md index 9e0320f..854f65f 100644 --- a/docs/reference/cli/query.md +++ b/docs/reference/cli/query.md @@ -1,17 +1,17 @@ --- -title: flowpipe mod -sidebar_label: flowpipe mod +title: tailpipe mod +sidebar_label: tailpipe mod --- -# flowpipe mod -Flowpipe mod management. +# tailpipe mod +Tailpipe mod management. -Mods provide an easy way to share Flowpipe pipelines. Find mods using the public registry at [hub.flowpipe.io](https://hub.flowpipe.io/). +Mods provide an easy way to share Tailpipe pipelines. Find mods using the public registry at [hub.tailpipe.io](https://hub.tailpipe.io/). ## Usage ```bash -flowpipe mod [command] +tailpipe mod [command] ``` ## Sub-Commands @@ -47,7 +47,7 @@ It is also possible to have more granular control of the update behavior - e.g. ## Git URLs & Private Repos -Flowpipe uses `git` to install and update mods. When you run `flowpipe mod install` or `flowpipe mod update`, Flowpipe will first try using `https` and if that does not work it will try `ssh`. If your SSH keys are configured properly for `git`, you should be able to pull from private repos that you have access to, as well as public ones. +Tailpipe uses `git` to install and update mods. When you run `tailpipe mod install` or `tailpipe mod update`, Tailpipe will first try using `https` and if that does not work it will try `ssh`. If your SSH keys are configured properly for `git`, you should be able to pull from private repos that you have access to, as well as public ones. When publishing mods, you should usually only depend on public mods (hosted in public repos) so that users of your mod don't encounter permissions issues. @@ -55,66 +55,66 @@ When publishing mods, you should usually only depend on public mods (hosted in p ## Examples List installed mods: ```bash -flowpipe mod list +tailpipe mod list ``` Install a mod and add the `require` statement to your `mod.fp`: ```bash -flowpipe mod install github.com/turbot/flowpipe-mod-aws +tailpipe mod install github.com/turbot/tailpipe-mod-aws ``` Install an exact version of a mod and update the `require` statement to your `mod.fp`. This may upgrade or downgrade the mod if it is already installed: ```bash -flowpipe mod install github.com/turbot/flowpipe-mod-aws@0.1.0 +tailpipe mod install github.com/turbot/tailpipe-mod-aws@0.1.0 ``` Install a version of a mod using a semver constraint and update the `require` statement to your `mod.fp`. This may upgrade or downgrade the mod if it is already installed: ```bash -flowpipe mod install github.com/turbot/flowpipe-mod-aws@'^1' +tailpipe mod install github.com/turbot/tailpipe-mod-aws@'^1' ``` Install a mod from a GitHub tag: ```bash -flowpipe mod install github.com/turbot/flowpipe-mod-aws@my-tag +tailpipe mod install github.com/turbot/tailpipe-mod-aws@my-tag ``` Install a mod from a GitHub branch: ```bash -flowpipe mod install github.com/turbot/flowpipe-mod-aws#main +tailpipe mod install github.com/turbot/tailpipe-mod-aws#main ``` Install a mod from a local directory: ```bash -flowpipe mod install ../flowpipe-mod-aws +tailpipe mod install ../tailpipe-mod-aws ``` Install all mods specified in the `mod.fp` and their dependencies: ```bash -flowpipe mod install +tailpipe mod install ``` -Preview what `flowpipe mod install` will do, without actually installing anything: +Preview what `tailpipe mod install` will do, without actually installing anything: ```bash -flowpipe mod install --dry-run +tailpipe mod install --dry-run ``` Update a mod to the latest version allowed by its current constraint: ```bash -flowpipe mod update github.com/turbot/flowpipe-mod-aws +tailpipe mod update github.com/turbot/tailpipe-mod-aws ``` Update all mods specified in the `mod.fp` and their dependencies to the latest versions that meet their constraints, and install any that are missing: ```bash -flowpipe mod update +tailpipe mod update ``` Uninstall a mod: ```bash -flowpipe mod uninstall github.com/turbot/flowpipe-mod-azure +tailpipe mod uninstall github.com/turbot/tailpipe-mod-azure ``` Preview uninstalling a mod, but don't uninstall it: ```bash -flowpipe mod uninstall github.com/turbot/flowpipe-mod-gcp --dry-run +tailpipe mod uninstall github.com/turbot/tailpipe-mod-gcp --dry-run ``` diff --git a/docs/reference/config-files/connection/abuseipdb.md b/docs/reference/config-files/connection/abuseipdb.md deleted file mode 100644 index 8492868..0000000 --- a/docs/reference/config-files/connection/abuseipdb.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -title: abuseipdb -sidebar_label: abuseipdb ---- - -# abuseipdb - -The `abuseipdb` connection can be used to access AbuseIPDB resources. - -```hcl -connection "abuseipdb" "abuseipdb_api_key" { - api_key = "bfc6f1c42dfakefdxxxx26977977b2xxxsfake98f310123456789de0d" -} -``` - -## Arguments - -| Name | Type | Required? | Description | -| --------- | ------ | --------- | ----------- | -| `api_key` | String | Optional | API Key | - -All arguments are optional, and an `abuseipdb` connection with no arguments will behave the same as the [default connection](#default-connection). - -## Default Connection - -The `abuseipdb` connection type includes an implicit, default connection (`connection.abuseipdb.default`) that will be configured to set the `api_key` to the `ABUSEIPDB_API_KEY` environment variable. - -```hcl -connection "abuseipdb" "default" { - api_key = env("ABUSEIPDB_API_KEY") -} -``` diff --git a/docs/reference/config-files/connection/alicloud.md b/docs/reference/config-files/connection/alicloud.md deleted file mode 100644 index 6a0ab0b..0000000 --- a/docs/reference/config-files/connection/alicloud.md +++ /dev/null @@ -1,55 +0,0 @@ ---- -title: alicloud -sidebar_label: alicloud ---- - -# alicloud - -The `alicloud` connection can be used to access Alibaba Cloud resources. - -```hcl -connection "alicloud" "alicloud" { - access_key = "LTAI4GBVFakeKey09Kxezv66" - secret_key = "6iNPvThisIsNotARealSecretk1sZF" -} -``` - -## Arguments - -| Name | Type | Required? | Description | -| ------------ | ------ | --------- | ------------------------------------------- | -| `access_key` | String | Optional | A static access key to use to authenticate. | -| `secret_key` | String | Optional | A static secret key to use to authenticate. | - -All arguments are optional, and a `alicloud` connection with no arguments will behave the same as the [default connection](#default-connection). - -## Default Connection - -The `alicloud` connection type includes an implicit, default connection (`connection.alicloud.default`) that will be configured using either of the following environment variables: - -1.`ALIBABACLOUD_ACCESS_KEY_ID` and `ALIBABACLOUD_ACCESS_KEY_SECRET`. - -```hcl -connection "alicloud" "default" { - access_key = env("ALIBABACLOUD_ACCESS_KEY_ID") - secret_key = env("ALIBABACLOUD_ACCESS_KEY_SECRET") -} -``` - -2.`ALICLOUD_ACCESS_KEY_ID` and `ALICLOUD_ACCESS_KEY_SECRET`. - -```hcl -connection "alicloud" "default" { - access_key = env("ALICLOUD_ACCESS_KEY_ID") - secret_key = env("ALICLOUD_ACCESS_KEY_SECRET") -} -``` - -3.`ALICLOUD_ACCESS_KEY` and `ALICLOUD_SECRET_KEY`. - -```hcl -connection "alicloud" "default" { - access_key = env("ALICLOUD_ACCESS_KEY") - secret_key = env("ALICLOUD_SECRET_KEY") -} -``` diff --git a/docs/reference/config-files/connection/aws.md b/docs/reference/config-files/connection/aws.md deleted file mode 100644 index c4b3678..0000000 --- a/docs/reference/config-files/connection/aws.md +++ /dev/null @@ -1,78 +0,0 @@ ---- -title: aws -sidebar_label: aws ---- - -# aws - -The `aws` connection can be used to access Amazon Web Services resources. - -```hcl -connection "aws" "my_connection" { - profile = "aws-account-01" -} -``` - -## Arguments - -| Name | Type | Required? | Description | -| --------------- | ------ | --------- | -------------------------------------------------------------------------------------------------------------------------- | -| `profile` | String | Optional | The [AWS Profile](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html) to use to obtain connections. | -| `access_key` | String | Optional | A static AWS access key to use to authenticate. | -| `secret_key` | String | Optional | A static AWS secret key to use to authenticate. | -| `session_token` | String | Optional | A static AWS session token to use to authenticate. This is only used if you specify `access_key` and `secret_key`. | -| `ttl` | Number | Optional | The time, in seconds, to cache the connections. By default, the AWS connection will be cached for 5 minutes. | - -All arguments are optional, and an `aws` connection with no arguments will behave the same as the [AWS default connection](#default-connection). You may instead specify exactly one of: - -- `profile` -- `access_key` and `secret_key` (and optionally `session_token`) - -## Attributes (Read-Only) - -| Attribute | Type | Description | -| --------------- | ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `access_key` | String | The AWS access key to use to authenticate. If you specified the `access_key` arg, then this is the argument value verbatim. If you have specified `profile`, then this is the resolved temporary access key for that profile. | -| `secret_key` | String | The AWS secret key to use to authenticate. If you specified the `secret_key` arg, then this is the argument value verbatim. If you have specified `profile`, then this is the resolved temporary secret key for that profile. | -| `session_token` | String | The AWS session token to use to authenticate. If you specified the `session_token` arg, then this is the argument value verbatim. If you have specified `profile`, then this is the resolved temporary session token for that profile. | -| `env` | Map | A map of the resolved [connection-related environment variables](https://docs.aws.amazon.com/sdk-for-php/v3/developer-guide/guide_connections_environment.html) (`AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`, `AWS_SESSION_TOKEN`, `AWS_PROFILE`) | - -## Default Connection - -The AWS connection type includes an implicit, default connection (`connection.aws.default`) that will be configured using the same mechanism as the AWS CLI (AWS environment variables, default profile, etc); the effective connections of this default are the same as if you run the `aws` command. - -## Examples - -### Static Connections - -```hcl -connection "aws" "aws_static" { - access_key = "ASIAQGDFAKEKGUI5MCEU" - secret_key = "QhLNLGM5MBkXiZm2k2tfake+TduEaCkCdpCSLl6U" -} -``` - -### AWS Profile - -```hcl -connection "aws" "aws_profile" { - profile = "awx_prod_01" -} -``` - -### Using AWS Connections in Container Step - -```hcl -pipeline "ex1" { - param "connection" { - type = string - default = "default" - } - - step "container" "aws" { - image = "public.ecr.aws/aws-cli/aws-cli" - cmd = [ "s3", "ls" ] - env = connection.aws[param.connection].env - } -} -``` diff --git a/docs/reference/config-files/connection/azure.md b/docs/reference/config-files/connection/azure.md deleted file mode 100644 index 0a0ecf6..0000000 --- a/docs/reference/config-files/connection/azure.md +++ /dev/null @@ -1,46 +0,0 @@ ---- -title: azure -sidebar_label: azure ---- - -# azure - -The `azure` connection can be used to access Azure resources. - -```hcl -connection "azure" "azure_connection" { - tenant_id = "YourTenantID" - client_secret = "YourClientSecret" - client_id = "YourClientID" -} -``` - -## Arguments - -| Name | Type | Required? | Description | -| --------------- | ------ | --------- | --------------------------------------------------------------------------------------------------------------- | -| `tenant_id` | String | Optional | The Microsoft Entra tenant (directory) ID. | -| `client_id` | String | Optional | The client (application) ID of an App Registration in the tenant | -| `client_secret` | String | Optional | A client secret that was generated for the App Registration. | -| `environment` | String | Optional | The Azure cloud where your resources exist - `AzureCloud` (default), `AzureChinaCloud`, or `AzureUSGovernment`. | - -All arguments are optional, and a `azure` connection with no arguments will behave the same as the [default connection](#default-connection). - -## Attributes (Read-Only) - -| Attribute | Type | Description | -| --------- | ---- | ------------------------------------------------------------------------------------------------------------------------------------------------- | -| `env` | Map | A map of the resolved connection-related environment variables (`AZURE_TENANT_ID`, `AZURE_CLIENT_SECRET`, `AZURE_CLIENT_ID`, `AZURE_ENVIRONMENT`) | - -## Default Connection - -The `azure` connection type includes an implicit, default connection (`connection.azure.default`) that will be configured using the Azure environment variables: - -```hcl -connection "azure" "default" { - tenant_id = env("AZURE_TENANT_ID") - client_secret = env("AZURE_CLIENT_SECRET") - client_id = env("AZURE_CLIENT_ID") - environment = env("AZURE_ENVIRONMENT") -} -``` diff --git a/docs/reference/config-files/connection/bitbucket.md b/docs/reference/config-files/connection/bitbucket.md deleted file mode 100644 index c28c972..0000000 --- a/docs/reference/config-files/connection/bitbucket.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -title: bitbucket -sidebar_label: bitbucket ---- - -# bitbucket - -The `bitbucket` connection can be used to access Bitbucket resources. - -```hcl -connection "bitbucket" "bb_connection" { - username = "user_name" - password = "P@ss123!" - base_url = "https://api.bitbucket.org/2.0" -} -``` - -## Arguments - -| Name | Type | Required? | Description | -| ---------- | ------ | --------- | --------------------------------- | -| `username` | String | Optional | Bitbucket username | -| `password` | String | Optional | Bitbucket app password | -| `base_url` | String | Optional | Base URL of your Bitbucket Server | - -All arguments are optional, and a `bitbucket` connection with no arguments will behave the same as the [default connection](#default-connection). - -## Attributes (Read-Only) - -| Attribute | Type | Description | -| --------- | ---- | ------------------------------------------------------------------------------------------------------------------------------------- | -| `env` | Map | A map of the resolved connection-related environment variables (`BITBUCKET_USERNAME`, `BITBUCKET_PASSWORD`, `BITBUCKET_API_BASE_URL`) | - -## Default Connection - -The `bitbucket` connection type includes an implicit, default connection (`connection.bitbucket.default`) that will be configured using the environment variables `BITBUCKET_USERNAME`, `BITBUCKET_PASSWORD`, and `BITBUCKET_API_BASE_URL`. - -```hcl -connection "bitbucket" "default" { - username = env("BITBUCKET_USERNAME") - password = env("BITBUCKET_PASSWORD") - base_url = env("BITBUCKET_API_BASE_URL") -} -``` diff --git a/docs/reference/config-files/connection/clickup.md b/docs/reference/config-files/connection/clickup.md deleted file mode 100644 index 58412ed..0000000 --- a/docs/reference/config-files/connection/clickup.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -title: clickup -sidebar_label: clickup ---- - -# clickup - -The `clickup` connection can be used to access ClickUp resources. - -```hcl -connection "clickup" "my_clickup" { - token = "pk_616_L5H36X3CXXXXXXXWEAZZF0NM5" -} -``` - -## Arguments - -| Name | Type | Required?| Description -|-----------------|---------|----------|------------------- -| `token` | String | Optional | API token - -All arguments are optional, and a `clickup` connection with no arguments will behave the same as the [default connection](#default-connection). - -## Default Connection - -The `clickup` connection type includes an implicit, default connection (`connection.clickup.default`) that will be configured to set the `token` to the `CLICKUP_TOKEN` environment variable. - -```hcl -connection "clickup" "default" { - token = env("CLICKUP_TOKEN") -} -``` diff --git a/docs/reference/config-files/connection/datadog.md b/docs/reference/config-files/connection/datadog.md deleted file mode 100644 index 43e2e00..0000000 --- a/docs/reference/config-files/connection/datadog.md +++ /dev/null @@ -1,37 +0,0 @@ ---- -title: datadog -sidebar_label: datadog ---- - -# datadog - -The `datadog` connection can be used to access Datadog resources. - -```hcl -connection "datadog" "my_datadog_connection" { - api_key = "b1cf234................." - app_key = "1a2345bc..................." - api_url = "https://api.adoghq.com/" -} -``` - -## Arguments - -| Name | Type | Required? | Description | -| --------- | ------ | --------- | --------------- | -| `api_key` | String | Optional | API key | -| `app_key` | String | Optional | Application key | -| `api_url` | String | Optional | API URL | - -All arguments are optional, and a `datadog` connection with no arguments will behave the same as the [default connection](#default-connection). - -## Default Connection - -The `datadog` connection type includes an implicit, default connection (`connection.datadog.default`) that will be configured using the environment variables `DD_CLIENT_API_KEY`, and `DD_CLIENT_APP_KEY`. - -```hcl -connection "datadog" "my_datadog_connection" { - api_key = env("DD_CLIENT_API_KEY") - app_key = env("DD_CLIENT_APP_KEY") -} -``` diff --git a/docs/reference/config-files/connection/discord.md b/docs/reference/config-files/connection/discord.md deleted file mode 100644 index ba88723..0000000 --- a/docs/reference/config-files/connection/discord.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -title: discord -sidebar_label: discord ---- - -# discord - -The `discord` connection can be used to access Discord resources. - -```hcl -connection "discord" "my_discord" { - token = "00B630jSCGU4Fake5Yh4KQMFakezwE2OgVcS7N999b" -} -``` - -## Arguments - -| Name | Type | Required? | Description | -| ------- | ------ | --------- | ----------- | -| `token` | String | Optional | API token | - -All arguments are optional, and a `discord` connection with no arguments will behave the same as the [default connection](#default-connection). - -## Attributes (Read-Only) - -| Attribute | Type | Description | -| --------- | ---- | -------------------------------------------------------------------------------- | -| `env` | Map | A map of the resolved connection-related environment variables (`DISCORD_TOKEN`) | - -## Default Connection - -The `discord` connection type includes an implicit, default connection (`connection.discord.default`) that will be configured to set the `token` to the `DISCORD_TOKEN` environment variable. - -```hcl -connection "discord" "default" { - token = env("DISCORD_TOKEN") -} -``` diff --git a/docs/reference/config-files/connection/duckdb.md b/docs/reference/config-files/connection/duckdb.md deleted file mode 100644 index 7592243..0000000 --- a/docs/reference/config-files/connection/duckdb.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -title: duckdb -sidebar_label: duckdb ---- - -# duckdb - -The `duckdb` connection can be used to access a [DuckDB](https://duckdb.org/) database. - -```hcl -connection "duckdb" "duckdb_connection" { - filename = "my_ducks.db" -} -``` - -## Arguments - -| Name | Type | Required?| Description -|------------|---------|----------|------------------- -| `filename` | String | Optional | Path to a DuckDB database file to open. The filename is relative to the [mod location](/docs/run#mod-location) - - -All arguments are optional, and a `duckdb` connection with no arguments will behave the same as the [default connection](#default-connection). - -## Attributes (Read-Only) - -| Attribute | Type | Description -| --------------------| ------ |------------------------------------------------------------------------------ -| `connection_string` | String | The connection string built from the arguments to this connection, in the format `duckdb://path/to/file` - - - -## Default Connection - -The `duckdb` connection type includes an implicit, default connection (`connection.duckdb.default`), which will use the `DUCKDB_FILENAME` environment variable unless overridden. - -```hcl -connection "duckcb" "default" { - filename = env("DUCKDB_FILENAME") -} -``` diff --git a/docs/reference/config-files/connection/freshdesk.md b/docs/reference/config-files/connection/freshdesk.md deleted file mode 100644 index f434755..0000000 --- a/docs/reference/config-files/connection/freshdesk.md +++ /dev/null @@ -1,35 +0,0 @@ ---- -title: freshdesk -sidebar_label: freshdesk ---- - -# freshdesk - -The `freshdesk` connection can be used to access Freshdesk resources. - -```hcl -connection "freshdesk" "freshdesk_connection" { - api_key = "sk-jwgthNa..." - subdomain = "domain_name" -} -``` - -## Arguments - -| Name | Type | Required? | Description | -| ----------- | ------ | --------- | ------------------- | -| `api_key` | String | Optional | Freshdesk API key | -| `subdomain` | String | Optional | Freshdesk subdomain | - -All arguments are optional, and a `freshdesk` connection with no arguments will behave the same as the [default connection](#default-connection). - -## Default Connection - -The `freshdesk` connection type includes an implicit, default connection (`connection.freshdesk.default`) that will be configured using the environment variables `FRESHDESK_API_KEY` and `FRESHDESK_SUBDOMAIN`. - -```hcl -connection "freshdesk" "default" { - api_key = env("FRESHDESK_API_KEY") - subdomain = env("FRESHDESK_SUBDOMAIN") -} -``` diff --git a/docs/reference/config-files/connection/gcp.md b/docs/reference/config-files/connection/gcp.md deleted file mode 100644 index 9d69cb4..0000000 --- a/docs/reference/config-files/connection/gcp.md +++ /dev/null @@ -1,103 +0,0 @@ ---- -title: gcp -sidebar_label: gcp ---- - -# gcp - -The `gcp` connection can be used to access Google Cloud Platform resources. - -```hcl -connection "gcp" "gcp_def" { - connections = "~/.config/gcloud/my_connections.json" -} -``` - -## Arguments - -| Name | Type | Required? | Description | -| ------------- | ------ | --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | -| `credentials` | String | Optional | Either the path to a JSON credential file that contains Google application credentials or the contents of a service account key file in JSON format. | -| `ttl` | Number | Optional | The time, in seconds, to cache the connections. By default, the GP connection will be cached for 5 minutes. | - -All arguments are optional, and a `gcp` connection with no arguments will behave the same as the [GCP default connection](#default-connection). - -## Attributes (Read-Only) - -| Attribute | Type | Description | -| -------------- | ------ | ---------------------------------------------------- | -| `access_token` | String | An OAuth access token to use to authenticate to GCP. | - -## Default Connection - -The GCP connection type includes an implicit, default connection (`connection.gcp.default`) that will be configured using the same mechanism as the GCloud CLI (environment variables, config files, etc); the effective connections of this default are the same as if you run the `gcloud` command. Connections will be loaded from: - -- The path specified in the `GOOGLE_APPLICATION_CONNECTIONS` environment variable, if set; otherwise -- The standard location (`~/.config/gcloud/application_default_connections.json`) - -## Examples - -### Static Connections from Connection File - -```hcl -connection "gcp" "gcp_def" { - connections = "~/.config/gcloud/my_connections.json" -} -``` - -### Static Connections defined inline - -```hcl -connection "gcp_inline" { - #project = "my_project" - connections = < \ No newline at end of file diff --git a/docs/reference/config-files/connection/steampipe.md b/docs/reference/config-files/connection/steampipe.md deleted file mode 100644 index 960747e..0000000 --- a/docs/reference/config-files/connection/steampipe.md +++ /dev/null @@ -1,55 +0,0 @@ ---- -title: steampipe -sidebar_label: steampipe ---- - -# steampipe - -The `steampipe` connection can be used to access a [Steampipe](https://steampipe.io/) database. - -```hcl -connection "steampipe" "steampipe_connection" { - host = "localhost" - port = 9193 - db = "steampipe" - username = "steampipe" - password = "mypassword123" -} -``` - -## Arguments - -| Name | Type | Required?| Description -|---------------------|---------|----------|------------------- -| `db` | String | Optional | Database name. Defaults to `steampipe`. -| `host` | String | Optional | Database hostname. Defaults to `127.0.0.1`. -| `password` | String | Optional | Database password. -| `port` | Number | Optional | Database port. Defaults to `9193`. -| `search_path` | String | Optional | Database search path. -| `search_path_prefix`| String | Optional | Database search path prefix. -| `ssl_mode` | String | Optional | PostgreSQL [SSL Mode](https://www.postgresql.org/docs/current/libpq-ssl.html#LIBPQ-SSL-PROTECTION), one of `disable`, `allow`, `prefer`, `require`, `verify-ca`, `verify-full`. The default is `require`. -| `username` | String | Optional | Database username. Default is `steampipe`. - - -All arguments are optional, and a `steampipe` connection with no arguments will behave the same as the [default connection](#default-connection). - - -## Attributes (Read-Only) - -| Attribute | Type | Description -| --------------------| ------ |------------------------------------------------------------------------------ -| `connection_string` | String | The connection string built from the arguments to this connection, in the format `postgresql://[username[:password]@][host][:port][/db]` -| `env` | Map | A map of the resolved [libpq environment variables](https://www.postgresql.org/docs/current/libpq-envars.html) (`PGHOST`, `PGDATABASE`, `PGUSER`, `PGPASSWORD`, `PGPORT`, `PGSSLNEGOTIATION`) - - - -## Default Connection - -The `steampipe` connection type includes an implicit, default connection (`connection.steampipe.default`) that will be configured to use the local Steampipe instance, eg: - -```hcl - host = "localhost" - port = 9193 - db = "steampipe" - username = "steampipe" -``` \ No newline at end of file diff --git a/docs/reference/config-files/connection/teams.md b/docs/reference/config-files/connection/teams.md deleted file mode 100644 index 1bdf7a7..0000000 --- a/docs/reference/config-files/connection/teams.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -title: teams -sidebar_label: teams ---- - -# teams - -The `teams` connection can be used to access Microsoft Teams resources. - -```hcl -connection "teams" "my_teams" { - access_token= "bfc6f1c4fakesdfdxxxx26fake977b2xxxsfsdfakef313c3d389126de0d" -} -``` - -## Arguments - -| Name | Type | Required? | Description | -| -------------- | ------ | --------- | ----------- | -| `access_token` | String | Optional | API token | - -All arguments are optional, and a `teams` connection with no arguments will behave the same as the [default connection](#default-connection). - -## Attributes (Read-Only) - -| Attribute | Type | Description | -| --------- | ---- | ------------------------------------------------------------------------------------- | -| `env` | Map | A map of the resolved connection-related environment variables (`TEAMS_ACCESS_TOKEN`) | - -## Default Connection - -The `teams` connection type includes an implicit, default connection (`connection.teams.default`) that will be configured to set the `access_token` to the `TEAMS_ACCESS_TOKEN` environment variable. - -```hcl -connection "teams" "default" { - access_token = env("TEAMS_ACCESS_TOKEN") -} -``` diff --git a/docs/reference/config-files/connection/template.keep b/docs/reference/config-files/connection/template.keep deleted file mode 100644 index 1798caa..0000000 --- a/docs/reference/config-files/connection/template.keep +++ /dev/null @@ -1,39 +0,0 @@ ---- -title: xxxxx -sidebar_label: xxxxx ---- - -# xxxxx - -The `xxxxx` connection can be used to access XXXXX resources. - -```hcl - -``` - -## Arguments - -| Name | Type | Required?| Description -|-----------------|---------|----------|------------------- -| `TTTTTT` | String | Optional | API - - -All arguments are optional, and a `xxxxx` connection with no arguments will behave the same as the [default connection](#default-connection). - -## Default Connection -The `xxxxx` connection type includes an implicit, default connection (`connection.xxxxx.default`) that will be configured to set the `TTTTTT` to the `EEEEEEE` environment variable. - -```hcl -connection "xxxxx" "default" { - TTTTTT = env("EEEEEEE") -} -``` - -## Examples - -### Static Connections -```hcl -connection "xxxxx" "my_xxxxx" { - TTTTTT = "xoxp-234567890" -} -``` diff --git a/docs/reference/config-files/connection/trello.md b/docs/reference/config-files/connection/trello.md deleted file mode 100644 index 44ddc10..0000000 --- a/docs/reference/config-files/connection/trello.md +++ /dev/null @@ -1,35 +0,0 @@ ---- -title: trello -sidebar_label: trello ---- - -# trello - -The `trello` connection can be used to access Trello resources. - -```hcl -connection "trello" "my_trello" { - api_key = "a25ad2e..." - token = "ATTAb179ea..." -} -``` - -## Arguments - -| Name | Type | Required? | Description | -| --------- | ------ | --------- | ----------- | -| `api_key` | String | Optional | API key | -| `token` | String | Optional | API token | - -All arguments are optional, and a `trello` connection with no arguments will behave the same as the [default connection](#default-connection). - -## Default Connection - -The `trello` connection type includes an implicit, default connection (`connection.trello.default`) that will be configured to set the `api_key` to the `TRELLO_API_KEY` environment variable and the `token` to the `TRELLO_TOKEN` environment variable. - -```hcl -connection "trello" "default" { - api_key = env("TRELLO_API_KEY") - token = env("TRELLO_TOKEN") -} -``` diff --git a/docs/reference/config-files/connection/turbot_guardrails.md b/docs/reference/config-files/connection/turbot_guardrails.md deleted file mode 100644 index b9be4be..0000000 --- a/docs/reference/config-files/connection/turbot_guardrails.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -title: guardrails -sidebar_label: guardrails ---- - -# guardrails - -The `guardrails` connection can be used to access [Turbot Guardrails](https://turbot.com/guardrails) resources. - -```hcl -connection "guardrails" "my_guardrail" { - access_key = "c8e2c2ed-1ca8-429b-b369-123..." - secret_key = "a3d8385d-47f7-40c5-a90c-123..." - workspace = "https://my_workspace.sass.turbot.com" -} -``` - -## Arguments - -| Name | Type | Required? | Description | -| ------------ | ------ | --------- | ------------- | -| `access_key` | String | Optional | Access key | -| `secret_key` | String | Optional | Secret key | -| `workspace` | String | Optional | Workspace URL | - -All arguments are optional, and a `guardrails` connection with no arguments will behave the same as the [default connection](#default-connection). - -## Attributes (Read-Only) - -| Attribute | Type | Description | -| --------- | ---- | ----------------------------------------------------------------------------------------------------------------------------- | -| `env` | Map | A map of the resolved connection-related environment variables (`TURBOT_ACCESS_KEY`, `TURBOT_SECRET_KEY`, `TURBOT_WORKSPACE`) | - -## Default Connection - -The `guardrails` connection type includes an implicit, default connection (`connection.guardrails.default`) that will be configured using the environment variables `TURBOT_ACCESS_KEY`, `TURBOT_SECRET_KEY`, and `TURBOT_WORKSPACE`. - -```hcl -connection "guardrails" "my_guardrail" { - access_key = env("TURBOT_ACCESS_KEY") - secret_key = env("TURBOT_SECRET_KEY") - workspace = env("TURBOT_WORKSPACE") -} -``` diff --git a/docs/reference/config-files/connection/uptimerobot.md b/docs/reference/config-files/connection/uptimerobot.md deleted file mode 100644 index e0e0735..0000000 --- a/docs/reference/config-files/connection/uptimerobot.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -title: uptimerobot -sidebar_label: uptimerobot ---- - -# uptimerobot - -The `uptimerobot` connection can be used to access UptimeRobot resources. - -```hcl -connection "uptimerobot" "my_uptimerobot" { - api_key = "u123456-ecaf32fakekey633ff33dd3c445" -} -``` - -## Arguments - -| Name | Type | Required? | Description | -| --------- | ------ | --------- | ----------- | -| `api_key` | String | Optional | API Key | - -All arguments are optional, and a `uptimerobot` connection with no arguments will behave the same as the [default connection](#default-connection). - -## Attributes (Read-Only) - -| Attribute | Type | Description | -| --------- | ---- | -------------------------------------------------------------------------------------- | -| `env` | Map | A map of the resolved connection-related environment variables (`UPTIMEROBOT_API_KEY`) | - -## Default Connection - -The `uptimerobot` connection type includes an implicit, default connection (`connection.uptimerobot.default`) that will be configured to set the `api_key` to the `UPTIMEROBOT_API_KEY` environment variable. - -```hcl -connection "uptimerobot" "default" { - api_key = env("UPTIMEROBOT_API_KEY") -} -``` diff --git a/docs/reference/config-files/connection/urlscan.md b/docs/reference/config-files/connection/urlscan.md deleted file mode 100644 index 2176516..0000000 --- a/docs/reference/config-files/connection/urlscan.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -title: urlscan -sidebar_label: urlscan ---- - -# urlscan - -The `urlscan` connection can be used to access URLScan resources. - -```hcl -connection "urlscan" "my_urlscan" { - api_key = "11111111-e127-1234-adcd-59cad2f12abc" -} -``` - -## Arguments - -| Name | Type | Required? | Description | -| --------- | ------ | --------- | ----------- | -| `api_key` | String | Optional | API Key | - -All arguments are optional, and a `urlscan` connection with no arguments will behave the same as the [default connection](#default-connection). - -## Attributes (Read-Only) - -| Attribute | Type | Description | -| --------- | ---- | ---------------------------------------------------------------------------------- | -| `env` | Map | A map of the resolved connection-related environment variables (`URLSCAN_API_KEY`) | - -## Default Connection - -The `urlscan` connection type includes an implicit, default connection (`connection.urlscan.default`) that will be configured to set the `api_key` to the `URLSCAN_API_KEY` environment variable. - -```hcl -connection "urlscan" "default" { - api_key = env("URLSCAN_API_KEY") -} -``` diff --git a/docs/reference/config-files/connection/vault.md b/docs/reference/config-files/connection/vault.md deleted file mode 100644 index dd89c76..0000000 --- a/docs/reference/config-files/connection/vault.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -title: vault -sidebar_label: vault ---- - -# vault - -The `vault` connection can be used to access Vault resources. - -```hcl -connection "vault" "my_vault" { - address = "http://127.0.0.1:8200" - token = "hvs.FaKe" -} -``` - -## Arguments - -| Name | Type | Required? | Description | -| --------- | ------ | --------- | -------------------- | -| `address` | String | Optional | Vault server address | -| `token` | String | Optional | API token | - -All arguments are optional, and a `vault` connection with no arguments will behave the same as the [default connection](#default-connection). - -## Attributes (Read-Only) - -| Attribute | Type | Description | -| --------- | ---- | -------------------------------------------------------------------------------------------- | -| `env` | Map | A map of the resolved connection-related environment variables (`VAULT_ADDR`, `VAULT_TOKEN`) | - -## Default Connection - -The `vault` connection type includes an implicit, default connection (`connection.vault.default`) that will be configured to set the `token` to the `VAULT_TOKEN` environment variable and the `domain` to `VAULT_ADDR`. - -```hcl -connection "vault" "default" { - domain = env("VAULT_ADDR") - token = env("VAULT_TOKEN") -} -``` diff --git a/docs/reference/config-files/connection/virustotal.md b/docs/reference/config-files/connection/virustotal.md deleted file mode 100644 index a3e08d2..0000000 --- a/docs/reference/config-files/connection/virustotal.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -title: virustotal -sidebar_label: virustotal ---- - -# virustotal - -The `virustotal` connection can be used to access VirusTotal resources. - -```hcl -connection "virustotal" "my_ virustotal" { - api_key = "SG.R7..." -} -``` - -## Arguments - -| Name | Type | Required? | Description | -| --------- | ------ | --------- | ----------- | -| `api_key` | String | Optional | API key | - -All arguments are optional, and a `virustotal` connection with no arguments will behave the same as the [default connection](#default-connection). - -## Default Connection - -The `virustotal` connection type includes an implicit, default connection (`connection.virustotal.default`) that will be configured to set the `api_key` to the `VTCLI_APIKEY` environment variable. - -```hcl -connection "virustotal" "default" { - api_key = env("VTCLI_APIKEY") -} -``` diff --git a/docs/reference/config-files/connection/zendesk.md b/docs/reference/config-files/connection/zendesk.md deleted file mode 100644 index 59dd001..0000000 --- a/docs/reference/config-files/connection/zendesk.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -title: zendesk -sidebar_label: zendesk ---- - -# zendesk - -The `zendesk` connection can be used to access Zendesk resources. - -```hcl -connection "zendesk" "my_zendesk" { - subdomain = "dmi" - email = "pam@dmi.com" - token = "17ImlCYdfThisIsFakepJn1fi1pLwVdrb21114" -} -``` - -## Arguments - -| Name | Type | Required?| Description -|-----------------|---------|----------|------------------- -| `subdomain` | String | Optional | The subdomain name of your Zendesk account. -| `email` | String | Optional | Email address of agent user who have permission to access the API. -| `token` | String | Optional | API Token for your Zendesk instance. - -All arguments are optional, and a `zendesk` connection with no arguments will behave the same as the [default connection](#default-connection). - -## Default Connection - -The `zendesk` connection type includes an implicit, default connection (`connection.zendesk.default`) that will be configured to set defaults using the environment variables `ZENDESK_EMAIL`, `ZENDESK_SUBDOMAIN`, and `ZENDESK_API_TOKEN`. - -```hcl -connection "zendesk" "default" { - subdomain = env("ZENDESK_SUBDOMAIN") - email = env("ZENDESK_EMAIL") - token = env("ZENDESK_API_TOKEN") -} -``` diff --git a/docs/reference/config-files/connection_import/index.md b/docs/reference/config-files/connection_import/index.md index d65edb8..1d2080e 100644 --- a/docs/reference/config-files/connection_import/index.md +++ b/docs/reference/config-files/connection_import/index.md @@ -7,17 +7,17 @@ sidebar_label: connection_import # Connection Import -The `connection_import` resource allows you to bulk import connections from other systems & formats. `connection_import` is a top-level block defined in config files (`*.fpc`) like `connection` and `workspace`. +The `connection_import` resource allows you to bulk import connections from other systems & formats. `connection_import` is a top-level block defined in config files (`*.tpc`) like `connection` and `workspace`. ```hcl -connection_import "steampipe" { - source = "~/.steampipe/config/*.spc" +connection_import "tailpipe" { + source = "~/.tailpipe/config/*.spc" connections = ["*"] prefix = "sp1_" } ``` -Imported connections are converted to the native Flowpipe connection type - Steampipe `aws` connections become `aws` connections, `slack` connections are `slack` connections, etc. +Imported connections are converted to the native Tailpipe connection type - Tailpipe `aws` connections become `aws` connections, `slack` connections are `slack` connections, etc. The imported connections are merged into the map of all connections like any other connection, and they are referenced the same way. For example, if you have connections defined as: @@ -53,13 +53,13 @@ connection "slack" { and import with: ```hcl -connection_import "steampipe" { - source = "~/.steampipe/config/*.spc" +connection_import "tailpipe" { + source = "~/.tailpipe/config/*.spc" connections = ["*"] } ``` -Then they will be available in Flowpipe as: +Then they will be available in Tailpipe as: ```hcl connection.gcp.gcp_dev_aaa @@ -69,7 +69,7 @@ connection.aws.aws_002 connection.slack.slack ``` -and they will have the same attributes as the native Flowpipe connection types: +and they will have the same attributes as the native Tailpipe connection types: ```hcl connection.gcp.gcp_dev_aaa.access_token @@ -83,8 +83,8 @@ connection.slack.slack.token If you specify a `prefix`, the connection names will be prepended with it: ```hcl -connection_import "steampipe" { - source = "~/.steampipe/config/*.spc" +connection_import "tailpipe" { + source = "~/.tailpipe/config/*.spc" connections = ["*"] prefix = "sp1_" } @@ -100,7 +100,7 @@ connection.aws.sp1_aws_002 connection.slack.sp1_slack ``` -If there is a name conflict for any connections, Flowpipe will throw an error when loading. +If there is a name conflict for any connections, Tailpipe will throw an error when loading. At this time, you may only use a single `import_connection` block. diff --git a/docs/reference/config-files/connection_import/steampipe.md b/docs/reference/config-files/connection_import/steampipe.md index 0642782..19e67e0 100644 --- a/docs/reference/config-files/connection_import/steampipe.md +++ b/docs/reference/config-files/connection_import/steampipe.md @@ -1,16 +1,16 @@ --- -title: steampipe -sidebar_label: steampipe +title: tailpipe +sidebar_label: tailpipe --- -# steampipe +# tailpipe -The `steampipe` connection import resource allows you to bulk import connections from Steampipe connections. This allows you to import the plugin connections from your Steampipe installation into Flowpipe. +The `tailpipe` connection import resource allows you to bulk import connections from Tailpipe connections. This allows you to import the plugin connections from your Tailpipe installation into Tailpipe. ```hcl -connection_import "steampipe" { - source = "~/.steampipe/config/*.spc" +connection_import "tailpipe" { + source = "~/.tailpipe/config/*.spc" connections = ["*"] } ``` @@ -19,36 +19,36 @@ connection_import "steampipe" { | Name | Type | Required?| Description |-----------------|---------|----------|------------------- -| `source` | String | Optional | Path to the config file(s) with the connections to import. Defaults to `~/.steampipe/config/*.spc`. +| `source` | String | Optional | Path to the config file(s) with the connections to import. Defaults to `~/.tailpipe/config/*.spc`. | `connections` | List<String> | Optional | A list of connection names to import. You may use the `*` globbing wildcard in these entries. The default is `["*"]` (all connections). | `prefix` | String | Optional | A string to prepend to the connection name to create the connection name. ## Examples -### Import ALL Steampipe connections +### Import ALL Tailpipe connections ```hcl -connection_import "steampipe" {} +connection_import "tailpipe" {} ``` or ```hcl -connection_import "steampipe" { - source = "~/.steampipe/config/*.spc" +connection_import "tailpipe" { + source = "~/.tailpipe/config/*.spc" connections = ["*"] } ``` -### Import ALL Steampipe connections and prefix them +### Import ALL Tailpipe connections and prefix them ```hcl -connection_import "steampipe" { +connection_import "tailpipe" { prefix = "sp_" } ``` -### Import specific Steampipe connections only +### Import specific Tailpipe connections only ```hcl -connection_import "steampipe" { - source = "~/.steampipe/config/aws.spc" +connection_import "tailpipe" { + source = "~/.tailpipe/config/aws.spc" connections = ["aws_prod*", "aws_all"] } ``` \ No newline at end of file diff --git a/docs/reference/config-files/credential/abuseipdb.md b/docs/reference/config-files/credential/abuseipdb.md deleted file mode 100644 index b812aa5..0000000 --- a/docs/reference/config-files/credential/abuseipdb.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -title: abuseipdb -sidebar_label: abuseipdb ---- - -# abuseipdb - -> [!IMPORTANT] -> ***As of Flowpipe 1.0.0, `credential` has been renamed to `connection`. The `abuseipdb` credential resource is deprecated and will be removed in a future version of Flowpipe. Use the [abuseipdb connection](/docs/reference/config-files/connection/abuseipdb) instead.*** - - -The `abuseipdb` credential can be used to access AbuseIPDB resources. - -```hcl -credential "abuseipdb" "abuseipdb_api_key" { - api_key = "bfc6f1c42dfakefdxxxx26977977b2xxxsfake98f310123456789de0d" -} -``` - -## Arguments - -| Name | Type | Required?| Description -|-----------------|---------|----------|------------------- -| `api_key` | String | Optional | API Key - -All arguments are optional, and an `abuseipdb` credential with no arguments will behave the same as the [default credential](#default-credential). - -## Default Credential - -The `abuseipdb` credential type includes an implicit, default credential (`credential.abuseipdb.default`) that will be configured to set the `api_key` to the `ABUSEIPDB_API_KEY` environment variable. - -```hcl -credential "abuseipdb" "default" { - api_key = env("ABUSEIPDB_API_KEY") -} -``` diff --git a/docs/reference/config-files/credential/alicloud.md b/docs/reference/config-files/credential/alicloud.md deleted file mode 100644 index bc2f8cf..0000000 --- a/docs/reference/config-files/credential/alicloud.md +++ /dev/null @@ -1,59 +0,0 @@ ---- -title: alicloud -sidebar_label: alicloud ---- - -# alicloud - -> [!IMPORTANT] -> ***As of Flowpipe 1.0.0, `credential` has been renamed to `connection`. The `alicloud` credential resource is deprecated and will be removed in a future version of Flowpipe. Use the [alicloud connection](/docs/reference/config-files/connection/alicloud) instead.*** - - -The `alicloud` credential can be used to access Alibaba Cloud resources. - -```hcl -credential "alicloud" "alicloud" { - access_key = "LTAI4GBVFakeKey09Kxezv66" - secret_key = "6iNPvThisIsNotARealSecretk1sZF" -} -``` - -## Arguments - -| Name | Type | Required?| Description -|------------------|---------|----------|------------------- -| `access_key` | String | Optional | A static access key to use to authenticate. -| `secret_key` | String | Optional | A static secret key to use to authenticate. - -All arguments are optional, and a `alicloud` credential with no arguments will behave the same as the [default credential](#default-credential). - -## Default Credential - -The `alicloud` credential type includes an implicit, default credential (`credential.alicloud.default`) that will be configured using either of the following environment variables: - -1.`ALIBABACLOUD_ACCESS_KEY_ID` and `ALIBABACLOUD_ACCESS_KEY_SECRET`. - -```hcl -credential "alicloud" "default" { - access_key = env("ALIBABACLOUD_ACCESS_KEY_ID") - secret_key = env("ALIBABACLOUD_ACCESS_KEY_SECRET") -} -``` - -2.`ALICLOUD_ACCESS_KEY_ID` and `ALICLOUD_ACCESS_KEY_SECRET`. - -```hcl -credential "alicloud" "default" { - access_key = env("ALICLOUD_ACCESS_KEY_ID") - secret_key = env("ALICLOUD_ACCESS_KEY_SECRET") -} -``` - -3.`ALICLOUD_ACCESS_KEY` and `ALICLOUD_SECRET_KEY`. - -```hcl -credential "alicloud" "default" { - access_key = env("ALICLOUD_ACCESS_KEY") - secret_key = env("ALICLOUD_SECRET_KEY") -} -``` diff --git a/docs/reference/config-files/credential/aws.md b/docs/reference/config-files/credential/aws.md deleted file mode 100644 index 94301c6..0000000 --- a/docs/reference/config-files/credential/aws.md +++ /dev/null @@ -1,81 +0,0 @@ ---- -title: aws -sidebar_label: aws ---- - -# aws - -> [!IMPORTANT] -> ***As of Flowpipe 1.0.0, `credential` has been renamed to `connection`. The `aws` credential resource is deprecated and will be removed in a future version of Flowpipe. Use the [aws connection](/docs/reference/config-files/connection/aws) instead.*** - -The `aws` credential can be used to access Amazon Web Services resources. - -```hcl -credential "aws" "my_creds" { - profile = "aws-account-01" -} -``` - -## Arguments - -| Name | Type | Required?| Description -|-----------------|---------|----------|------------------- -| `profile` | String | Optional | The [AWS Profile](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html) to use to obtain credentials. -| `access_key` | String | Optional | A static AWS access key to use to authenticate. -| `secret_key` | String | Optional | A static AWS secret key to use to authenticate. -| `session_token` | String | Optional | A static AWS session token to use to authenticate. This is only used if you specify `access_key` and `secret_key`. -| `ttl` | Number | Optional | The time, in seconds, to cache the credentials. By default, the AWS credential will be cached for 5 minutes. - -All arguments are optional, and an `aws` credential with no arguments will behave the same as the [AWS default credential](#default-credential). You may instead specify exactly one of: - -- `profile` -- `access_key` and `secret_key` (and optionally `session_token`) - -## Attributes (Read-Only) - -| Attribute | Type | Description -|-----------------|---------|----------------- -| `access_key` | String | The AWS access key to use to authenticate. If you specified the `access_key` arg, then this is the argument value verbatim. If you have specified `profile`, then this is the resolved temporary access key for that profile. -| `secret_key` | String | The AWS secret key to use to authenticate. If you specified the `secret_key` arg, then this is the argument value verbatim. If you have specified `profile`, then this is the resolved temporary secret key for that profile. -| `session_token` | String | The AWS session token to use to authenticate. If you specified the `session_token` arg, then this is the argument value verbatim. If you have specified `profile`, then this is the resolved temporary session token for that profile. -| `env` | Map | A map of the resolved [credential-related environment variables](https://docs.aws.amazon.com/sdk-for-php/v3/developer-guide/guide_credentials_environment.html) (`AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`, `AWS_SESSION_TOKEN`, `AWS_PROFILE`) - -## Default Credential - -The AWS credential type includes an implicit, default credential (`credential.aws.default`) that will be configured using the same mechanism as the AWS CLI (AWS environment variables, default profile, etc); the effective credentials of this default are the same as if you run the `aws` command. - -## Examples - -### Static Credentials - -```hcl -credential "aws" "aws_static" { - access_key = "ASIAQGDFAKEKGUI5MCEU" - secret_key = "QhLNLGM5MBkXiZm2k2tfake+TduEaCkCdpCSLl6U" -} -``` - -### AWS Profile - -```hcl -credential "aws" "aws_profile" { - profile = "awx_prod_01" -} -``` - -### Using AWS Credentials in Container Step - -```hcl -pipeline "ex1" { - param "cred" { - type = string - default = "default" - } - - step "container" "aws" { - image = "public.ecr.aws/aws-cli/aws-cli" - cmd = [ "s3", "ls" ] - env = credential.aws[param.cred].env - } -} -``` diff --git a/docs/reference/config-files/credential/azure.md b/docs/reference/config-files/credential/azure.md deleted file mode 100644 index 358feb1..0000000 --- a/docs/reference/config-files/credential/azure.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -title: azure -sidebar_label: azure ---- - -# azure - -> [!IMPORTANT] -> ***As of Flowpipe 1.0.0, `credential` has been renamed to `connection`. The `azure` credential resource is deprecated and will be removed in a future version of Flowpipe. Use the [azure connection](/docs/reference/config-files/connection/azure) instead.*** - - -The `azure` credential can be used to access Azure resources. - -```hcl -credential "azure" "azure_creds" { - tenant_id = "YourTenantID" - client_secret = "YourClientSecret" - client_id = "YourClientID" -} -``` - -## Arguments - -| Name | Type | Required?| Description -|-----------------|---------|----------|------------------- -| `tenant_id` | String | Optional | The Microsoft Entra tenant (directory) ID. -| `client_id` | String | Optional | The client (application) ID of an App Registration in the tenant -| `client_secret` | String | Optional | A client secret that was generated for the App Registration. -| `environment` | String | Optional | The Azure cloud where your resources exist - `AzureCloud` (default), `AzureChinaCloud`, or `AzureUSGovernment`. - -All arguments are optional, and a `azure` credential with no arguments will behave the same as the [default credential](#default-credential). - -## Attributes (Read-Only) - -| Attribute | Type | Description -|-----------------|---------|----------------- -| `env` | Map | A map of the resolved credential-related environment variables (`AZURE_TENANT_ID`, `AZURE_CLIENT_SECRET`, `AZURE_CLIENT_ID`, `AZURE_ENVIRONMENT`) - -## Default Credential - -The `azure` credential type includes an implicit, default credential (`credential.azure.default`) that will be configured using the Azure environment variables: - -```hcl -credential "azure" "default" { - tenant_id = env("AZURE_TENANT_ID") - client_secret = env("AZURE_CLIENT_SECRET") - client_id = env("AZURE_CLIENT_ID") - environment = env("AZURE_ENVIRONMENT") -} -``` diff --git a/docs/reference/config-files/credential/bitbucket.md b/docs/reference/config-files/credential/bitbucket.md deleted file mode 100644 index 358080a..0000000 --- a/docs/reference/config-files/credential/bitbucket.md +++ /dev/null @@ -1,47 +0,0 @@ ---- -title: bitbucket -sidebar_label: bitbucket ---- - -# bitbucket - -> [!IMPORTANT] -> ***As of Flowpipe 1.0.0, `credential` has been renamed to `connection`. The `bitbucket` credential resource is deprecated and will be removed in a future version of Flowpipe. Use the [bitbucket connection](/docs/reference/config-files/connection/bitbucket) instead.*** - -The `bitbucket` credential can be used to access Bitbucket resources. - -```hcl -credential "bitbucket" "bb_creds" { - username = "user_name" - password = "P@ss123!" - base_url = "https://api.bitbucket.org/2.0" -} -``` - -## Arguments - -| Name | Type | Required?| Description -|-----------------|---------|----------|------------------- -| `username` | String | Optional | Bitbucket username -| `password` | String | Optional | Bitbucket app password -| `base_url` | String | Optional | Base URL of your Bitbucket Server - -All arguments are optional, and a `bitbucket` credential with no arguments will behave the same as the [default credential](#default-credential). - -## Attributes (Read-Only) - -| Attribute | Type | Description -|-----------------|---------|----------------- -| `env` | Map | A map of the resolved credential-related environment variables (`BITBUCKET_USERNAME`, `BITBUCKET_PASSWORD`, `BITBUCKET_API_BASE_URL`) - -## Default Credential - -The `bitbucket` credential type includes an implicit, default credential (`credential.bitbucket.default`) that will be configured using the environment variables `BITBUCKET_USERNAME`, `BITBUCKET_PASSWORD`, and `BITBUCKET_API_BASE_URL`. - -```hcl -credential "bitbucket" "default" { - username = env("BITBUCKET_USERNAME") - password = env("BITBUCKET_PASSWORD") - base_url = env("BITBUCKET_API_BASE_URL") -} -``` diff --git a/docs/reference/config-files/credential/clickup.md b/docs/reference/config-files/credential/clickup.md deleted file mode 100644 index ac92d49..0000000 --- a/docs/reference/config-files/credential/clickup.md +++ /dev/null @@ -1,35 +0,0 @@ ---- -title: clickup -sidebar_label: clickup ---- - -# clickup - -> [!IMPORTANT] -> ***As of Flowpipe 1.0.0, `credential` has been renamed to `connection`. The `clickup` credential resource is deprecated and will be removed in a future version of Flowpipe. Use the [clickup connection](/docs/reference/config-files/connection/clickup) instead.*** - -The `clickup` credential can be used to access ClickUp resources. - -```hcl -credential "clickup" "my_clickup" { - token = "pk_616_L5H36X3CXXXXXXXWEAZZF0NM5" -} -``` - -## Arguments - -| Name | Type | Required?| Description -|-----------------|---------|----------|------------------- -| `token` | String | Optional | API token - -All arguments are optional, and a `clickup` credential with no arguments will behave the same as the [default credential](#default-credential). - -## Default Credential - -The `clickup` credential type includes an implicit, default credential (`credential.clickup.default`) that will be configured to set the `token` to the `CLICKUP_TOKEN` environment variable. - -```hcl -credential "clickup" "default" { - token = env("CLICKUP_TOKEN") -} -``` diff --git a/docs/reference/config-files/credential/datadog.md b/docs/reference/config-files/credential/datadog.md deleted file mode 100644 index 658397f..0000000 --- a/docs/reference/config-files/credential/datadog.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -title: datadog -sidebar_label: datadog ---- - -# datadog - -> [!IMPORTANT] -> ***As of Flowpipe 1.0.0, `credential` has been renamed to `connection`. The `datadog` credential resource is deprecated and will be removed in a future version of Flowpipe. Use the [datadog connection](/docs/reference/config-files/connection/datadog) instead.*** - - -The `datadog` credential can be used to access Datadog resources. - -```hcl -credential "datadog" "my_datadog_creds" { - api_key = "b1cf234................." - app_key = "1a2345bc..................." - api_url = "https://api.adoghq.com/" -} -``` - -## Arguments - -| Name | Type | Required?| Description -|-----------------|---------|----------|------------------- -| `api_key` | String | Optional | API key -| `app_key` | String | Optional | Application key -| `api_url` | String | Optional | API URL - -All arguments are optional, and a `datadog` credential with no arguments will behave the same as the [default credential](#default-credential). - -## Default Credential - -The `datadog` credential type includes an implicit, default credential (`credential.datadog.default`) that will be configured using the environment variables `DD_CLIENT_API_KEY`, and `DD_CLIENT_APP_KEY`. - -```hcl -credential "datadog" "my_datadog_creds" { - api_key = env("DD_CLIENT_API_KEY") - app_key = env("DD_CLIENT_APP_KEY") -} -``` diff --git a/docs/reference/config-files/credential/discord.md b/docs/reference/config-files/credential/discord.md deleted file mode 100644 index 31e7091..0000000 --- a/docs/reference/config-files/credential/discord.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -title: discord -sidebar_label: discord ---- - -# discord - -> [!IMPORTANT] -> ***As of Flowpipe 1.0.0, `credential` has been renamed to `connection`. The `discord` credential resource is deprecated and will be removed in a future version of Flowpipe. Use the [discord connection](/docs/reference/config-files/connection/discord) instead.*** - -The `discord` credential can be used to access Discord resources. - -```hcl -credential "discord" "my_discord" { - token = "00B630jSCGU4Fake5Yh4KQMFakezwE2OgVcS7N999b" -} -``` - -## Arguments - -| Name | Type | Required?| Description -|-----------------|---------|----------|------------------- -| `token` | String | Optional | API token - -All arguments are optional, and a `discord` credential with no arguments will behave the same as the [default credential](#default-credential). - -## Attributes (Read-Only) - -| Attribute | Type | Description -|-----------------|---------|----------------- -| `env` | Map | A map of the resolved credential-related environment variables (`DISCORD_TOKEN`) - -## Default Credential - -The `discord` credential type includes an implicit, default credential (`credential.discord.default`) that will be configured to set the `token` to the `DISCORD_TOKEN` environment variable. - -```hcl -credential "discord" "default" { - token = env("DISCORD_TOKEN") -} -``` diff --git a/docs/reference/config-files/credential/freshdesk.md b/docs/reference/config-files/credential/freshdesk.md deleted file mode 100644 index 46eedf1..0000000 --- a/docs/reference/config-files/credential/freshdesk.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -title: freshdesk -sidebar_label: freshdesk ---- - -# freshdesk - -> [!IMPORTANT] -> ***As of Flowpipe 1.0.0, `credential` has been renamed to `connection`. The `freshdesk` credential resource is deprecated and will be removed in a future version of Flowpipe. Use the [freshdesk connection](/docs/reference/config-files/connection/freshdesk) instead.*** - -The `freshdesk` credential can be used to access Freshdesk resources. - -```hcl -credential "freshdesk" "freshdesk_creds" { - api_key = "sk-jwgthNa..." - subdomain = "domain_name" -} -``` - -## Arguments - -| Name | Type | Required?| Description -|-----------------|---------|----------|------------------- -| `api_key` | String | Optional | Freshdesk API key -| `subdomain` | String | Optional | Freshdesk subdomain - -All arguments are optional, and a `freshdesk` credential with no arguments will behave the same as the [default credential](#default-credential). - -## Default Credential - -The `freshdesk` credential type includes an implicit, default credential (`credential.freshdesk.default`) that will be configured using the environment variables `FRESHDESK_API_KEY` and `FRESHDESK_SUBDOMAIN`. - -```hcl -credential "freshdesk" "default" { - api_key = env("FRESHDESK_API_KEY") - subdomain = env("FRESHDESK_SUBDOMAIN") -} -``` diff --git a/docs/reference/config-files/credential/gcp.md b/docs/reference/config-files/credential/gcp.md deleted file mode 100644 index f43cc2f..0000000 --- a/docs/reference/config-files/credential/gcp.md +++ /dev/null @@ -1,106 +0,0 @@ ---- -title: gcp -sidebar_label: gcp ---- - -# gcp - -> [!IMPORTANT] -> ***As of Flowpipe 1.0.0, `credential` has been renamed to `connection`. The `gcp` credential resource is deprecated and will be removed in a future version of Flowpipe. Use the [gcp connection](/docs/reference/config-files/connection/gcp) instead.*** - -The `gcp` credential can be used to access Google Cloud Platform resources. - -```hcl -credential "gcp" "gcp_def" { - credentials = "~/.config/gcloud/my_credentials.json" -} -``` - -## Arguments - -| Name | Type | Required?| Description -|-----------------|---------|----------|------------------- -| `credentials` | String | Optional | Either the path to a JSON credential file that contains Google application credentials or the contents of a service account key file in JSON format. -| `ttl` | Number | Optional | The time, in seconds, to cache the credentials. By default, the GP credential will be cached for 5 minutes. - -All arguments are optional, and a `gcp` credential with no arguments will behave the same as the [GCP default credential](#default-credential). - -## Attributes (Read-Only) - -| Attribute | Type | Description -|-----------------|---------|----------------- -| `access_token` | String | An OAuth access token to use to authenticate to GCP. - -## Default Credential - -The GCP credential type includes an implicit, default credential (`credential.gcp.default`) that will be configured using the same mechanism as the GCloud CLI (environment variables, config files, etc); the effective credentials of this default are the same as if you run the `gcloud` command. Credentials will be loaded from: - -- The path specified in the `GOOGLE_APPLICATION_CREDENTIALS` environment variable, if set; otherwise -- The standard location (`~/.config/gcloud/application_default_credentials.json`) - -## Examples - -### Static Credentials from Credential File - -```hcl -credential "gcp" "gcp_def" { - credentials = "~/.config/gcloud/my_credentials.json" -} -``` - -### Static Credentials defined inline - -```hcl -credential "gcp_inline" { - #project = "my_project" - credentials = < [!IMPORTANT] -> ***As of Flowpipe 1.0.0, `credential` has been renamed to `connection`. The `github` credential resource is deprecated and will be removed in a future version of Flowpipe. Use the [github connection](/docs/reference/config-files/connection/github) instead.*** - -The `github` credential can be used to access GitHub resources. - -```hcl -credential "github" "my_gh_token" { - token = "ghpat-..." -} -``` - -## Arguments - -| Name | Type | Required?| Description -|-----------------|---------|----------|------------------- -| `token` | String | Optional | API access token - -All arguments are optional, and a `github` credential with no arguments will behave the same as the [default credential](#default-credential). - -## Attributes (Read-Only) - -| Attribute | Type | Description -|-----------------|---------|----------------- -| `env` | Map | A map of the resolved credential-related environment variables (`GITHUB_TOKEN`) - -## Default Credential - -The `github` credential type includes an implicit, default credential (`credential.github.default`) that will be configured to set the `token` to the `GITHUB_TOKEN` environment variable. - -```hcl -credential "github" "default" { - token = env("GITHUB_TOKEN") -} -``` diff --git a/docs/reference/config-files/credential/gitlab.md b/docs/reference/config-files/credential/gitlab.md deleted file mode 100644 index dbb91e6..0000000 --- a/docs/reference/config-files/credential/gitlab.md +++ /dev/null @@ -1,35 +0,0 @@ ---- -title: gitlab -sidebar_label: gitlab ---- - -# gitlab - -> [!IMPORTANT] -> ***As of Flowpipe 1.0.0, `credential` has been renamed to `connection`. The `gitlab` credential resource is deprecated and will be removed in a future version of Flowpipe. Use the [gitlab connection](/docs/reference/config-files/connection/gitlab) instead.*** - -The `gitlab` credential can be used to access GitLab resources. - -```hcl -credential "gitlab" "my_gitlab_token" { - token = "glpat-..." -} -``` - -## Arguments - -| Name | Type | Required?| Description -|-----------------|---------|----------|------------------- -| `token` | String | Optional | API access token - -All arguments are optional, and a `gitlab` credential with no arguments will behave the same as the [default credential](#default-credential). - -## Default Credential - -The `gitlab` credential type includes an implicit, default credential (`credential.gitlab.default`) that will be configured to set the `token` to the `GITLAB_TOKEN` environment variable. - -```hcl -credential "gitlab" "default" { - token = env("GITLAB_TOKEN") -} -``` diff --git a/docs/reference/config-files/credential/index.md b/docs/reference/config-files/credential/index.md index 515c269..58db9bb 100644 --- a/docs/reference/config-files/credential/index.md +++ b/docs/reference/config-files/credential/index.md @@ -6,10 +6,10 @@ sidebar_label: credential # Credential > [!IMPORTANT] -> ***As of Flowpipe 1.0.0, `credential` has been renamed to `connection`. The `credential` resource is deprecated and will be removed in a future version of Flowpipe. Use [connection](/docs/reference/config-files/connection) instead.*** +> ***As of Tailpipe 1.0.0, `credential` has been renamed to `connection`. The `credential` resource is deprecated and will be removed in a future version of Tailpipe. Use [connection](/docs/reference/config-files/connection) instead.*** -Flowpipe **Credentials** provide a mechanism for defining and sharing secrets in your Flowpipe environment. +Tailpipe **Credentials** provide a mechanism for defining and sharing secrets in your Tailpipe environment. ```hcl credential "aws" "aws_01" { @@ -26,7 +26,7 @@ credential "slack" "slack" { ``` -Credentials are defined using the `credential` block in one or more Flowpipe config files. Flowpipe will load ALL configuration files (`*.fpc`) from every directory in the [configuration search path](/docs/reference/env-vars/flowpipe_config_path), with decreasing precedence. The set of credentials is the union of all credentials defined in these directories. +Credentials are defined using the `credential` block in one or more Tailpipe config files. Tailpipe will load ALL configuration files (`*.fpc`) from every directory in the [configuration search path](/docs/reference/env-vars/tailpipe_config_path), with decreasing precedence. The set of credentials is the union of all credentials defined in these directories. Each credential has a type label and a name. There is a type for each service: [aws](/docs/reference/config-files/credential/aws), [gcp](/docs/reference/config-files/credential/gcp), [azure](/docs/reference/config-files/credential/azure), [github](/docs/reference/config-files/credential/github), [slack](/docs/reference/config-files/credential/slack), etc. **The arguments and attributes vary by type.** @@ -36,7 +36,7 @@ To learn more, see **[Managing Credentials →](/docs/run/credentials)** ### Default credentials -Flowpipe also creates a single **implicit default** credential for each credential type. The credential is named `default`, eg `credential.aws.default`, `credential.github.default`, etc. The intent of the default credential is that flowpipe can "just work" with your existing setup, and is similar to the default connection that Steampipe creates for each plugin. For example, the AWS default credential will use the standard AWS SDK credential resolution mechanism to create a Flowpipe credential that will use the same credential that the `aws` CLI would use. +Tailpipe also creates a single **implicit default** credential for each credential type. The credential is named `default`, eg `credential.aws.default`, `credential.github.default`, etc. The intent of the default credential is that tailpipe can "just work" with your existing setup, and is similar to the default connection that Tailpipe creates for each plugin. For example, the AWS default credential will use the standard AWS SDK credential resolution mechanism to create a Tailpipe credential that will use the same credential that the `aws` CLI would use. You can override the default by simply creating a credential for that type that is named `default`: @@ -50,7 +50,7 @@ credential "slack" "default" { ## Using / Referencing Credentials -Although credentials are defined in config files (not mod files), Flowpipe makes all the credentials available to mods using the `credential` variable. This special variable is a map of all credential types by type and name, so you can reference it with standard HCL syntax: `credential.{type}.{name}` eg `credential.aws.aws01` or `credential[{type}][{name}]` eg `credential["aws"["aws01"]`. +Although credentials are defined in config files (not mod files), Tailpipe makes all the credentials available to mods using the `credential` variable. This special variable is a map of all credential types by type and name, so you can reference it with standard HCL syntax: `credential.{type}.{name}` eg `credential.aws.aws01` or `credential[{type}][{name}]` eg `credential["aws"["aws01"]`. You can reference them directly in a mod: ```hcl @@ -67,16 +67,16 @@ pipeline "ex1" { Some credentials support dynamic attributes that contain temporary credentials. Cloud services like AWS and GCP provide many mechanisms for defining credentials (static keys, SSO, assumed roles, profiles,etc) but in all cases can be exchanged for a "standard" format such as an access token or AWS key pair. -When using dynamic credential attributes, the credentials are resolved as late as possible. When the *step instance* runs that uses the credential, it is fetched (from the cache if not expired) or generated. This is important because the dynamic credentials are usually temporary and will expire and become invalid. You can tell Flowpipe how long to cache these temporary credentials with the `ttl` argument. This specifies the number of seconds to cache the credentials. Not all credentials support (or require) `ttl`, and for those that do, the default value varies by type. Note that the cache is in-memory only, and does not persist when Flowpipe stops. +When using dynamic credential attributes, the credentials are resolved as late as possible. When the *step instance* runs that uses the credential, it is fetched (from the cache if not expired) or generated. This is important because the dynamic credentials are usually temporary and will expire and become invalid. You can tell Tailpipe how long to cache these temporary credentials with the `ttl` argument. This specifies the number of seconds to cache the credentials. Not all credentials support (or require) `ttl`, and for those that do, the default value varies by type. Note that the cache is in-memory only, and does not persist when Tailpipe stops. ---- ## Handling secret data -At this time, Flowpipe does not encrypt the credentials, either in the config files or in the event store. +At this time, Tailpipe does not encrypt the credentials, either in the config files or in the event store. -Flowpipe will need the secret data in the event store as long as a pipeline is running. After a pipeline completes, however, Flowpipe will attempt to redact secrets from the event store for the completed pipeline. The `args`, `attributes`, and `data` for all events related to the pipeline will be scrubbed. +Tailpipe will need the secret data in the event store as long as a pipeline is running. After a pipeline completes, however, Tailpipe will attempt to redact secrets from the event store for the completed pipeline. The `args`, `attributes`, and `data` for all events related to the pipeline will be scrubbed. -Additionally, Flowpipe will redact secrets from the CLI display and diagnostic logs. +Additionally, Tailpipe will redact secrets from the CLI display and diagnostic logs. The redaction will use pattern matching to look for known secret names (`AWS_SECRET_KEY`, `password`, `token`, etc) as well as value patterns (regular expressions for JWT tokens, API tokens, AWS keys, etc). diff --git a/docs/reference/config-files/credential/ip2locationio.md b/docs/reference/config-files/credential/ip2locationio.md deleted file mode 100644 index e49f29a..0000000 --- a/docs/reference/config-files/credential/ip2locationio.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -title: ip2locationio -sidebar_label: ip2locationio ---- - -# ip2locationio - -> [!IMPORTANT] -> ***As of Flowpipe 1.0.0, `credential` has been renamed to `connection`. The `ip2locationio` credential resource is deprecated and will be removed in a future version of Flowpipe. Use the [ip2locationio connection](/docs/reference/config-files/connection/ip2locationio) instead.*** - - -The `ip2locationio` credential can be used to access Ip2Location.io resources. - -```hcl -credential "ip2locationio" "my_api_key" { - api_key = "12345678901A23BC4D5E6FG78HI9J101" -} -``` - -## Arguments - -| Name | Type | Required?| Description -|-----------------|---------|----------|------------------- -| `api_key` | String | Optional | API key - -All arguments are optional, and a `ip2locationio` credential with no arguments will behave the same as the [default credential](#default-credential). - -## Default Credential - -The `ip2locationio` credential type includes an implicit, default credential (`credential.ip2locationio.default`) that will be configured to set the `api_key` to the `IP2LOCATIONIO_API_KEY` environment variable. - -```hcl -credential "ip2locationio" "default" { - api_key = env("IP2LOCATIONIO_API_KEY") -} -``` diff --git a/docs/reference/config-files/credential/ipstack.md b/docs/reference/config-files/credential/ipstack.md deleted file mode 100644 index 33a6c7b..0000000 --- a/docs/reference/config-files/credential/ipstack.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -title: ipstack -sidebar_label: ipstack ---- - -# ipstack - -> [!IMPORTANT] -> ***As of Flowpipe 1.0.0, `credential` has been renamed to `connection`. The `ipstack` credential resource is deprecated and will be removed in a future version of Flowpipe. Use the [ipstack connection](/docs/reference/config-files/connection/ipstack) instead.*** - - -The `ipstack` credential can be used to access IpStack resources. - -```hcl -credential "ipstack" "my_ipstack" { - access_key = "1234801fakekeyf123455e6cfaf2" -} -``` - -## Arguments - -| Name | Type | Required?| Description -|-----------------|---------|----------|------------------- -| `access_key` | String | Optional | API access key - -All arguments are optional, and a `ipstack` credential with no arguments will behave the same as the [default credential](#default-credential). - -## Default Credential - -The `ipstack` credential type includes an implicit, default credential (`credential.ipstack.default`) that will be configured to set the `access_key` to the `IPSTACK_ACCESS_KEY` environment variable. - -```hcl -credential "ipstack" "default" { - access_key = env("IPSTACK_ACCESS_KEY") -} -``` diff --git a/docs/reference/config-files/credential/jira.md b/docs/reference/config-files/credential/jira.md deleted file mode 100644 index 4f8f0d5..0000000 --- a/docs/reference/config-files/credential/jira.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -title: jira -sidebar_label: jira ---- - -# jira - -> [!IMPORTANT] -> ***As of Flowpipe 1.0.0, `credential` has been renamed to `connection`. The `jira` credential resource is deprecated and will be removed in a future version of Flowpipe. Use the [jira connection](/docs/reference/config-files/connection/jira) instead.*** - -The `jira` credential can be used to access Jira resources. - -```hcl -credential "jira" "jira_creds" { - api_token = "ATATT3S........................." - base_url = "https://test.atlassian.net/" - username = "test@abbb.com" -} -``` - -## Arguments - -| Name | Type | Required?| Description -|-----------------|---------|----------|------------------- -| `api_token` | String | Optional | API access token -| `base_url` | String | Optional | The Base Url of your Jira API instance -| `username` | String | Optional | The user name to access the Jira cloud instance - -All arguments are optional, and a `jira` credential with no arguments will behave the same as the [default credential](#default-credential). - -## Default Credential - -The `jira` credential type includes an implicit, default credential (`credential.jira.default`) that will be configured using the environment variables `JIRA_API_TOKEN` (or `JIRA_TOKEN`), `JIRA_URL`, and `JIRA_USER`. - -```hcl -credential "jira" "default" { - api_token = env("JIRA_API_TOKEN") - base_url = env("JIRA_URL") - username = env("JIRA_USER") -} -``` diff --git a/docs/reference/config-files/credential/jumpcloud.md b/docs/reference/config-files/credential/jumpcloud.md deleted file mode 100644 index 8d8c2d2..0000000 --- a/docs/reference/config-files/credential/jumpcloud.md +++ /dev/null @@ -1,35 +0,0 @@ ---- -title: jumpcloud -sidebar_label: jumpcloud ---- - -# jumpcloud - -> [!IMPORTANT] -> ***As of Flowpipe 1.0.0, `credential` has been renamed to `connection`. The `jumpcloud` credential resource is deprecated and will be removed in a future version of Flowpipe. Use the [jumpcloud connection](/docs/reference/config-files/connection/jumpcloud) instead.*** - -The `jumpcloud` credential can be used to access JumpCloud resources. - -```hcl -credential "jumpcloud" "jumpcloud_api_key" { - api_key = "2e256f0faked412345676fake914cf7e68d8e53c8d" -} -``` - -## Arguments - -| Name | Type | Required?| Description -|-----------------|---------|----------|------------------- -| `api_key` | String | Optional | API Key - -All arguments are optional, and an `jumpcloud` credential with no arguments will behave the same as the [default credential](#default-credential). - -## Default Credential - -The `jumpcloud` credential type includes an implicit, default credential (`credential.jumpcloud.default`) that will be configured to set the `api_key` to the `JUMPCLOUD_API_KEY` environment variable. - -```hcl -credential "jumpcloud" "default" { - api_key = env("JUMPCLOUD_API_KEY") -} -``` diff --git a/docs/reference/config-files/credential/mastodon.md b/docs/reference/config-files/credential/mastodon.md deleted file mode 100644 index f375fd7..0000000 --- a/docs/reference/config-files/credential/mastodon.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -title: mastodon -sidebar_label: mastodon ---- - -# mastodon - -> [!IMPORTANT] -> ***As of Flowpipe 1.0.0, `credential` has been renamed to `connection`. The `mastodon` credential resource is deprecated and will be removed in a future version of Flowpipe. Use the [mastodon connection](/docs/reference/config-files/connection/mastodon) instead.*** - -The `mastodon` credential can be used to access Mastodon resources. - -```hcl -credential "mastodon" "mastodon_creds" { - server = "https://myserver.social" - access_token = "FK1_fake-token" -} -``` - -## Arguments - -| Name | Type | Required?| Description -|-----------------|---------|----------|-------------------------------------- -| `server` | String | Optional | The federated server your account lives -| `access_token` | String | Optional | Mastodon access token - -All arguments are optional, and a `mastodon` credential with no arguments will behave the same as the [default credential](#default-credential). diff --git a/docs/reference/config-files/credential/okta.md b/docs/reference/config-files/credential/okta.md deleted file mode 100644 index 067941c..0000000 --- a/docs/reference/config-files/credential/okta.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -title: okta -sidebar_label: okta ---- - -# okta - -> [!IMPORTANT] -> ***As of Flowpipe 1.0.0, `credential` has been renamed to `connection`. The `okta` credential resource is deprecated and will be removed in a future version of Flowpipe. Use the [okta connection](/docs/reference/config-files/connection/okta) instead.*** - -The `okta` credential can be used to access Okta resources. - -```hcl -credential "okta" "my_okta" { - domain = "https://dev-11111111.okta.com" - api_token = "00B..." -} -``` - -## Arguments - -| Name | Type | Required?| Description -|-----------------|---------|----------|------------------- -| `api_token` | String | Optional | API token -| `domain` | String | Optional | URL for your Okta Organization - -All arguments are optional, and a `okta` credential with no arguments will behave the same as the [default credential](#default-credential). - -## Attributes (Read-Only) - -| Attribute | Type | Description -|-----------------|---------|----------------- -| `env` | Map | A map of the resolved credential-related environment variables (`OKTA_CLIENT_TOKEN`, `OKTA_ORGURL`) - -## Default Credential - -The `okta` credential type includes an implicit, default credential (`credential.okta.default`) that will be configured to set the `api_token` to the `OKTA_CLIENT_TOKEN` environment variable and the `domain` to the `OKTA_ORGURL` environment variable. - -```hcl -credential "okta" "default" { - api_token = env("OKTA_CLIENT_TOKEN") - domain = env("OKTA_ORGURL") -} -``` diff --git a/docs/reference/config-files/credential/openai.md b/docs/reference/config-files/credential/openai.md deleted file mode 100644 index 9d70e3b..0000000 --- a/docs/reference/config-files/credential/openai.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -title: openai -sidebar_label: openai ---- - -# openai - -> [!IMPORTANT] -> ***As of Flowpipe 1.0.0, `credential` has been renamed to `connection`. The `openai` credential resource is deprecated and will be removed in a future version of Flowpipe. Use the [openai connection](/docs/reference/config-files/connection/openai) instead.*** - -The `openai` credential can be used to access OpenAI resources. - -```hcl -credential "openai" "my_openai" { - api_key = "sk-jwgthNa..." -} -``` - -## Arguments - -| Name | Type | Required?| Description -|-----------------|---------|----------|------------------- -| `api_key` | String | Optional | API key - -All arguments are optional, and an `openai` credential with no arguments will behave the same as the [default credential](#default-credential). - -## Attributes (Read-Only) - -| Attribute | Type | Description -|-----------------|---------|----------------- -| `env` | Map | A map of the resolved credential-related environment variables (`OPENAI_API_KEY`) - -## Default Credential - -The `openai` credential type includes an implicit, default credential (`credential.openai.default`) that will be configured to set the `api_key` to the `OPENAI_API_KEY` environment variable. - -```hcl -credential "openai" "default" { - api_key = env("OPENAI_API_KEY") -} -``` diff --git a/docs/reference/config-files/credential/opsgenie.md b/docs/reference/config-files/credential/opsgenie.md deleted file mode 100644 index 01a5714..0000000 --- a/docs/reference/config-files/credential/opsgenie.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -title: opsgenie -sidebar_label: opsgenie ---- - -# opsgenie - -> [!IMPORTANT] -> ***As of Flowpipe 1.0.0, `credential` has been renamed to `connection`. The `opsgenie` credential resource is deprecated and will be removed in a future version of Flowpipe. Use the [opsgenie connection](/docs/reference/config-files/connection/opsgenie) instead.*** - -The `opsgenie` credential can be used to access OpsGenie resources. - -```hcl -credential "opsgenie" "my_opsgenie" { - alert_api_key = "1234f4f0-3333-4837-90af-0123456789ab" - incident_api_key = "1234f4f0-1111-4837-90af-9cdef0123456" -} -``` - -## Arguments - -| Name | Type | Required?| Description -|-----------------|---------|----------|------------------- -| `alert_api_key` | String | Optional | API key for the alerts API -| `incident_api_key`| String | Optional | API key for the incidents API - -All arguments are optional, and an `opsgenie` credential with no arguments will behave the same as the [default credential](#default-credential). - -## Default Credential - -The `opsgenie` credential type includes an implicit, default credential (`credential.opsgenie.default`) that will be configured to set the `alert_api_key` to the `OPSGENIE_ALERT_API_KEY` environment variable and `incident_api_key` to `OPSGENIE_INCIDENT_API_KEY`. - -```hcl -credential "opsgenie" "default" { - alert_api_key = env("OPSGENIE_ALERT_API_KEY") - incident_api_key = env("OPSGENIE_INCIDENT_API_KEY") -} -``` diff --git a/docs/reference/config-files/credential/pagerduty.md b/docs/reference/config-files/credential/pagerduty.md deleted file mode 100644 index 74ee8a3..0000000 --- a/docs/reference/config-files/credential/pagerduty.md +++ /dev/null @@ -1,35 +0,0 @@ ---- -title: pagerduty -sidebar_label: pagerduty ---- - -# pagerduty - -> [!IMPORTANT] -> ***As of Flowpipe 1.0.0, `credential` has been renamed to `connection`. The `pagerduty` credential resource is deprecated and will be removed in a future version of Flowpipe. Use the [pagerduty connection](/docs/reference/config-files/connection/pagerduty) instead.*** - -The `pagerduty` credential can be used to access PagerDuty resources. - -```hcl -credential "pagerduty" "my_pagerduty" { - token = "u+_szhLR4FakeTokenGZSA" -} -``` - -## Arguments - -| Name | Type | Required?| Description -|-----------------|---------|----------|------------------- -| `token` | String | Optional | API token - -All arguments are optional, and a `pagerduty` credential with no arguments will behave the same as the [default credential](#default-credential). - -## Default Credential - -The `pagerduty` credential type includes an implicit, default credential (`credential.pagerduty.default`) that will be configured to set the `token` to the `PAGERDUTY_TOKEN` environment variable. - -```hcl -credential "pagerduty" "default" { - token = env("PAGERDUTY_TOKEN") -} -``` diff --git a/docs/reference/config-files/credential/pipes.md b/docs/reference/config-files/credential/pipes.md deleted file mode 100644 index 3ee97ea..0000000 --- a/docs/reference/config-files/credential/pipes.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -title: pipes -sidebar_label: pipes ---- - -# pipes - -> [!IMPORTANT] -> ***As of Flowpipe 1.0.0, `credential` has been renamed to `connection`. The `pipes` credential resource is deprecated and will be removed in a future version of Flowpipe. Use the [pipes connection](/docs/reference/config-files/connection/pipes) instead.*** - -The `pipes` credential can be used to access [Turbot Pipes](https://pipes.turbot.com/) resources. - -```hcl -credential "pipes" "my_pipes" { - token = "tpt_cld630jTisISAFakeTokenAdqizwE2OgVcS7N9UHb" -} -``` - -## Arguments - -| Name | Type | Required?| Description -|-----------------|---------|----------|------------------- -| `token` | String | Optional | API token - -All arguments are optional, and a `pipes` credential with no arguments will behave the same as the [default credential](#default-credential). - -## Attributes (Read-Only) - -| Attribute | Type | Description -|-----------------|---------|----------------- -| `env` | Map | A map of the resolved credential-related environment variables (`PIPES_TOKEN`) - -## Default Credential - -The `pipes` credential type includes an implicit, default credential (`credential.pipes.default`) that will be configured to set the `token` to the `PIPES_TOKEN` environment variable. - -```hcl -credential "pipes" "default" { - token = env("PIPES_TOKEN") -} -``` diff --git a/docs/reference/config-files/credential/sendgrid.md b/docs/reference/config-files/credential/sendgrid.md deleted file mode 100644 index 22df10c..0000000 --- a/docs/reference/config-files/credential/sendgrid.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -title: sendgrid -sidebar_label: sendgrid ---- - -# sendgrid - -> [!IMPORTANT] -> ***As of Flowpipe 1.0.0, `credential` has been renamed to `connection`. The `sendgrid` credential resource is deprecated and will be removed in a future version of Flowpipe. Use the [sendgrid connection](/docs/reference/config-files/connection/sendgrid) instead.*** - -The `sendgrid` credential can be used to access SendGrid resources. - -```hcl -credential "sendgrid" "my_sendgrid" { - api_key = "SG.R7..." -} -``` - -## Arguments - -| Name | Type | Required?| Description -|-----------------|---------|----------|------------------- -| `api_key` | String | Optional | SendGrid API Key - -All arguments are optional, and a `sendgrid` credential with no arguments will behave the same as the [default credential](#default-credential). - -## Attributes (Read-Only) - -| Attribute | Type | Description -|-----------------|---------|----------------- -| `env` | Map | A map of the resolved credential-related environment variables (`SENDGRID_API_KEY`) - -## Default Credential - -The `sendgrid` credential type includes an implicit, default credential (`credential.sendgrid.default`) that will be configured to set the `api_key` to the `SENDGRID_API_KEY` environment variable. - -```hcl -credential "sendgrid" "default" { - api_key = env("SENDGRID_API_KEY") -} -``` diff --git a/docs/reference/config-files/credential/servicenow.md b/docs/reference/config-files/credential/servicenow.md deleted file mode 100644 index 2ffc777..0000000 --- a/docs/reference/config-files/credential/servicenow.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -title: servicenow -sidebar_label: servicenow ---- - -# servicenow - -> [!IMPORTANT] -> ***As of Flowpipe 1.0.0, `credential` has been renamed to `connection`. The `servicenow` credential resource is deprecated and will be removed in a future version of Flowpipe. Use the [servicenow connection](/docs/reference/config-files/connection/servicenow) instead.*** - -The `servicenow` credential can be used to access ServiceNow resources. - -```hcl -credential "servicenow" "snow_creds" { - instance_url = "https://my-instance.service-now.com" - username = "john.hill" - password = "fake-p@ss" -} -``` - -## Arguments - -| Name | Type | Required?| Description -|-----------------|---------|----------|------------------- -| `instance_url` | String | Optional | Your ServiceNow instance URL -| `username` | String | Optional | ServiceNow username -| `password` | String | Optional | ServiceNow app password - -All arguments are optional, and a `servicenow` credential with no arguments will behave the same as the [default credential](#default-credential). - -## Default Credential - -The `servicenow` credential type includes an implicit, default credential (`credential.servicenow.default`) that will be configured using the environment variables `SERVICENOW_INSTANCE_URL`, `SERVICENOW_USERNAME`, and `SERVICENOW_PASSWORD`. - -```hcl -credential "servicenow" "default" { - instance_url = env("SERVICENOW_INSTANCE_URL") - username = env("SERVICENOW_USERNAME") - password = env("SERVICENOW_PASSWORD") -} -``` diff --git a/docs/reference/config-files/credential/slack.md b/docs/reference/config-files/credential/slack.md deleted file mode 100644 index f7e2c03..0000000 --- a/docs/reference/config-files/credential/slack.md +++ /dev/null @@ -1,76 +0,0 @@ ---- -title: slack -sidebar_label: slack ---- - -# slack - -> [!IMPORTANT] -> ***As of Flowpipe 1.0.0, `credential` has been renamed to `connection`. The `slack` credential resource is deprecated and will be removed in a future version of Flowpipe. Use the [slack connection](/docs/reference/config-files/connection/slack) instead.*** - -The `slack` credential can be used to access Slack resources. - -```hcl -credential "slack" "my_slack" { - token = "xoxp-234567890" -} -``` - -## Arguments - -| Name | Type | Required?| Description -|-----------------|---------|----------|------------------- -| `token` | String | Optional | An API token for slack. - -All arguments are optional, and a `slack` credential with no arguments will behave the same as the [Slack default credential](#default-credential). - -## Attributes (Read-Only) - -| Attribute | Type | Description -|-----------------|---------|----------------- -| `env` | Map | A map of the resolved credential-related environment variables (`SLACK_TOKEN`) - -## Default Credential - -The Slack credential type includes an implicit, default credential (`credential.slack.default`) that will be configured to set the `token` to the `SLACK_TOKEN` environment variable. - -```hcl -credential "slack" "default" { - token = env("SLACK_TOKEN") -} -``` - -## Examples - -### Static Credentials - -```hcl -credential "slack" "my_slack" { - token = "xoxp-234567890" -} -``` - -### Using Slack Credentials in HTTP Step - -```hcl -pipeline "gcp_test" { - param "cred" { - type = string - default = "default" - } - - step "http" "list_channels" { - url = "https://slack.com/api/conversations.list" - method = "get" - - request_headers = { - Content-Type = "application/json; charset=utf-8" - Authorization = "Bearer ${credentials.slack[param.cred].token}" - } - - request_body = jsonencode({ - types = "public_channel" - }) - } -} -``` diff --git a/docs/reference/config-files/credential/teams.md b/docs/reference/config-files/credential/teams.md deleted file mode 100644 index 395efc3..0000000 --- a/docs/reference/config-files/credential/teams.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -title: teams -sidebar_label: teams ---- - -# teams - -> [!IMPORTANT] -> ***As of Flowpipe 1.0.0, `credential` has been renamed to `connection`. The `teams` credential resource is deprecated and will be removed in a future version of Flowpipe. Use the [teams connection](/docs/reference/config-files/connection/teams) instead.*** - -The `teams` credential can be used to access Microsoft Teams resources. - -```hcl -credential "teams" "my_teams" { - access_token= "bfc6f1c4fakesdfdxxxx26fake977b2xxxsfsdfakef313c3d389126de0d" -} -``` - -## Arguments - -| Name | Type | Required?| Description -|-----------------|---------|----------|------------------- -| `access_token` | String | Optional | API token - -All arguments are optional, and a `teams` credential with no arguments will behave the same as the [default credential](#default-credential). - -## Attributes (Read-Only) - -| Attribute | Type | Description -|-----------------|---------|----------------- -| `env` | Map | A map of the resolved credential-related environment variables (`TEAMS_ACCESS_TOKEN`) - -## Default Credential - -The `teams` credential type includes an implicit, default credential (`credential.teams.default`) that will be configured to set the `access_token` to the `TEAMS_ACCESS_TOKEN` environment variable. - -```hcl -credential "teams" "default" { - access_token = env("TEAMS_ACCESS_TOKEN") -} -``` diff --git a/docs/reference/config-files/credential/trello.md b/docs/reference/config-files/credential/trello.md deleted file mode 100644 index 2494f12..0000000 --- a/docs/reference/config-files/credential/trello.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -title: trello -sidebar_label: trello ---- - -# trello - -> [!IMPORTANT] -> ***As of Flowpipe 1.0.0, `credential` has been renamed to `connection`. The `trello` credential resource is deprecated and will be removed in a future version of Flowpipe. Use the [trello connection](/docs/reference/config-files/connection/trello) instead.*** - -The `trello` credential can be used to access Trello resources. - -```hcl -credential "trello" "my_trello" { - api_key = "a25ad2e..." - token = "ATTAb179ea..." -} -``` - -## Arguments - -| Name | Type | Required?| Description -|-----------------|---------|----------|------------------- -| `api_key` | String | Optional | API key -| `token` | String | Optional | API token - -All arguments are optional, and a `trello` credential with no arguments will behave the same as the [default credential](#default-credential). - -## Default Credential - -The `trello` credential type includes an implicit, default credential (`credential.trello.default`) that will be configured to set the `api_key` to the `TRELLO_API_KEY` environment variable and the `token` to the `TRELLO_TOKEN` environment variable. - -```hcl -credential "trello" "default" { - api_key = env("TRELLO_API_KEY") - token = env("TRELLO_TOKEN") -} -``` diff --git a/docs/reference/config-files/credential/turbot_guardrails.md b/docs/reference/config-files/credential/turbot_guardrails.md deleted file mode 100644 index b6119af..0000000 --- a/docs/reference/config-files/credential/turbot_guardrails.md +++ /dev/null @@ -1,47 +0,0 @@ ---- -title: guardrails -sidebar_label: guardrails ---- - -# guardrails - -> [!IMPORTANT] -> ***As of Flowpipe 1.0.0, `credential` has been renamed to `connection`. The `guardrails` credential resource is deprecated and will be removed in a future version of Flowpipe. Use the [guardrails connection](/docs/reference/config-files/connection/guardrails) instead.*** - -The `guardrails` credential can be used to access [Turbot Guardrails](https://turbot.com/guardrails) resources. - -```hcl -credential "guardrails" "my_guardrail" { - access_key = "c8e2c2ed-1ca8-429b-b369-123..." - secret_key = "a3d8385d-47f7-40c5-a90c-123..." - workspace = "https://my_workspace.sass.turbot.com" -} -``` - -## Arguments - -| Name | Type | Required?| Description -|-----------------|---------|----------|------------------- -| `access_key` | String | Optional | Access key -| `secret_key` | String | Optional | Secret key -| `workspace` | String | Optional | Workspace URL - -All arguments are optional, and a `guardrails` credential with no arguments will behave the same as the [default credential](#default-credential). - -## Attributes (Read-Only) - -| Attribute | Type | Description -|-----------------|---------|----------------- -| `env` | Map | A map of the resolved credential-related environment variables (`TURBOT_ACCESS_KEY`, `TURBOT_SECRET_KEY`, `TURBOT_WORKSPACE`) - -## Default Credential - -The `guardrails` credential type includes an implicit, default credential (`credential.guardrails.default`) that will be configured using the environment variables `TURBOT_ACCESS_KEY`, `TURBOT_SECRET_KEY`, and `TURBOT_WORKSPACE`. - -```hcl -credential "guardrails" "my_guardrail" { - access_key = env("TURBOT_ACCESS_KEY") - secret_key = env("TURBOT_SECRET_KEY") - workspace = env("TURBOT_WORKSPACE") -} -``` diff --git a/docs/reference/config-files/credential/uptimerobot.md b/docs/reference/config-files/credential/uptimerobot.md deleted file mode 100644 index b5adb14..0000000 --- a/docs/reference/config-files/credential/uptimerobot.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -title: uptimerobot -sidebar_label: uptimerobot ---- - -# uptimerobot - -> [!IMPORTANT] -> ***As of Flowpipe 1.0.0, `credential` has been renamed to `connection`. The `uptimerobot` credential resource is deprecated and will be removed in a future version of Flowpipe. Use the [uptimerobot connection](/docs/reference/config-files/connection/uptimerobot) instead.*** - -The `uptimerobot` credential can be used to access UptimeRobot resources. - -```hcl -credential "uptimerobot" "my_uptimerobot" { - api_key = "u123456-ecaf32fakekey633ff33dd3c445" -} -``` - -## Arguments - -| Name | Type | Required?| Description -|-----------------|---------|----------|------------------- -| `api_key` | String | Optional | API Key - -All arguments are optional, and a `uptimerobot` credential with no arguments will behave the same as the [default credential](#default-credential). - -## Attributes (Read-Only) - -| Attribute | Type | Description -|-----------------|---------|----------------- -| `env` | Map | A map of the resolved credential-related environment variables (`UPTIMEROBOT_API_KEY`) - -## Default Credential - -The `uptimerobot` credential type includes an implicit, default credential (`credential.uptimerobot.default`) that will be configured to set the `api_key` to the `UPTIMEROBOT_API_KEY` environment variable. - -```hcl -credential "uptimerobot" "default" { - api_key = env("UPTIMEROBOT_API_KEY") -} -``` diff --git a/docs/reference/config-files/credential/urlscan.md b/docs/reference/config-files/credential/urlscan.md deleted file mode 100644 index e8536eb..0000000 --- a/docs/reference/config-files/credential/urlscan.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -title: urlscan -sidebar_label: urlscan ---- - -# urlscan - -> [!IMPORTANT] -> ***As of Flowpipe 1.0.0, `credential` has been renamed to `connection`. The `urlscan` credential resource is deprecated and will be removed in a future version of Flowpipe. Use the [urlscan connection](/docs/reference/config-files/connection/urlscan) instead.*** - - -The `urlscan` credential can be used to access URLScan resources. - -```hcl -credential "urlscan" "my_urlscan" { - api_key = "11111111-e127-1234-adcd-59cad2f12abc" -} -``` - -## Arguments - -| Name | Type | Required?| Description -|-----------------|---------|----------|------------------- -| `api_key` | String | Optional | API Key - -All arguments are optional, and a `urlscan` credential with no arguments will behave the same as the [default credential](#default-credential). - -## Attributes (Read-Only) - -| Attribute | Type | Description -|-----------------|---------|----------------- -| `env` | Map | A map of the resolved credential-related environment variables (`URLSCAN_API_KEY`) - -## Default Credential - -The `urlscan` credential type includes an implicit, default credential (`credential.urlscan.default`) that will be configured to set the `api_key` to the `URLSCAN_API_KEY` environment variable. - -```hcl -credential "urlscan" "default" { - api_key = env("URLSCAN_API_KEY") -} -``` diff --git a/docs/reference/config-files/credential/vault.md b/docs/reference/config-files/credential/vault.md deleted file mode 100644 index 7b9389d..0000000 --- a/docs/reference/config-files/credential/vault.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -title: vault -sidebar_label: vault ---- - -# vault - -> [!IMPORTANT] -> ***As of Flowpipe 1.0.0, `credential` has been renamed to `connection`. The `vault` credential resource is deprecated and will be removed in a future version of Flowpipe. Use the [vault connection](/docs/reference/config-files/connection/vault) instead.*** - - -The `vault` credential can be used to access Vault resources. - -```hcl -credential "vault" "my_vault" { - address = "http://127.0.0.1:8200" - token = "hvs.FaKe" -} -``` - -## Arguments - -| Name | Type | Required?| Description -|-----------------|---------|----------|------------------- -| `address` | String | Optional | Vault server address -| `token` | String | Optional | API token - -All arguments are optional, and a `vault` credential with no arguments will behave the same as the [default credential](#default-credential). - -## Attributes (Read-Only) - -| Attribute | Type | Description -|-----------------|---------|----------------- -| `env` | Map | A map of the resolved credential-related environment variables (`VAULT_ADDR`, `VAULT_TOKEN`) - -## Default Credential - -The `vault` credential type includes an implicit, default credential (`credential.vault.default`) that will be configured to set the `token` to the `VAULT_TOKEN` environment variable and the `domain` to `VAULT_ADDR`. - -```hcl -credential "vault" "default" { - domain = env("VAULT_ADDR") - token = env("VAULT_TOKEN") -} -``` diff --git a/docs/reference/config-files/credential/virustotal.md b/docs/reference/config-files/credential/virustotal.md deleted file mode 100644 index 2ca3889..0000000 --- a/docs/reference/config-files/credential/virustotal.md +++ /dev/null @@ -1,35 +0,0 @@ ---- -title: virustotal -sidebar_label: virustotal ---- - -# virustotal - -> [!IMPORTANT] -> ***As of Flowpipe 1.0.0, `credential` has been renamed to `connection`. The `virustotal` credential resource is deprecated and will be removed in a future version of Flowpipe. Use the [virustotal connection](/docs/reference/config-files/connection/virustotal) instead.*** - -The `virustotal` credential can be used to access VirusTotal resources. - -```hcl -credential "virustotal" "my_ virustotal" { - api_key = "SG.R7..." -} -``` - -## Arguments - -| Name | Type | Required?| Description -|-----------------|---------|----------|------------------- -| `api_key` | String | Optional | API key - -All arguments are optional, and a `virustotal` credential with no arguments will behave the same as the [default credential](#default-credential). - -## Default Credential - -The `virustotal` credential type includes an implicit, default credential (`credential.virustotal.default`) that will be configured to set the `api_key` to the `VTCLI_APIKEY` environment variable. - -```hcl -credential "virustotal" "default" { - api_key = env("VTCLI_APIKEY") -} -``` diff --git a/docs/reference/config-files/credential/zendesk.md b/docs/reference/config-files/credential/zendesk.md deleted file mode 100644 index dedab67..0000000 --- a/docs/reference/config-files/credential/zendesk.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -title: zendesk -sidebar_label: zendesk ---- - -# zendesk - -> [!IMPORTANT] -> ***As of Flowpipe 1.0.0, `credential` has been renamed to `connection`. The `zendesk` credential resource is deprecated and will be removed in a future version of Flowpipe. Use the [zendesk connection](/docs/reference/config-files/connection/zendesk) instead.*** - -The `zendesk` credential can be used to access Zendesk resources. - -```hcl -credential "zendesk" "my_zendesk" { - subdomain = "dmi" - email = "pam@dmi.com" - token = "17ImlCYdfThisIsFakepJn1fi1pLwVdrb21114" -} -``` - -## Arguments - -| Name | Type | Required?| Description -|-----------------|---------|----------|------------------- -| `subdomain` | String | Optional | The subdomain name of your Zendesk account. -| `email` | String | Optional | Email address of agent user who have permission to access the API. -| `token` | String | Optional | API Token for your Zendesk instance. - -All arguments are optional, and a `zendesk` credential with no arguments will behave the same as the [default credential](#default-credential). - -## Default Credential - -The `zendesk` credential type includes an implicit, default credential (`credential.zendesk.default`) that will be configured to set defaults using the environment variables `ZENDESK_EMAIL`, `ZENDESK_SUBDOMAIN`, and `ZENDESK_API_TOKEN`. - -```hcl -credential "zendesk" "default" { - subdomain = env("ZENDESK_SUBDOMAIN") - email = env("ZENDESK_EMAIL") - token = env("ZENDESK_API_TOKEN") -} -``` diff --git a/docs/reference/config-files/credential_import/index.md b/docs/reference/config-files/credential_import/index.md index 77209cf..f0cfeb8 100644 --- a/docs/reference/config-files/credential_import/index.md +++ b/docs/reference/config-files/credential_import/index.md @@ -7,20 +7,20 @@ sidebar_label: credential_import # Credential Import > [!IMPORTANT] -> ***As of Flowpipe 1.0.0, `credential_import` has been renamed to `connection_import`. The `credential_import` resource is deprecated and will be removed in a future version of Flowpipe. Use [connection_import](/docs/reference/config-files/connection_import) instead.*** +> ***As of Tailpipe 1.0.0, `credential_import` has been renamed to `connection_import`. The `credential_import` resource is deprecated and will be removed in a future version of Tailpipe. Use [connection_import](/docs/reference/config-files/connection_import) instead.*** The `credential_import` resource allows you to bulk import credentials from other systems & formats. `credential_import` is a top-level block defined in config files (`*.fpc`) like `credential` and `workspace`. ```hcl -credential_import "steampipe" { - source = "~/.steampipe/config/*.spc" +credential_import "tailpipe" { + source = "~/.tailpipe/config/*.spc" connections = ["*"] prefix = "sp1_" } ``` -Imported credentials are converted to the native Flowpipe credential type - Steampipe `aws` connections become `aws` credentials, `slack` connections are `slack` credentials, etc. +Imported credentials are converted to the native Tailpipe credential type - Tailpipe `aws` connections become `aws` credentials, `slack` connections are `slack` credentials, etc. The imported credentials are merged into the map of all credentials like any other credential, and they are referenced the same way. For example, if you have connections defined as: @@ -56,13 +56,13 @@ connection "slack" { and import with: ```hcl -credential_import "steampipe" { - source = "~/.steampipe/config/*.spc" +credential_import "tailpipe" { + source = "~/.tailpipe/config/*.spc" connections = ["*"] } ``` -Then they will be available in Flowpipe as: +Then they will be available in Tailpipe as: ```hcl credential.gcp.gcp_dev_aaa @@ -72,7 +72,7 @@ credential.aws.aws_002 credential.slack.slack ``` -and they will have the same attributes as the native Flowpipe credential types: +and they will have the same attributes as the native Tailpipe credential types: ```hcl credential.gcp.gcp_dev_aaa.access_token @@ -86,8 +86,8 @@ credential.slack.slack.token If you specify a `prefix`, the credential names will be prepended with it: ```hcl -credential_import "steampipe" { - source = "~/.steampipe/config/*.spc" +credential_import "tailpipe" { + source = "~/.tailpipe/config/*.spc" connections = ["*"] prefix = "sp1_" } @@ -103,7 +103,7 @@ credential.aws.sp1_aws_002 credential.slack.sp1_slack ``` -If there is a name conflict for any credentials, Flowpipe will throw an error when loading. +If there is a name conflict for any credentials, Tailpipe will throw an error when loading. At this time, you may only use a single `import_credential` block. diff --git a/docs/reference/config-files/credential_import/steampipe.md b/docs/reference/config-files/credential_import/steampipe.md index 726ae32..ae750b7 100644 --- a/docs/reference/config-files/credential_import/steampipe.md +++ b/docs/reference/config-files/credential_import/steampipe.md @@ -1,20 +1,20 @@ --- -title: steampipe -sidebar_label: steampipe +title: tailpipe +sidebar_label: tailpipe --- -# steampipe +# tailpipe > [!IMPORTANT] -> ***As of Flowpipe 1.0.0, `credential_import` has been renamed to `connection_import`. The `credential_import` resource is deprecated and will be removed in a future version of Flowpipe. Use [connection_import](/docs/reference/config-files/connection_import) instead.*** +> ***As of Tailpipe 1.0.0, `credential_import` has been renamed to `connection_import`. The `credential_import` resource is deprecated and will be removed in a future version of Tailpipe. Use [connection_import](/docs/reference/config-files/connection_import) instead.*** -The `steampipe` credential import resource allows you to bulk import credentials from Steampipe connections. This allows you to import the plugin credentials from your Steampipe installation into Flowpipe. +The `tailpipe` credential import resource allows you to bulk import credentials from Tailpipe connections. This allows you to import the plugin credentials from your Tailpipe installation into Tailpipe. ```hcl -credential_import "steampipe" { - source = "~/.steampipe/config/*.spc" +credential_import "tailpipe" { + source = "~/.tailpipe/config/*.spc" connections = ["*"] } ``` @@ -23,36 +23,36 @@ credential_import "steampipe" { | Name | Type | Required?| Description |-----------------|---------|----------|------------------- -| `source` | String | Optional | Path to the config file(s) with the connections to import. Defaults to `~/.steampipe/config/*.spc`. +| `source` | String | Optional | Path to the config file(s) with the connections to import. Defaults to `~/.tailpipe/config/*.spc`. | `connections` | List<String> | Optional | A list of connection names to import. You may use the `*` globbing wildcard in these entries. The default is `["*"]` (all connections). | `prefix` | String | Optional | A string to prepend to the connection name to create the credential name. ## Examples -### Import ALL Steampipe connections +### Import ALL Tailpipe connections ```hcl -credential_import "steampipe" {} +credential_import "tailpipe" {} ``` or ```hcl -credential_import "steampipe" { - source = "~/.steampipe/config/*.spc" +credential_import "tailpipe" { + source = "~/.tailpipe/config/*.spc" connections = ["*"] } ``` -### Import ALL Steampipe connections and prefix them +### Import ALL Tailpipe connections and prefix them ```hcl -credential_import "steampipe" { +credential_import "tailpipe" { prefix = "sp_" } ``` -### Import specific Steampipe connections only +### Import specific Tailpipe connections only ```hcl -credential_import "steampipe" { - source = "~/.steampipe/config/aws.spc" +credential_import "tailpipe" { + source = "~/.tailpipe/config/aws.spc" connections = ["aws_prod*", "aws_all"] } ``` \ No newline at end of file diff --git a/docs/reference/config-files/index.md b/docs/reference/config-files/index.md index 7e27329..084bb44 100644 --- a/docs/reference/config-files/index.md +++ b/docs/reference/config-files/index.md @@ -5,6 +5,6 @@ sidebar_label: Configuration Files # Configuration Files -Configuration resources like [workspaces](/docs/reference/config-files/workspace) and [connections](/docs/reference/config-files/connection) are defined using HCL in one or more Flowpipe config files. +Configuration resources like [workspaces](/docs/reference/config-files/workspace) and [connections](/docs/reference/config-files/connection) are defined using HCL in one or more Tailpipe config files. -Flowpipe will load ALL configuration files (`*.fpc`) from every directory in the [configuration search path](/docs/reference/env-vars/flowpipe_config_path), with decreasing precedence. By default, the configuration search path includes the current directory (or `--mod-location` if specified) followed by the `config` directory in the [FLOWPIPE_INSTALL_DIR](/docs/reference/env-vars/flowpipe_install_dir): `.:$FLOWPIPE_INSTALL_DIR/config`. This allows you to manage your workspaces and connections centrally in the `~/.flowpipe/config` directory, but override them in the working directory / mod location if desired. \ No newline at end of file +Tailpipe will load ALL configuration files (`*.tpc`) from every directory in the [configuration search path](/docs/reference/env-vars/tailpipe_config_path), with decreasing precedence. By default, the configuration search path includes the current directory (or `--mod-location` if specified) followed by the `config` directory in the [TAILPIPE_INSTALL_DIR](/docs/reference/env-vars/tailpipe_install_dir): `.:$TAILPIPE_INSTALL_DIR/config`. This allows you to manage your workspaces and connections centrally in the `~/.tailpipe/config` directory, but override them in the working directory / mod location if desired. \ No newline at end of file diff --git a/docs/reference/config-files/integration/email.md b/docs/reference/config-files/integration/email.md deleted file mode 100644 index 914cf86..0000000 --- a/docs/reference/config-files/integration/email.md +++ /dev/null @@ -1,47 +0,0 @@ ---- -title: Email Integration -sidebar_label: email ---- - -# Email Integration - -Use the `email` integration to send email messages with a [`message` step](/docs/flowpipe-hcl/step/message) or to prompt for user input in an [`input` step](/docs/flowpipe-hcl/step/input). - -```hcl -integration "email" "my_email_app" { - smtp_host = "smtp.gmail.com" - from = "flowpipe@bluth.com" - smtp_username = "flowpipe@bluth.com" - smtp_password = "Shfakes87y98324509i" -} -``` - - -To prompt for input via email in an `input` step, you must create an email `integration`, add it to a [notifier](/docs/reference/config-files/notifier), and then configure your [`input` step](/docs/flowpipe-hcl/step/input) to send to the notifier. - -For `input` steps to work properly with your email integration, make sure you set your [Base URL](/docs/reference/config-files/integration#base-url) to an address that the recipient can route to. You can set the base URL via the [FLOWPIPE_BASE_URL](/docs/reference/env-vars/flowpipe_base_url) environment variable, the `base_url` [workspace argument](/docs/reference/config-files/workspace), or pass it via the `--base-url` argument to the [flowpipe server](/docs/reference/cli/server) command. - -## Arguments - - -| Argument | Type | Optional? | Description -|-----------------|-----------|-------------|----------------- -| `from` | String | Required | The email address from which to send messages. This value should be considered a default; if a `notifier` or an `input` step specifies a `from` it will override this value. -| `smtp_host` | String | Required | The SMTP host to send messages to. -| `bcc` | List<String> | Optional | The email recipients to blind carbon copy (BCC) messages to. This value should be considered a default; if a `notifier` or an `input` step specifies a `bcc` it will override this value. -| `cc` | List<String> | Optional | The email recipients to carbon copy (CC) messages to. This value should be considered a default; if a `notifier` or an `input` step specifies a `cc` it will override this value. -| `smtp_port` | String | Optional | The TCP port to connect to when sending messages via SMTP. Defaults to `25`. -| `smtp_password` | String | Optional | Password when using authenticated SMTP/SMTPS. -| `smtp_tls` | String | Optional | TLS negotiation options. Values are `required` (only use SMTPS/TLS), `off` (only use SMTP), or `auto` (prefer SMTPS, fallback to SMTP). The default is `auto`. -| `smtp_username` | String | Optional | Username when using authenticated SMTP/SMTPS. -| `smtps_port` | String | Optional | The TCP port to connect to when sending messages via SMTPS. Defaults to `587`. -| `subject` | String | Optional | The email subject. This value should be considered a default; if a `notifier` or an `input` step specifies a `subject` it will override this value. -| `to` | List<String> | Optional | The email recipients to send messages to. This value should be considered a default; if a `notifier` or an `input` step specifies a `to` it will override this value. -| `title` | String | Optional | Display title for the integration. - - -## Attributes (Read-Only) - -| Attribute | Type | Description -|-----------------|---------|----------------- -| `request_url` | String | The URL to where email responses will be sent. diff --git a/docs/reference/config-files/integration/http.md b/docs/reference/config-files/integration/http.md deleted file mode 100644 index 3fa45fd..0000000 --- a/docs/reference/config-files/integration/http.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -title: HTTP Integration -sidebar_label: http ---- - -# HTTP Integration - -The `http` integration provides a mechanism for responding to inputs by visiting a web page and submitting a form. This integration requires no arguments and will be created by default. Currently, when sending a message to an `http` integration from a [message step](/docs/flowpipe-hcl/step/message), Flowpipe prints the message to the console. - -```hcl -integration "http" "default" {} -``` - -By default, Flowpipe will include the default `http` integration in the [default `notifier`](#default-notifier) so that input steps can work out of the box. - -## Arguments - -| Argument | Type | Optional? | Description -|-----------------|-----------|-------------|----------------- -| `title` | String | Optional | Display title for the integration. diff --git a/docs/reference/config-files/integration/index.md b/docs/reference/config-files/integration/index.md deleted file mode 100644 index 2fa3baf..0000000 --- a/docs/reference/config-files/integration/index.md +++ /dev/null @@ -1,39 +0,0 @@ ---- -title: integration -sidebar_label: integration ---- - - -# Integration - -Use the `integration` block to configure how pipelines interact with an external system, such as Slack or Email, via [input](/docs/flowpipe-hcl/step/input) and [message](/docs/flowpipe-hcl/step/message) steps. - -Like [triggers](/docs/build/triggers), integrations require callback endpoints, so they only work in [server-mode](/docs/run/server). When you run a pipeline in [client-mode](/docs/run#operating-modes), notifications for [input](/docs/flowpipe-hcl/step/input) and [message](/docs/flowpipe-hcl/step/message) steps will only appear on the command line, regardless of your `notifier` and `integration` configuration. To send [input](/docs/flowpipe-hcl/step/input) and [message](/docs/flowpipe-hcl/step/message) requests to your integrations, you must run [Flowpipe server](/docs/run/server)! - - -Integrations are *configuration* resources, defined in configuration files (`.fpc`), not mod files(`.fp`). Here's why: -- The settings are installation-specific and may contain secrets. -- The settings are usually the same for *all* mods in a given installation. - -Note that while the *definition* of the integration happens at the installation level, the *instantiation* is per Flowpipe process instance. If, for example, you run 2 separate `flowpipe server` instances on the same host, they will both share the same Slack integration definition, but each will create its own instance, with its own URL. - -An `integration` is similar in many respects to a `trigger`: -- It is loaded at mod start-up time and usually creates a public HTTP endpoint (the `request_url`). -- There are multiple types, each with its own label eg (`integration "slack" "my_slack`), and the arguments vary by type. - -Unlike a `trigger`, an `integration` does not *initiate* a pipeline but instead is referenced *in a pipeline step* to interact with an external system. - -## Request URL -Behind the scenes, each of these integrations has its own **Request URL** HTTP endpoint. The integration endpoints will receive responses in their native format and will perform service-specific tasks — for security, authentication, data transformation, etc — to extract the `value` from the response. The value will be passed as an attribute of the step so that it may be inspected by later steps. - -The Request URL enables external system to connect to Flowpipe. To avoid reconfiguring that external system, it's important to maintain a stable URL. In order to generate a consistent but unguessable URL path, the URLs are generated by hashing the trigger name with a salt. The salt file is written to the Flowpipe install directory, in the `internal` subdirectory: `~/.flowpipe/internal/salt`. - -## Base URL -The Request URL must be publicly accessible in order for the external user or system to respond. Flowpipe does not know the hostname portion of this URL, so you must provide it by setting the [Base URL](/docs/reference/env-vars/flowpipe_base_url) to a host that the recipient can route to. This may include the DNS or IP address of the system on which you are running Flowpipe, or it may be a reverse proxy such as [ngrok](https://ngrok.com/). You can set the base URL via the [FLOWPIPE_BASE_URL](/docs/reference/env-vars/flowpipe_base_url) environment variable, the `base_url` [workspace argument](/docs/reference/config-files/workspace), or pass it via the `--base-url` argument to the [flowpipe server](/docs/reference/cli/server) command. Typically, it's simplest to set it in your [default workspace](http://localhost:3000/docs/run/workspaces#using-workspaces): - -```hcl -workspace "default" { - base_url = "https://84c5df474.ngrok-free.dev" -} -``` - diff --git a/docs/reference/config-files/integration/msteams.md b/docs/reference/config-files/integration/msteams.md deleted file mode 100644 index 2570b2b..0000000 --- a/docs/reference/config-files/integration/msteams.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -title: Microsoft Teams Integration -sidebar_label: msteams ---- - -# Microsoft Teams Integration - -Use the `msteams` integration to send messages with a [`message` step](/docs/flowpipe-hcl/step/message) or to prompt for user input in an [`input` step](/docs/flowpipe-hcl/step/input). - -```hcl -integration "msteams" "general_channel" { - webhook_url = "https://example-corp.webhook.office.com/webhook2b/..." -} -``` - -## Arguments - -| Argument | Type | Optional? | Description -|-----------------|-----------|-------------|----------------- -| `webhook_url ` | String | Required | A webhook url to post to a Microsoft Teams channel. Note that a webhook is tied to a specific channel; if you specify a channel in the step options it will be ignored. -| `title` | String | Optional | Display title for the integration. - -## Examples - -### Example: Microsoft Teams integration with webhook URL - -> Note: webhook URL is tied to a specific channel; if you specify a channel in the step options it will be ignored. - -```hcl -integration "msteams" "general_channel" { - webhook_url = "https://example.webhook.office.com/webhook2b/aa24647a-xxxx-xxxx-xxxx-89b9xxxx29a0@a475991c-xxxx-xxxx-xxxx-38bbxxxxeb78/IncomingWebhook/92xxxx7ae8xxxx71a0xxxxa9axxxx31e/221809dc-xxxx-xxxx-xxxx-d629xxxx738c" -} -``` - -## Obtaining a Webhook URL - -> Note: Webhook URLs allow unauthenticated messages to be sent to the attached channel and should be treated as secrets. - -1. Navigate within Microsoft Teams to the channel you wish to obtain a webhook URL for. -1. Click **...** next to the channel name in the side menu. -1. Select **Manage Channel** from the drop-down menu. -1. Under **Connectors** click on the **Edit** button. -1. Locate **Incoming Webhook** in the list and click the **Add** button. -1. Provide a name for the webhook (_Optional_ provide an avatar image for the webhook) & click the **Create** button. -1. Copy the generated URL as this will be the `webhook_url` diff --git a/docs/reference/config-files/integration/slack.md b/docs/reference/config-files/integration/slack.md deleted file mode 100644 index 793847d..0000000 --- a/docs/reference/config-files/integration/slack.md +++ /dev/null @@ -1,147 +0,0 @@ ---- -title: Slack Integration -sidebar_label: slack ---- - -# Slack Integration - -Use the `slack` integration to send Slack messages with a [`message` step](/docs/flowpipe-hcl/step/message) or to prompt for user input in an [`input` step](/docs/flowpipe-hcl/step/input). - - -```hcl -integration "slack" "my_slack_app" { - token = "xoxp-111111" - channel = "#infosec" - signing_secret = "Q#$$#@#$$#W" -} -``` - -## Arguments - - -| Argument | Type | Optional? | Description -|-----------------|-----------|-------------|----------------- -| `token` | String | Optional | The Slack user token for the app. The token must have the required scopes. You must specify either a `token` or `webhook_url`. -| `webhook_url ` | String | Optional | A Slack webhook url to post to a slack channel. Note that a webhook is tied to a specific channel; if you specify a channel in the step options it will be ignored. You must specify either a `token` or `webhook_url`. -| `channel` | String | Optional | The Slack channel to send to. This value should be considered a default; if an `input` step specifies a `channel` it will override this value. Note that a webhook is tied to a specific channel, so if you specify a `webhook_url` then this setting will have no effect. -| `signing_secret`| String | Optional | Slack signing secret used to verify that the responses are from Slack. This setting only applies if you use a `token`. -| `title` | String | Optional | Display title for the integration. - - -## Attributes (Read-Only) - -| Attribute | Type | Description -|-----------------|---------|----------------- -| `request_url` | String | The webhook URL to configure as the request url in your Slack app - - -## Examples - -Slack integration requires exactly one of: -- A slack **token** -- A **webhook_url**. Note that a webhook is tied to a specific channel; if you specify a channel in the step options it will be ignored. - - -### Example: Slack with token - -```hcl -integration "slack" "my_slack_app" { - token = "xoxp-111111" - channel = "#infosec" - signing_secret = "Q#$$#@#$$#W" -} -``` - - -### Example: Slack with webhook URL - -```hcl -integration "slack" "my_slack_app" { - webhook_url = "https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX" -} -``` - - -## Setting up as Slack Integration - -To prompt for input via Slack you need to: -1. [Create an app in Slack](#create-the-slack-app). -1. [Create a Slack `integration`](#create-the-flowpipe-integration). -1. [Enable Interactivity in the Slack App](#enable-interactivity-in-the-slack-app). -1. [Add the integration to a `notifier`](#setup-the-notifier). -1. Use an [input step](/docs/flowpipe-hcl/step/input) or a [message step](/docs/flowpipe-hcl/step/message) to send to the notifier. - -### Create the Slack App -First, we'll need to [create an app in Slack](https://api.slack.com/start/quickstart) for Flowpipe. - -1. Go to the [Slack Apps page](https://api.slack.com/apps/) and click the **Create New App** button. -1. In the **Create an app** dialog, choose **From scratch**. -1. The **Name app & choose workspace** dialog appears. Enter a name for your app and select the workspace in which to create it. Click **Create App**. -1. Your app is created and you are sent to the **Basic Information** page for the app. From the left-hand hand menu, select **OAuth & Permissions**. In the **Scopes** section, under **Bot Token Scopes**, click **Add an OAuth Scope** and add the `chat:write` scope. -1. Scroll back to the top of the page and in the **OAuth Tokens for Your Workspace** section, click the **Install to Workspace** button. You will be prompted to allow access. Click **Allow**. -1. On the **OAuth & Permissions** page, in the **OAuth Tokens for Your Workspace**, copy the **Bot User OAuth Token**. This will be the `token` that you use to configure the `integration` in Flowpipe. -1. Go back to the **Basic Information** page. In the **App Credentials** section, copy the **Signing Secret**. This will be the `signing_secret` that you use to configure the `integration` in Flowpipe. - - -### Create the Flowpipe Integration - -Now that the app is created, we will create a new Slack integration in Flowpipe. If you don't already have one, create a `flowpipe.fpc` in your config directory (usually `~/.flowpipe/config/`). Create a [Slack Integration](/docs/reference/config-files/integration/slack). Set the `token` and `signing_secret` to the values for your slack app, and set the channel to whichever Slack channel you would like to use as the default channel. - -```hcl -integration "slack" "default" { - token = "xoxb-111111" - channel = "#vandelay-industries" - signing_secret = "000000000000" -} -``` - -Because Slack will need to call back to Flowpipe, we will need a public endpoint. For this example, we will use [ngrok](https://ngrok.com/). Download and install ngrok, and then start it, listening to HTTP on the Flowpipe port: -```bash -ngrok http 7103 -``` - -When ngrok starts, it will create a random public URL to forward to your local system. Copy this URL (from the `Forwarding` line), we will use it to set the Flowpipe base URL. In this case, we are using an ephemeral address from ngrok, so we will just pass the base URL to the `flowpipe server` command. - -You can also set the base URL via the [FLOWPIPE_BASE_URL](/docs/reference/env-vars/flowpipe_base_url) environment variable or the `base_url` [workspace argument](/docs/reference/config-files/workspace), and this may be simpler if you have a stable reverse proxy or public URL. - -In another terminal, restart Flowpipe server, passing in the ngrok URL as the base URL: - -```bash -flowpipe server --base-url https://0000-1111-2222-ee0-16b0-91dd-fdc0-3333-4444.ngrok-free.app -``` - -In order to finish setting up the Slack app, we will need to get the Request URL for our Slack integration. In another terminal, run `flowpipe integration show` to and copy the `Request URL`: - -```bash -$ flowpipe integration show slack.default --host local -Name: slack.default -Type: slack -Request URL: https://0000-1111-2222-ee0-16b0-91dd-fdc0-3333-4444.ngrok-free.app/api/latest/integration/slack/default/0s9bkjhq8mn0x -``` - -### Enable Interactivity in the Slack App - -Now we need to enable your Slack app for interactivity and complete the Slack setup. -1. In a browser, go to the [Slack app configuration](https://api.slack.com/apps) page for the app that you created earlier. -1. In the settings for the app, go to **Interactivity & Shortcuts**. Enable **Interactivity**, and set the **Request URL** to the integration's `Request URL`. Click **Save Changes**. -1. Re-install the app in the workspace. From the menu on the left, select **Install App**, then click **Reinstall to Workspace**. - - -The Slack app is now configured. **Note that you must also invite the bot user to any channel that you want to post messages to!** You can go to the channel in Slack and invite the integration by name: `/invite @Flowpipe Integration`. - - -### Setup the Notifier - -Now that the app is set up and installed in your Slack workspace and the `integration` is set up in Flowpipe, you can add the integration to your [default notifier](/docs/reference/config-files/notifier) (or create a new one) by adding this to your `~/.flowpipe/config/flowpipe.fpc` file: - -```hcl -notifier "default" { - notify { - integration = integration.http.default - } - - notify { - integration = integration.slack.default - } -} -``` \ No newline at end of file diff --git a/docs/reference/config-files/notifier.md b/docs/reference/config-files/notifier.md deleted file mode 100644 index 43e0e76..0000000 --- a/docs/reference/config-files/notifier.md +++ /dev/null @@ -1,175 +0,0 @@ ---- -title: notifier -sidebar_label: notifier ---- - -# Notifiers - -Notifiers allow you to create a named list of notification targets, linking `message` and `input` steps to `integrations`. Like `integration`, `notifier` blocks are installation-level configuration items, defined in `.fpc` files (typically, in `~/.flowpipe/config/flowpipe.fpc`). - -Each notifier contains a list of integrations and related settings used to send and receive data to one or more integrations when an `input` step executes. - -```hcl -notifier "admins" { - - notify { - integration = integration.slack.default - channel = "#admins" - } - notify { - integration = integration.email.default - to = ["admins@bluthenterprises.com"] - } -} -``` - -You can have many named `notifier` instances that use the same `integration` but override specific values, to route `input` requests to different people or channels: - -```hcl -notifier "admins" { - - notify { - integration = integration.slack.default - channel = "#admins" - } - notify { - integration = integration.email.default - to = ["admins@bluthenterprises.com"] - } -} - -notifier "hr" { - - notify { - integration = integration.slack.default - channel = "#hr" - } - notify { - integration = integration.email.default - to = ["hr@bluthenterprises.com"] - } -} -``` - -## Arguments - -| Argument | Type | Optional? | Description -|-----------------|-----------|-------------|----------------- -| `notify` | Block | Required | one of more [notify blocks](#notify-block) to send the request to. - -## Notify Block - -### Arguments - -| Argument | Type | Optional? | Description -|-----------------|-----------|-------------|----------------- -| `integration` | Integration Reference | Required | The [integration](/docs/reference/config-files/integration) to send the request to. -| `cc` | List<String> | Optional | The email addresses to send to. This only applies to `email` integrations. -| `bcc` | List<String> | Optional | The email addresses to send to. This only applies to `email` integrations. -| `channel` | String | Optional | The channel to send the request to. This only applies to `slack` integrations. -| `description` | String | Optional | A description of the notifier. -| `subject` | String | Optional | The email subject. This only applies to `email` integrations. -| `title` | String | Optional | Display title for the notifier. -| `to` | List<String> | Optional | The email addresses to send to. This only applies to `email` integrations. - -### Overriding arguments - -There are some settings, such as `channel`, `to`, `cc`, `bcc`, and `subject` that can be set in `integration`, the `notifier`, or the `input` or `message` step: - -1. The argument passed to the step has the highest priority -2. The argument passed to the integration has the lowest priority. - -This allows you to set default message routing parameters in the `integration` but override them in the `notifier` and `step`. Consider the following example: - -```hcl -integration "email" "default" { - smtp_host = "smtp.gmail.com" - from = "flowpipe@bluthenterprises.com" - to = ["support@bluthenterprises.com"] - subject = "Flowpipe: Action Requested" -} - -notifier "admins" { - notify { - integration = integration.email.default - to = ["admins@bluthenterprises.com"] - cc = ["gob@bluthenterprises.com"] - } -} - -pipeline "change_request" { - step "input" "my_step" { - notifier = notifier["admins"] - cc = ["michael@bluthenterprises.com"] - type = "button" - prompt = "Do you want to approve?" - - option "Approve" {} - option "Deny" {} - } -} -``` - -When the `change_request` pipeline is run, the `input` will send the approval email to `admins@bluthenterprises.com` and will CC `michael@bluthenterprises.com`. - -### Default Notifier - -By default, Flowpipe will include a default `notifier` group that only includes the HTTP integration and thus works out of the box. It is equivalent to: - -```hcl -integration "http" "default" {} - -notifier "default" { - notify { - integration = integration.http.default - } -} -``` - -Note that you can override the default notifier by creating a notifier named `default`. This allows you to route messages and inputs to Slack, email, etc by default. - -### Using Notifiers in Mods - -Notifiers are defined in config files (not mod files), but Flowpipe makes them available to mods using the `notifier` variable. This special variable is a map of all notifiers by name, so you can reference them with standard HCL syntax: `notifier.name` or `notifier[name]`. - -You can reference them directly in a mod: - -```hcl -step "input" "my_step" { - notifier = notifier["admins"] - type = "button" - prompt = "Do you want to approve?" - - option "Approve" {} - option "Deny" {} -} -``` - -Generally, Mods that use `input` and `message` steps should allow passing a notifier name as a parameter, but default to the [default notifier](#default-notifier): - -```hcl - -pipeline "my_pipe" { - param "notify" { - default = "default" - } - - step "input" "my_step" { - type = "button" - prompt = "Do you want to approve?" - notifier = notifier[param.notify] - channel = "#general" - to = ["bob.loblaw@bobloblawlaw.com"] - subject = "Input Requested" - - option "Approve" {} - option "Deny" {} - } -} -``` - -This approach allows the mod to work the box, but also allows users of your mod to specify a `notifier` specific to them if they desire: - -```bash -flowpipe pipeline run my_pipe --arg notify=admins -``` diff --git a/docs/reference/config-files/workspace.md b/docs/reference/config-files/workspace.md index 61206d1..fa930d0 100644 --- a/docs/reference/config-files/workspace.md +++ b/docs/reference/config-files/workspace.md @@ -4,7 +4,7 @@ sidebar_label: workspace --- # workspace -A Flowpipe `workspace` is a "profile" that allows you to define options for running Flowpipe. +A Tailpipe `workspace` is a "profile" that allows you to define options for running Tailpipe. ```hcl @@ -18,11 +18,11 @@ workspace "my_server" { } ``` -Flowpipe workspaces allow you to define multiple named configurations and easily switch between them using the `--workspace` argument or `FLOWPIPE_WORKSPACE` +Tailpipe workspaces allow you to define multiple named configurations and easily switch between them using the `--workspace` argument or `TAILPIPE_WORKSPACE` environment variable. ```bash -flowpipe server --workspace my_server +tailpipe server --workspace my_server ``` To learn more, see **[Managing Workspaces →](/docs/run/workspaces)** @@ -33,27 +33,27 @@ To learn more, see **[Managing Workspaces →](/docs/run/workspaces)** | Argument | Default | Description |---------------------|-----------------------------------------------|----------------------------------------- | `base` | none | A reference to a named workspace resource that this workspace should source its definition from. Any argument can be overridden after sourcing via base. -| `base_url` | `http://localhost:7103` | Set the [base URL](/docs/reference/env-vars/flowpipe_base_url) to use for [triggers](/docs/flowpipe-hcl/trigger) and [integrations](/docs/reference/config-files/integration). This is the base URL that Flowpipe advertises when it interacts with external systems to allow them to call back to Flowpipe. This may include the DNS or IP address of the system on which you are running Flowpipe, or it may be a reverse proxy such as [ngrok](https://ngrok.com/). -| `host` | none | Set the remote Flowpipe API host to connect to. This allows you to run Flowpipe commands against a flowpipe host instead of the current working directory. +| `base_url` | `http://localhost:7103` | Set the [base URL](/docs/reference/env-vars/tailpipe_base_url) to use for [triggers](/docs/tailpipe-hcl/trigger) and [integrations](/docs/reference/config-files/integration). This is the base URL that Tailpipe advertises when it interacts with external systems to allow them to call back to Tailpipe. This may include the DNS or IP address of the system on which you are running Tailpipe, or it may be a reverse proxy such as [ngrok](https://ngrok.com/). +| `host` | none | Set the remote Tailpipe API host to connect to. This allows you to run Tailpipe commands against a tailpipe host instead of the current working directory. | `input` | `true` | Enable/Disable interactive prompts for missing variables. To disable prompts and fail on missing variables, set it to `false`. This is useful when running from scripts.

CLI: `--input` -| `listen` | `network` | Specifies the IP addresses on which `flowpipe server` will listen for connections from clients. Currently supported values are `local` (localhost only) or `network` (all IP addresses). +| `listen` | `network` | Specifies the IP addresses on which `tailpipe server` will listen for connections from clients. Currently supported values are `local` (localhost only) or `network` (all IP addresses). | `log_level` | off | Set the logging output level | `max_concurrency_container` | `25` | Set the maximum number of `container` step instances that can execute concurrently across all pipeline instances. | `max_concurrency_function` | `50` | Set the maximum number of `function` step instances that can execute concurrently across all pipeline instances. | `max_concurrency_http` | `500` | Set the maximum number of `http` step instances that can execute concurrently across all pipeline instances. | `max_concurrency_query` | `50` | Set the maximum number of `query` step instances that can execute concurrently across all pipeline instances. -| `memory_max_mb` | `1024` | Set a memory soft limit for the flowpipe process. Set to 0 to disable the memory limit. This can also be set via the FLOWPIPE_MEMORY_MAX_MB environment variable. +| `memory_max_mb` | `1024` | Set a memory soft limit for the tailpipe process. Set to 0 to disable the memory limit. This can also be set via the TAILPIPE_MEMORY_MAX_MB environment variable. | `output` | `pretty` | Set the console output format: `pretty`, `plain`, `yaml` or `json`. -| `port` | `7103` | Specifies the TCP port on which `flowpipe server` will listen for connections from clients. -| `telemetry` | `info` | Set the telemetry level in Flowpipe: `info` or `none` +| `port` | `7103` | Specifies the TCP port on which `tailpipe server` will listen for connections from clients. +| `telemetry` | `info` | Set the telemetry level in Tailpipe: `info` or `none` | `update_check` | `true` | Enable or disable automatic update checking. -| `watch` | `true` | Watch .mod files for changes when running `flowpipe server`. +| `watch` | `true` | Watch .mod files for changes when running `tailpipe server`. -Workspaces are defined using the `workspace` block in one or more Flowpipe config files. Flowpipe will load ALL configuration files (`*.fpc`) from every directory in the [configuration search path](/docs/reference/env-vars/flowpipe_config_path), with decreasing precedence. The set of workspaces is the union of all workspaces defined in these directories. +Workspaces are defined using the `workspace` block in one or more Tailpipe config files. Tailpipe will load ALL configuration files (`*.fpc`) from every directory in the [configuration search path](/docs/reference/env-vars/tailpipe_config_path), with decreasing precedence. The set of workspaces is the union of all workspaces defined in these directories. -The workspace named `default` is special; If a workspace named `default` exists, it will be used whenever the `--workspace` argument is not passed to Flowpipe. Creating a `default` workspace in `~/.flowpipe/config/workspaces.fpc` provides a way to set all defaults. +The workspace named `default` is special; If a workspace named `default` exists, it will be used whenever the `--workspace` argument is not passed to Tailpipe. Creating a `default` workspace in `~/.tailpipe/config/workspaces.fpc` provides a way to set all defaults. Note that the HCL argument names are the same as the equivalent CLI argument names, @@ -61,42 +61,42 @@ except using an underscore in place of a dash: | Workspace Argument | Environment Variable | Argument |--------------------|-------------------------|---------------------- -| `base_url` | `FLOWPIPE_BASE_URL` | `--base-url` -| `host` | `FLOWPIPE_HOST` | `--host` +| `base_url` | `TAILPIPE_BASE_URL` | `--base-url` +| `host` | `TAILPIPE_HOST` | `--host` | `input` | | `--input` -| `listen` | `FLOWPIPE_LISTEN` | `--listen` -| `log_level` | `FLOWPIPE_LOG_LEVEL` | -| `max_concurrency_container` | `FLOWPIPE_MAX_CONCURRENCY_CONTAINER` | `--max-concurrency-container` -| `max_concurrency_function` | `FLOWPIPE_MAX_CONCURRENCY_FUNCTION` | `--max-concurrency-function` -| `max_concurrency_http` | `FLOWPIPE_MAX_CONCURRENCY_HTTP` | `--max-concurrency-http` -| `max_concurrency_query` | `FLOWPIPE_MAX_CONCURRENCY_QUERY` | `--max-concurrency-query` -| `memory_max_mb` | `FLOWPIPE_MEMORY_MAX_MB`| +| `listen` | `TAILPIPE_LISTEN` | `--listen` +| `log_level` | `TAILPIPE_LOG_LEVEL` | +| `max_concurrency_container` | `TAILPIPE_MAX_CONCURRENCY_CONTAINER` | `--max-concurrency-container` +| `max_concurrency_function` | `TAILPIPE_MAX_CONCURRENCY_FUNCTION` | `--max-concurrency-function` +| `max_concurrency_http` | `TAILPIPE_MAX_CONCURRENCY_HTTP` | `--max-concurrency-http` +| `max_concurrency_query` | `TAILPIPE_MAX_CONCURRENCY_QUERY` | `--max-concurrency-query` +| `memory_max_mb` | `TAILPIPE_MEMORY_MAX_MB`| | `output` | | `--output` -| `port` | `FLOWPIPE_PORT` | `--port` -| `telemetry` | `FLOWPIPE_TELEMETRY` | -| `update_check` | `FLOWPIPE_UPDATE_CHECK` | +| `port` | `TAILPIPE_PORT` | `--port` +| `telemetry` | `TAILPIPE_TELEMETRY` | +| `update_check` | `TAILPIPE_UPDATE_CHECK` | | `watch` | | `--watch` diff --git a/docs/reference/developers/index.md b/docs/reference/developers/index.md new file mode 100644 index 0000000..96549b3 --- /dev/null +++ b/docs/reference/developers/index.md @@ -0,0 +1,5 @@ +--- +title: Developers +sidebar_label: Developers +--- + diff --git a/docs/reference/env-vars/flowpipe_insecure.md.todo b/docs/reference/env-vars/flowpipe_insecure.md.todo deleted file mode 100644 index 7f795d7..0000000 --- a/docs/reference/env-vars/flowpipe_insecure.md.todo +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: FLOWPIPE_INSECURE -sidebar_label: FLOWPIPE_INSECURE ---- - -# FLOWPIPE_INSECURE -When set to `true`, ignore any TLS certificate errors and warnings when connecting to a Flowpipe API host. - - -## Usage -Ignore any TLS certificate errors and warning: -```bash -export FLOWPIPE_INSECURE=true -``` diff --git a/docs/reference/env-vars/foo b/docs/reference/env-vars/foo deleted file mode 100644 index 1786a6d..0000000 --- a/docs/reference/env-vars/foo +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: Environment Variables -sidebar_label: Environment Variables ---- - -# Environment Variables - -Tailpipe supports environment variables to allow you to change its default behavior. These are optional settings - You are not required to set any environment variables. - -Note that plugins may also support environment variables, but these are plugin-specific - refer to your plugin's documentation on the [Tailpipe Hub](https://hub.tailpipe.io/) for details. - -## Tailpipe Environment Variables - -| Command | Default | Description -|-|-|- -| [FLOWPIPE_CONFIG_PATH](/docs/reference/env-vars/flowpipe_config_path) | `.:$FLOWPIPE_INSTALL_DIR/config` | Set the search path for [configuration files](/docs/reference/config-files). \ No newline at end of file diff --git a/docs/reference/env-vars/index.md b/docs/reference/env-vars/index.md index ae61cbe..1999352 100644 --- a/docs/reference/env-vars/index.md +++ b/docs/reference/env-vars/index.md @@ -13,4 +13,5 @@ Note that plugins may also support environment variables, but these are plugin-s | Command | Default | Description |-|-|- -| [TAILPIPE_CONFIG_PATH](/docs/reference/env-vars/tailpipe_config_path) | `.:$TAILPIPE_INSTALL_DIR/config` | Set the search path for [configuration files](/docs/reference/config-files). \ No newline at end of file +| [TAILPIPE_CONFIG_PATH](/docs/reference/env-vars/tailpipe_config_path) | `.:$TAILPIPE_INSTALL_DIR/config` | Set the search path for [configuration files](/docs/reference/config-files). +| [TAILPIPE_LOG_LEVEL](reference/env-vars/tailpipe_log) | `warn` | Set the logging output level. \ No newline at end of file diff --git a/docs/reference/env-vars/pipes_token.md.sav b/docs/reference/env-vars/pipes_token.md.sav index 8c38588..2e7be07 100644 --- a/docs/reference/env-vars/pipes_token.md.sav +++ b/docs/reference/env-vars/pipes_token.md.sav @@ -7,7 +7,7 @@ sidebar_label: PIPES_TOKEN # PIPES_TOKEN Sets the [Turbot Pipes authentication token](https://turbot.com/pipes/docs/da-settings#tokens). This is used when connecting to Turbot Pipes workspaces. -By default, Flowpipe will use the token obtained by running `flowpipe login`, but you may set this to user-generated [API token](https://turbot.com/pipes/docs/da-settings#tokens) instead. You can manage your API tokens from the **Settings** page for your user account in Turbot Pipes. +By default, Tailpipe will use the token obtained by running `tailpipe login`, but you may set this to user-generated [API token](https://turbot.com/pipes/docs/da-settings#tokens) instead. You can manage your API tokens from the **Settings** page for your user account in Turbot Pipes. ## Usage diff --git a/docs/reference/env-vars/tailpipe_log.md b/docs/reference/env-vars/tailpipe_log.md new file mode 100644 index 0000000..f8082af --- /dev/null +++ b/docs/reference/env-vars/tailpipe_log.md @@ -0,0 +1,28 @@ +--- +title: TAILPIPE_LOG_LEVEL +sidebar_label: TAILPIPE_LOG_LEVEL +--- + +# TAILPIPE_LOG_LEVEL + +Sets the output logging level. Standard log levels are supported (`DEBUG`, `INFO`, `WARN`, `ERROR`). Logs are written to STDERR. By default, logging is off. + +Logs are written to STDERR. + +## Usage + +Turn on info level logging: +```bash +export TAILPIPE_LOG_LEVEL=info +``` + +Turn off logging: + +```bash +unset TAILPIPE_LOG_LEVEL +``` + +Redirect logs to a file: +```bash +TAILPIPE_LOG_LEVEL=debug tailpipe collect nginx_access_log.dev 2> mylogs.txt +``` \ No newline at end of file diff --git a/docs/run/collect.md b/docs/run/collect.md index 64ca1c1..289288c 100644 --- a/docs/run/collect.md +++ b/docs/run/collect.md @@ -5,3 +5,27 @@ sidebar_label: Collect # Collecting logs +You run collection on the command line. + +You can collect everything: + +```bash +tailpipe collect +``` + +or table: + +```bash +tailpipe collect aws_cloudtrail_log +``` + +or just a partition: + +```bash +tailpipe collect aws_cloudtrail_log.prod +``` + +The collection process always writes to a local **workspace**, and does so on a per-partition basis. While the user may specify multiple partitions on the command line, `partition` is the unit of collection. A partition day is the atomic unit of work; the partition collection succeeds or fails for all sources for a given day. + +When a partition is collected, each source resumes from the last time it was collected. Source data is ingested, standardized, then written to parquet files in the [standard hive structure](tbd). In addition, [metadata manifest](tbd) data is written for the collection run. + diff --git a/docs/run/connections.md b/docs/run/connections.md index 5395eff..9756db1 100644 --- a/docs/run/connections.md +++ b/docs/run/connections.md @@ -7,3 +7,30 @@ sidebar_label: Connections Tailpipe **Connections** provide a mechanism for defining credentials and options for interacting with external systems. +**Connections** provide *credentials* and *configuration options* to connect to external services. Tailpipe connections are similar to connections in Steampipe and Flowpipe. + +```hcl +connection "aws" "aws_01" { + profile = "aws_01" +} + +connection "aws" "aws_03" { + access_key = "AKIA4YFAKEKEYXTDS252" + secret_key = "SH42YMW5p3EThisIsNotRealzTiEUwXN8BOIOF5J8m" +} + +connection "gcp" "gcp_my_other_project" { + project = "my-other-project" + credentials = "/home/me/my-service-account-creds.json" +} +``` + +For Steampipe users, there is also a *connection import*. + +```hcl +connection_import "steampipe" { + source = "~/.steampipe/config/*.spc" + connections = ["*"] + prefix = "sp1_" +} +``` diff --git a/docs/run/plugins.md b/docs/run/plugins.md index 5e32aef..02e9b24 100644 --- a/docs/run/plugins.md +++ b/docs/run/plugins.md @@ -5,5 +5,185 @@ sidebar_label: Plugins Tailpipe provides an integrated, standardized SQL interface for querying various sources of log data. It relies on plugins to define and implement tables for those logs. This approach decouples the Tailpipe core from provider-specific implementations, providing flexibility and extensibility. -# Installing Plugins +# Managing Plugins +Tailpipe plugins are packaged as Open Container Images (OCI) and stored in the [Tailpipe Hub registry](https://hub.tailpipe.io). This registry contains a curated set of plugins developed by and/or vetted by Turbot. To install the latest version of a standard plugin, you can simply install it by name. + +For example, to install the latest `aws` plugin: +``` +$ tailpipe plugin install aws +``` + +This will download the latest aws plugin from the hub registry, and will set up a default connection named `aws`. + +> Note: If you install multiple versions of a plugin only the first installation will create a connection automatically for you, you will need to create/edit a [connection](/docs/managing/connections) configuration file in order to use the additional versions of the plugin. + +### Installing a Specific Version +To install a specific version, simply specify the version tag after the plugin name, separated by `@` or `:` + +For example, to install the 0.118.0 version of the aws plugin: +``` +$ tailpipe plugin install aws@0.118.0 +``` + +This will download the aws plugin version 0.118.0 (the one with the `0.118.0` tag) from the hub registry. + +## Installing from a SemVer Constraint + +Plugins should follow [semantic versioning](https://semver.org/) guidelines, and they are tagged in the registry with a **version tag** that specifies their *exact version* in the `major.minor.patch` format (e.g. `1.0.1`). + +The intent of the version tag is that it is immutable - while it is technically possible to move the version tag to a different image version, this should not be done. + +Installing with a semver constraint allows you to "lock" (or pin) to a specific set of releases which match the contraints. + +If you install via `tailpipe plugin install aws@^1`, for example, `tailpipe plugin update` (and auto-updates) will only update to versions greater than `1.0.0` but less than `2.0.0`. + +Supported semver constraint types: + +**Wildcard Constraint**: This matches any version for a particular segment (Major, Minor, or Patch). +- `1.x.x` would match any version with major segment of `1`. +- `1.2.x` would match any version with the major segment of `1` and a minor segment of `2`. + +**Caret Constraint (^)**: This matches versions that do not modify the left-most non-zero digit. +- `^1.2.3` is the latest version equal or greater than `1.2.3`, but less than `2.0.0`. +- `^0.1.2` is the latest version equal or greater than `0.1.2`, but less than `0.2.0`. + +**Tilde Constraint (~)**: This matches versions based on expression, if minor segment is expressed, locks to it, else locks to major. +- `~1` is the latest version greater than or equal to `1.0.0`, but less than `2.0.0` (same as `1.x.x`). +- `~1.2` is the latest version greater than or equal to `1.2.0`, but less than `1.3.0` (same as `1.2.x`). +- `~1.2.3` is the latest version greater than or equal to `1.2.3`, but less than `1.3.0`. + +**Range Constraint**: This specifies a range of versions using a hyphen. +- `1.2.3-1.2.5` would limit to latest available version of `1.2.3`,`1.2.4` or `1.2.5`. + +**Other Constraints**: +- `>1.1.1` would match any version greater than `1.1.1`. +- `>=1.2.0` would match any version greater than or equal to `1.2.0`. + +You can use the install command in the same way as a specific version with these constraints (`imagename@constraint`) syntax: + +> Note: For some constraints using special characters `>`, `<`, `*` you may need to escape the characters `\>` or quote the string `tailpipe plugin install "aws@>0.118.0"` depending on your terminal. + +- To install the latest version locked to a specific major version: +```bash +$ tailpipe plugin install aws@^2 +# or +$ tailpipe plugin install aws@2.x.x +``` + +- To install the latest version locked to a specific minor version: +```bash +$ tailpipe plugin install aws@~2.1 +# or +$ tailpipe plugin install aws@2.1.x +``` + +## Installing from another registry + +Tailpipe plugins are packaged in OCI format and can be hosted and installed from any artifact repository or container registry that supports OCI V2 images. To install a plugin from a repository, specify the full path in the install command: + +``` +$ tailpipe plugin install us-docker.pkg.dev/myproject/myrepo/myplugin@mytag +``` + +## Installing from a File + +A plugin binary can be installed manually, and this is often convenient when developing the plugin. Tailpipe will attempt to load any plugin that is referred to in a `connection` configuration: +- The plugin binary file must have a `.plugin` extension +- The plugin binary must reside in a subdirectory of the `~/.tailpipe/plugins/` directory and must be the ONLY `.plugin` file in that subdirectory +- The `connection` must specify the path (relative to `~/.tailpipe/plugins/`) to the plugin in the `plugin` argument + +For example, consider a `myplugin` plugin that you have developed. To install it: +- Create a subdirectory `.tailpipe/plugins/local/myplugin` +- Name your plugin binary `myplugin.plugin`, and copy it to `.tailpipe/plugins/local/myplugin/myplugin.plugin` +- Create a `~/.tailpipe/config/myplugin.spc` config file containing a connection definition that points to your plugin: + ```hcl + connection "myplugin" { + plugin = "local/myplugin" + } + ``` + +## Installing Missing Plugins + +You can install all missing plugins that are referenced in your configuration files: + +```bash +$ tailpipe plugin install +``` + +Running `tailpipe plugin install` with no arguments will cause Tailpipe to read all `connection` and `plugin` blocks in all `.spc` files in the `~/.tailpipe/config` directory and install any that are referenced but are not installed. Note that when doing so, any default `.spc` file that does not exist in the configuration will also be copied. You may pass the `--skip-config` flag if you don't want to copy these files: + +```bash +$ tailpipe plugin install --skip-config +``` + + +## Viewing Installed Plugins +You can list the installed plugins with the `tailpipe plugin list` command: + +``` +$ tailpipe plugin list +┌─────────────────────────────────────────────────────┬─────────┬─────────────────────────────────────────────┐ +│ NAME │ VERSION │ CONNECTIONS │ +├─────────────────────────────────────────────────────┼─────────┼─────────────────────────────────────────────┤ +│ hub.tailpipe.io/plugins/turbot/aws@latest │ 0.4.0 │ aws,aws_account_aaa,aws_account_aab │ +│ hub.tailpipe.io/plugins/turbot/digitalocean@latest │ 0.1.0 │ digitalocean │ +│ hub.tailpipe.io/plugins/turbot/gcp@latest │ 0.0.6 │ gcp_project_a,gcp,gcp_project_b │ +│ hub.tailpipe.io/plugins/turbot/github@latest │ 0.0.5 │ github │ +│ hub.tailpipe.io/plugins/turbot/tailpipe@latest │ 0.0.2 │ tailpipe │ +└─────────────────────────────────────────────────────┴─────────┴─────────────────────────────────────────────┘ +``` + +## Updating Plugins + +To update a plugin to the latest version for a given stream, you can use the `tailpipe plugin update` command: + +``` +tailpipe plugin update plugin_name[@stream] +``` + +The syntax and semantics are identical to the install command - `tailpipe plugin update aws` will get the latest aws plugin, `tailpipe plugin update aws@1` will get the latest in the 1.x major stream, etc. + + +To update **all** plugins to the latest in the installed stream: +```bash +tailpipe plugin update --all +``` + + +## Removing Plugins +You can uninstall a plugin with the `tailpipe plugin remove` command: + +``` +tailpipe plugin uninstall [plugin] +``` + +Note that you cannot remove a plugin if there are active connections using it. You must remove any connections that use the plugin first: + +``` +$ tailpipe plugin list ++--------------------------------------------------+---------+-------------+ +| NAME | VERSION | CONNECTIONS | ++--------------------------------------------------+---------+-------------+ +| hub.tailpipe.io/plugins/turbot/aws@latest | 0.0.5 | aws | +| hub.tailpipe.io/plugins/turbot/tailpipe@latest | 0.0.1 | tailpipe | ++--------------------------------------------------+---------+-------------+ + +$ tailpipe plugin remove tailpipe +Error: Failed to remove plugin 'tailpipe' - there are active connections using it: 'tailpipe' + +$ rm ~/.tailpipe/config/tailpipe.spc + +$ tailpipe plugin remove tailpipe +Removed plugin tailpipe +$ tailpipe plugin list ++--------------------------------------------+---------+-------------+ +| NAME | VERSION | CONNECTIONS | ++--------------------------------------------+---------+-------------+ +| hub.tailpipe.io/plugins/turbot/aws@latest | 0.0.5 | aws | ++--------------------------------------------+---------+-------------+ +``` + +## Tailpipe Plugin Registry Support Lifecycle + +The Tailpipe Plugin Registry is committed to ensuring accessibility and stability for its users by maintaining versions of plugins for at least one year and preserving at least one version of each plugin. This practice ensures that users can access older versions of plugins if needed, providing a safety net for compatibility issues or preferences. \ No newline at end of file diff --git a/docs/run/workspaces.md b/docs/run/workspaces.md index 8740f06..29f32a5 100644 --- a/docs/run/workspaces.md +++ b/docs/run/workspaces.md @@ -7,5 +7,40 @@ sidebar_label: Workspaces A Tailpipe workspace is a profile that defines the environment in which Tailpipe operates. +Each workspace comprises: + +- A single local workspace directory for Tailpipe data (parquet) and metadata files + + + +- Optionally, context-specific settings and options + +You can use **workspaces** to keep independent sets of data. . Tailpipe workspaces enable you to define multiple named configurations and easily switch among them using the `--workspace` argument or `TAILPIPE_WORKSPACE` environment variable. If there is no `--workspace` argument or `TAILPIPE_WORKSPACE` environment variable, then the `default` workspace will be used. + +Workspace configurations can be defined in any `.tpc` file in the `~/.tailpipe/config` directory, but by convention they are defined in `~/.tailpipe/config/workspaces.tpc` file. This file may contain multiple workspace definitions that can then be referenced by name. + +```hcl +workspace "default" { + local = "~/.tailpipe/data/default" + remote = "s3://myorg-tailpipe-data/tailpipe/prod" + remote_connection = connection.aws.default +} + +workspace "dev" { + local = "~/.tailpipe/data/dev" + remote = "s3://myorg-tailpipe-data/tailpipe/dev" + remote_connection = connection.aws.default +} + +workspace "personal" { + local = "~/personal/tailpipe/data/default" + remote = "s3://my-bucket" + remote_connection = connection.aws.personal +} + +``` + diff --git a/docs/sidebar.json b/docs/sidebar.json index 14e60a2..16a6341 100644 --- a/docs/sidebar.json +++ b/docs/sidebar.json @@ -13,18 +13,6 @@ } ] }, - { - "type": "category", - "id": "collect", - "link": "collect", - "items": [] - }, - { - "type": "category", - "id": "query", - "link": "query", - "items": [] - }, { "type": "category", "id": "run", @@ -86,36 +74,14 @@ "id": "config-files", "label": "Configuration Files", "link": "reference/config-files", - "items": [ - { - "type": "category", - "id": "connection", - "link": "reference/config-files/connection", - "items": [] - }, - { - "type": "category", - "id": "credential", - "link": "reference/config-files/credential", - "items": [] - }, - { - "type": "category", - "id": "connection_import", - "link": "reference/config-files/connection_import", - "items": [ - "reference/config-files/connection_import/steampipe" - ] - }, - { - "type": "category", - "id": "credential_import", - "link": "reference/config-files/credential_import", - "items": [ - "reference/config-files/credential_import/steampipe" - ] - } - ] + "items": [] + }, + { + "type": "category", + "id": "developers", + "label": "Developers", + "link": "reference/developers", + "items": [] } ] }, diff --git a/docs/tailpipe-hcl/index.md b/docs/tailpipe-hcl/index.md index 9c4d4b4..69ea715 100644 --- a/docs/tailpipe-hcl/index.md +++ b/docs/tailpipe-hcl/index.md @@ -5,4 +5,6 @@ sidebar_label: Tailpipe HCL # Tailpipe HCL +You use Powerpipe to run Tailpipe mods written with a combination of HCL (to configure visualizations) and SQL (to flow data into visualizations). Tailpipe doesn't invent new HCL constructs, instead it leverages [Powerpipe HCL](https://powerpipe.io/docs/powerpipe-hcl). +As an author of Tailpipe mods, you will likely be most interested in writing detections using [detection](tbd), [detection_benchmark](tbd), and [query](tbd). But your mods can also include [dashboards](https://powerpipe.io/docs/powerpipe-hcl/dashboard) with [charts, tables, infocards, and more](https://powerpipe.io/docs/powerpipe-hcl/dashboard#argument-reference). They can even include [benchmarks](https://powerpipe.io/docs/powerpipe-hcl/benchmark) and [controls](https://powerpipe.io/docs/powerpipe-hcl/controls).