Skip to content

Commit 8d9b1ad

Browse files
authored
Merge branch 'fluxcd:main' into main
2 parents 5f60803 + 16a6075 commit 8d9b1ad

File tree

142 files changed

+1878
-4501
lines changed

Some content is hidden

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

142 files changed

+1878
-4501
lines changed

.github/workflows/build.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
2323
- name: Setup Go
2424
uses: actions/setup-go@v5
2525
with:
26-
go-version: 1.22.x
26+
go-version: 1.23.x
2727
cache-dependency-path: |
2828
**/go.sum
2929
**/go.mod
@@ -45,7 +45,7 @@ jobs:
4545
exit 1
4646
fi
4747
- name: Upload coverage to Codecov
48-
uses: codecov/codecov-action@v4
48+
uses: codecov/codecov-action@v5
4949
with:
5050
file: ./coverage.txt
5151
- name: Build container image

.github/workflows/e2e.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -39,14 +39,14 @@ jobs:
3939
- name: Checkout
4040
uses: actions/checkout@v4
4141
- name: Setup Kubernetes
42-
uses: helm/kind-action@v1.10.0
42+
uses: helm/kind-action@v1.12.0
4343
if: matrix.provider != 'skipper'
4444
with:
4545
version: v0.23.0
4646
cluster_name: kind
4747
node_image: kindest/node:v1.30.0@sha256:047357ac0cfea04663786a612ba1eaba9702bef25227a794b52890dd8bcd692e
4848
- name: Setup Kubernetes for skipper
49-
uses: helm/kind-action@v1.10.0
49+
uses: helm/kind-action@v1.12.0
5050
if: matrix.provider == 'skipper'
5151
with:
5252
version: v0.23.0

.github/workflows/push-ld.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
packages: write
1818
steps:
1919
- uses: actions/checkout@v4
20-
- uses: sigstore/cosign-installer@v3.5.0
20+
- uses: sigstore/cosign-installer@v3.7.0
2121
- name: Prepare
2222
id: prep
2323
run: |
@@ -45,7 +45,7 @@ jobs:
4545
type=raw,value=${{ steps.prep.outputs.VERSION }}
4646
- name: Publish image
4747
id: build-push
48-
uses: docker/build-push-action@v5
48+
uses: docker/build-push-action@v6
4949
with:
5050
push: true
5151
builder: ${{ steps.buildx.outputs.name }}

.github/workflows/release.yml

+5-5
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,9 @@ jobs:
3131
- name: Setup Go
3232
uses: actions/setup-go@v5
3333
with:
34-
go-version: 1.22.x
34+
go-version: 1.23.x
3535
- uses: fluxcd/flux2/action@main
36-
- uses: sigstore/cosign-installer@v3.5.0
36+
- uses: sigstore/cosign-installer@v3.7.0
3737
- name: Prepare
3838
id: prep
3939
run: |
@@ -67,7 +67,7 @@ jobs:
6767
type=raw,value=${{ steps.prep.outputs.VERSION }}
6868
- name: Publish image
6969
id: build-push
70-
uses: docker/build-push-action@v5
70+
uses: docker/build-push-action@v6
7171
with:
7272
sbom: true
7373
provenance: true
@@ -121,11 +121,11 @@ jobs:
121121
- uses: anchore/sbom-action/download-syft@v0
122122
- name: Create release and SBOM
123123
id: run-goreleaser
124-
uses: goreleaser/goreleaser-action@v5
124+
uses: goreleaser/goreleaser-action@v6
125125
if: startsWith(github.ref, 'refs/tags/v')
126126
with:
127127
version: latest
128-
args: release --release-notes=notes.md --rm-dist --skip-validate
128+
args: release --release-notes=notes.md --clean --skip=validate
129129
env:
130130
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
131131
- name: Generate SLSA metadata

.github/workflows/scan.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ jobs:
3434
- name: Setup Go
3535
uses: actions/setup-go@v5
3636
with:
37-
go-version: 1.22.x
37+
go-version: 1.23.x
3838
- name: Initialize CodeQL
3939
uses: github/codeql-action/init@v3
4040
with:

