Skip to content

Commit efc4d3b

Browse files
Hub: implement issuance of hub managed instance ids
1 parent 14f1c33 commit efc4d3b

File tree

14 files changed

+464
-102
lines changed

14 files changed

+464
-102
lines changed

src/Certify.Core/Management/CertifyManager/CertifyManager.ManagedCertificates.cs

Lines changed: 7 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,6 @@ namespace Certify.Management
1818
{
1919
public partial class CertifyManager
2020
{
21-
public string InstanceId
22-
{
23-
get
24-
{
25-
return CoreAppSettings.Current.InstanceId;
26-
}
27-
}
28-
2921
/// <summary>
3022
/// Get managed certificate details by ID
3123
/// </summary>
@@ -36,7 +28,7 @@ public async Task<ManagedCertificate> GetManagedCertificate(string id)
3628
var item = await _itemManager.GetById(id);
3729
if (item != null)
3830
{
39-
item.InstanceId = InstanceId;
31+
item.InstanceId = _serverConfig.HubAssignedInstanceId;
4032
item.DateRetrieved = DateTime.UtcNow;
4133
}
4234

@@ -61,7 +53,7 @@ public async Task<List<ManagedCertificate>> GetManagedCertificates(ManagedCertif
6153
}
6254
}
6355

64-
list.ForEach(i => { i.InstanceId = InstanceId; i.DateRetrieved = DateTime.UtcNow; });
56+
list.ForEach(i => { i.InstanceId = _serverConfig.HubAssignedInstanceId; i.DateRetrieved = DateTime.UtcNow; });
6557

6658
return list;
6759
}
@@ -120,7 +112,7 @@ public async Task<ManagedCertificateSearchResult> GetManagedCertificateResults(M
120112

121113
var list = await _itemManager.Find(filter);
122114

123-
list.ForEach(i => { i.InstanceId = InstanceId; i.DateRetrieved = DateTime.UtcNow; });
115+
list.ForEach(i => { i.InstanceId = _serverConfig.HubAssignedInstanceId; i.DateRetrieved = DateTime.UtcNow; });
124116

125117
result.Results = list;
126118

@@ -132,7 +124,7 @@ public async Task<ManagedCertificateSearchResult> GetManagedCertificateResults(M
132124
if (external != null)
133125
{
134126
list.AddRange(await external);
135-
list.ForEach(i => i.InstanceId = InstanceId);
127+
list.ForEach(i => i.InstanceId = _serverConfig.HubAssignedInstanceId);
136128
result.Results = list;
137129
}
138130
}
@@ -152,7 +144,7 @@ public async Task<ManagedCertificateSearchResult> GetManagedCertificateResults(M
152144
var ms = await _itemManager.Find(filter);
153145

154146
var summary = new StatusSummary();
155-
summary.InstanceId = InstanceId;
147+
summary.InstanceId = _serverConfig.HubAssignedInstanceId;
156148
summary.Total = ms.Count;
157149
summary.Healthy = ms.Count(c => c.Health == ManagedCertificateHealth.OK);
158150
summary.Error = ms.Count(c => c.Health == ManagedCertificateHealth.Error);
@@ -181,7 +173,7 @@ public async Task<ManagedCertificate> UpdateManagedCertificate(ManagedCertificat
181173
// store managed cert in database store
182174
managedCert = await _itemManager.Update(managedCert);
183175

184-
managedCert.InstanceId = InstanceId;
176+
managedCert.InstanceId = _serverConfig.HubAssignedInstanceId;
185177

186178
// report request state to status hub clients
187179

@@ -276,7 +268,7 @@ private async Task ReportManagedCertificateStatus(ManagedCertificate managedCert
276268

277269
var report = new Models.Shared.RenewalStatusReport
278270
{
279-
InstanceId = this.InstanceId,
271+
InstanceId = CoreAppSettings.Current.InstanceId,
280272
MachineName = Environment.MachineName,
281273
PrimaryContactEmail = (await GetAccountDetails(managedCertificate, allowFailover: false))?.Email,
282274
ManagedSite = reportedCert,
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Threading.Tasks;
4+
using Certify.Models.Config;
5+
using Certify.Models.Hub;
6+
7+
namespace Certify.Management
8+
{
9+
public partial class CertifyManager
10+
{
11+
public async Task<ActionResult<ManagedInstanceInfo>> AddHubManagedInstance(ManagedInstanceInfo item)
12+
{
13+
item.Id = Guid.NewGuid().ToString();
14+
item.InstanceId = item.Id;
15+
await _configStore.Add(nameof(ManagedInstanceInfo), item);
16+
return new ActionResult<ManagedInstanceInfo>("Added", true, item);
17+
}
18+
19+
public async Task<ActionResult> UpdateHubManagedInstance(ManagedInstanceInfo item)
20+
{
21+
await _configStore.Update(nameof(ManagedInstanceInfo), item);
22+
return new ActionResult("Updated", true);
23+
}
24+
25+
public async Task<ManagedInstanceInfo> GetHubManagedInstance(string id)
26+
{
27+
var item = await _configStore.Get<ManagedInstanceInfo>(nameof(ManagedInstanceInfo), id);
28+
return item;
29+
}
30+
31+
public async Task<ICollection<ManagedInstanceInfo>> GetHubManagedInstances()
32+
{
33+
return await _configStore.GetItems<ManagedInstanceInfo>(nameof(ManagedInstanceInfo));
34+
}
35+
36+
public async Task<ActionResult> RemoveHubManagedInstance(string id)
37+
{
38+
var deleted = await _configStore.Delete<ManagedInstanceInfo>(nameof(ManagedInstanceInfo), id);
39+
if (deleted)
40+
{
41+
return new ActionResult("Deleted", true);
42+
}
43+
else
44+
{
45+
return new ActionResult("Not found", false);
46+
}
47+
}
48+
}
49+
}

0 commit comments

Comments
 (0)