Skip to content

Commit fcf8e37

Browse files
committed
feat: explicit image overrides for syslog-ng containers
Signed-off-by: Peter Wilcsinszky <[email protected]>
1 parent 922a9ec commit fcf8e37

File tree

12 files changed

+246
-35
lines changed

12 files changed

+246
-35
lines changed

charts/logging-operator/crds/logging.banzaicloud.io_loggings.yaml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13020,6 +13020,13 @@ spec:
1302013020
timeout:
1302113021
type: string
1302213022
type: object
13023+
bufferVolumeMetricsImage:
13024+
properties:
13025+
repository:
13026+
type: string
13027+
tag:
13028+
type: string
13029+
type: object
1302313030
bufferVolumeMetricsService:
1302413031
properties:
1302513032
metadata:
@@ -16664,6 +16671,13 @@ spec:
1666416671
type: object
1666516672
type: array
1666616673
type: object
16674+
configReloadImage:
16675+
properties:
16676+
repository:
16677+
type: string
16678+
tag:
16679+
type: string
16680+
type: object
1666716681
globalOptions:
1666816682
properties:
1666916683
log_level:
@@ -16938,6 +16952,13 @@ spec:
1693816952
timeout:
1693916953
type: string
1694016954
type: object
16955+
metricsExporterImage:
16956+
properties:
16957+
repository:
16958+
type: string
16959+
tag:
16960+
type: string
16961+
type: object
1694116962
metricsService:
1694216963
properties:
1694316964
metadata:
@@ -20962,6 +20983,13 @@ spec:
2096220983
type: array
2096320984
type: object
2096420985
type: object
20986+
syslogNGImage:
20987+
properties:
20988+
repository:
20989+
type: string
20990+
tag:
20991+
type: string
20992+
type: object
2096520993
tls:
2096620994
properties:
2096720995
enabled:

charts/logging-operator/crds/logging.banzaicloud.io_syslogngconfigs.yaml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -280,6 +280,13 @@ spec:
280280
timeout:
281281
type: string
282282
type: object
283+
bufferVolumeMetricsImage:
284+
properties:
285+
repository:
286+
type: string
287+
tag:
288+
type: string
289+
type: object
283290
bufferVolumeMetricsService:
284291
properties:
285292
metadata:
@@ -3924,6 +3931,13 @@ spec:
39243931
type: object
39253932
type: array
39263933
type: object
3934+
configReloadImage:
3935+
properties:
3936+
repository:
3937+
type: string
3938+
tag:
3939+
type: string
3940+
type: object
39273941
globalOptions:
39283942
properties:
39293943
log_level:
@@ -4198,6 +4212,13 @@ spec:
41984212
timeout:
41994213
type: string
42004214
type: object
4215+
metricsExporterImage:
4216+
properties:
4217+
repository:
4218+
type: string
4219+
tag:
4220+
type: string
4221+
type: object
42014222
metricsService:
42024223
properties:
42034224
metadata:
@@ -8222,6 +8243,13 @@ spec:
82228243
type: array
82238244
type: object
82248245
type: object
8246+
syslogNGImage:
8247+
properties:
8248+
repository:
8249+
type: string
8250+
tag:
8251+
type: string
8252+
type: object
82258253
tls:
82268254
properties:
82278255
enabled:

config/crd/bases/logging.banzaicloud.io_loggings.yaml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13020,6 +13020,13 @@ spec:
1302013020
timeout:
1302113021
type: string
1302213022
type: object
13023+
bufferVolumeMetricsImage:
13024+
properties:
13025+
repository:
13026+
type: string
13027+
tag:
13028+
type: string
13029+
type: object
1302313030
bufferVolumeMetricsService:
1302413031
properties:
1302513032
metadata:
@@ -16664,6 +16671,13 @@ spec:
1666416671
type: object
1666516672
type: array
1666616673
type: object
16674+
configReloadImage:
16675+
properties:
16676+
repository:
16677+
type: string
16678+
tag:
16679+
type: string
16680+
type: object
1666716681
globalOptions:
1666816682
properties:
1666916683
log_level:
@@ -16938,6 +16952,13 @@ spec:
1693816952
timeout:
1693916953
type: string
1694016954
type: object
16955+
metricsExporterImage:
16956+
properties:
16957+
repository:
16958+
type: string
16959+
tag:
16960+
type: string
16961+
type: object
1694116962
metricsService:
1694216963
properties:
1694316964
metadata:
@@ -20962,6 +20983,13 @@ spec:
2096220983
type: array
2096320984
type: object
2096420985
type: object
20986+
syslogNGImage:
20987+
properties:
20988+
repository:
20989+
type: string
20990+
tag:
20991+
type: string
20992+
type: object
2096520993
tls:
2096620994
properties:
2096720995
enabled:

