Skip to content

Commit d6bc243

Browse files
authored
Merge branch 'main' into bloom
2 parents fd2b982 + 073c94c commit d6bc243

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+604
-285
lines changed

operator/.golangci.yaml

+3-9
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
# golangci.com configuration
3-
# https://github.com/golangci/golangci/wiki/Configuration
3+
# https://golangci-lint.run/usage/configuration/
44
linters-settings:
55
copyloopvar:
66
check-alias: true
@@ -12,9 +12,8 @@ linters-settings:
1212
- blank
1313
- dot
1414
govet:
15-
shadow: true
16-
maligned:
17-
suggest-new: true
15+
enable:
16+
- shadow
1817
misspell:
1918
locale: US
2019
revive:
@@ -43,8 +42,3 @@ linters:
4342

4443
issues:
4544
exclude-use-default: false
46-
exclude-rules:
47-
# - text: "could be of size"
48-
# path: api/v1beta1/lokistack_types.go
49-
# linters:
50-
# - maligned

operator/Makefile

+1
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,7 @@ scorecard: generate go-generate bundle-all ## Run scorecard tests for all bundle
177177

178178
.PHONY: lint
179179
lint: $(GOLANGCI_LINT) | generate ## Run golangci-lint on source code.
180+
$(GOLANGCI_LINT) config verify
180181
$(GOLANGCI_LINT) run --timeout=5m ./...
181182

182183
.PHONY: lint-fix

operator/bundle/community-openshift/manifests/loki-operator.clusterserviceversion.yaml

+3-3
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ metadata:
150150
categories: OpenShift Optional, Logging & Tracing
151151
certified: "false"
152152
containerImage: docker.io/grafana/loki-operator:0.7.1
153-
createdAt: "2025-01-28T16:41:41Z"
153+
createdAt: "2025-02-18T18:01:36Z"
154154
description: The Community Loki Operator provides Kubernetes native deployment
155155
and management of Loki and related logging components.
156156
features.operators.openshift.io/disconnected: "true"
@@ -1850,7 +1850,7 @@ spec:
18501850
- /manager
18511851
env:
18521852
- name: RELATED_IMAGE_LOKI
1853-
value: docker.io/grafana/loki:3.3.2
1853+
value: docker.io/grafana/loki:3.4.2
18541854
- name: RELATED_IMAGE_GATEWAY
18551855
value: quay.io/observatorium/api:latest
18561856
- name: RELATED_IMAGE_OPA
@@ -1980,7 +1980,7 @@ spec:
19801980
provider:
19811981
name: Grafana Loki SIG Operator
19821982
relatedImages:
1983-
- image: docker.io/grafana/loki:3.3.2
1983+
- image: docker.io/grafana/loki:3.4.2
19841984
name: loki
19851985
- image: quay.io/observatorium/api:latest
19861986
name: gateway

operator/bundle/community/manifests/loki-operator.clusterserviceversion.yaml

+3-3
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ metadata:
150150
categories: OpenShift Optional, Logging & Tracing
151151
certified: "false"
152152
containerImage: docker.io/grafana/loki-operator:0.7.1
153-
createdAt: "2025-01-28T16:41:37Z"
153+
createdAt: "2025-02-18T18:01:33Z"
154154
description: The Community Loki Operator provides Kubernetes native deployment
155155
and management of Loki and related logging components.
156156
operators.operatorframework.io/builder: operator-sdk-unknown
@@ -1830,7 +1830,7 @@ spec:
18301830
- /manager
18311831
env:
18321832
- name: RELATED_IMAGE_LOKI
1833-
value: docker.io/grafana/loki:3.3.2
1833+
value: docker.io/grafana/loki:3.4.2
18341834
- name: RELATED_IMAGE_GATEWAY
18351835
value: quay.io/observatorium/api:latest
18361836
- name: RELATED_IMAGE_OPA
@@ -1948,7 +1948,7 @@ spec:
19481948
provider:
19491949
name: Grafana Loki SIG Operator
19501950
relatedImages:
1951-
- image: docker.io/grafana/loki:3.3.2
1951+
- image: docker.io/grafana/loki:3.4.2
19521952
name: loki
19531953
- image: quay.io/observatorium/api:latest
19541954
name: gateway

operator/bundle/openshift/manifests/loki-operator.clusterserviceversion.yaml

