Skip to content

Commit 9800711

Browse files
Merge branch 'kubernetes-client:master' into exec-hangs
2 parents 3cfbc94 + 729b10c commit 9800711

File tree

9 files changed

+51
-17
lines changed

9 files changed

+51
-17
lines changed

src/KubernetesClient.Classic/KubernetesClient.Classic.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
<ItemGroup>
99
<PackageReference Include="Portable.BouncyCastle" Version="1.9.0" />
10-
<PackageReference Include="System.IdentityModel.Tokens.Jwt" Version="6.28.1" />
10+
<PackageReference Include="System.IdentityModel.Tokens.Jwt" Version="6.29.0" />
1111
<PackageReference Include="IdentityModel.OidcClient" Version="5.2.1" />
1212
<PackageReference Include="Microsoft.Bcl.AsyncInterfaces" Version="7.0.0" />
1313
</ItemGroup>

src/KubernetesClient.Models/KubernetesClient.Models.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,6 @@
1313
<ItemGroup>
1414
<PackageReference Include="System.Text.Json" Version="7.0.2" />
1515
<PackageReference Include="Fractions" Version="7.2.1" />
16-
<PackageReference Include="YamlDotNet" Version="13.0.2" />
16+
<PackageReference Include="YamlDotNet" Version="13.1.0" />
1717
</ItemGroup>
1818
</Project>

src/KubernetesClient/Kubernetes.ConfigInit.cs

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -72,21 +72,19 @@ private void InitializeFromConfig(KubernetesClientConfiguration config)
7272
}
7373
else
7474
{
75-
if (CaCerts == null)
75+
if (CaCerts != null)
7676
{
77-
throw new KubeConfigException("A CA must be set when SkipTlsVerify === false");
78-
}
79-
8077
#if NET5_0_OR_GREATER
81-
HttpClientHandler.SslOptions.RemoteCertificateValidationCallback =
78+
HttpClientHandler.SslOptions.RemoteCertificateValidationCallback =
8279
#else
83-
HttpClientHandler.ServerCertificateCustomValidationCallback =
80+
HttpClientHandler.ServerCertificateCustomValidationCallback =
8481
#endif
85-
(sender, certificate, chain, sslPolicyErrors) =>
86-
{
87-
return CertificateValidationCallBack(sender, CaCerts, certificate, chain,
88-
sslPolicyErrors);
89-
};
82+
(sender, certificate, chain, sslPolicyErrors) =>
83+
{
84+
return CertificateValidationCallBack(sender, CaCerts, certificate, chain,
85+
sslPolicyErrors);
86+
};
87+
}
9088
}
9189
}
9290

src/KubernetesClient/KubernetesClient.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
<ItemGroup>
99
<PackageReference Include="prometheus-net" Version="8.0.0" />
10-
<PackageReference Include="System.IdentityModel.Tokens.Jwt" Version="6.28.1" />
10+
<PackageReference Include="System.IdentityModel.Tokens.Jwt" Version="6.29.0" />
1111
<PackageReference Include="IdentityModel.OidcClient" Version="5.2.1" />
1212
</ItemGroup>
1313

src/LibKubernetesGenerator/LibKubernetesGenerator.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
</ItemGroup>
1212

1313
<ItemGroup>
14-
<PackageReference Include="Autofac" Version="7.0.0" GeneratePathProperty="true" PrivateAssets="all" />
14+
<PackageReference Include="Autofac" Version="7.0.1" GeneratePathProperty="true" PrivateAssets="all" />
1515
<PackageReference Include="CaseExtensions" Version="1.1.0" GeneratePathProperty="true" PrivateAssets="all" />
1616
<PackageReference Include="NSwag.Core" Version="13.18.2" GeneratePathProperty="true" PrivateAssets="all" />
1717
<PackageReference Include="Nustache" Version="1.16.0.10" GeneratePathProperty="true" PrivateAssets="all" NoWarn="NU1701" />

tests/KubernetesClient.Classic.Tests/KubernetesClient.Classic.Tests.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
<PackageReference Include="MartinCostello.Logging.XUnit" Version="0.3.0" />
1111
<PackageReference Include="FluentAssertions" Version="6.10.0" />
1212
<PackageReference Include="Microsoft.Extensions.Logging" Version="7.0.0" />
13-
<PackageReference Include="System.IO.Abstractions.TestingHelpers" Version="19.2.8" />
13+
<PackageReference Include="System.IO.Abstractions.TestingHelpers" Version="19.2.11" />
1414
<PackageReference Include="System.Reactive" Version="5.0.0" />
1515
<PackageReference Include="Nito.AsyncEx" Version="5.1.2" />
1616
<PackageReference Include="Portable.BouncyCastle" Version="1.9.0" />

tests/KubernetesClient.Tests/KubernetesClient.Tests.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
<PackageReference Include="MartinCostello.Logging.XUnit" Version="0.3.0" />
1010
<PackageReference Include="FluentAssertions" Version="6.10.0" />
1111
<PackageReference Include="Microsoft.Extensions.Logging" Version="7.0.0" />
12-
<PackageReference Include="System.IO.Abstractions.TestingHelpers" Version="19.2.8" />
12+
<PackageReference Include="System.IO.Abstractions.TestingHelpers" Version="19.2.11" />
1313
<PackageReference Include="System.Reactive" Version="5.0.0" />
1414
<PackageReference Include="Nito.AsyncEx" Version="5.1.2" />
1515
<PackageReference Include="Portable.BouncyCastle" Version="1.9.0" />

tests/KubernetesClient.Tests/KubernetesClientConfigurationTests.cs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,20 @@ public void CheckClusterTlsSkipCorrectness()
138138
Assert.True(cfg.SkipTlsVerify);
139139
}
140140

141+
/// <summary>
142+
/// Checks that a KubeConfigException is not thrown when no certificate-authority-data is set and user do not require tls
143+
/// skip
144+
/// </summary>
145+
[Fact]
146+
public void CheckClusterTlsNoSkipCorrectness()
147+
{
148+
var fi = new FileInfo("assets/kubeconfig.tls-no-skip.yml");
149+
var cfg = KubernetesClientConfiguration.BuildConfigFromConfigFile(fi);
150+
Assert.NotNull(cfg.Host);
151+
Assert.Null(cfg.SslCaCerts);
152+
Assert.False(cfg.SkipTlsVerify);
153+
}
154+
141155
/// <summary>
142156
/// Checks that a KubeConfigException is thrown when the cluster defined in clusters and contexts do not match
143157
/// </summary>
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# Sample file based on https://kubernetes.io/docs/tasks/access-application-cluster/authenticate-across-clusters-kubeconfig/
2+
# WARNING: File includes minor fixes
3+
---
4+
current-context: federal-context
5+
apiVersion: v1
6+
clusters:
7+
- cluster:
8+
insecure-skip-tls-verify: false
9+
server: https://horse.org:443
10+
name: horse-cluster
11+
contexts:
12+
- context:
13+
cluster: horse-cluster
14+
namespace: chisel-ns
15+
user: green-user
16+
name: federal-context
17+
kind: Config
18+
users:
19+
- name: green-user
20+
user:
21+
password: secret
22+
username: admin

0 commit comments

Comments
 (0)