Skip to content

Commit 90da0c8

Browse files
committed
feat: Update reflector options and dependencies
- Added `configuration.kubernetes.skipTlsVerify` parameter to helm deployment values - Added `KubernetesOptions` property to `ReflectorOptions` to support SkipTlsVerify - Updated package references for Autofac.Extensions.DependencyInjection, KubernetesClient, MediatR, Microsoft.AspNetCore.JsonPatch, Microsoft.VisualStudio.Azure.Containers.Tools.Targets, Serilog.Extensions.Hosting, Serilog.Extensions.Logging, and Serilog.Settings.Configuration
1 parent 064e55f commit 90da0c8

File tree

8 files changed

+57
-32
lines changed

8 files changed

+57
-32
lines changed

README.md

Lines changed: 24 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -32,29 +32,30 @@ $ helm upgrade --install reflector emberstack/reflector
3232

3333
You can customize the values of the helm deployment by using the following Values:
3434

35-
| Parameter | Description | Default |
36-
| ------------------------------------ | ------------------------------------------------ | ------------------------------------------------------- |
37-
| `nameOverride` | Overrides release name | `""` |
38-
| `fullnameOverride` | Overrides release fullname | `""` |
39-
| `image.repository` | Container image repository | `emberstack/kubernetes-reflector` |
40-
| `image.tag` | Container image tag | `Same as chart version` |
41-
| `image.pullPolicy` | Container image pull policy | `IfNotPresent` |
42-
| `configuration.logging.minimumLevel` | Logging minimum level | `Information` |
43-
| `configuration.watcher.timeout` | Maximum watcher lifetime in seconds | `` |
44-
| `rbac.enabled` | Create and use RBAC resources | `true` |
45-
| `serviceAccount.create` | Create ServiceAccount | `true` |
46-
| `serviceAccount.name` | ServiceAccount name | _release name_ |
47-
| `livenessProbe.initialDelaySeconds` | `livenessProbe` initial delay | `5` |
48-
| `livenessProbe.periodSeconds` | `livenessProbe` period | `10` |
49-
| `readinessProbe.initialDelaySeconds` | `readinessProbe` initial delay | `5` |
50-
| `readinessProbe.periodSeconds` | `readinessProbe` period | `10` |
51-
| `startupProbe.failureThreshold` | `startupProbe` failure threshold | `10` |
52-
| `startupProbe.periodSeconds` | `startupProbe` period | `5` |
53-
| `resources` | Resource limits | `{}` |
54-
| `nodeSelector` | Node labels for pod assignment | `{}` |
55-
| `tolerations` | Toleration labels for pod assignment | `[]` |
56-
| `affinity` | Node affinity for pod assignment | `{}` |
57-
| `priorityClassName` | `priorityClassName` for pods | `""` |
35+
| Parameter | Description | Default |
36+
| ---------------------------------------- | ------------------------------------------------ | ------------------------------------------------------- |
37+
| `nameOverride` | Overrides release name | `""` |
38+
| `fullnameOverride` | Overrides release fullname | `""` |
39+
| `image.repository` | Container image repository | `emberstack/kubernetes-reflector` |
40+
| `image.tag` | Container image tag | `Same as chart version` |
41+
| `image.pullPolicy` | Container image pull policy | `IfNotPresent` |
42+
| `configuration.logging.minimumLevel` | Logging minimum level | `Information` |
43+
| `configuration.watcher.timeout` | Maximum watcher lifetime in seconds | `` |
44+
| `configuration.kubernetes.skipTlsVerify` | Skip TLS verify when connecting the the cluster | `false` |
45+
| `rbac.enabled` | Create and use RBAC resources | `true` |
46+
| `serviceAccount.create` | Create ServiceAccount | `true` |
47+
| `serviceAccount.name` | ServiceAccount name | _release name_ |
48+
| `livenessProbe.initialDelaySeconds` | `livenessProbe` initial delay | `5` |
49+
| `livenessProbe.periodSeconds` | `livenessProbe` period | `10` |
50+
| `readinessProbe.initialDelaySeconds` | `readinessProbe` initial delay | `5` |
51+
| `readinessProbe.periodSeconds` | `readinessProbe` period | `10` |
52+
| `startupProbe.failureThreshold` | `startupProbe` failure threshold | `10` |
53+
| `startupProbe.periodSeconds` | `startupProbe` period | `5` |
54+
| `resources` | Resource limits | `{}` |
55+
| `nodeSelector` | Node labels for pod assignment | `{}` |
56+
| `tolerations` | Toleration labels for pod assignment | `[]` |
57+
| `affinity` | Node affinity for pod assignment | `{}` |
58+
| `priorityClassName` | `priorityClassName` for pods | `""` |
5859

