Skip to content

Commit 62a0acb

Browse files
committed
Fix
1 parent 33526f0 commit 62a0acb

File tree

6 files changed

+17
-21
lines changed

6 files changed

+17
-21
lines changed

src/Elastic.Documentation.LinkIndex/LinkIndexProvider.cs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
// See the LICENSE file in the project root for more information
44

55
using System.Net;
6+
using Amazon.Runtime;
67
using Amazon.S3;
78
using Amazon.S3.Model;
89
using Elastic.Documentation.Links;
@@ -18,6 +19,14 @@ public interface ILinkIndexProvider
1819

1920
public class AwsS3LinkIndexProvider(IAmazonS3 s3Client, string bucketName = "elastic-docs-link-index", string registryKey = "link-index.json") : ILinkIndexProvider
2021
{
22+
23+
public static AwsS3LinkIndexProvider CreateAnonymous()
24+
{
25+
var credentials = new AnonymousAWSCredentials();
26+
var s3Client = new AmazonS3Client(credentials);
27+
return new AwsS3LinkIndexProvider(s3Client);
28+
}
29+
2130
public async Task<LinkReferenceRegistry> GetLinkIndex(Cancel cancellationToken = default)
2231
{
2332
var getObjectRequest = new GetObjectRequest

src/Elastic.Markdown/IO/DocumentationSet.cs

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -123,16 +123,12 @@ public DocumentationSet(
123123
TableOfContentsTreeCollector? treeCollector = null
124124
)
125125
{
126-
127-
var s3client = new AmazonS3Client();
128-
var linkIndexProvider = new AwsS3LinkIndexProvider(s3client);
129-
130126
Context = context;
131127
Source = ContentSourceMoniker.Create(context.Git.RepositoryName, null);
132128
SourceDirectory = context.DocumentationSourceDirectory;
133129
OutputDirectory = context.DocumentationOutputDirectory;
134130
LinkResolver =
135-
linkResolver ?? new CrossLinkResolver(new ConfigurationCrossLinkFetcher(context.Configuration, linkIndexProvider, logger));
131+
linkResolver ?? new CrossLinkResolver(new ConfigurationCrossLinkFetcher(context.Configuration, AwsS3LinkIndexProvider.CreateAnonymous(), logger));
136132
Configuration = context.Configuration;
137133
EnabledExtensions = InstantiateExtensions();
138134
treeCollector ??= new TableOfContentsTreeCollector();

src/Elastic.Markdown/Links/InboundLinks/LinkIndexLinkChecker.cs

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ namespace Elastic.Markdown.Links.InboundLinks;
1616
public class LinkIndexLinkChecker(ILoggerFactory logger)
1717
{
1818
private readonly ILogger _logger = logger.CreateLogger<LinkIndexLinkChecker>();
19-
19+
private readonly ILinkIndexProvider _linkIndexProvider = AwsS3LinkIndexProvider.CreateAnonymous();
2020
private sealed record RepositoryFilter
2121
{
2222
public string? LinksTo { get; init; }
@@ -27,9 +27,7 @@ private sealed record RepositoryFilter
2727

2828
public async Task CheckAll(IDiagnosticsCollector collector, Cancel ctx)
2929
{
30-
var s3Client = new AmazonS3Client();
31-
var linkIndexProvider = new AwsS3LinkIndexProvider(s3Client);
32-
var fetcher = new LinksIndexCrossLinkFetcher(linkIndexProvider, logger);
30+
var fetcher = new LinksIndexCrossLinkFetcher(_linkIndexProvider, logger);
3331
var resolver = new CrossLinkResolver(fetcher);
3432
var crossLinks = await resolver.FetchLinks(ctx);
3533

@@ -38,9 +36,7 @@ public async Task CheckAll(IDiagnosticsCollector collector, Cancel ctx)
3836

3937
public async Task CheckRepository(IDiagnosticsCollector collector, string? toRepository, string? fromRepository, Cancel ctx)
4038
{
41-
var s3Client = new AmazonS3Client();
42-
var linkIndexProvider = new AwsS3LinkIndexProvider(s3Client);
43-
var fetcher = new LinksIndexCrossLinkFetcher(linkIndexProvider, logger);
39+
var fetcher = new LinksIndexCrossLinkFetcher(_linkIndexProvider, logger);
4440
var resolver = new CrossLinkResolver(fetcher);
4541
var crossLinks = await resolver.FetchLinks(ctx);
4642
var filter = new RepositoryFilter
@@ -54,9 +50,7 @@ public async Task CheckRepository(IDiagnosticsCollector collector, string? toRep
5450

5551
public async Task CheckWithLocalLinksJson(IDiagnosticsCollector collector, string repository, string localLinksJson, Cancel ctx)
5652
{
57-
var s3Client = new AmazonS3Client();
58-
var linkIndexProvider = new AwsS3LinkIndexProvider(s3Client);
59-
var fetcher = new LinksIndexCrossLinkFetcher(linkIndexProvider, logger);
53+
var fetcher = new LinksIndexCrossLinkFetcher(_linkIndexProvider, logger);
6054
var resolver = new CrossLinkResolver(fetcher);
6155
// ReSharper disable once RedundantAssignment
6256
var crossLinks = await resolver.FetchLinks(ctx);

src/tooling/docs-assembler/AssembleSources.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,8 +62,7 @@ private AssembleSources(AssembleContext assembleContext, Checkout[] checkouts)
6262
AssembleContext = assembleContext;
6363
TocTopLevelMappings = GetConfiguredSources(assembleContext);
6464
HistoryMappings = GetHistoryMapping(assembleContext);
65-
var s3Client = new AmazonS3Client();
66-
var linkIndexProvider = new AwsS3LinkIndexProvider(s3Client);
65+
var linkIndexProvider = AwsS3LinkIndexProvider.CreateAnonymous();
6766
var crossLinkFetcher = new AssemblerCrossLinkFetcher(NullLoggerFactory.Instance, assembleContext.Configuration, assembleContext.Environment, linkIndexProvider);
6867
UriResolver = new PublishEnvironmentUriResolver(TocTopLevelMappings, assembleContext.Environment);
6968
var crossLinkResolver = new CrossLinkResolver(crossLinkFetcher, UriResolver);

src/tooling/docs-assembler/Cli/ContentSourceCommands.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,7 @@ public async Task<int> Validate(Cancel ctx = default)
4343
Force = false,
4444
AllowIndexing = false
4545
};
46-
var s3Client = new AmazonS3Client();
47-
var linkIndexProvider = new AwsS3LinkIndexProvider(s3Client);
46+
var linkIndexProvider = AwsS3LinkIndexProvider.CreateAnonymous();
4847
var fetcher = new AssemblerCrossLinkFetcher(logFactory, context.Configuration, context.Environment, linkIndexProvider);
4948
var links = await fetcher.FetchLinkIndex(ctx);
5049
var repositories = context.Configuration.ReferenceRepositories.Values.Concat<Repository>([context.Configuration.Narrative]).ToList();

src/tooling/docs-assembler/Links/NavigationPrefixChecker.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,8 +86,7 @@ public async Task CheckAllPublishedLinks(DiagnosticsCollector collector, Cancel
8686

8787
private async Task FetchAndValidateCrossLinks(DiagnosticsCollector collector, string? updateRepository, LinkReference? updateReference, Cancel ctx)
8888
{
89-
var s3Client = new AmazonS3Client();
90-
var linkIndexProvider = new AwsS3LinkIndexProvider(s3Client);
89+
var linkIndexProvider = AwsS3LinkIndexProvider.CreateAnonymous();
9190
var fetcher = new LinksIndexCrossLinkFetcher(linkIndexProvider, _loggerFactory);
9291
var resolver = new CrossLinkResolver(fetcher);
9392
var crossLinks = await resolver.FetchLinks(ctx);

0 commit comments

Comments
 (0)