Skip to content

Commit ae79be6

Browse files
authored
Clean up warnings in examples (#1628)
* Refactor examples to streamline code structure and improve readability * Update LangVersion to 13.0 for improved compatibility
1 parent 001189d commit ae79be6

File tree

17 files changed

+309
-420
lines changed

17 files changed

+309
-420
lines changed

Directory.Build.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
2727
<EmbedUntrackedSources>true</EmbedUntrackedSources>
2828
<AllowedOutputExtensionsInPackageBuildOutputFolder>$(AllowedOutputExtensionsInPackageBuildOutputFolder);.pdb</AllowedOutputExtensionsInPackageBuildOutputFolder>
29-
<LangVersion>11.0</LangVersion>
29+
<LangVersion>13.0</LangVersion>
3030
</PropertyGroup>
3131

3232
<PropertyGroup Condition="'$(GITHUB_ACTIONS)' == 'true'">

examples/attach/Attach.cs

Lines changed: 20 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -3,38 +3,29 @@
33
using System;
44
using System.Threading.Tasks;
55

6-
namespace attach
7-
{
8-
internal class Attach
9-
{
10-
private static async Task Main(string[] args)
11-
{
12-
var config = KubernetesClientConfiguration.BuildConfigFromConfigFile();
13-
IKubernetes client = new Kubernetes(config);
14-
Console.WriteLine("Starting Request!");
6+
var config = KubernetesClientConfiguration.BuildConfigFromConfigFile();
7+
IKubernetes client = new Kubernetes(config);
8+
Console.WriteLine("Starting Request!");
159

16-
var list = client.CoreV1.ListNamespacedPod("default");
17-
var pod = list.Items[0];
18-
await AttachToPod(client, pod).ConfigureAwait(false);
19-
}
10+
var list = client.CoreV1.ListNamespacedPod("default");
11+
var pod = list.Items[0];
12+
await AttachToPod(client, pod).ConfigureAwait(false);
2013

21-
private static async Task AttachToPod(IKubernetes client, V1Pod pod)
22-
{
23-
var webSocket =
24-
await client.WebSocketNamespacedPodAttachAsync(pod.Metadata.Name, "default",
25-
pod.Spec.Containers[0].Name).ConfigureAwait(false);
14+
async Task AttachToPod(IKubernetes client, V1Pod pod)
15+
{
16+
var webSocket =
17+
await client.WebSocketNamespacedPodAttachAsync(pod.Metadata.Name, "default",
18+
pod.Spec.Containers[0].Name).ConfigureAwait(false);
2619

27-
var demux = new StreamDemuxer(webSocket);
28-
demux.Start();
20+
var demux = new StreamDemuxer(webSocket);
21+
demux.Start();
2922

30-
var buff = new byte[4096];
31-
var stream = demux.GetStream(1, 1);
32-
while (true)
33-
{
34-
var read = stream.Read(buff, 0, 4096);
35-
var str = System.Text.Encoding.Default.GetString(buff);
36-
Console.WriteLine(str);
37-
}
38-
}
23+
var buff = new byte[4096];
24+
var stream = demux.GetStream(1, 1);
25+
while (true)
26+
{
27+
var read = stream.Read(buff, 0, 4096);
28+
var str = System.Text.Encoding.Default.GetString(buff);
29+
Console.WriteLine(str);
3930
}
4031
}

examples/csrApproval/Program.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ string GenerateCertificate(string name)
2121
var request = new CertificateRequest(distinguishedName, rsa, HashAlgorithmName.SHA256, RSASignaturePadding.Pkcs1);
2222

2323
request.CertificateExtensions.Add(new X509KeyUsageExtension(X509KeyUsageFlags.DataEncipherment | X509KeyUsageFlags.KeyEncipherment | X509KeyUsageFlags.DigitalSignature, false));
24-
request.CertificateExtensions.Add(new X509EnhancedKeyUsageExtension(new OidCollection { new("1.3.6.1.5.5.7.3.1") }, false));
24+
request.CertificateExtensions.Add(new X509EnhancedKeyUsageExtension([new ("1.3.6.1.5.5.7.3.1")], false));
2525
request.CertificateExtensions.Add(sanBuilder.Build());
2626
var csr = request.CreateSigningRequest();
2727
var pemKey = "-----BEGIN CERTIFICATE REQUEST-----\r\n" +
@@ -67,7 +67,7 @@ string GenerateCertificate(string name)
6767

6868
var replace = new List<V1CertificateSigningRequestCondition>
6969
{
70-
new("True", "Approved", DateTime.UtcNow, DateTime.UtcNow, "This certificate was approved by k8s client", "Approve"),
70+
new ("True", "Approved", DateTime.UtcNow, DateTime.UtcNow, "This certificate was approved by k8s client", "Approve"),
7171
};
7272
readCert.Status.Conditions = replace;
7373

examples/exec/Exec.cs

Lines changed: 18 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -3,35 +3,26 @@
33
using System;
44
using System.Threading.Tasks;
55

6-
namespace exec
7-
{
8-
internal class Exec
9-
{
10-
private static async Task Main(string[] args)
11-
{
12-
var config = KubernetesClientConfiguration.BuildConfigFromConfigFile();
13-
IKubernetes client = new Kubernetes(config);
14-
Console.WriteLine("Starting Request!");
6+
var config = KubernetesClientConfiguration.BuildConfigFromConfigFile();
7+
IKubernetes client = new Kubernetes(config);
8+
Console.WriteLine("Starting Request!");
159

16-
var list = client.CoreV1.ListNamespacedPod("default");
17-
var pod = list.Items[0];
18-
await ExecInPod(client, pod).ConfigureAwait(false);
19-
}
10+
var list = client.CoreV1.ListNamespacedPod("default");
11+
var pod = list.Items[0];
12+
await ExecInPod(client, pod).ConfigureAwait(false);
2013

21-
private static async Task ExecInPod(IKubernetes client, V1Pod pod)
22-
{
23-
var webSocket =
24-
await client.WebSocketNamespacedPodExecAsync(pod.Metadata.Name, "default", "ls",
25-
pod.Spec.Containers[0].Name).ConfigureAwait(false);
14+
async Task ExecInPod(IKubernetes client, V1Pod pod)
15+
{
16+
var webSocket =
17+
await client.WebSocketNamespacedPodExecAsync(pod.Metadata.Name, "default", "ls",
18+
pod.Spec.Containers[0].Name).ConfigureAwait(false);
2619

27-
var demux = new StreamDemuxer(webSocket);
28-
demux.Start();
20+
var demux = new StreamDemuxer(webSocket);
21+
demux.Start();
2922

30-
var buff = new byte[4096];
31-
var stream = demux.GetStream(1, 1);
32-
var read = stream.Read(buff, 0, 4096);
33-
var str = System.Text.Encoding.Default.GetString(buff);
34-
Console.WriteLine(str);
35-
}
36-
}
23+
var buff = new byte[4096];
24+
var stream = demux.GetStream(1, 1);
25+
var read = stream.Read(buff, 0, 4096);
26+
var str = System.Text.Encoding.Default.GetString(buff);
27+
Console.WriteLine(str);
3728
}

examples/generic/Generic.cs

Lines changed: 10 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,16 @@
11
using k8s;
22
using k8s.Models;
33
using System;
4-
using System.Threading.Tasks;
54

6-
namespace exec
7-
{
8-
internal class Generic
9-
{
10-
private static async Task Main(string[] args)
11-
{
12-
var config = KubernetesClientConfiguration.BuildConfigFromConfigFile();
13-
IKubernetes client = new Kubernetes(config);
14-
var generic = new GenericClient(client, "", "v1", "nodes");
15-
var node = await generic.ReadAsync<V1Node>("kube0").ConfigureAwait(false);
16-
Console.WriteLine(node.Metadata.Name);
5+
var config = KubernetesClientConfiguration.BuildConfigFromConfigFile();
6+
IKubernetes client = new Kubernetes(config);
7+
var generic = new GenericClient(client, "", "v1", "nodes");
8+
var node = await generic.ReadAsync<V1Node>("kube0").ConfigureAwait(false);
9+
Console.WriteLine(node.Metadata.Name);
1710

18-
var genericPods = new GenericClient(client, "", "v1", "pods");
19-
var pods = await genericPods.ListNamespacedAsync<V1PodList>("default").ConfigureAwait(false);
20-
foreach (var pod in pods.Items)
21-
{
22-
Console.WriteLine(pod.Metadata.Name);
23-
}
24-
}
25-
}
11+
var genericPods = new GenericClient(client, "", "v1", "pods");
12+
var pods = await genericPods.ListNamespacedAsync<V1PodList>("default").ConfigureAwait(false);
13+
foreach (var pod in pods.Items)
14+
{
15+
Console.WriteLine(pod.Metadata.Name);
2616
}

examples/labels/PodList.cs

Lines changed: 28 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -2,47 +2,38 @@
22
using System;
33
using System.Collections.Generic;
44

5-
namespace simple
5+
var config = KubernetesClientConfiguration.BuildConfigFromConfigFile();
6+
IKubernetes client = new Kubernetes(config);
7+
Console.WriteLine("Starting Request!");
8+
9+
var list = client.CoreV1.ListNamespacedService("default");
10+
foreach (var item in list.Items)
611
{
7-
internal class PodList
12+
Console.WriteLine("Pods for service: " + item.Metadata.Name);
13+
Console.WriteLine("=-=-=-=-=-=-=-=-=-=-=");
14+
if (item.Spec == null || item.Spec.Selector == null)
815
{
9-
private static void Main(string[] args)
10-
{
11-
var config = KubernetesClientConfiguration.BuildConfigFromConfigFile();
12-
IKubernetes client = new Kubernetes(config);
13-
Console.WriteLine("Starting Request!");
14-
15-
var list = client.CoreV1.ListNamespacedService("default");
16-
foreach (var item in list.Items)
17-
{
18-
Console.WriteLine("Pods for service: " + item.Metadata.Name);
19-
Console.WriteLine("=-=-=-=-=-=-=-=-=-=-=");
20-
if (item.Spec == null || item.Spec.Selector == null)
21-
{
22-
continue;
23-
}
24-
25-
var labels = new List<string>();
26-
foreach (var key in item.Spec.Selector)
27-
{
28-
labels.Add(key.Key + "=" + key.Value);
29-
}
16+
continue;
17+
}
3018

31-
var labelStr = string.Join(",", labels.ToArray());
32-
Console.WriteLine(labelStr);
33-
var podList = client.CoreV1.ListNamespacedPod("default", labelSelector: labelStr);
34-
foreach (var pod in podList.Items)
35-
{
36-
Console.WriteLine(pod.Metadata.Name);
37-
}
19+
var labels = new List<string>();
20+
foreach (var key in item.Spec.Selector)
21+
{
22+
labels.Add(key.Key + "=" + key.Value);
23+
}
3824

39-
if (podList.Items.Count == 0)
40-
{
41-
Console.WriteLine("Empty!");
42-
}
25+
var labelStr = string.Join(",", labels.ToArray());
26+
Console.WriteLine(labelStr);
27+
var podList = client.CoreV1.ListNamespacedPod("default", labelSelector: labelStr);
28+
foreach (var pod in podList.Items)
29+
{
30+
Console.WriteLine(pod.Metadata.Name);
31+
}
4332

44-
Console.WriteLine();
45-
}
46-
}
33+
if (podList.Items.Count == 0)
34+
{
35+
Console.WriteLine("Empty!");
4736
}
37+
38+
Console.WriteLine();
4839
}

examples/logs/Logs.cs

Lines changed: 15 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,21 @@
11
using k8s;
22
using System;
3-
using System.Threading.Tasks;
43

5-
namespace logs
6-
{
7-
internal class Logs
8-
{
9-
private static async Task Main(string[] args)
10-
{
11-
var config = KubernetesClientConfiguration.BuildConfigFromConfigFile();
12-
IKubernetes client = new Kubernetes(config);
13-
Console.WriteLine("Starting Request!");
4+
var config = KubernetesClientConfiguration.BuildConfigFromConfigFile();
5+
IKubernetes client = new Kubernetes(config);
6+
Console.WriteLine("Starting Request!");
147

15-
var list = client.CoreV1.ListNamespacedPod("default");
16-
if (list.Items.Count == 0)
17-
{
18-
Console.WriteLine("No pods!");
19-
return;
20-
}
8+
var list = client.CoreV1.ListNamespacedPod("default");
9+
if (list.Items.Count == 0)
10+
{
11+
Console.WriteLine("No pods!");
12+
return;
13+
}
2114

22-
var pod = list.Items[0];
15+
var pod = list.Items[0];
2316

24-
var response = await client.CoreV1.ReadNamespacedPodLogWithHttpMessagesAsync(
25-
pod.Metadata.Name,
26-
pod.Metadata.NamespaceProperty, container: pod.Spec.Containers[0].Name, follow: true).ConfigureAwait(false);
27-
var stream = response.Body;
28-
stream.CopyTo(Console.OpenStandardOutput());
29-
}
30-
}
31-
}
17+
var response = await client.CoreV1.ReadNamespacedPodLogWithHttpMessagesAsync(
18+
pod.Metadata.Name,
19+
pod.Metadata.NamespaceProperty, container: pod.Spec.Containers[0].Name, follow: true).ConfigureAwait(false);
20+
var stream = response.Body;
21+
stream.CopyTo(Console.OpenStandardOutput());

examples/metrics/Program.cs

Lines changed: 32 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -3,58 +3,49 @@
33
using System.Linq;
44
using System.Threading.Tasks;
55

6-
namespace metrics
6+
async Task NodesMetrics(IKubernetes client)
77
{
8-
internal class Program
8+
var nodesMetrics = await client.GetKubernetesNodesMetricsAsync().ConfigureAwait(false);
9+
10+
foreach (var item in nodesMetrics.Items)
911
{
10-
private static async Task NodesMetrics(IKubernetes client)
12+
Console.WriteLine(item.Metadata.Name);
13+
14+
foreach (var metric in item.Usage)
1115
{
12-
var nodesMetrics = await client.GetKubernetesNodesMetricsAsync().ConfigureAwait(false);
16+
Console.WriteLine($"{metric.Key}: {metric.Value}");
17+
}
18+
}
19+
}
1320

14-
foreach (var item in nodesMetrics.Items)
15-
{
16-
Console.WriteLine(item.Metadata.Name);
21+
async Task PodsMetrics(IKubernetes client)
22+
{
23+
var podsMetrics = await client.GetKubernetesPodsMetricsAsync().ConfigureAwait(false);
1724

18-
foreach (var metric in item.Usage)
19-
{
20-
Console.WriteLine($"{metric.Key}: {metric.Value}");
21-
}
22-
}
23-
}
25+
if (!podsMetrics.Items.Any())
26+
{
27+
Console.WriteLine("Empty");
28+
}
2429

25-
private static async Task PodsMetrics(IKubernetes client)
30+
foreach (var item in podsMetrics.Items)
31+
{
32+
foreach (var container in item.Containers)
2633
{
27-
var podsMetrics = await client.GetKubernetesPodsMetricsAsync().ConfigureAwait(false);
28-
29-
if (!podsMetrics.Items.Any())
30-
{
31-
Console.WriteLine("Empty");
32-
}
34+
Console.WriteLine(container.Name);
3335

34-
foreach (var item in podsMetrics.Items)
36+
foreach (var metric in container.Usage)
3537
{
36-
foreach (var container in item.Containers)
37-
{
38-
Console.WriteLine(container.Name);
39-
40-
foreach (var metric in container.Usage)
41-
{
42-
Console.WriteLine($"{metric.Key}: {metric.Value}");
43-
}
44-
}
45-
46-
Console.Write(Environment.NewLine);
38+
Console.WriteLine($"{metric.Key}: {metric.Value}");
4739
}
4840
}
4941

50-
private static async Task Main(string[] args)
51-
{
52-
var config = KubernetesClientConfiguration.BuildConfigFromConfigFile();
53-
var client = new Kubernetes(config);
54-
55-
await NodesMetrics(client).ConfigureAwait(false);
56-
Console.WriteLine(Environment.NewLine);
57-
await PodsMetrics(client).ConfigureAwait(false);
58-
}
42+
Console.Write(Environment.NewLine);
5943
}
6044
}
45+
46+
var config = KubernetesClientConfiguration.BuildConfigFromConfigFile();
47+
var client = new Kubernetes(config);
48+
49+
await NodesMetrics(client).ConfigureAwait(false);
50+
Console.WriteLine(Environment.NewLine);
51+
await PodsMetrics(client).ConfigureAwait(false);

0 commit comments

Comments
 (0)