5960
> Find us on [Artifact Hub](https://artifacthub.io/packages/helm/emberstack/reflector)
6061
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
namespace ES.Kubernetes.Reflector.Core.Configuration;
2+
3+
public class KubernetesOptions
4+
{
5+
public bool? SkipTlsVerify { get; set; }
6+
}

src/ES.Kubernetes.Reflector/Core/Configuration/ReflectorOptions.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,5 @@
33
public class ReflectorOptions
44
{
55
public WatcherOptions? Watcher { get; set; }
6+
public KubernetesOptions? Kubernetes { get; set; }
67
}

src/ES.Kubernetes.Reflector/ES.Kubernetes.Reflector.csproj

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,13 @@
1010

1111
<ItemGroup>
1212
<PackageReference Include="Autofac.Extensions.DependencyInjection" Version="8.0.0" />
13-
<PackageReference Include="KubernetesClient" Version="10.1.4" />
14-
<PackageReference Include="MediatR" Version="12.0.1" />
15-
<PackageReference Include="Microsoft.AspNetCore.JsonPatch" Version="7.0.3" />
16-
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.17.0" />
17-
<PackageReference Include="Serilog.Extensions.Hosting" Version="5.0.1" />
18-
<PackageReference Include="Serilog.Extensions.Logging" Version="3.1.0" />
19-
<PackageReference Include="Serilog.Settings.Configuration" Version="3.4.0" />
13+
<PackageReference Include="KubernetesClient" Version="12.0.16" />
14+
<PackageReference Include="MediatR" Version="12.1.1" />
15+
<PackageReference Include="Microsoft.AspNetCore.JsonPatch" Version="7.0.11" />
16+
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.19.5" />
17+
<PackageReference Include="Serilog.Extensions.Hosting" Version="7.0.0" />
18+
<PackageReference Include="Serilog.Extensions.Logging" Version="7.0.0" />
19+
<PackageReference Include="Serilog.Settings.Configuration" Version="7.0.1" />
2020
<PackageReference Include="Serilog.Sinks.Console" Version="4.1.0" />
2121
</ItemGroup>
2222

src/ES.Kubernetes.Reflector/Program.cs

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
using ES.Kubernetes.Reflector.Core;
44
using ES.Kubernetes.Reflector.Core.Configuration;
55
using k8s;
6+
using Microsoft.Extensions.Options;
67
using Serilog;
78

89
Log.Logger = new LoggerConfiguration()
@@ -40,18 +41,27 @@
4041
builder.Services.AddMediatR(config => config.RegisterServicesFromAssembly(typeof(void).Assembly));
4142
builder.Services.AddControllers();
4243

43-
builder.Services.AddSingleton<KubernetesClientConfiguration>(_ =>
44+
builder.Services.Configure<ReflectorOptions>(builder.Configuration.GetSection("Reflector"));
45+
46+
47+
builder.Services.AddSingleton<KubernetesClientConfiguration>(s =>
4448
{
49+
var reflectorOptions = s.GetRequiredService<IOptions<ReflectorOptions>>();
50+
4551
var config = KubernetesClientConfiguration.BuildDefaultConfig();
4652
config.HttpClientTimeout = TimeSpan.FromMinutes(30);
53+
if (reflectorOptions.Value.Kubernetes is not null)
54+
{
55+
config.SkipTlsVerify =
56+
reflectorOptions.Value.Kubernetes.SkipTlsVerify.GetValueOrDefault(false);
57+
}
4758
return config;
4859
});
4960

5061

5162
builder.Services.AddSingleton<IKubernetes>(s =>
5263
new Kubernetes(s.GetRequiredService<KubernetesClientConfiguration>()));
5364

54-
builder.Services.Configure<ReflectorOptions>(builder.Configuration.GetSection("Reflector"));
5565

5666

5767
builder.Host.ConfigureContainer((ContainerBuilder container) =>

src/ES.Kubernetes.Reflector/appsettings.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33
"Reflector": {
44
"Watcher": {
55
"Timeout": ""
6+
},
7+
"Kubernetes": {
8+
"SkipTlsVerify": false
69
}
710
}
811
}

src/helm/reflector/templates/deployment.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,8 @@ spec:
4949
value: {{ .Values.configuration.logging.minimumLevel | quote }}
5050
- name: ES_Reflector__Watcher__Timeout
5151
value: {{ .Values.configuration.watcher.timeout | quote }}
52+
- name: ES_Reflector__Kubernetes__SkipTlsVerify
53+
value: {{ .Values.configuration.kubernetes.skipTlsVerify | quote }}
5254
{{- with .Values.extraEnv }}
5355
{{- toYaml . | nindent 12 }}
5456
{{- end }}

src/helm/reflector/values.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@ configuration:
2727
minimumLevel: Information
2828
watcher:
2929
timeout: ""
30+
kubernetes:
31+
skipTlsVerify: false
3032

3133
rbac:
3234
enabled: true

0 commit comments

Comments
 (0)