Documentation

Create an InfluxDB template

This page documents an earlier version of InfluxDB OSS. InfluxDB 3 Core is the latest stable version.

API token hashing is enabled by default in InfluxDB OSS 2.9.0

Stronger token security: tokens are stored as hashes on disk, so a copy of the database file doesn’t expose usable tokens. Existing tokens are hashed on first startup and the original strings can’t be recovered afterward — capture any plaintext tokens you still need before you upgrade.

For more information, see Token hashing.

Use the InfluxDB user interface (UI) and the influx export command to create InfluxDB templates from resources in an organization. Add buckets, Telegraf configurations, tasks, and more in the InfluxDB UI and then export those resources as a template.

Create a template

Creating an organization to contain only your template resources is an easy way to ensure you export the resources you want. Follow these steps to create a template from a new organization.

  1. Start InfluxDB.

  2. Create an organization.

  3. In the InfluxDB UI, add one or more resources.

  4. Create an All Access API token (or a token that has read access to the organization).

  5. Use the API token from Step 4 with the influx export all subcommand to export all resources in the organization to a template file.

    influx export all \
      -o YOUR_INFLUX_ORG \
      -t YOUR_ALL_ACCESS_TOKEN \
      -f ~/templates/template.yml

Export resources to a template

The influx export command and subcommands let you export resources from an organization to a template manifest. Your API token must have read access to resources that you want to export.

If you want to export resources that depend on other resources, be sure to export the dependencies.

Authentication credentials

The examples below assume your InfluxDB host, organization, and token are provided by either the active influx CLI configuration or by environment variables (INFLUX_HOST, INFLUX_ORG, and INFLUX_TOKEN). If you do not have a CLI configuration set up or the environment variables set, include these required credentials for each command with the following flags:

  • --host: InfluxDB host
  • -o, --org or --org-id: InfluxDB organization name or ID
  • -t, --token: InfluxDB API token

To create a template that adds, modifies, and deletes resources when applied to an organization, use InfluxDB stacks. First, initialize the stack and then export the stack.

To create a template that only adds resources when applied to an organization (and doesn’t modify existing resources there), choose one of the following:

Export all resources

To export all resources within an organization to a template manifest file, use the influx export all subcommand with the --file (-f) option.

Provide the following:

  • Destination path and filename for the template manifest. The filename extension determines the output format:
    • your-template.yml: YAML format
    • your-template.json: JSON format
# Syntax
influx export all -f <FILE_PATH>

Export resources filtered by labelName or resourceKind

The influx export all subcommand accepts a --filter option that exports only resources that match specified label names or resource kinds. To filter on label name and resource kind, provide a --filter for each.

Export only dashboards and buckets with specific labels

The following example exports resources that match this predicate logic:

(resourceKind == "Bucket" or resourceKind == "Dashboard")
and
(labelName == "Example1" or labelName == "Example2")
influx export all \
  -f ~/templates/template.yml \
  --filter=resourceKind=Bucket \
  --filter=resourceKind=Dashboard \
  --filter=labelName=Example1 \
  --filter=labelName=Example2

For more options and examples, see the influx export all subcommand.

Export specific resources

To export specific resources by name or ID, use the influx export command with one or more lists of resources to include.

Provide the following:

  • Destination path and filename for the template manifest. The filename extension determines the output format:
    • your-template.yml: YAML format
    • your-template.json: JSON format
  • Resource options with corresponding lists of resource IDs or resource names to include in the template. For information about what resource options are available, see the influx export command.
# Syntax
influx export -f <file-path> [resource-flags]

Export specific resources by ID

influx export \
  --org-id ed32b47572a0137b \
  -f ~/templates/template.yml \
  -t $INFLUX_TOKEN \
  --buckets=00x000ooo0xx0xx,o0xx0xx00x000oo \
  --dashboards=00000xX0x0X00x000 \
  --telegraf-configs=00000x0x000X0x0X0

Export specific resources by name

influx export \
  --org-id ed32b47572a0137b \
  -f ~/templates/template.yml \
  --bucket-names=bucket1,bucket2 \
  --dashboard-names=dashboard1,dashboard2 \
  --telegraf-config-names=telegrafconfig1,telegrafconfig2

Export a stack

To export an InfluxDB stack and all its associated resources as a template, use the influx export stack command. Provide the following:

  • Organization name or ID
  • API token with read access to the organization
  • Destination path and filename for the template manifest. The filename extension determines the output format:
    • your-template.yml: YAML format
    • your-template.json: JSON format
  • Stack ID

Export a stack as a template

# Syntax
influx export stack \
  -o <INFLUX_ORG> \
  -t <INFLUX_TOKEN> \
  -f <FILE_PATH> \
  <STACK_ID>

# Example
influx export stack \
  -o my-org \
  -t mYSuP3RS3CreTt0K3n
  -f ~/templates/awesome-template.yml \
  05dbb791a4324000

Include user-definable resource names

