Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ namespace UpdatePod.Domain.ImageOperations;
public class ImageOperationsWithDockerIo(HttpClient httpClient, ImageOperationData imageOperationData) : IImageOperationsStrategy
{

public async Task<string?> GetLatestHash(string repository, string tag, CancellationToken ct = default)
public async Task<string?> GetLatestHash(string repository, string tag, CancellationToken token = default)
{
httpClient.DefaultRequestHeaders.Add("Accept", "application/json");

Expand All @@ -18,7 +18,7 @@ public class ImageOperationsWithDockerIo(HttpClient httpClient, ImageOperationDa
}

var cancellationTokenWithTimeoutCancellation=HttpClientUtils.
GenerateCancellationTokenWithTimeout(ct, TimeSpan.FromSeconds(imageOperationData.GetImageOperationsTimeout()));
GenerateCancellationTokenWithTimeout(token, TimeSpan.FromSeconds(imageOperationData.GetImageOperationsTimeout()));

var url = GetUrl(repository, tag);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ public class ImageOperationsWithHarbor(HttpClient httpClient, ImageOperationData
}

var canGetHeader = response.Headers.TryGetValues("docker-content-digest", out var digest);
return !canGetHeader ? null : digest?.ToList().FirstOrDefault();
return !canGetHeader ? null : digest.FirstOrDefault();


}
Expand Down
2 changes: 1 addition & 1 deletion UpdatePod.Domain/KubernetesUtils/IKubernetesOperations.cs
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,6 @@ public interface IKubernetesOperations

public Task<bool> RestartDeployment(string namespaceInfo, string deployment, CancellationToken ct = default);

public Task<bool> RestartStateFulSet(string namespaceInfo, string deployment, CancellationToken ct = default);
public Task<bool> RestartStateFulSet(string namespaceInfo, string statefulSetName, CancellationToken ct = default);

}
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,7 @@ public async Task<string> GetStateFulSetFromPod(string namespaceInfo, string po

if (stName is null)
{
throw new Exception(Msg.StatefulSetNotFound(matchedPod.Metadata.Name));
throw new KubernetesObjectNotFoundException(Msg.StatefulSetNotFound(matchedPod.Metadata.Name));
}

return stName;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
namespace UpdatePod.Domain.PodUpdateOperations;

public class InvalidImagePullPolicyException: Exception
{
public InvalidImagePullPolicyException(string actual, string expected)
: base($"Image pull policy must be {expected} but {actual}") {}
}
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ private static void ValidateImagePullPolicy(string imagePullPolicy)
{
if (imagePullPolicy != ImagePullPolicyAlways)
{
throw new ApplicationException($"Image pull policy must be {ImagePullPolicyAlways} but {imagePullPolicy}");
throw new InvalidImagePullPolicyException( ImagePullPolicyAlways, imagePullPolicy);
}
}

Expand All @@ -70,7 +70,7 @@ private async Task<string> GetPodContainerImageInfo(string nameSpace, string pod
return await _imageOperations.GetLatestHashFromImage(containerImageName, cancellationToken);
}

private void ValidateLatestImageHash(string? latestImageHashFromRegistry, string? containerName)
private static void ValidateLatestImageHash(string? latestImageHashFromRegistry, string? containerName)
{
if (latestImageHashFromRegistry is null)
{
Expand Down
6 changes: 3 additions & 3 deletions UpdatePod/Worker.cs
Original file line number Diff line number Diff line change
Expand Up @@ -30,13 +30,13 @@ protected override async Task ExecuteAsync(CancellationToken stoppingToken)
}
}

private (string nameSpace, string podNameStarts, int intervalMinutes, string? containerName) GetInfoFromEnvironment()
private static (string nameSpace, string podNameStarts, int intervalMinutes, string? containerName) GetInfoFromEnvironment()
{
var namespaceInfo = Environment.GetEnvironmentVariable("POD_NAMESPACE")
?? throw new Exception("POD_NAMESPACE env var is missing.");
?? throw new ArgumentException("POD_NAMESPACE env var is missing.");

var podNameStarts = Environment.GetEnvironmentVariable("POD_NAME_PREFIX")
?? throw new Exception("POD_NAME_PREFIX env var is missing.");
?? throw new ArgumentException("POD_NAME_PREFIX env var is missing.");

var containerName = Environment.GetEnvironmentVariable("POD_CONTAINER_NAME");

Expand Down