Skip to content

Commit 8c08d36

Browse files
authored
Index OpenAPI endpoints for Elasticsearch and Kibana (#2236)
* Index OpenAPI endpoints * Enhance OpenAPI exporter with version filtering and update usage in Markdown exporters. * Ensure api docs are LLM ready and we have stripped markdown version * clean up html in some descriptions * Abstract from stripped body * Tweak API titles * Ensure type is available on the frontend * Tweak tests * fix codeql suggestion
1 parent 43d4814 commit 8c08d36

File tree

21 files changed

+665
-59
lines changed

21 files changed

+665
-59
lines changed

Directory.Packages.props

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
<PackageVersion Include="AWSSDK.SQS" Version="4.0.2.3" />
2727
<PackageVersion Include="AWSSDK.S3" Version="4.0.7.14" />
2828
<PackageVersion Include="Elastic.OpenTelemetry" Version="1.1.0" />
29+
<PackageVersion Include="Microsoft.Extensions.Configuration.UserSecrets" Version="10.0.0" />
2930
<PackageVersion Include="Microsoft.Extensions.Telemetry.Abstractions" Version="10.0.0" />
3031
<PackageVersion Include="OpenTelemetry.Instrumentation.AspNetCore" Version="1.13.0" />
3132
<PackageVersion Include="Generator.Equals" Version="3.2.1" PrivateAssets="all" IncludeAssets="runtime; build; native; contentfiles; analyzers; buildtransitive" />
@@ -37,7 +38,7 @@
3738
<PackageVersion Include="InMemoryLogger" Version="1.0.66" />
3839
<PackageVersion Include="MartinCostello.Logging.XUnit.v3" Version="0.6.0" />
3940
<PackageVersion Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="10.0.0" />
40-
<PackageVersion Include="Microsoft.OpenApi" Version="3.0.0" />
41+
<PackageVersion Include="Microsoft.OpenApi" Version="3.0.1" />
4142
<PackageVersion Include="TUnit" Version="0.25.21" />
4243
<PackageVersion Include="xunit.v3.extensibility.core" Version="2.0.2" />
4344
</ItemGroup>
@@ -105,4 +106,4 @@
105106
</PackageVersion>
106107
<PackageVersion Include="xunit.v3" Version="2.0.2" />
107108
</ItemGroup>
108-
</Project>
109+
</Project>

aspire/AppHost.cs

Lines changed: 6 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,7 @@ async Task BuildAspireHost(bool startElasticsearch, bool assumeCloned, bool skip
4444
.WithArgs(globalArguments)
4545
.WithEnvironment("ENVIRONMENT", "dev")
4646
.WithEnvironment("LLM_GATEWAY_FUNCTION_URL", llmUrl)
47-
.WithEnvironment("LLM_GATEWAY_SERVICE_ACCOUNT_KEY_PATH", llmServiceAccountPath)
48-
.WithExplicitStart();
47+
.WithEnvironment("LLM_GATEWAY_SERVICE_ACCOUNT_KEY_PATH", llmServiceAccountPath);
4948

5049
// ReSharper disable once RedundantAssignment
5150
api = startElasticsearch
@@ -55,12 +54,14 @@ async Task BuildAspireHost(bool startElasticsearch, bool assumeCloned, bool skip
5554
.WithEnvironment(context => context.EnvironmentVariables["DOCUMENTATION_ELASTIC_PASSWORD"] = elasticsearchLocal.Resource.PasswordParameter)
5655
.WithParentRelationship(elasticsearchLocal)
5756
.WaitFor(elasticsearchLocal)
57+
.WithExplicitStart()
5858
: api.WithReference(elasticsearchRemote)
5959
.WithEnvironment("DOCUMENTATION_ELASTIC_URL", elasticsearchUrl)
60-
.WithEnvironment("DOCUMENTATION_ELASTIC_APIKEY", elasticsearchApiKey);
60+
.WithEnvironment("DOCUMENTATION_ELASTIC_APIKEY", elasticsearchApiKey)
61+
.WithExplicitStart();
6162

62-
var indexElasticsearch = builder.AddProject<Projects.docs_builder>(ElasticsearchIndexerPlain)
63-
.WithArgs(["assembler", "build", "--exporters", "elasticsearch", .. globalArguments])
63+
var indexElasticsearch = builder.AddProject<Projects.docs_builder>(ElasticsearchIngest)
64+
.WithArgs(["assembler", "index", .. globalArguments])
6465
.WithExplicitStart()
6566
.WaitForCompletion(cloneAll);
6667

@@ -78,27 +79,6 @@ async Task BuildAspireHost(bool startElasticsearch, bool assumeCloned, bool skip
7879
.WithEnvironment("DOCUMENTATION_ELASTIC_APIKEY", elasticsearchApiKey)
7980
.WithParentRelationship(elasticsearchRemote);
8081

81-
var indexElasticsearchSemantic = builder.AddProject<Projects.docs_builder>(ElasticsearchIndexerSemantic)
82-
.WithArgs(["assembler", "build", "--exporters", "semantic", .. globalArguments])
83-
.WithEnvironment("DOCUMENTATION_ELASTIC_URL", elasticsearchLocal.GetEndpoint("http"))
84-
.WithEnvironment(context => context.EnvironmentVariables["DOCUMENTATION_ELASTIC_PASSWORD"] = elasticsearchLocal.Resource.PasswordParameter)
85-
.WithExplicitStart()
86-
.WaitForCompletion(cloneAll);
87-
88-
// ReSharper disable once RedundantAssignment
89-
indexElasticsearchSemantic = startElasticsearch
90-
? indexElasticsearchSemantic
91-
.WaitFor(elasticsearchLocal)
92-
.WithReference(elasticsearchLocal)
93-
.WithEnvironment("DOCUMENTATION_ELASTIC_URL", elasticsearchLocal.GetEndpoint("http"))
94-
.WithEnvironment(context => context.EnvironmentVariables["DOCUMENTATION_ELASTIC_PASSWORD"] = elasticsearchLocal.Resource.PasswordParameter)
95-
.WithParentRelationship(elasticsearchLocal)
96-
: indexElasticsearchSemantic
97-
.WithReference(elasticsearchRemote)
98-
.WithEnvironment("DOCUMENTATION_ELASTIC_URL", elasticsearchUrl)
99-
.WithEnvironment("DOCUMENTATION_ELASTIC_APIKEY", elasticsearchApiKey)
100-
.WithParentRelationship(elasticsearchRemote);
101-
10282
var serveStatic = builder.AddProject<Projects.docs_builder>(AssemblerServe)
10383
.WithEnvironment("LLM_GATEWAY_FUNCTION_URL", llmUrl)
10484
.WithEnvironment("LLM_GATEWAY_SERVICE_ACCOUNT_KEY_PATH", llmServiceAccountPath)

aspire/ResourceNames.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,5 @@ public static class ResourceNames
1212
public const string ElasticsearchLocal = "elasticsearch-local";
1313
public const string ElasticsearchRemote = "elasticsearch-remote";
1414
public const string LambdaApi = "lambda-api";
15-
public const string ElasticsearchIndexerPlain = "elasticsearch-indexer-plain";
16-
public const string ElasticsearchIndexerSemantic = "elasticsearch-indexer-semantic";
15+
public const string ElasticsearchIngest = "elasticsearch-ingest";
1716
}

src/Elastic.ApiExplorer/Elastic.ApiExplorer.csproj

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,4 +23,8 @@
2323
<ProjectReference Include="..\Elastic.Documentation.Configuration\Elastic.Documentation.Configuration.csproj"/>
2424
</ItemGroup>
2525

26+
<ItemGroup>
27+
<Folder Include="Elasticsearch\" />
28+
</ItemGroup>
29+
2630
</Project>

0 commit comments

Comments
 (0)