config/crd/bases/logging.banzaicloud.io_syslogngconfigs.yaml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -280,6 +280,13 @@ spec:
280280
timeout:
281281
type: string
282282
type: object
283+
bufferVolumeMetricsImage:
284+
properties:
285+
repository:
286+
type: string
287+
tag:
288+
type: string
289+
type: object
283290
bufferVolumeMetricsService:
284291
properties:
285292
metadata:
@@ -3924,6 +3931,13 @@ spec:
39243931
type: object
39253932
type: array
39263933
type: object
3934+
configReloadImage:
3935+
properties:
3936+
repository:
3937+
type: string
3938+
tag:
3939+
type: string
3940+
type: object
39273941
globalOptions:
39283942
properties:
39293943
log_level:
@@ -4198,6 +4212,13 @@ spec:
41984212
timeout:
41994213
type: string
42004214
type: object
4215+
metricsExporterImage:
4216+
properties:
4217+
repository:
4218+
type: string
4219+
tag:
4220+
type: string
4221+
type: object
42014222
metricsService:
42024223
properties:
42034224
metadata:
@@ -8222,6 +8243,13 @@ spec:
82228243
type: array
82238244
type: object
82248245
type: object
8246+
syslogNGImage:
8247+
properties:
8248+
repository:
8249+
type: string
8250+
tag:
8251+
type: string
8252+
type: object
82258253
tls:
82268254
properties:
82278255
enabled:

docs/configuration/crds/v1beta1/common_types.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,17 @@ weight: 200
44
generated_file: true
55
---
66

7+
## BasicImageSpec
8+
9+
BasicImageSpec struct hold basic information about image specification
10+
11+
### repository (string, optional) {#basicimagespec-repository}
12+
13+
14+
### tag (string, optional) {#basicimagespec-tag}
15+
16+
17+
718
## ImageSpec
819

920
ImageSpec struct hold information about image specification

docs/configuration/crds/v1beta1/syslogng_types.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@ SyslogNGSpec defines the desired state of SyslogNG
1111
### bufferVolumeMetrics (*BufferMetrics, optional) {#syslogngspec-buffervolumemetrics}
1212

1313

14+
### bufferVolumeMetricsImage (*BasicImageSpec, optional) {#syslogngspec-buffervolumemetricsimage}
15+
16+
1417
### bufferVolumeMetricsService (*typeoverride.Service, optional) {#syslogngspec-buffervolumemetricsservice}
1518

1619

@@ -22,6 +25,9 @@ Overrides the default logging level configCheck setup. This field is not used di
2225
### configCheckPod (*typeoverride.PodSpec, optional) {#syslogngspec-configcheckpod}
2326

2427

28+
### configReloadImage (*BasicImageSpec, optional) {#syslogngspec-configreloadimage}
29+
30+
2531
### globalOptions (*GlobalOptions, optional) {#syslogngspec-globaloptions}
2632

2733

@@ -42,6 +48,9 @@ Available in Logging operator version 4.5 and later. Set the maximum number of c
4248
### metrics (*Metrics, optional) {#syslogngspec-metrics}
4349

4450

51+
### metricsExporterImage (*BasicImageSpec, optional) {#syslogngspec-metricsexporterimage}
52+
53+
4554
### metricsService (*typeoverride.Service, optional) {#syslogngspec-metricsservice}
4655

4756