+3-3
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ metadata:
150150
categories: OpenShift Optional, Logging & Tracing
151151
certified: "false"
152152
containerImage: quay.io/openshift-logging/loki-operator:0.1.0
153-
createdAt: "2025-01-28T16:41:44Z"
153+
createdAt: "2025-02-18T18:01:39Z"
154154
description: |
155155
The Loki Operator for OCP provides a means for configuring and managing a Loki stack for cluster logging.
156156
## Prerequisites and Requirements
@@ -1835,7 +1835,7 @@ spec:
18351835
- /manager
18361836
env:
18371837
- name: RELATED_IMAGE_LOKI
1838-
value: quay.io/openshift-logging/loki:v3.3.2
1838+
value: quay.io/openshift-logging/loki:v3.4.2
18391839
- name: RELATED_IMAGE_GATEWAY
18401840
value: quay.io/observatorium/api:latest
18411841
- name: RELATED_IMAGE_OPA
@@ -1959,7 +1959,7 @@ spec:
19591959
provider:
19601960
name: Red Hat
19611961
relatedImages:
1962-
- image: quay.io/openshift-logging/loki:v3.3.2
1962+
- image: quay.io/openshift-logging/loki:v3.4.2
19631963
name: loki
19641964
- image: quay.io/observatorium/api:latest
19651965
name: gateway

operator/config/overlays/community-openshift/manager_related_image_patch.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ spec:
99
- name: manager
1010
env:
1111
- name: RELATED_IMAGE_LOKI
12-
value: docker.io/grafana/loki:3.3.2
12+
value: docker.io/grafana/loki:3.4.2
1313
- name: RELATED_IMAGE_GATEWAY
1414
value: quay.io/observatorium/api:latest
1515
- name: RELATED_IMAGE_OPA

operator/config/overlays/community/manager_related_image_patch.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ spec:
99
- name: manager
1010
env:
1111
- name: RELATED_IMAGE_LOKI
12-
value: docker.io/grafana/loki:3.3.2
12+
value: docker.io/grafana/loki:3.4.2
1313
- name: RELATED_IMAGE_GATEWAY
1414
value: quay.io/observatorium/api:latest
1515
- name: RELATED_IMAGE_OPA

operator/config/overlays/development/manager_related_image_patch.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,6 @@ spec:
99
- name: manager
1010
env:
1111
- name: RELATED_IMAGE_LOKI
12-
value: docker.io/grafana/loki:3.3.2
12+
value: docker.io/grafana/loki:3.4.2
1313
- name: RELATED_IMAGE_GATEWAY
1414
value: quay.io/observatorium/api:latest

operator/config/overlays/openshift/manager_related_image_patch.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ spec:
99
- name: manager
1010
env:
1111
- name: RELATED_IMAGE_LOKI
12-
value: quay.io/openshift-logging/loki:v3.3.2
12+
value: quay.io/openshift-logging/loki:v3.4.2
1313
- name: RELATED_IMAGE_GATEWAY
1414
value: quay.io/observatorium/api:latest
1515
- name: RELATED_IMAGE_OPA

operator/docs/operator/compatibility.md

+1
Original file line numberDiff line numberDiff line change
@@ -32,3 +32,4 @@ The versions of Loki compatible to be run with the Loki Operator are:
3232
* v3.2.0
3333
* v3.2.1
3434
* v3.3.2
35+
* v3.4.2

operator/hack/addons_dev.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ spec:
2929
spec:
3030
containers:
3131
- name: logcli
32-
image: docker.io/grafana/logcli:3.3.2-amd64
32+
image: docker.io/grafana/logcli:3.4.2-amd64
3333
imagePullPolicy: IfNotPresent
3434
command:
3535
- /bin/sh
@@ -73,7 +73,7 @@ spec:
7373
spec:
7474
containers:
7575
- name: promtail
76-
image: docker.io/grafana/promtail:3.3.2
76+
image: docker.io/grafana/promtail:3.4.2
7777
args:
7878
- -config.file=/etc/promtail/promtail.yaml
7979
- -log.level=info

