Skip to content

Commit 50f2ea4

Browse files
authored
Merge pull request #189 from datum-cloud/deps/envoy-gateway-1.8-gatewayapi-1.5
Modernize the gateway stack: Envoy Gateway 1.8 & Gateway API 1.5
2 parents 9761e4e + eca5717 commit 50f2ea4

47 files changed

Lines changed: 2140 additions & 1032 deletions

Some content is hidden

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

.github/workflows/test-e2e.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ jobs:
2121
- name: Setup Go
2222
uses: actions/setup-go@v5
2323
with:
24-
go-version: '~1.24'
24+
go-version: '~1.26'
2525

2626
- name: Verify kind installation
2727
run: kind version

.github/workflows/test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515
- name: Setup Go
1616
uses: actions/setup-go@v5
1717
with:
18-
go-version: '~1.24'
18+
go-version: '~1.26'
1919

2020
- name: Running Tests
2121
run: |

Dockerfile

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Build the manager binary
2-
FROM --platform=$BUILDPLATFORM golang:1.24 AS builder
2+
FROM --platform=$BUILDPLATFORM golang:1.26 AS builder
33
ARG TARGETOS
44
ARG TARGETARCH
55
ARG VERSION=dev
@@ -33,9 +33,14 @@ RUN CGO_ENABLED=0 GOOS=${TARGETOS:-linux} GOARCH=${TARGETARCH} go build \
3333
-X main.buildDate=${BUILD_DATE}" \
3434
-o manager cmd/main.go
3535

36-
# Use distroless as minimal base image to package the manager binary
36+
# Use distroless as minimal base image to package the manager binary.
37+
# static-debian12:nonroot is explicit about the Debian variant to avoid silent
38+
# drift if the :nonroot alias resolves to a different Debian release in future.
39+
# For reproducible builds, pin to a SHA digest via:
40+
# FROM gcr.io/distroless/static-debian12:nonroot@sha256:<digest>
41+
# and update via Dependabot or `cosign verify`.
3742
# Refer to https://github.com/GoogleContainerTools/distroless for more details
38-
FROM gcr.io/distroless/static:nonroot
43+
FROM gcr.io/distroless/static-debian12:nonroot
3944
WORKDIR /
4045
COPY --from=builder /workspace/manager .
4146
USER 65532:65532

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -253,7 +253,7 @@ CRDOC_VERSION ?= v0.6.4
253253
KIND_VERSION ?= v0.27.0
254254

255255
# renovate: datasource=go depName=github.com/kyverno/chainsaw
256-
CHAINSAW_VERSION ?= v0.2.13
256+
CHAINSAW_VERSION ?= v0.2.15
257257

258258
# renovate: datasource=go depName=github.com/cert-manager/cmctl/v2
259259
CMCTL_VERSION ?= v2.1.1

config/crd/bases/networking.datumapis.com_httpproxies.yaml

Lines changed: 716 additions & 94 deletions
Large diffs are not rendered by default.

config/crd/bases/networking.datumapis.com_trafficprotectionpolicies.yaml

Lines changed: 34 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -446,8 +446,38 @@ spec:
446446
- name
447447
type: object
448448
conditions:
449-
description: Conditions describes the status of the Policy with
450-
respect to the given Ancestor.
449+
description: |-
450+
Conditions describes the status of the Policy with respect to the given Ancestor.
451+
452+
<gateway:util:excludeFromCRD>
453+
454+
Notes for implementors:
455+
456+
Conditions are a listType `map`, which means that they function like a
457+
map with a key of the `type` field _in the k8s apiserver_.
458+
459+
This means that implementations must obey some rules when updating this
460+
section.
461+
462+
* Implementations MUST perform a read-modify-write cycle on this field
463+
before modifying it. That is, when modifying this field, implementations
464+
must be confident they have fetched the most recent version of this field,
465+
and ensure that changes they make are on that recent version.
466+
* Implementations MUST NOT remove or reorder Conditions that they are not
467+
directly responsible for. For example, if an implementation sees a Condition
468+
with type `special.io/SomeField`, it MUST NOT remove, change or update that
469+
Condition.
470+
* Implementations MUST always _merge_ changes into Conditions of the same Type,
471+
rather than creating more than one Condition of the same Type.
472+
* Implementations MUST always update the `observedGeneration` field of the
473+
Condition to the `metadata.generation` of the Gateway at the time of update creation.
474+
* If the `observedGeneration` of a Condition is _greater than_ the value the
475+
implementation knows about, then it MUST NOT perform the update on that Condition,
476+
but must wait for a future reconciliation and status update. (The assumption is that
477+
the implementation's copy of the object is stale and an update will be re-triggered
478+
if relevant.)
479+
480+
</gateway:util:excludeFromCRD>
451481
items:
452482
description: Condition contains details for one aspect of
453483
the current state of this API Resource.
@@ -530,10 +560,12 @@ spec:
530560
type: string
531561
required:
532562
- ancestorRef
563+
- conditions
533564
- controllerName
534565
type: object
535566
maxItems: 16
536567
type: array
568+
x-kubernetes-list-type: atomic
537569
required:
538570
- ancestors
539571
type: object

config/tools/envoy-gateway/kustomization.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ helmCharts:
55
includeCRDs: true
66
namespace: envoy-gateway-system
77
releaseName: envoy-gateway
8-
version: v1.5.0
8+
version: v1.8.1
99
repo: oci://docker.io/envoyproxy
1010
valuesInline:
1111
config:

0 commit comments

Comments
 (0)