@@ -70,6 +79,9 @@ Available in Logging operator version 4.5 and later. Create [custom log metrics
7079
### statefulSet (*typeoverride.StatefulSet, optional) {#syslogngspec-statefulset}
7180

7281

82+
### syslogNGImage (*BasicImageSpec, optional) {#syslogngspec-syslogngimage}
83+
84+
7385
### tls (SyslogNGTLS, optional) {#syslogngspec-tls}
7486

7587

pkg/resources/syslogng/configcheck.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,7 @@ func (r *Reconciler) newCheckPod(hashKey string) (*corev1.Pod, error) {
235235
Containers: []corev1.Container{
236236
{
237237
Name: "syslog-ng",
238-
Image: v1beta1.RepositoryWithTag(syslogngImageRepository, syslogngImageTag),
238+
Image: r.syslogNGSpec.SyslogNGImage.RepositoryWithTag(),
239239
ImagePullPolicy: corev1.PullIfNotPresent,
240240
Command: containerCommand,
241241
Args: containerArgs,

pkg/resources/syslogng/statefulset.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ func (r *Reconciler) statefulset() (runtime.Object, reconciler.DesiredState, err
101101
func syslogNGContainer(spec *v1beta1.SyslogNGSpec) corev1.Container {
102102
return corev1.Container{
103103
Name: ContainerName,
104-
Image: v1beta1.RepositoryWithTag(syslogngImageRepository, syslogngImageTag),
104+
Image: spec.SyslogNGImage.RepositoryWithTag(),
105105
ImagePullPolicy: corev1.PullIfNotPresent,
106106
Ports: []corev1.ContainerPort{{
107107
Name: "syslog-ng-tcp",
@@ -232,7 +232,7 @@ func (r *Reconciler) syslogNGMetricsSidecarContainer() *corev1.Container {
232232
return &corev1.Container{
233233
Name: "exporter",
234234
ImagePullPolicy: corev1.PullIfNotPresent,
235-
Image: v1beta1.RepositoryWithTag(prometheusExporterImageRepository, prometheusExporterImageTag),
235+
Image: r.syslogNGSpec.MetricsExporterImage.RepositoryWithTag(),
236236
Ports: []corev1.ContainerPort{
237237
{
238238
Name: metricsPortName,
@@ -269,7 +269,7 @@ func (r *Reconciler) bufferMetricsSidecarContainer() *corev1.Container {
269269

270270
return &corev1.Container{
271271
Name: "buffer-metrics-sidecar",
272-
Image: v1beta1.RepositoryWithTag(bufferVolumeImageRepository, bufferVolumeImageTag),
272+
Image: r.syslogNGSpec.BufferVolumeMetricsImage.RepositoryWithTag(),
273273
ImagePullPolicy: corev1.PullIfNotPresent,
274274
Args: []string{
275275
"--port", "7358",
@@ -366,7 +366,7 @@ func configReloadContainer(spec *v1beta1.SyslogNGSpec) corev1.Container {
366366
// TODO: ADD TLS reload watch
367367
container := corev1.Container{
368368
Name: "config-reloader",
369-
Image: v1beta1.RepositoryWithTag(configReloaderImageRepository, configReloaderImageTag),
369+
Image: spec.ConfigReloadImage.RepositoryWithTag(),
370370
ImagePullPolicy: corev1.PullIfNotPresent,
371371
Args: []string{
372372
"-cfgjson",

pkg/resources/syslogng/syslogng.go

Lines changed: 22 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -36,36 +36,28 @@ import (
3636
)
3737

3838
const (
39-
ServiceName = "syslog-ng"
40-
ServicePort = 601
41-
configSecretName = "syslog-ng"
42-
configKey = "syslog-ng.conf"
43-
StatefulSetName = "syslog-ng"
44-
outputSecretName = "syslog-ng-output"
45-
OutputSecretPath = "/etc/syslog-ng/secret"
46-
BufferPath = "/buffers"
47-
serviceAccountName = "syslog-ng"
48-
roleBindingName = "syslog-ng"
49-
roleName = "syslog-ng"
50-
clusterRoleBindingName = "syslog-ng"
51-
clusterRoleName = "syslog-ng"
52-
ContainerName = "syslog-ng"
53-
defaultBufferVolumeMetricsPort = 9200
54-
syslogngImageRepository = "ghcr.io/axoflow/axosyslog"
55-
syslogngImageTag = "4.8.1-1"
56-
prometheusExporterImageRepository = "ghcr.io/axoflow/axosyslog-metrics-exporter"
57-
prometheusExporterImageTag = "0.0.7"
58-
bufferVolumeImageRepository = "ghcr.io/kube-logging/node-exporter"
59-
bufferVolumeImageTag = "v0.8.0"
60-
configReloaderImageRepository = "ghcr.io/kube-logging/syslogng-reload"
61-
configReloaderImageTag = "v1.5.0"
62-
socketVolumeName = "socket"
63-
socketPath = "/tmp/syslog-ng/syslog-ng.ctl"
64-
configDir = "/etc/syslog-ng/config"
65-
configVolumeName = "config"
66-
tlsVolumeName = "tls"
67-
metricsPortNumber = 9577
68-
metricsPortName = "exporter"
39+
ServiceName = "syslog-ng"
40+
ServicePort = 601
41+
configSecretName = "syslog-ng"
42+
configKey = "syslog-ng.conf"
43+
StatefulSetName = "syslog-ng"
44+
outputSecretName = "syslog-ng-output"
45+
OutputSecretPath = "/etc/syslog-ng/secret"
46+
BufferPath = "/buffers"
47+
serviceAccountName = "syslog-ng"
48+
roleBindingName = "syslog-ng"
49+
roleName = "syslog-ng"
50+
clusterRoleBindingName = "syslog-ng"
51+
clusterRoleName = "syslog-ng"
52+
ContainerName = "syslog-ng"
53+
defaultBufferVolumeMetricsPort = 9200
54+
socketVolumeName = "socket"
55+
socketPath = "/tmp/syslog-ng/syslog-ng.ctl"
56+
configDir = "/etc/syslog-ng/config"
57+
configVolumeName = "config"
58+
tlsVolumeName = "tls"
59+
metricsPortNumber = 9577
60+
metricsPortName = "exporter"
6961
)
7062

7163
// Reconciler holds info what resource to reconcile

0 commit comments

Comments
 (0)