Export from Tailscale to Elasticsearch
CloudQuery is an open-source data integration platform that allows you to export data from any source to any destination.
The CloudQuery Tailscale plugin allows you to sync data from Tailscale to any destination, including Elasticsearch. It takes only minutes to get started.
Tailscale
The CloudQuery Tailscale plugin pulls configuration out of Tailscale resources and loads it into any supported CloudQuery destination
cloudquery
v5.3.8
Source
Elasticsearch
The Elasticsearch plugin syncs data from any CloudQuery source plugin(s) to an Elasticsearch cluster
Table of Contents
MacOS Setup
Step 1. Install CloudQuery
brew install cloudquery/tap/cloudquery
Step 2. Log in to CloudQuery CLI
cloudquery login
Step 3. Configure Tailscale source plugin
You can find more information about the configuration in the plugin documentation
kind: source
# Common source-plugin configuration
spec:
name: tailscale
path: cloudquery/tailscale
registry: cloudquery
version: "v5.3.8"
tables: ["*"]
destinations: ["v3.4.6"]
# plugin specific configuration
spec:
# required
client_id: "${TAILSCALE_CLIENT_ID}"
# required
client_secret: "${TAILSCALE_CLIENT_SECRET}"
# required
tailnet: "${TAILSCALE_TAILNET}"
# optional parameters
# api_key: <API_KEY> # not recommended to use this, but can be used instead of client_id & client_secret
# endpoint_url: "<YOUR_BASE_URL>"
# concurrency: 20000
Step 4. Configure Elasticsearch destination plugin
You can find more information about the configuration in the plugin documentation
kind: destination
spec:
name: elasticsearch
path: cloudquery/elasticsearch
registry: cloudquery
version: "v3.4.6"
write_mode: "overwrite-delete-stale"
spec:
# Elastic Cloud configuration parameters
cloud_id: "${ELASTICSEARCH_CLOUD_ID}"
api_key: "${ELASTICSEARCH_API_KEY}"
# Self-hosted Elasticsearch configuration parameters
# addresses: ["http://localhost:9200"]
# username: ""
# password: ""
# service_token: ""
# certificate_fingerprint: ""
# ca_cert: ""
# Optional parameters
# concurrency: 5 # default: number of CPUs
# batch_size: 1000
# batch_size_bytes: 5242880 # 5 MiB
Step 5. Run Sync
cloudquery sync tailscale.yml elasticsearch.yml