feat: telegraf-ui scaffolding

telegraf-ui
Scott Anderson 2025-12-12 16:08:58 -07:00
parent fb2f1867de
commit 42203a3336
12 changed files with 145 additions and 19 deletions

View File

@ -52,7 +52,7 @@ InfluxDB 3 Explorer:
- Documentation: https://docs.influxdata.com/influxdb3/explorer/
Telegraf:
- Documentation: https://docs.influxdata.com/telegraf/v1.36/
- Documentation: https://docs.influxdata.com/telegraf/v1.37/
Chronograf:
- Documentation: https://docs.influxdata.com/chronograf/v1.10/

View File

@ -15,6 +15,15 @@
p {margin-bottom: 1rem;}
.btn {
border-radius: $radius * 2;
@include gradient($grad-burningDusk);
&:after {
background: linear-gradient(45deg, #a8085a, #7b14d6);
}
}
.expand-wrapper {
border: none;
margin: .5rem 0 1.5rem;

View File

@ -0,0 +1,13 @@
---
title: Telegraf Controller documentation
description: >
Documentation for Telegraf Controller, the application for managing Telegraf
deployments at scale. Create and manage Telegraf configurations, monitor
the health of your agents, and more.
menu:
telegraf_controller:
name: Telegraf Controller
weight: 1
---
<!-- TODO - Add intro content for Telegraf Controller -->

View File

@ -0,0 +1,13 @@
---
title: Manage Telegraf agents
seotitle: Manage Telegraf agents with Telegraf Controller
description: >
Use Telegraf Controller to create, monitor, and delete Telegraf agents from
Telegraf Controller.
menu:
telegraf_controller:
name: Manage agents
weight: 4
cascade:
draft: true
---

View File

@ -0,0 +1,12 @@
---
title: Manage Telegraf configurations
seotitle: Manage Telegraf configurations with Telegraf Controller
description: >
Use Telegraf Controller to create, update, and delete Telegraf configurations.
menu:
telegraf_controller:
name: Manage configurations
weight: 3
cascade:
draft: true
---

View File

@ -0,0 +1,17 @@
---
title: Install Telegraf Controller
description: >
Download and install Telegraf Controller on Linux, macOS, and Windows operating systems.
menu:
telegraf_controller:
name: Install Telegraf Controller
weight: 2
draft: true
---
<!-- TODO Write installation instructions
1. Requirements
2. Download - Need to accept terms of use before downloading
3. Set up your database
4. Start Telegraf Controller
-->

View File

@ -0,0 +1,12 @@
---
title: Manage Telegraf Controller labels
description: >
Use labels to customize and organize Telegraf configurations
and agents in Telegraf Controller.
menu:
telegraf_controller:
name: Manage labels
weight: 5
cascade:
draft: true
---

View File

@ -0,0 +1,22 @@
---
title: Telegraf Enterprise
description: >
Telegraf Enterprise is a premium, enterprise-grade offering that combines the
Telegraf Controller, a web application for management Telegraf deployments,
with an Enterprise Support Contract for Telegraf. It is designed for
organizations running Telegraf at scale who require centralized configuration
management, operational visibility, governance, and expert support from
InfluxData.
menu:
telegraf_controller:
name: Telegraf Enterprise
weight: 10
draft: true
---
<!-- TODO Add information about Telegraf Enterprise
- Telegraf Enterprise includes both Telegraf Controller and Telegraf Support
- CTA for more information about Telegraf Enterprise.
This will likely be shared content and have a counter part in the main Telegraf docs
-->

View File

@ -252,6 +252,19 @@ telegraf:
- How do I use Telegraf for MQTT?
ai_input_placeholder: "Ask questions about Telegraf and InfluxDB"
telegraf_controller:
name: Telegraf Controller
namespace: telegraf
menu_category: other
versions: [v1]
latest: 0.0
latest_patch: 0.0.0
# ai_sample_questions:
# - How do I configure Telegraf for InfluxDB 3?
# - How do I write a custom Telegraf plugin?
# - How do I use Telegraf for MQTT?
# ai_input_placeholder: "Ask questions about Telegraf and InfluxDB"
chronograf:
name: Chronograf
namespace: chronograf

View File

@ -2,26 +2,34 @@
{{ $productPathData := split .RelPermalink "/" }}
{{ $product := index $productPathData 1 }}
{{ $version := index $productPathData 2 }}
{{ $productKey := cond (eq $product "influxdb3") (print "influxdb3_" (replaceRE "-" "_" $version)) $product }}
{{ $isInfluxDB3 := eq $product "influxdb3" }}
{{ $isTelegrafController := and (eq $product "telegraf") (eq $version "controller") }}
{{ .Store.Set "productKey" $product }}
{{ if $isInfluxDB3 }}
{{ .Store.Set "productKey" (print "influxdb3_" (replaceRE "-" "_" $version)) }}
{{ else if $isTelegrafController }}
{{ .Store.Set "productKey" "telegraf_controller" }}
{{ end }}
{{ $productKey := .Store.Get "productKey" }}
{{ $productData := index $.Site.Data.products $productKey }}
{{ $displayName := $productData.name }}
{{ $earlyAccessList := slice "" }}
{{ $productPathWhitelist := slice "telegraf/controller" }}
{{ if in $earlyAccessList (print $product "/" $version )}}
{{ if in $productPathWhitelist (print $product "/" $version )}}
<div class="block special-state">
<div class="state-content">
<h4 id="influxdb3-explorer-ga">{{ $displayName }} is Generally Available</h4>
<h4 id="telegraf-controller-private-alpha">{{ $displayName }} is in Private Alpha</h4>
<p>
{{ $displayName }} is generally available and is ready for production use.
We welcome and encourage your input about your experience with Explorer and
invite you to <strong>join our public channels</strong> for updates and to
share feedback.
{{ $displayName }} is in private alpha. If you are interested in being a
part of the private alpha program, please sign up:
</p>
<p>
<em>The {{ $displayName}} documentation is a work in progress, and we are actively
<p><a href="https://www.influxdata.com/products/telegraf-enterprise" class="btn">Sign Up for the Alpha</a></p>
<p>
While in alpha, {{ $displayName }} is <strong>not meant for production use</strong>.
The {{ $displayName}} documentation is a work in progress, and we are actively
working to improve it. If you have any questions or suggestions, please
<a href="https://github.com/influxdata/docs-v2/issues/new?labels=InfluxDB%203%20Explorer">submit an issue</a>.
We welcome any and all contributions.</em>
<a href="https://github.com/influxdata/docs-v2/issues/new?labels=Telegraf%20Controller">submit an issue</a>.
We welcome any and all contributions.
</p>
<div class="expand-wrapper">
<div class="expand" id="feedback-channels">
@ -30,9 +38,9 @@
</p>
<div class="expand-content" style="display: none;" >
<ul class="feedback-channels">
<li><a href="https://discord.gg/9zaNCW2PRT" target="_blank" class="discord">InfluxDB Discord Server <em style="opacity:.5">(Preferred)</em></a></li>
<!-- <li><a href="https://discord.gg/9zaNCW2PRT" target="_blank" class="discord">InfluxDB Discord Server <em style="opacity:.5">(Preferred)</em></a></li> -->
<li><a href="https://influxdata.com/slack" target="_blank" class="slack">InfluxDB Community Slack <em style="opacity:.5">(Preferred)</em></a></li>
<li><a href="https://community.influxdata.com" target="_blank" class="community">InfluxData Community</a></li>
<li><a href="https://influxdata.com/slack" target="_blank" class="slack">InfluxDB Community Slack</a></li>
<li><a href="https://reddit.com/r/influxdb" target="_blank" class="reddit">InfluxDB Subreddit</a></li>
</ul>
</div>

View File

@ -92,8 +92,8 @@
{{ end }}
<!-- Platform menu for 1.x docs -->
{{ $platformWhitelist := `telegraf|chronograf|kapacitor|enterprise_influxdb|influxdb_1` }}
{{ if gt (len (findRE $platformWhitelist $menuKey)) 0 }}
{{ $platformWhitelist := (slice "telegraf_v1" "chronograf_v1" "kapacitor_v1" "enterprise_influxdb_v1" "influxdb_v1") }}
{{ if (in $platformWhitelist $menuKey) }}
<h4 class="platform">InfluxData Platform</h4>
{{ partial "sidebar/nested-menu" (dict "page" $currentPage "menu" $platformMenu) . }}
{{ end }}

View File

@ -23,12 +23,13 @@ Identify products by their product path. Dictionary schema:
{{ $influxdb3CloudDedicated := dict "influxdb3/cloud-dedicated" (slice $.Site.Data.products.influxdb3_cloud_dedicated.name "cloud-dedicated") }}
{{ $influxdb3Clustered := dict "influxdb3/clustered" (slice $.Site.Data.products.influxdb3_clustered.name "clustered") }}
{{ $telegraf := dict "telegraf/v1" (slice "Telegraf" "telegraf") }}
{{ $telegrafController := dict "telegraf/controller" (slice "Telegraf Controller" "telegraf_controller") }}
{{ $chronograf := dict "chronograf/v1" (slice "Chronograf" "chronograf") }}
{{ $kapacitor := dict "kapacitor/v1" (slice "Kapacitor" "kapacitor") }}
{{ $flux := dict "flux/v0" (slice "Flux" "flux") }}
{{ $enterpriseInfluxdb := dict "enterprise_influxdb/v1" (slice "InfluxDB Enterprise" "enterprise_v1") }}
{{ $productInfo := merge $influxdbOSSv1 $influxdbOSSv2 $influxdbCloud $influxdb3Core $influxdb3Enterprise $influxdb3CloudServerless $influxdb3CloudDedicated $influxdb3Clustered $telegraf $chronograf $kapacitor $influxdb3Explorer $flux $enterpriseInfluxdb }}
{{ $productInfo := merge $influxdbOSSv1 $influxdbOSSv2 $influxdbCloud $influxdb3Core $influxdb3Enterprise $influxdb3CloudServerless $influxdb3CloudDedicated $influxdb3Clustered $telegraf $telegrafController $chronograf $kapacitor $influxdb3Explorer $flux $enterpriseInfluxdb }}
{{ define "productLink" }}
{{ $defaultAltProductPage := $.context.GetPage ((replaceRE .pageRoot .productPath $.context.Page.RelPermalink) | replaceRE `\/$` "") }}
@ -79,9 +80,15 @@ Identify products by their product path. Dictionary schema:
</ul>
</div>
<div class="product-group">
<div class="group-title"><p>Other products</p></div>
<div class="group-title"><p>Telegraf</p></div>
<ul class="item-list products">
<li>{{ template "productLink" (merge (dict "productPath" "telegraf/v1") $templateDefaults) }}</li>
<li>{{ template "productLink" (merge (dict "productPath" "telegraf/controller" "state" "alpha") $templateDefaults) }}</li>
</ul>
</div>
<div class="product-group">
<div class="group-title"><p>Other products</p></div>
<ul class="item-list products">
<li>{{ template "productLink" (merge (dict "productPath" "chronograf/v1") $templateDefaults) }}</li>
<li>{{ template "productLink" (merge (dict "productPath" "kapacitor/v1") $templateDefaults) }}</li>
</ul>