CHANGELOG.md

+56-1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,61 @@
22

33
All notable changes to this project are documented in this file.
44

5+
## 1.40.0
6+
7+
**Release date:** 2024-12-17
8+
9+
This release comes with support for Splunk Observability (formerly SignalFx) as a metrics provider.
10+
For more information on how to write `MetricTemplates` for Splunk, please see the
11+
[Splunk metrics tutorial](https://docs.flagger.app/usage/metrics#s#splunk).
12+
13+
Starting with this version, Flagger is compatible with the
14+
[AWS Gateway API Controller](https://www.gateway-api-controller.eks.aws.dev/latest/).
15+
16+
Both Flagger and the load tester Go dependencies have been updated to fix various CVEs.
17+
18+
#### Improvements
19+
- Add Splunk as a metrics provider
20+
[#1733](https://github.com/fluxcd/flagger/pull/1733)
21+
- Preserve HTTPRoute annotations injected by AWS Gateway API
22+
[#1746](https://github.com/fluxcd/flagger/pull/1746)
23+
- Automate `zz_generated.deepcopy.go` updates with make codegen
24+
[#1735](https://github.com/fluxcd/flagger/pull/1735)
25+
- Update dependencies
26+
[#1744](https://github.com/fluxcd/flagger/pull/1744)
27+
28+
## 1.39.0
29+
30+
**Release date:** 2024-11-26
31+
32+
This release comes with fixes and improvements. There is a new
33+
`.spec.analysis.webhooks[].disableTLS` field which disables TLS verification
34+
for that webhook request.
35+
A bug in the Gateway API provider was fixed which could lead to unecessary restarts.
36+
37+
This release is built with Go 1.23. Lastly, all Go dependencies, Alpine and
38+
Kubernetes libraries were updated.
39+
40+
#### Improvements
41+
- Add validation for `primaryScalerReplicas` field in the CRD
42+
[#1702](https://github.com/fluxcd/flagger/pull/1702)
43+
- feat: add `disableTLS` option for webhooks request
44+
[#1709](https://github.com/fluxcd/flagger/pull/1709)
45+
- Update dependencies to Kubernetes v1.31.3
46+
[#1723](https://github.com/fluxcd/flagger/pull/1723)
47+
- Update generated client for Kubernetes 1.31
48+
[#1725](https://github.com/fluxcd/flagger/pull/1725)
49+
- Build with Go 1.23
50+
[#1726](https://github.com/fluxcd/flagger/pull/1726)
51+
52+
#### Fixes
53+
- Gateway API: Sort header filters to avoid canary restarts
54+
[#1713](https://github.com/fluxcd/flagger/pull/1713)
55+
- fix: fix codegen script and update generated code
56+
[#1724](https://github.com/fluxcd/flagger/pull/1724)
57+
- fix(helm): podinfo fails to create the hpa object
58+
[#1721](https://github.com/fluxcd/flagger/pull/1721)
59+
560
## 1.38.0
661

762
**Release date:** 2024-07-30
@@ -471,7 +526,7 @@ routed to the canary workload pods.
471526

472527
**Release date:** 2022-12-15
473528

474-
This release comes with support for Apachae APISIX. For more details see the
529+
This release comes with support for Apache APISIX. For more details see the
475530
[tutorial](https://fluxcd.io/flagger/tutorials/apisix-progressive-delivery).
476531

477532
#### Improvements

Dockerfile

+11-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,11 @@
1-
FROM golang:1.22-alpine as builder
1+
ARG GO_VERSION=1.23
2+
ARG XX_VERSION=1.6.1
3+
4+
FROM --platform=$BUILDPLATFORM tonistiigi/xx:${XX_VERSION} AS xx
5+
FROM --platform=$BUILDPLATFORM golang:${GO_VERSION}-alpine AS builder
6+
7+
# copy build utilities
8+
COPY --from=xx / /
29

310
ARG TARGETPLATFORM
411
ARG REVISON
@@ -17,11 +24,12 @@ COPY cmd/ cmd/
1724
COPY pkg/ pkg/
1825

1926
# build
20-
RUN CGO_ENABLED=0 go build \
27+
ENV CGO_ENABLED=0
28+
RUN xx-go build \
2129
-ldflags "-s -w -X github.com/fluxcd/flagger/pkg/version.REVISION=${REVISON}" \
2230
-a -o flagger ./cmd/flagger
2331

24-
FROM alpine:3.20
32+
FROM alpine:3.21
2533

2634
RUN apk --no-cache add ca-certificates
2735

Dockerfile.loadtester

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
1-
FROM golang:1.22-alpine as builder
1+
FROM golang:1.23-alpine AS builder
22

33
ARG TARGETPLATFORM
44
ARG TARGETARCH
55
ARG REVISION
66

77
RUN apk --no-cache add alpine-sdk perl curl bash tar
88

9-
RUN HELM3_VERSION=3.15.3 && \
9+
RUN HELM3_VERSION=3.16.3 && \
1010
curl -sSL "https://get.helm.sh/helm-v${HELM3_VERSION}-linux-${TARGETARCH}.tar.gz" | tar xvz && \
1111
chmod +x linux-${TARGETARCH}/helm && mv linux-${TARGETARCH}/helm /usr/local/bin/helm
1212

13-
RUN KUBECTL_VERSION=v1.29.7 && \
13+
RUN KUBECTL_VERSION=v1.31.3 && \
1414
curl -LO "https://dl.k8s.io/release/${KUBECTL_VERSION}/bin/linux/${TARGETARCH}/kubectl" && \
1515
chmod +x kubectl && mv kubectl /usr/local/bin/kubectl
1616

17-
RUN GRPC_HEALTH_PROBE_VERSION=v0.4.28 && \
17+
RUN GRPC_HEALTH_PROBE_VERSION=v0.4.35 && \
1818
wget -qO /usr/local/bin/grpc_health_probe https://github.com/grpc-ecosystem/grpc-health-probe/releases/download/${GRPC_HEALTH_PROBE_VERSION}/grpc_health_probe-linux-${TARGETARCH} && \
1919
chmod +x /usr/local/bin/grpc_health_probe
2020

@@ -39,7 +39,7 @@ COPY pkg/ pkg/
3939
# build
4040
RUN CGO_ENABLED=0 go build -o loadtester ./cmd/loadtester/*
4141

42-
FROM bash:5.0
42+
FROM bash:5.2
4343

4444
ARG TARGETPLATFORM
4545

@@ -49,7 +49,7 @@ apk --no-cache add ca-certificates curl jq libgcc wrk hey git
4949

5050
WORKDIR /home/app
5151

52-
COPY --from=bats/bats:v1.1.0 /opt/bats/ /opt/bats/
52+
COPY --from=bats/bats:1.11.1 /opt/bats/ /opt/bats/
5353
RUN ln -s /opt/bats/bin/bats /usr/local/bin/
5454

5555
COPY --from=builder /usr/local/bin/helm /usr/local/bin/

Makefile

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ build:
66
CGO_ENABLED=0 go build -a -o ./bin/flagger ./cmd/flagger
77

88
tidy:
9-
rm -f go.sum; go mod tidy -compat=1.22
9+
rm -f go.sum; go mod tidy -compat=1.23
1010

1111
vet:
1212
go vet ./...

artifacts/flagger/crd.yaml

+8-2
Original file line numberDiff line numberDiff line change
@@ -129,9 +129,11 @@ spec:
129129
type: object
130130
properties:
131131
minReplicas:
132-
type: number
132+
type: integer
133+
minimum: 1
133134
maxReplicas:
134-
type: number
135+
type: integer
136+
minimum: 1
135137
ingressRef:
136138
description: Ingress selector
137139
type: object
@@ -1135,6 +1137,9 @@ spec:
11351137
retries:
11361138
description: Number of retries for this webhook
11371139
type: number
1140+
disableTLS:
1141+
description: Disable TLS verification for this webhook
1142+
type: boolean
11381143
metadata:
11391144
description: Metadata (key-value pairs) for this webhook
11401145
type: object
@@ -1299,6 +1304,7 @@ spec:
12991304
- graphite
13001305
- dynatrace
13011306
- keptn
1307+
- splunk
13021308
address:
13031309
description: API address of this provider
13041310
type: string

artifacts/flagger/deployment.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ spec:
2222
serviceAccountName: flagger
2323
containers:
2424
- name: flagger
25-
image: ghcr.io/fluxcd/flagger:1.38.0
25+
image: ghcr.io/fluxcd/flagger:1.40.0
2626
imagePullPolicy: IfNotPresent
2727
ports:
2828
- name: http

charts/flagger/Chart.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
apiVersion: v1
22
name: flagger
3-
version: 1.38.0
4-
appVersion: 1.38.0
3+
version: 1.40.0
4+
appVersion: 1.40.0
55
kubeVersion: ">=1.19.0-0"
66
engine: gotpl
77
description: Flagger is a progressive delivery operator for Kubernetes

charts/flagger/crds/crd.yaml

+8-2
Original file line numberDiff line numberDiff line change
@@ -129,9 +129,11 @@ spec:
129129
type: object
130130
properties:
131131
minReplicas:
132-
type: number
132+
type: integer
133+
minimum: 1
133134
maxReplicas:
134-
type: number
135+
type: integer
136+
minimum: 1
135137
ingressRef:
136138
description: Ingress selector
137139
type: object
@@ -1135,6 +1137,9 @@ spec:
11351137
retries:
11361138
description: Number of retries for this webhook
11371139
type: number
1140+
disableTLS:
1141+
description: Disable TLS verification for this webhook
1142+
type: boolean
11381143
metadata:
11391144
description: Metadata (key-value pairs) for this webhook
11401145
type: object
@@ -1299,6 +1304,7 @@ spec:
12991304
- graphite
13001305
- dynatrace
13011306
- keptn
1307+
- splunk
13021308
address:
13031309
description: API address of this provider
13041310
type: string

charts/flagger/values.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
image:
77
repository: ghcr.io/fluxcd/flagger
8-
tag: 1.38.0
8+
tag: 1.40.0
99
pullPolicy: IfNotPresent
1010
pullSecret:
1111

charts/loadtester/Chart.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
apiVersion: v1
22
name: loadtester
3-
version: 0.33.0
4-
appVersion: 0.33.0
3+
version: 0.34.0
4+
appVersion: 0.34.0
55
kubeVersion: ">=1.19.0-0"
66
engine: gotpl
77
description: Flagger's load testing services based on rakyll/hey and bojand/ghz that generates traffic during canary analysis when configured as a webhook.

charts/loadtester/values.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ replicaCount: 1
22

33
image:
44
repository: ghcr.io/fluxcd/flagger-loadtester
5-
tag: 0.33.0
5+
tag: 0.34.0
66
pullPolicy: IfNotPresent
77
pullSecret:
88

charts/podinfo/Chart.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
apiVersion: v1
2-
version: 6.1.3
2+
version: 6.1.4
33
appVersion: 6.1.3
44
name: podinfo
55
engine: gotpl

charts/podinfo/templates/hpa.yaml

+6-2
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,16 @@ spec:
2020
- type: Resource
2121
resource:
2222
name: cpu
23-
targetAverageUtilization: {{ .Values.hpa.cpu }}
23+
target:
24+
type: Utilization
25+
averageUtilization: {{ .Values.hpa.cpu }}
2426
{{- end }}
2527
{{- if .Values.hpa.memory }}
2628
- type: Resource
2729
resource:
2830
name: memory
29-
targetAverageValue: {{ .Values.hpa.memory }}
31+
target:
32+
type: AverageValue
33+
averageValue: {{ .Values.hpa.memory }}
3034
{{- end }}
3135
{{- end }}

cmd/loadtester/main.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ import (
2929
"github.com/fluxcd/flagger/pkg/signals"
3030
)
3131

32-
var VERSION = "0.33.0"
32+
var VERSION = "0.34.0"
3333
var (
3434
logLevel string
3535
port string

0 commit comments

Comments
 (0)