After exporting a template manifest, replace resource names with environment references to let users customize resource names when installing your template.

  1. Export a template.

  2. Select any of the following resource fields to update:

    • metadata.name
    • associations[].name
    • endpointName (unique to NotificationRule resources)
  3. Replace the resource field value with an envRef object with a key property that references the key of a key-value pair the user provides when installing the template. During installation, the envRef object is replaced by the value of the referenced key-value pair. If the user does not provide the environment reference key-value pair, InfluxDB uses the key string as the default value.

    apiVersion: influxdata.com/v2alpha1
    kind: Bucket
    metadata:
      name:
        envRef:
          key: bucket-name-1
    {
      "apiVersion": "influxdata.com/v2alpha1",
      "kind": "Bucket",
      "metadata": {
        "name": {
          "envRef": {
            "key": "bucket-name-1"
          }
        }
      }
    }

Using the example above, users are prompted to provide a value for bucket-name-1 when applying the template. Users can also include the --env-ref flag with the appropriate key-value pair when installing the template.

# Set bucket-name-1 to "myBucket"
influx apply \
  -f /path/to/template.yml \
  --env-ref=bucket-name-1=myBucket

If sharing your template, we recommend documenting what environment references exist in the template and what keys to use to replace them.

Resource fields that support environment references

Only the following fields support environment references:

  • metadata.name
  • spec.endpointName
  • spec.associations.name

Troubleshoot template results and permissions

If you get unexpected results, missing resources, or errors when exporting templates, check the following:

Ensure read access

The API token must have read access to resources that you want to export. The influx export all command only exports resources that the API token can read. For example, to export all resources in an organization that has ID abc123, the API token must have the read:/orgs/abc123 permission.

To learn more about permissions, see how to view authorizations and how to create a token with specific permissions.

Use Organization ID

If your token doesn’t have read access to the organization and you want to export specific resources, use the --org-id <org-id> flag (instead of -o <org-name> or --org <org-name>) to provide the organization.

Check for resource dependencies

If you want to export resources that depend on other resources, be sure to export the dependencies as well. Otherwise, the resources may not be usable.

Share your InfluxDB templates

Share your InfluxDB templates with the entire InfluxData community. Contribute your template to the InfluxDB Community Templates repository on GitHub.

View InfluxDB Community Templates


Was this page helpful?

Thank you for your feedback!


InfluxDB OSS 2.9.0: API tokens are hashed by default

Stronger token security in InfluxDB OSS 2.9.0 — tokens are hashed on disk by default. Existing tokens are hashed on first startup and can’t be recovered afterward. Capture any plaintext tokens you still need before you upgrade.

View InfluxDB OSS 2.9.0 release notes

Hashed tokens authenticate exactly like unhashed tokens — clients and integrations keep working.

Also new in 2.9.0:

  • Configurable backup compression
  • Restore support for backups containing hashed tokens
  • Tighter Edge Data Replication queue validation
  • Flux upgrade
  • Compaction reliability improvements

Key enhancements in Explorer 1.8

Explorer 1.8 is now available with streaming data subscriptions (beta), line protocol preview, and query history & saved queries.

View Explorer 1.8 release notes

Explorer 1.8 includes new features and improvements that make it easier to ingest, explore, and manage data.

Highlights:

  • Streaming data subscriptions (beta): Stream data into Explorer from MQTT, Kafka, and AMQP sources.
  • Line protocol preview: Preview line protocol, schema, and parse errors before data is written.
  • Custom sample data: Generate custom sample datasets with line protocol and schema preview.
  • Query history and saved queries: Browse query history and save/re-run named queries.
  • Retention period management: Set, update, or clear retention periods on databases and tables.

For more details, see Explorer 1.8 release notes

InfluxDB 3.9: Performance upgrade preview

InfluxDB 3 Enterprise 3.9 includes a beta of major performance upgrades with faster single-series queries, wide-and-sparse table support, and more.

InfluxDB 3 Enterprise 3.9 includes a beta of major performance and feature updates.

Key improvements:

  • Faster single-series queries
  • Consistent resource usage
  • Wide-and-sparse table support
  • Automatic distinct value caches for reduced latency with metadata queries

Preview features are subject to breaking changes.

For more information, see:

Telegraf Enterprise now in public beta

Get early access to the Telegraf Controller and provide feedback to help shape the future of Telegraf Enterprise.

See the Blog Post

The upcoming Telegraf Enterprise offering is for organizations running Telegraf at scale and is comprised of two key components:

  • Telegraf Controller: A control plane (UI + API) that centralizes Telegraf configuration management and agent health visibility.
  • Telegraf Enterprise Support: Official support for Telegraf Controller and Telegraf plugins.

Join the Telegraf Enterprise beta to get early access to the Telegraf Controller and provide feedback to help shape the future of Telegraf Enterprise.

For more information:

Telegraf Controller v0.0.7-beta now available

Telegraf Controller v0.0.7-beta is now available with new features, improvements, bug fixes, and an important breaking change.

View the release notes
Download Telegraf Controller v0.0.7-beta

InfluxDB Docker latest tag changing to InfluxDB 3 Core

On May 27, 2026, the latest tag for InfluxDB Docker images will point to InfluxDB 3 Core. To avoid unexpected upgrades, use specific version tags in your Docker deployments.

If using Docker to install and run InfluxDB, the latest tag will point to InfluxDB 3 Core. To avoid unexpected upgrades, use specific version tags in your Docker deployments. For example, if using Docker to run InfluxDB v2, replace the latest version tag with a specific version tag in your Docker pull command–for example:

docker pull influxdb:2