From c54de8539b2417b7a2c6f4aab2457a34e3b19aa4 Mon Sep 17 00:00:00 2001 From: Colleen McGinnis Date: Tue, 13 May 2025 14:12:38 -0700 Subject: [PATCH 1/5] update product list, alphabetize --- .../Builder/Products.cs | 41 +++++++++++-------- 1 file changed, 23 insertions(+), 18 deletions(-) diff --git a/src/Elastic.Documentation.Configuration/Builder/Products.cs b/src/Elastic.Documentation.Configuration/Builder/Products.cs index 25457f66..5a4f9a40 100644 --- a/src/Elastic.Documentation.Configuration/Builder/Products.cs +++ b/src/Elastic.Documentation.Configuration/Builder/Products.cs @@ -11,11 +11,10 @@ public record Product(string Id, string DisplayName); public static class Products { public static FrozenSet All { get; } = [ - new("apm", "APM"), - new("apm-dotnet-agent", "APM .NET Agent"), new("apm-android-agent", "APM Android Agent"), new("apm-attacher", "APM Attacher"), new("apm-aws-lambda-extension", "APM AWS Lambda extension"), + new("apm-dotnet-agent", "APM .NET Agent"), new("apm-go-agent", "APM Go Agent"), new("apm-ios-agent", "APM iOS Agent"), new("apm-java-agent", "APM Java Agent"), @@ -24,15 +23,16 @@ public static class Products new("apm-python-agent", "APM Python Agent"), new("apm-ruby-agent", "APM Ruby Agent"), new("apm-rum-agent", "APM RUM Agent"), + new("apm", "APM"), + new("auditbeat","Auditbeat"), new("beats-logging-plugin", "Beats Logging plugin"), + new("beats","Beats"), new("cloud-control-ecctl", "Cloud Control ECCTL"), new("cloud-enterprise", "Cloud Enterprise"), new("cloud-hosted", "Cloud Hosted"), new("cloud-kubernetes", "Cloud Kubernetes"), - new("cloud-native-ingest", "Cloud Native Ingest"), new("cloud-serverless", "Cloud Serverless"), new("cloud-terraform", "Cloud Terraform"), - new("ecs-logging", "ECS Logging"), new("ecs-logging-dotnet", "ECS Logging .NET"), new("ecs-logging-go-logrus", "ECS Logging Go Logrus"), new("ecs-logging-go-zap", "ECS Logging Go Zap"), @@ -42,16 +42,24 @@ public static class Products new("ecs-logging-php", "ECS Logging PHP"), new("ecs-logging-python", "ECS Logging Python"), new("ecs-logging-ruby", "ECS Logging Ruby"), - new("elastic-agent", "Elastic Agent"), + new("ecs-logging", "ECS Logging"), new("ecs", "Elastic Common Schema (ECS)"), + new("edot-android", "Elastic Distribution of OpenTelemetry Android"), + new("edot-collector", "Elastic Distribution of OpenTelemetry Collector"), + new("edot-dotnet", "Elastic Distribution of OpenTelemetry .NET"), + new("edot-ios", "Elastic Distribution of OpenTelemetry iOS"), + new("edot-java", "Elastic Distribution of OpenTelemetry Java"), + new("edot-nodejs", "Elastic Distribution of OpenTelemetry Node.js"), + new("edot-php", "Elastic Distribution of OpenTelemetry PHP"), + new("edot-python", "Elastic Distribution of OpenTelemetry Python"), + new("elastic-agent", "Elastic Agent"), new("elastic-products-platform", "Elastic Products platform"), new("elastic-stack", "Elastic Stack"), - new("elasticsearch", "Elasticsearch"), - new("elasticsearch-dotnet-client", "Elasticsearch .NET Client"), + new("elastic-stack","Elastic Stack"), new("elasticsearch-apache-hadoop", "Elasticsearch Apache Hadoop"), - new("elasticsearch-cloud-hosted-heroku", "Elasticsearch Cloud Hosted Heroku"), new("elasticsearch-community-clients", "Elasticsearch community clients"), new("elasticsearch-curator", "Elasticsearch Curator"), + new("elasticsearch-dotnet-client", "Elasticsearch .NET Client"), new("elasticsearch-eland-python-client", "Elasticsearch Eland Python Client"), new("elasticsearch-go-client", "Elasticsearch Go Client"), new("elasticsearch-groovy-client", "Elasticsearch Groovy Client"), @@ -65,24 +73,21 @@ public static class Products new("elasticsearch-resiliency-status", "Elasticsearch Resiliency Status"), new("elasticsearch-ruby-client", "Elasticsearch Ruby Client"), new("elasticsearch-rust-client", "Elasticsearch Rust Client"), + new("elasticsearch", "Elasticsearch"), + new("filebeat","Filebeat"), new("fleet", "Fleet"), - new("ingest", "Ingest"), + new("heartbeat","Heartbeat"), new("integrations", "Integrations"), + new("integrations","Integrations"), new("kibana", "Kibana"), new("logstash", "Logstash"), new("machine-learning", "Machine Learning"), + new("metricbeat","Metricbeat"), new("observability", "Observability"), - new("reference-architectures", "Reference Architectures"), + new("packetbeat","Packetbeat"), new("search-ui", "Search UI"), new("security", "Security"), - new("edot-collector", "Elastic Distribution of OpenTelemetry Collector"), - new("edot-java", "Elastic Distribution of OpenTelemetry Java"), - new("edot-dotnet", "Elastic Distribution of OpenTelemetry .NET"), - new("edot-nodejs", "Elastic Distribution of OpenTelemetry Node.js"), - new("edot-php", "Elastic Distribution of OpenTelemetry PHP"), - new("edot-python", "Elastic Distribution of OpenTelemetry Python"), - new("edot-android", "Elastic Distribution of OpenTelemetry Android"), - new("edot-ios", "Elastic Distribution of OpenTelemetry iOS") + new("winlogbeat","Winlogbeat") ]; public static FrozenDictionary AllById { get; } = All.ToDictionary(p => p.Id, StringComparer.Ordinal).ToFrozenDictionary(); From cd2374641204ff73881bb11f0c5054540443a70d Mon Sep 17 00:00:00 2001 From: Colleen McGinnis Date: Wed, 14 May 2025 09:35:28 -0700 Subject: [PATCH 2/5] simplify product list --- .../Builder/Products.cs | 81 +++++-------------- 1 file changed, 20 insertions(+), 61 deletions(-) diff --git a/src/Elastic.Documentation.Configuration/Builder/Products.cs b/src/Elastic.Documentation.Configuration/Builder/Products.cs index 5a4f9a40..c316d8bb 100644 --- a/src/Elastic.Documentation.Configuration/Builder/Products.cs +++ b/src/Elastic.Documentation.Configuration/Builder/Products.cs @@ -11,83 +11,42 @@ public record Product(string Id, string DisplayName); public static class Products { public static FrozenSet All { get; } = [ - new("apm-android-agent", "APM Android Agent"), - new("apm-attacher", "APM Attacher"), - new("apm-aws-lambda-extension", "APM AWS Lambda extension"), - new("apm-dotnet-agent", "APM .NET Agent"), - new("apm-go-agent", "APM Go Agent"), - new("apm-ios-agent", "APM iOS Agent"), - new("apm-java-agent", "APM Java Agent"), - new("apm-node-agent", "APM Node.js Agent"), - new("apm-php-agent", "APM PHP Agent"), - new("apm-python-agent", "APM Python Agent"), - new("apm-ruby-agent", "APM Ruby Agent"), - new("apm-rum-agent", "APM RUM Agent"), + new("apm-agent", "APM Agent"), new("apm", "APM"), - new("auditbeat","Auditbeat"), - new("beats-logging-plugin", "Beats Logging plugin"), - new("beats","Beats"), - new("cloud-control-ecctl", "Cloud Control ECCTL"), - new("cloud-enterprise", "Cloud Enterprise"), - new("cloud-hosted", "Cloud Hosted"), - new("cloud-kubernetes", "Cloud Kubernetes"), - new("cloud-serverless", "Cloud Serverless"), - new("cloud-terraform", "Cloud Terraform"), - new("ecs-logging-dotnet", "ECS Logging .NET"), - new("ecs-logging-go-logrus", "ECS Logging Go Logrus"), - new("ecs-logging-go-zap", "ECS Logging Go Zap"), - new("ecs-logging-go-zerolog", "ECS Logging Go Zerolog"), - new("ecs-logging-java", "ECS Logging Java"), - new("ecs-logging-node", "ECS Logging Node.js"), - new("ecs-logging-php", "ECS Logging PHP"), - new("ecs-logging-python", "ECS Logging Python"), - new("ecs-logging-ruby", "ECS Logging Ruby"), + new("auditbeat", "Auditbeat"), + new("beats", "Beats"), + new("cloud-control-ecctl", "Elastic Cloud Control ECCTL"), + new("cloud-enterprise", "Elastic Cloud Enterprise"), + new("cloud-hosted", "Elastic Cloud Hosted"), + new("cloud-kubernetes", "Elastic Cloud Kubernetes"), + new("cloud-serverless", "Elastic Cloud Serverless"), + new("cloud-terraform", "Elastic Cloud Terraform"), new("ecs-logging", "ECS Logging"), new("ecs", "Elastic Common Schema (ECS)"), - new("edot-android", "Elastic Distribution of OpenTelemetry Android"), + new("edot-sdk", "Elastic Distribution of OpenTelemetry SDK"), new("edot-collector", "Elastic Distribution of OpenTelemetry Collector"), - new("edot-dotnet", "Elastic Distribution of OpenTelemetry .NET"), - new("edot-ios", "Elastic Distribution of OpenTelemetry iOS"), - new("edot-java", "Elastic Distribution of OpenTelemetry Java"), - new("edot-nodejs", "Elastic Distribution of OpenTelemetry Node.js"), - new("edot-php", "Elastic Distribution of OpenTelemetry PHP"), - new("edot-python", "Elastic Distribution of OpenTelemetry Python"), new("elastic-agent", "Elastic Agent"), new("elastic-products-platform", "Elastic Products platform"), + new("elastic-serverless-forwarder", "Elastic Serverless Forwarder"), new("elastic-stack", "Elastic Stack"), - new("elastic-stack","Elastic Stack"), - new("elasticsearch-apache-hadoop", "Elasticsearch Apache Hadoop"), new("elasticsearch-community-clients", "Elasticsearch community clients"), new("elasticsearch-curator", "Elasticsearch Curator"), - new("elasticsearch-dotnet-client", "Elasticsearch .NET Client"), - new("elasticsearch-eland-python-client", "Elasticsearch Eland Python Client"), - new("elasticsearch-go-client", "Elasticsearch Go Client"), - new("elasticsearch-groovy-client", "Elasticsearch Groovy Client"), - new("elasticsearch-java-client", "Elasticsearch Java Client"), - new("elasticsearch-java-script-client", "Elasticsearch JavaScript Client"), - new("elasticsearch-painless-scripting-language", "Elasticsearch Painless scripting language"), - new("elasticsearch-perl-client", "Elasticsearch Perl Client"), - new("elasticsearch-php-client", "Elasticsearch PHP Client"), - new("elasticsearch-plugins", "Elasticsearch plugins"), - new("elasticsearch-python-client", "Elasticsearch Python Client"), - new("elasticsearch-resiliency-status", "Elasticsearch Resiliency Status"), - new("elasticsearch-ruby-client", "Elasticsearch Ruby Client"), - new("elasticsearch-rust-client", "Elasticsearch Rust Client"), + new("elasticsearch-client", "Elasticsearch Client"), + new("painless", "Elasticsearch Painless scripting language"), new("elasticsearch", "Elasticsearch"), - new("filebeat","Filebeat"), + new("filebeat", "Filebeat"), new("fleet", "Fleet"), - new("heartbeat","Heartbeat"), + new("heartbeat", "Heartbeat"), new("integrations", "Integrations"), - new("integrations","Integrations"), new("kibana", "Kibana"), new("logstash", "Logstash"), new("machine-learning", "Machine Learning"), - new("metricbeat","Metricbeat"), - new("observability", "Observability"), - new("packetbeat","Packetbeat"), + new("metricbeat", "Metricbeat"), + new("observability", "Elastic Observability"), + new("packetbeat", "Packetbeat"), new("search-ui", "Search UI"), - new("security", "Security"), - new("winlogbeat","Winlogbeat") + new("security", "Elastic Security"), + new("winlogbeat", "Winlogbeat"), ]; public static FrozenDictionary AllById { get; } = All.ToDictionary(p => p.Id, StringComparer.Ordinal).ToFrozenDictionary(); From fb2d3d552525ed1d4d0e6fc0d01b9da487a3c27f Mon Sep 17 00:00:00 2001 From: Colleen McGinnis Date: Wed, 14 May 2025 10:02:08 -0700 Subject: [PATCH 3/5] attempt to fix test --- .../FrontMatter/YamlFrontMatterTests.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/Elastic.Markdown.Tests/FrontMatter/YamlFrontMatterTests.cs b/tests/Elastic.Markdown.Tests/FrontMatter/YamlFrontMatterTests.cs index 3d3d8e3c..ca7682dc 100644 --- a/tests/Elastic.Markdown.Tests/FrontMatter/YamlFrontMatterTests.cs +++ b/tests/Elastic.Markdown.Tests/FrontMatter/YamlFrontMatterTests.cs @@ -132,7 +132,7 @@ public class ProductsSuggestionWhenMispelled2(ITestOutputHelper output) : Direct """ --- products: - - id: apm-javaagent + - id: apmagent --- # APM @@ -143,7 +143,7 @@ public class ProductsSuggestionWhenMispelled2(ITestOutputHelper output) : Direct public void HasErrors() { Collector.Diagnostics.Should().HaveCount(1); - Collector.Diagnostics.Should().Contain(d => d.Message.Contains("Invalid products frontmatter value: \"apm-javaagent\". Did you mean \"apm-java-agent\"?")); + Collector.Diagnostics.Should().Contain(d => d.Message.Contains("Invalid products frontmatter value: \"apmagent\". Did you mean \"apm-agent\"?")); } } From 59ccb0d36f82d75761f8aeeac5f8d222af95d086 Mon Sep 17 00:00:00 2001 From: Colleen McGinnis Date: Wed, 14 May 2025 10:04:28 -0700 Subject: [PATCH 4/5] clean up list and docs --- docs/syntax/frontmatter.md | 83 +++++-------------- .../Builder/Products.cs | 12 ++- 2 files changed, 28 insertions(+), 67 deletions(-) diff --git a/docs/syntax/frontmatter.md b/docs/syntax/frontmatter.md index 5a176807..89773633 100644 --- a/docs/syntax/frontmatter.md +++ b/docs/syntax/frontmatter.md @@ -13,8 +13,8 @@ description: This is a description of the page <2> applies_to: <3> serverless: all products: <4> - - id: apm-java-agent - - id: edot-java + - id: apm-agent + - id: edot-sdk --- ``` @@ -50,73 +50,36 @@ The products frontmatter is a list of objects, each object has an `id` field. | Product ID | Product Name | |---------------------------------------------|-----------------------------------------------| | `apm` | APM | -| `apm-android-agent` | APM Android Agent | -| `apm-attacher` | APM Attacher | -| `apm-aws-lambda-extension` | APM AWS Lambda extension | -| `apm-dotnet-agent` | APM .NET Agent | -| `apm-go-agent` | APM Go Agent | -| `apm-ios-agent` | APM iOS Agent | -| `apm-java-agent` | APM Java Agent | -| `apm-node-agent` | APM Node.js Agent | -| `apm-php-agent` | APM PHP Agent | -| `apm-python-agent` | APM Python Agent | -| `apm-ruby-agent` | APM Ruby Agent | -| `apm-rum-agent` | APM RUM Agent | -| `beats-logging-plugin` | Beats Logging plugin | -| `cloud-control-ecctl` | Cloud Control ECCTL | -| `cloud-enterprise` | Cloud Enterprise | -| `cloud-hosted` | Cloud Hosted | -| `cloud-kubernetes` | Cloud Kubernetes | -| `cloud-native-ingest` | Cloud Native Ingest | -| `cloud-serverless` | Cloud Serverless | -| `cloud-terraform` | Cloud Terraform | +| `apm-agent` | APM Agent | +| `auditbeat` | Auditbeat | +| `beats` | Beats | +| `cloud-control-ecctl` | Elastic Cloud Control ECCTL | +| `cloud-enterprise` | Elastic Cloud Enterprise | +| `cloud-hosted` | Elastic Cloud Hosted | +| `cloud-kubernetes` | Elastic Cloud Kubernetes | +| `cloud-serverless` | Elastic Cloud Serverless | +| `cloud-terraform` | Elastic Cloud Terraform | | `ecs` | Elastic Common Schema (ECS) | -| `ecs-logging-dotnet` | ECS Logging .NET | -| `ecs-logging-go-logrus` | ECS Logging Go Logrus | -| `ecs-logging-go-zap` | ECS Logging Go Zap | -| `ecs-logging-go-zerolog` | ECS Logging Go Zerolog | -| `ecs-logging-java` | ECS Logging Java | -| `ecs-logging-node` | ECS Logging Node.js | -| `ecs-logging-php` | ECS Logging PHP | -| `ecs-logging-python` | ECS Logging Python | -| `ecs-logging-ruby` | ECS Logging Ruby | -| `edot-android` | Elastic Distribution of OpenTelemetry Android | +| `ecs-logging` | ECS Logging | +| `edot-sdk` | Elastic Distribution of OpenTelemetry SDK | | `edot-collector` | Elastic Distribution of OpenTelemetry Collector | -| `edot-dotnet` | Elastic Distribution of OpenTelemetry .NET | -| `edot-ios` | Elastic Distribution of OpenTelemetry iOS | -| `edot-java` | Elastic Distribution of OpenTelemetry Java | -| `edot-nodejs` | Elastic Distribution of OpenTelemetry Node.js | -| `edot-php` | Elastic Distribution of OpenTelemetry PHP | -| `edot-python` | Elastic Distribution of OpenTelemetry Python | | `elastic-agent` | Elastic Agent | -| `elastic-products-platform` | Elastic Products platform | +| `elastic-serverless-forwarder` | Elastic Serverless Forwarder | | `elastic-stack` | Elastic Stack | | `elasticsearch` | Elasticsearch | -| `elasticsearch-apache-hadoop` | Elasticsearch Apache Hadoop | -| `elasticsearch-cloud-hosted-heroku` | Elasticsearch Cloud Hosted Heroku | -| `elasticsearch-community-clients` | Elasticsearch community clients | +| `elasticsearch-client` | Elasticsearch Client | | `elasticsearch-curator` | Elasticsearch Curator | -| `elasticsearch-dotnet-client` | Elasticsearch .NET Client | -| `elasticsearch-eland-python-client` | Elasticsearch Eland Python Client | -| `elasticsearch-go-client` | Elasticsearch Go Client | -| `elasticsearch-groovy-client` | Elasticsearch Groovy Client | -| `elasticsearch-java-client` | Elasticsearch Java Client | -| `elasticsearch-java-script-client` | Elasticsearch JavaScript Client | -| `elasticsearch-painless-scripting-language` | Elasticsearch Painless scripting language | -| `elasticsearch-perl-client` | Elasticsearch Perl Client | -| `elasticsearch-php-client` | Elasticsearch PHP Client | -| `elasticsearch-plugins` | Elasticsearch plugins | -| `elasticsearch-python-client` | Elasticsearch Python Client | -| `elasticsearch-resiliency-status` | Elasticsearch Resiliency Status | -| `elasticsearch-ruby-client` | Elasticsearch Ruby Client | -| `elasticsearch-rust-client` | Elasticsearch Rust Client | +| `filebeat` | Filebeat | | `fleet` | Fleet | -| `ingest` | Ingest | +| `heartbeat` | Heartbeat | | `integrations` | Integrations | | `kibana` | Kibana | | `logstash` | Logstash | | `machine-learning` | Machine Learning | -| `observability` | Observability | -| `reference-architectures` | Reference Architectures | +| `metricbeat` | Metricbeat | +| `observability` | Elastic Observability | +| `packetbeat` | Packetbeat | +| `painless` | Painless | | `search-ui` | Search UI | -| `security` | Security | +| `security` | Elastic Security | +| `winlogbeat` | Winlogbeat | diff --git a/src/Elastic.Documentation.Configuration/Builder/Products.cs b/src/Elastic.Documentation.Configuration/Builder/Products.cs index c316d8bb..5f5255b6 100644 --- a/src/Elastic.Documentation.Configuration/Builder/Products.cs +++ b/src/Elastic.Documentation.Configuration/Builder/Products.cs @@ -11,8 +11,8 @@ public record Product(string Id, string DisplayName); public static class Products { public static FrozenSet All { get; } = [ - new("apm-agent", "APM Agent"), new("apm", "APM"), + new("apm-agent", "APM Agent"), new("auditbeat", "Auditbeat"), new("beats", "Beats"), new("cloud-control-ecctl", "Elastic Cloud Control ECCTL"), @@ -21,19 +21,16 @@ public static class Products new("cloud-kubernetes", "Elastic Cloud Kubernetes"), new("cloud-serverless", "Elastic Cloud Serverless"), new("cloud-terraform", "Elastic Cloud Terraform"), - new("ecs-logging", "ECS Logging"), new("ecs", "Elastic Common Schema (ECS)"), + new("ecs-logging", "ECS Logging"), new("edot-sdk", "Elastic Distribution of OpenTelemetry SDK"), new("edot-collector", "Elastic Distribution of OpenTelemetry Collector"), new("elastic-agent", "Elastic Agent"), - new("elastic-products-platform", "Elastic Products platform"), new("elastic-serverless-forwarder", "Elastic Serverless Forwarder"), new("elastic-stack", "Elastic Stack"), - new("elasticsearch-community-clients", "Elasticsearch community clients"), - new("elasticsearch-curator", "Elasticsearch Curator"), - new("elasticsearch-client", "Elasticsearch Client"), - new("painless", "Elasticsearch Painless scripting language"), new("elasticsearch", "Elasticsearch"), + new("elasticsearch-client", "Elasticsearch Client"), + new("elasticsearch-curator", "Elasticsearch Curator"), new("filebeat", "Filebeat"), new("fleet", "Fleet"), new("heartbeat", "Heartbeat"), @@ -44,6 +41,7 @@ public static class Products new("metricbeat", "Metricbeat"), new("observability", "Elastic Observability"), new("packetbeat", "Packetbeat"), + new("painless", "Elasticsearch Painless scripting language"), new("search-ui", "Search UI"), new("security", "Elastic Security"), new("winlogbeat", "Winlogbeat"), From a6f11d3fe02f73cff329c224dd2256c3aacdbfe2 Mon Sep 17 00:00:00 2001 From: Colleen McGinnis Date: Wed, 14 May 2025 10:41:54 -0700 Subject: [PATCH 5/5] remove elasticsearch curator --- docs/syntax/frontmatter.md | 1 - src/Elastic.Documentation.Configuration/Builder/Products.cs | 1 - 2 files changed, 2 deletions(-) diff --git a/docs/syntax/frontmatter.md b/docs/syntax/frontmatter.md index 89773633..c6fcce10 100644 --- a/docs/syntax/frontmatter.md +++ b/docs/syntax/frontmatter.md @@ -68,7 +68,6 @@ The products frontmatter is a list of objects, each object has an `id` field. | `elastic-stack` | Elastic Stack | | `elasticsearch` | Elasticsearch | | `elasticsearch-client` | Elasticsearch Client | -| `elasticsearch-curator` | Elasticsearch Curator | | `filebeat` | Filebeat | | `fleet` | Fleet | | `heartbeat` | Heartbeat | diff --git a/src/Elastic.Documentation.Configuration/Builder/Products.cs b/src/Elastic.Documentation.Configuration/Builder/Products.cs index 5f5255b6..ec0aebaf 100644 --- a/src/Elastic.Documentation.Configuration/Builder/Products.cs +++ b/src/Elastic.Documentation.Configuration/Builder/Products.cs @@ -30,7 +30,6 @@ public static class Products new("elastic-stack", "Elastic Stack"), new("elasticsearch", "Elasticsearch"), new("elasticsearch-client", "Elasticsearch Client"), - new("elasticsearch-curator", "Elasticsearch Curator"), new("filebeat", "Filebeat"), new("fleet", "Fleet"), new("heartbeat", "Heartbeat"),