chore(controller): add eula and eula acceptance to telegraf controller (#6759)

* chore(controller): add eula and eula acceptance to telegraf controller docs

* Apply suggestions from code review

Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com>

---------

Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com>
pull/6797/head
Scott Anderson 2026-02-05 10:27:15 -07:00 committed by GitHub
parent f7bb8b8204
commit 9e845cecd2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 195 additions and 7 deletions

View File

@ -14,6 +14,7 @@ agents. It provides a user-friendly interface for managing Telegraf
configurations, monitoring agents, and organizing plugins.
- [System Requirements](#system-requirements)
- [Review the EULA](#review-the-eula)
- [Download and install {{% product-name %}}](#download-and-install-telegraf-controller)
- [Set up your database](#set-up-your-database)
- [Configure {{% product-name %}}](#configure-telegraf-controller)
@ -26,6 +27,50 @@ configurations, monitoring agents, and organizing plugins.
- **Database**: SQLite (default), PostgreSQL, or PostgreSQL-compatible
- **Ports**: 8888 (web interface), 8000 (heartbeat service)
## Review the EULA
Review the [InfluxData End User Software License Agreement (EULA)](/telegraf/controller/reference/eula/)
for {{% product-name %}} before downloading and installing.
{{% product-name %}} requires that you accept the EULA before the server can
start. When you first run {{% product-name %}} in interactive mode (default), it
prompts you to accept the EULA.
Once accepted on a host machine, the EULA does not need to be accepted again
unless the EULA is updated or the {{% product-name %}} local data directory is
removed.
### Accept in interactive mode
Run the executable in a terminal and follow the prompt.
```bash
telegraf_controller
```
Enter `v` to view the full text of the {{% product-name %}} EULA.
Enter `accept` to accept the EULA and proceed.
### Accept non-interactively
Use the `--eula-accept` command option or set the `TELEGRAF_CONTROLLER_EULA`
environment variable to `accept`.
This is required for non-interactive runs such as systemd, LaunchDaemons,
or CI—for example:
```bash
telegraf_controller --eula-accept --no-interactive
```
```bash
TELEGRAF_CONTROLLER_EULA=accept telegraf_controller --no-interactive
```
```powershell
$env:TELEGRAF_CONTROLLER_EULA="accept"
./telegraf_controller.exe --no-interactive
```
## Download and install {{% product-name %}}
1. **Download the {{% product-name %}} executable.**
@ -86,6 +131,10 @@ run it in place. You can also run {{% product-name %}} as a service.
#### Install the executable as a systemd service {note="Optional"}
> [!Note]
> If this is the first run on the host, accept the EULA in a TTY or set
> `TELEGRAF_CONTROLLER_EULA=accept` in the service environment.
1. Create a {{% product-name %}} service file:
```bash
@ -167,6 +216,10 @@ export PATH="/usr/local/bin:$PATH"
#### Install as a LaunchDaemon {note="Optional"}
> [!Note]
> If this is the first run on the host, accept the EULA in a TTY or set
> `TELEGRAF_CONTROLLER_EULA=accept` in the service environment.
1. Create a plist file:
```bash
@ -233,6 +286,10 @@ run:
Use NSSM (Non-Sucking Service Manager) to run {{% product-name %}} as a Windows
service.
> [!Note]
> If this is the first run on the host, accept the EULA in a TTY or set
> `TELEGRAF_CONTROLLER_EULA=accept` in the service environment.
1. [Download NSSM](https://nssm.cc/download)
2. In **Command Prompt or PowerShell**, install the {{% product-name %}} service:
@ -300,13 +357,15 @@ Use the following command line options to configure {{% product-name %}}.
### Configuration options
| Command Flag | Environment Variable | Description | Default |
| :--------------- | :------------------- | :--------------------------- | :------------------- |
| --port | PORT | Web interface and API port | `8888` |
| --heartbeat-port | HEARTBEAT_PORT | Agent heartbeat service port | `8000` |
| --database | DATABASE | Database connection string | Auto-detected SQLite |
| --ssl-cert | SSL_CERT | SSL certificate file path | None |
| --ssl-key | SSL_KEY | SSL private key file path | None |
| Command Flag | Environment Variable | Description | Default |
| :--------------- | :----------------------- | :---------------------------- | :------------------- |
| --port | PORT | Web interface and API port | `8888` |
| --heartbeat-port | HEARTBEAT_PORT | Agent heartbeat service port | `8000` |
| --database | DATABASE | Database connection string | Auto-detected SQLite |
| --ssl-cert | SSL_CERT | SSL certificate file path | None |
| --ssl-key | SSL_KEY | SSL private key file path | None |
| --no-interactive | | Skip prompts and use defaults | None |
| --eula-accept | TELEGRAF_CONTROLLER_EULA | Accept EULA non-interactively | None |
#### Examples
@ -342,6 +401,11 @@ telegraf_controller \
telegraf_controller \
--ssl-cert="/path/to/cert.pem" \
--ssl-key="/path/to/key.pem"
# Accept the EULA non-interactively
telegraf_controller \
--no-interactive \
--eula-accept
```
<!------------------- END LINUX/MACOS COMMAND FLAGS ------------------->
@ -365,6 +429,11 @@ telegraf_controller \
./telegraf_controller.exe `
--ssl-cert="C:\path\to\cert.pem" `
--ssl-key="C:\path\to\key.pem"
# Accept the EULA non-interactively
./telegraf_controller.exe `
--no-interactive `
--eula-accept
```
<!--------------------- END WINDOWS COMMAND FLAGS --------------------->
@ -399,6 +468,9 @@ DATABASE=/path/to/custom/database.db
SSL_CERT=/path/to/cert.pem
SSL_KEY=/path/to/key.pem
# Accept the EULA
TELEGRAF_CONTROLLER_EULA=accept
telegraf_controller
```
@ -422,6 +494,9 @@ $env:DATABASE=C:\path\to\custom\database.db
$env:SSL_CERT=C:\path\to\cert.pem
$env:SSL_KEY=C:\path\to\key.pem
# Accept the EULA
$env:TELEGRAF_CONTROLLER_EULA=accept
./telegraf_controller.exe
```

View File

@ -0,0 +1,111 @@
---
title: InfluxData End User Software License Agreement (EULA)
seotitle: InfluxData EULA for Telegraf Controller
list_title: Telegraf Controller EULA
description: >
Architectural overview of the {{% product-name %}} application.
menu:
telegraf_controller:
name: EULA
parent: Reference
weight: 110
metadata: ['Updated January 1, 2026']
---
**(Telegraf Controller)**
**IMPORTANT - READ BEFORE COPYING, INSTALLING OR USING.**
THIS AGREEMENT is a legal agreement between you and InfluxData Inc., a Delaware,
USA corporation (“InfluxData”).
Do not use, load or run software from this site or any associated materials
(collectively, the "**Software**") until you have carefully read the following
terms and conditions. By loading or using the Software, you agree to the terms
of this Agreement. If you do not wish to so agree, do not install or use the
Software.
LICENSE. Subject to the terms and conditions of this Agreement, InfluxData
hereby grants you the following non-exclusive, non-transferable, worldwide,
revocable, perpetual licenses, without right to sub-license, solely for your or
your employers internal purposes: (a) to reproduce a reasonable number of
copies of the Software; (b) to distribute such copies to and install them on
computing infrastructure owned by your or your employer or under your or their
control; (c) to run the Software on such infrastructure, and (d) to permit
employees and service providers of your employer to use the Software on such
infrastructure.
- You may not copy, modify, rent, sell, distribute or transfer all or any part
of the Software except as provided in this Agreement, and you agree to prevent
unauthorized copying of the Software.
- You may not reverse engineer, decompile, or disassemble the Software, except
to the extent permitted by applicable law or as expressly required by
InfluxDatas licensors.
- The Software may contain the software or other property of third party
suppliers, some of which may be identified in, and licensed in accordance
with, any enclosed “license.txt” file or other text or file referenced in the
Software documentation.
OWNERSHIP OF SOFTWARE AND COPYRIGHTS. Title to all copies of the Software
remains with InfluxData or its suppliers. The Software is copyrighted and
protected by the laws of the United States and other countries, and
international treaty provisions. You may not remove any copyright notices from
the Software. InfluxData may make changes to the Software, or to items
referenced therein, at any time without notice, but is not obligated to support
or update the Software. Except as otherwise expressly provided, InfluxData
grants no express or implied right under InfluxData patents, copyrights,
trademarks, or other InfluxData intellectual property rights. You may transfer
the Software only if the recipient agrees to be fully bound by these terms and
if you retain no copies of the Software.
**EXCLUSION OF OTHER WARRANTIES. THE SOFTWARE IS PROVIDED "AS IS" WITHOUT ANY
EXPRESS OR IMPLIED WARRANTY OF ANY KIND INCLUDING WARRANTIES OF MERCHANTABILITY,
NONINFRINGEMENT, OR FITNESS FOR A PARTICULAR PURPOSE. InfluxData does not
warrant or assume responsibility for the accuracy or completeness of any
information, text, graphics, links or other items contained within the
Software.**
**LIMITATION OF LIABILITY. IN NO EVENT WILL INFLUXDATA OR ITS SUPPLIERS BE
LIABLE FOR ANY DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, LOST PROFITS,
BUSINESS INTERRUPTION, OR LOST INFORMATION) ARISING OUT OF THE USE OF OR
INABILITY TO USE THE SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES. SOME JURISDICTIONS PROHIBIT EXCLUSION OR LIMITATION OF LIABILITY FOR
IMPLIED WARRANTIES OR CONSEQUENTIAL OR INCIDENTAL DAMAGES, SO THE ABOVE
LIMITATION MAY NOT APPLY TO YOU. YOU MAY ALSO HAVE OTHER LEGAL RIGHTS THAT VARY
FROM JURISDICTION TO JURISDICTION.**
TERMINATION OF THIS AGREEMENT. Without limiting InfluxDatas other remedies,
InfluxData may terminate this Agreement at any time if you violate its terms.
Upon any termination, you will immediately destroy the Software or return all
copies of the Software to InfluxData.
APPLICABLE LAWS. Claims arising under this Agreement will be governed by the
laws of Delaware, USA, excluding its principles of conflict of laws and the
United Nations Convention on Contracts for the Sale of Goods. You agree to
jurisdiction and venue in the courts of the State of Delaware for all disputes
and litigation arising under or relating to this Agreement. You may not export
the Software in violation of applicable export laws and regulations. InfluxData
is not obligated under any other agreements unless they are in writing and
signed by an authorized representative of InfluxData.
U.S. GOVERNMENT CONTRACT PROVISIONS. No Government procurement regulation or
contract clauses or provision will be considered a part of any transaction
between the parties under this Agreement unless its inclusion is required by
statute, or mutually agreed upon in writing by the parties in connection with a
specific transaction. The technical data and computer software covered by this
license is a “Commercial Item,” as that term is defined by the FAR 2.101
(48 C.F.R. 2.101) and is “commercial computer software” and “commercial computer
software documentation” as specified under FAR 12.212 (48 C.F.R. 12.212) or
DFARS 227.7202 (48 C.F.R. 227.7202), as applicable. This commercial computer
software and related documentation is provided to end users for use by and on
behalf of the U.S. Government, with only those rights as are granted to all
other end users under the terms and conditions in this Agreement. Use for or on
behalf of the U.S. Government is permitted only if the party acquiring or using
this Software is properly authorized by an appropriate U.S. Government
official. This use by or for the U.S. Government clause is in lieu of, and
supersedes, any other FAR, DFARS, or other provision that addresses Government
rights in the computer Software or documentation covered by this license. All
copyright licenses granted to the U.S. Government are coextensive with the
technical data and computer Software licenses granted in this Agreement. The
U.S. Government will only have the right to reproduce, distribute, perform,
display, and prepare derivative works as needed to implement those rights.

View File

@ -38,6 +38,8 @@
{{ $scratch.Set "siteTitle" (print (index .Site.Data.products $product).name " Documentation") }}
{{ else if and (eq $product "enterprise_influxdb") (in $currentVersion "v1")}}
{{ $scratch.Set "siteTitle" "InfluxDB Enterprise v1 Documentation" }}
{{ else if and (eq $product "telegraf") (eq $currentVersion "controller")}}
{{ $scratch.Set "siteTitle" "Telegraf Controller Documentation" }}
{{ else }}
{{ with (index .Site.Data.products $product).altname }}
{{ $scratch.Set "siteTitle" (print . " Documentation") }}