operator/hack/addons_ocp.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ spec:
2929
spec:
3030
containers:
3131
- name: logcli
32-
image: docker.io/grafana/logcli:3.3.2-amd64
32+
image: docker.io/grafana/logcli:3.4.2-amd64
3333
imagePullPolicy: IfNotPresent
3434
command:
3535
- /bin/sh
@@ -70,7 +70,7 @@ spec:
7070
spec:
7171
containers:
7272
- name: promtail
73-
image: docker.io/grafana/promtail:3.3.2
73+
image: docker.io/grafana/promtail:3.4.2
7474
args:
7575
- -config.file=/etc/promtail/promtail.yaml
7676
- -log.level=info

operator/internal/manifests/storage/configure.go

+48-18
Original file line numberDiff line numberDiff line change
@@ -29,17 +29,23 @@ var (
2929
// based on the object storage type. Currently supported amendments:
3030
// - All: Ensure object storage secret mounted and auth projected as env vars.
3131
// - GCS: Ensure env var GOOGLE_APPLICATION_CREDENTIALS in container
32-
// - S3: Ensure mounting custom CA configmap if any TLSConfig given
32+
// - S3 & Swift: Ensure mounting custom CA configmap if any TLSConfig given
3333
func ConfigureDeployment(d *appsv1.Deployment, opts Options) error {
3434
switch opts.SharedStore {
35-
case lokiv1.ObjectStorageSecretAlibabaCloud, lokiv1.ObjectStorageSecretAzure, lokiv1.ObjectStorageSecretGCS, lokiv1.ObjectStorageSecretSwift:
35+
case lokiv1.ObjectStorageSecretAlibabaCloud, lokiv1.ObjectStorageSecretAzure, lokiv1.ObjectStorageSecretGCS:
3636
return configureDeployment(d, opts)
3737
case lokiv1.ObjectStorageSecretS3:
3838
err := configureDeployment(d, opts)
3939
if err != nil {
4040
return err
4141
}
42-
return configureDeploymentCA(d, opts.TLS)
42+
return configureDeploymentCA(d, opts.TLS, lokiv1.ObjectStorageSecretS3)
43+
case lokiv1.ObjectStorageSecretSwift:
44+
err := configureDeployment(d, opts)
45+
if err != nil {
46+
return err
47+
}
48+
return configureDeploymentCA(d, opts.TLS, lokiv1.ObjectStorageSecretSwift)
4349
default:
4450
return nil
4551
}
@@ -49,16 +55,21 @@ func ConfigureDeployment(d *appsv1.Deployment, opts Options) error {
4955
// based on the object storage type. Currently supported amendments:
5056
// - All: Ensure object storage secret mounted and auth projected as env vars.
5157
// - GCS: Ensure env var GOOGLE_APPLICATION_CREDENTIALS in container
52-
// - S3: Ensure mounting custom CA configmap if any TLSConfig given
58+
// - S3 & Swift: Ensure mounting custom CA configmap if any TLSConfig given
5359
func ConfigureStatefulSet(d *appsv1.StatefulSet, opts Options) error {
5460
switch opts.SharedStore {
55-
case lokiv1.ObjectStorageSecretAlibabaCloud, lokiv1.ObjectStorageSecretAzure, lokiv1.ObjectStorageSecretGCS, lokiv1.ObjectStorageSecretSwift:
61+
case lokiv1.ObjectStorageSecretAlibabaCloud, lokiv1.ObjectStorageSecretAzure, lokiv1.ObjectStorageSecretGCS:
5662
return configureStatefulSet(d, opts)
5763
case lokiv1.ObjectStorageSecretS3:
5864
if err := configureStatefulSet(d, opts); err != nil {
5965
return err
6066
}
61-
return configureStatefulSetCA(d, opts.TLS)
67+
return configureStatefulSetCA(d, opts.TLS, lokiv1.ObjectStorageSecretS3)
68+
case lokiv1.ObjectStorageSecretSwift:
69+
if err := configureStatefulSet(d, opts); err != nil {
70+
return err
71+
}
72+
return configureStatefulSetCA(d, opts.TLS, lokiv1.ObjectStorageSecretSwift)
6273
default:
6374
return nil
6475
}
@@ -75,16 +86,22 @@ func configureDeployment(d *appsv1.Deployment, opts Options) error {
7586
return nil
7687
}
7788

78-
// ConfigureDeploymentCA merges a S3 CA ConfigMap volume into the deployment spec.
79-
func configureDeploymentCA(d *appsv1.Deployment, tls *TLSConfig) error {
89+
// ConfigureDeploymentCA merges a S3 or Swift CA ConfigMap volume into the deployment spec.
90+
func configureDeploymentCA(d *appsv1.Deployment, tls *TLSConfig, secretType lokiv1.ObjectStorageSecretType) error {
8091
if tls == nil {
8192
return nil
8293
}
8394

84-
p := ensureCAForS3(&d.Spec.Template.Spec, tls)
95+
var p corev1.PodSpec
96+
switch secretType {
97+
case lokiv1.ObjectStorageSecretS3:
98+
p = ensureCAForObjectStorage(&d.Spec.Template.Spec, tls, lokiv1.ObjectStorageSecretS3)
99+
case lokiv1.ObjectStorageSecretSwift:
100+
p = ensureCAForObjectStorage(&d.Spec.Template.Spec, tls, lokiv1.ObjectStorageSecretSwift)
101+
}
85102

86103
if err := mergo.Merge(&d.Spec.Template.Spec, p, mergo.WithOverride); err != nil {
87-
return kverrors.Wrap(err, "failed to merge s3 object storage ca options ")
104+
return kverrors.Wrap(err, "failed to merge object storage ca options ")
88105
}
89106

90107
return nil
@@ -101,16 +118,22 @@ func configureStatefulSet(s *appsv1.StatefulSet, opts Options) error {
101118
return nil
102119
}
103120

104-
// ConfigureStatefulSetCA merges a S3 CA ConfigMap volume into the statefulset spec.
105-
func configureStatefulSetCA(s *appsv1.StatefulSet, tls *TLSConfig) error {
121+
// ConfigureStatefulSetCA merges a S3 or Swift CA ConfigMap volume into the statefulset spec.
122+
func configureStatefulSetCA(s *appsv1.StatefulSet, tls *TLSConfig, secretType lokiv1.ObjectStorageSecretType) error {
106123
if tls == nil {
107124
return nil
108125
}
126+
var p corev1.PodSpec
109127

110-
p := ensureCAForS3(&s.Spec.Template.Spec, tls)
128+
switch secretType {
129+
case lokiv1.ObjectStorageSecretS3:
130+
p = ensureCAForObjectStorage(&s.Spec.Template.Spec, tls, lokiv1.ObjectStorageSecretS3)
131+
case lokiv1.ObjectStorageSecretSwift:
132+
p = ensureCAForObjectStorage(&s.Spec.Template.Spec, tls, lokiv1.ObjectStorageSecretSwift)
133+
}
111134

112135
if err := mergo.Merge(&s.Spec.Template.Spec, p, mergo.WithOverride); err != nil {
113-
return kverrors.Wrap(err, "failed to merge s3 object storage ca options ")
136+
return kverrors.Wrap(err, "failed to merge object storage ca options ")
114137
}
115138

116139
return nil
@@ -254,7 +277,7 @@ func serverSideEncryption(opts Options) []corev1.EnvVar {
254277
}
255278
}
256279

257-
func ensureCAForS3(p *corev1.PodSpec, tls *TLSConfig) corev1.PodSpec {
280+
func ensureCAForObjectStorage(p *corev1.PodSpec, tls *TLSConfig, secretType lokiv1.ObjectStorageSecretType) corev1.PodSpec {
258281
container := p.Containers[0].DeepCopy()
259282
volumes := p.Volumes
260283

@@ -275,9 +298,16 @@ func ensureCAForS3(p *corev1.PodSpec, tls *TLSConfig) corev1.PodSpec {
275298
MountPath: caDirectory,
276299
})
277300

278-
container.Args = append(container.Args,
279-
fmt.Sprintf("-s3.http.ca-file=%s", path.Join(caDirectory, tls.Key)),
280-
)
301+
switch secretType {
302+
case lokiv1.ObjectStorageSecretS3:
303+
container.Args = append(container.Args,
304+
fmt.Sprintf("-s3.http.ca-file=%s", path.Join(caDirectory, tls.Key)),
305+
)
306+
case lokiv1.ObjectStorageSecretSwift:
307+
container.Args = append(container.Args,
308+
fmt.Sprintf("-swift.http.tls-ca-path=%s", path.Join(caDirectory, tls.Key)),
309+
)
310+
}
281311

282312
return corev1.PodSpec{
283313
Containers: []corev1.Container{

0 commit comments

Comments
 (0)