Add proper creds

This commit is contained in:
2024-10-13 16:35:33 -05:00
parent 8efe02cc86
commit 1e9c269f07
5 changed files with 36 additions and 15 deletions

1
.gitignore vendored
View File

@@ -5,6 +5,7 @@
!.vscode/launch.json !.vscode/launch.json
!.vscode/extensions.json !.vscode/extensions.json
!.vscode/*.code-snippets !.vscode/*.code-snippets
.idea/*
# Local History for Visual Studio Code # Local History for Visual Studio Code
.history/ .history/

View File

@@ -1,3 +1,4 @@
using Azure.ResourceManager;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
namespace ProperDI.Azure.Endpoints.ResourceGroup.LogLooker; namespace ProperDI.Azure.Endpoints.ResourceGroup.LogLooker;
@@ -7,24 +8,21 @@ public interface IActivityLogReader
Task Scan(CancellationToken cancellationToken); Task Scan(CancellationToken cancellationToken);
} }
public class ActivityLogReader : IActivityLogReader public class ActivityLogReader(
ILogger<ActivityLogReader> logger,
ArmClient armClient)
: IActivityLogReader
{ {
private readonly ILogger<ActivityLogReader> _logger; private readonly ILogger<ActivityLogReader> _logger = logger ?? throw new ArgumentNullException(nameof(logger));
private readonly HttpClient _httpClient; private readonly ArmClient _armClient = armClient ?? throw new ArgumentNullException(nameof(armClient));
public ActivityLogReader(IHttpClientFactory httpClientFactory, ILogger<ActivityLogReader> logger)
{
_httpClient = httpClientFactory.CreateClient() ?? throw new ArgumentNullException(nameof(httpClientFactory));
_logger = logger ?? throw new ArgumentNullException(nameof(logger));
}
public async Task Scan(CancellationToken cancellationToken) public async Task Scan(CancellationToken cancellationToken)
{ {
try try
{ {
var response = await _httpClient.GetAsync("https://ident.me", cancellationToken); _logger.LogInformation("Scanning for resources");
var responseBody = await response.Content.ReadAsStringAsync(); var resp = await _armClient.GetDefaultSubscriptionAsync(cancellationToken);
_logger.LogInformation("Response body: {content}", responseBody); _logger.LogInformation("Found default subscription {sub}", resp.Data.DisplayName);
} }
catch (TaskCanceledException) catch (TaskCanceledException)
{ {

View File

@@ -1,4 +1,8 @@
using Microsoft.Extensions.DependencyInjection; using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.Resources;
using Microsoft.Extensions.Azure;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Hosting;
using ProperDI.Azure.Endpoints.ResourceGroup.LogLooker; using ProperDI.Azure.Endpoints.ResourceGroup.LogLooker;
@@ -6,6 +10,19 @@ HostApplicationBuilder builder = Host.CreateApplicationBuilder(args);
builder.Services.AddHttpClient(); builder.Services.AddHttpClient();
builder.Services.AddTransient<IActivityLogReader, ActivityLogReader>(); builder.Services.AddTransient<IActivityLogReader, ActivityLogReader>();
builder.Services.AddAzureClients(clientBuilder =>
{
// var creds = new ClientSecretCredential(
// "",
// "",
// "");
clientBuilder.UseCredential(new DefaultAzureCredential());
clientBuilder.AddArmClient("2690a5f1-155b-4fa8-896f-92c6bcb62bee");
clientBuilder.ConfigureDefaults(client =>
{
client.Retry.MaxRetries = 3;
});
});
builder.Services.Configure<RoleAssesorBackgroundServiceOptions>(builder.Configuration.GetSection("RoleAssessorBackgroundService")); builder.Services.Configure<RoleAssesorBackgroundServiceOptions>(builder.Configuration.GetSection("RoleAssessorBackgroundService"));
builder.Services.AddHostedService<RoleAssesorBackgroundService>(); builder.Services.AddHostedService<RoleAssesorBackgroundService>();

View File

@@ -8,6 +8,10 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Azure.Identity" Version="1.12.1" />
<PackageReference Include="Azure.ResourceManager" Version="1.13.0" />
<PackageReference Include="Azure.ResourceManager.Resources" Version="1.9.0" />
<PackageReference Include="Microsoft.Extensions.Azure" Version="1.7.6" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="8.0.1" /> <PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="8.0.1" />
<PackageReference Include="Microsoft.Extensions.Hosting" Version="8.0.1" /> <PackageReference Include="Microsoft.Extensions.Hosting" Version="8.0.1" />
<PackageReference Include="Microsoft.Extensions.Http" Version="8.0.1" /> <PackageReference Include="Microsoft.Extensions.Http" Version="8.0.1" />

View File

@@ -8,6 +8,7 @@
} }
}, },
"RoleAssessorBackgroundService": { "RoleAssessorBackgroundService": {
"RunFrequencyInMinutes": 1 "RunFrequencyInMinutes": 12
} },
"DefaultSubscriptionId": "2690a5f1-155b-4fa8-896f-92c6bcb62bee"
} }