Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
7648fc2
remove hyped articles rbac already deprecated
tcondeixa Oct 1, 2025
aceceff
crd: routegroup with <forward>
szuecs Oct 1, 2025
3a6c69d
delete from deletions file
tcondeixa Oct 1, 2025
718ee78
Make e2e more stable via retries
mikkeloscar Oct 2, 2025
e1ae398
Allow enabling HPAConfigurableTolerance alpha feature
mikkeloscar Oct 1, 2025
6f3c59c
Merge pull request #9973 from zalando-incubator/remove-hyped-articles…
mikkeloscar Oct 2, 2025
ca9de00
Merge dev to dev-to-alpha
k8s-on-aws-manager-app[bot] Oct 2, 2025
ba79914
Merge pull request #9975 from zalando-incubator/hpa-configurable-tole…
mikkeloscar Oct 2, 2025
fe35882
Merge dev to dev-to-alpha
k8s-on-aws-manager-app[bot] Oct 2, 2025
598305e
Merge pull request #9977 from zalando-incubator/e2e-retry
mikkeloscar Oct 2, 2025
89269e7
Merge dev to dev-to-alpha
k8s-on-aws-manager-app[bot] Oct 2, 2025
0f46e27
admission-controller: Update to version master-276
k8s-on-aws-manager-app[bot] Oct 2, 2025
cdd6a03
Merge pull request #9974 from zalando-incubator/feature/routegroup-fo…
szuecs Oct 2, 2025
5bdb5e6
Merge pull request #9982 from zalando-incubator/926694233939.dkr.ecr.…
AlexanderYastrebov Oct 2, 2025
d747c63
admission-controller: Update to version master-276
k8s-on-aws-manager-app[bot] Oct 2, 2025
256bf27
admission-controller: Update to version master-277
k8s-on-aws-manager-app[bot] Oct 3, 2025
acaad18
update k8s-authnz-webhook to master-152
linki Oct 6, 2025
6936f2d
update admission-controller deployment to master-277 as well
linki Oct 6, 2025
6bd8bc6
Merge pull request #9985 from zalando-incubator/k8s-authnz-webhook-ma…
linki Oct 6, 2025
7c62eec
Merge pull request #9984 from zalando-incubator/926694233939.dkr.ecr.…
linki Oct 6, 2025
070c132
Merge dev to dev-to-alpha
k8s-on-aws-manager-app[bot] Oct 6, 2025
21f9fcd
Merge pull request #9981 from zalando-incubator/dev-to-alpha
demonCoder95 Oct 6, 2025
e21fa83
Merge alpha to alpha-to-beta
k8s-on-aws-manager-app[bot] Oct 6, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions cluster/config-defaults.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -568,6 +568,9 @@ downscaler_scale_statefulsets: "false"
horizontal_pod_autoscaler_sync_period: "30s"
horizontal_pod_autoscaler_tolerance: "0.1"
horizontal_pod_downscale_stabilization: "5m0s"
# Enable the feature Flag HPAConfigurableTolerance
# https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/#tolerance
horizontal_pod_autoscaler_configurable_tolerance: "false"

# Vertical pod autoscaler version for controlling roll-out, can be "current" or "legacy"
# current => v1.0.0-internal.20
Expand Down Expand Up @@ -1105,9 +1108,6 @@ zmon_accessible_s3_buckets: ""
# disable zmon-appliance worker tracking in Prometheus
disable_zmon_appliance_worker_tracking: "true"

# Add ClusterRole for clusters required by hyped-article-lifecycle-management controller
hyped_article_lifecycle_management: "false"

# Add ClusterRole for clusters required by business-partner and config-provider controller
business_partner_service: "false"
config_provider_service: "false"
Expand Down
2 changes: 1 addition & 1 deletion cluster/manifests/02-admission-control/deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ spec:
priorityClassName: system-cluster-critical
containers:
- name: admission-controller
image: 926694233939.dkr.ecr.eu-central-1.amazonaws.com/production_namespace/teapot/admission-controller:master-274
image: 926694233939.dkr.ecr.eu-central-1.amazonaws.com/production_namespace/teapot/admission-controller:master-277
lifecycle:
preStop:
sleep:
Expand Down
4 changes: 3 additions & 1 deletion cluster/manifests/02-routegroup/routegroup-crd.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.14.0
controller-gen.kubebuilder.io/version: v0.19.0
name: routegroups.zalando.org
spec:
group: zalando.org
Expand Down Expand Up @@ -96,13 +96,15 @@ spec:
`dynamic` - use the backend provided by filters. This allows skipper as library users to do proxy calls to a certain target from their own implementation dynamically looked up by their filters.
`lb` - balance the load across multiple network endpoints using specified algorithm. If algorithm is not specified it will use the default algorithm set by Skipper at start.
`network` - use arbitrary HTTP or HTTPS URL.
`forward` - replaced by a network backend chosen by skipper -forward-backend-url.
enum:
- service
- shunt
- loopback
- dynamic
- lb
- network
- forward
type: string
required:
- name
Expand Down
6 changes: 0 additions & 6 deletions cluster/manifests/deletions.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -179,12 +179,6 @@ post_apply:
name: open-policy-agent-config
namespace: kube-system
{{ end }}
{{ if eq .Cluster.ConfigItems.hyped_article_lifecycle_management "false" }}
- name: hyped-articles-lifecycle-management
kind: ClusterRole
- name: hyped-articles-lifecycle-management
kind: ClusterRoleBinding
{{ end }}
{{ if eq .Cluster.ConfigItems.business_partner_service "false" }}
- name: business-partner-service
kind: ClusterRole
Expand Down
34 changes: 0 additions & 34 deletions cluster/manifests/roles/hyped-articles-lifecycle-rbac.yaml

This file was deleted.

8 changes: 4 additions & 4 deletions cluster/node-pools/master-default/userdata.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,7 @@ write_files:
- "--oidc-username-prefix=okta:"
- --oidc-groups-claim=groups
- "--oidc-groups-prefix=okta:"
- --feature-gates=HPAScaleToZero={{ .Cluster.ConfigItems.enable_hpa_scale_to_zero }},StatefulSetAutoDeletePVC={{ .Cluster.ConfigItems.enable_statefulset_autodelete_pvc }},MaxUnavailableStatefulSet={{.Cluster.ConfigItems.max_unavailable_statefulset_enabled}},KMSv1=true{{if eq .Cluster.ConfigItems.enable_image_volumes "true"}},ImageVolume=true{{end}}
- --feature-gates=HPAScaleToZero={{ .Cluster.ConfigItems.enable_hpa_scale_to_zero }},StatefulSetAutoDeletePVC={{ .Cluster.ConfigItems.enable_statefulset_autodelete_pvc }},MaxUnavailableStatefulSet={{.Cluster.ConfigItems.max_unavailable_statefulset_enabled}},KMSv1=true{{if eq .Cluster.ConfigItems.enable_image_volumes "true"}},ImageVolume=true{{end}}{{if eq .Cluster.ConfigItems.horizontal_pod_autoscaler_configurable_tolerance "true"}},HPAConfigurableTolerance=true{{end}}
- --service-account-key-file=/etc/kubernetes/ssl/service-account-public-key.pem
- --service-account-signing-key-file=/etc/kubernetes/ssl/service-account-private-key.pem
- --service-account-issuer={{ .Cluster.APIServerURL }}
Expand Down Expand Up @@ -219,7 +219,7 @@ write_files:
limits:
memory: {{ .Values.InstanceInfo.MemoryFraction (parseInt64 .Cluster.ConfigItems.apiserver_memory_limit_percent)}}
{{- end }}
- image: 926694233939.dkr.ecr.eu-central-1.amazonaws.com/production_namespace/teapot/admission-controller:master-274
- image: 926694233939.dkr.ecr.eu-central-1.amazonaws.com/production_namespace/teapot/admission-controller:master-277
name: admission-controller
lifecycle:
preStop:
Expand Down Expand Up @@ -287,7 +287,7 @@ write_files:
- mountPath: /etc/kubernetes/ssl
name: ssl-certs-kubernetes
readOnly: true
- image: 926694233939.dkr.ecr.eu-central-1.amazonaws.com/production_namespace/teapot/k8s-authnz-webhook:master-151
- image: 926694233939.dkr.ecr.eu-central-1.amazonaws.com/production_namespace/teapot/k8s-authnz-webhook:master-152
name: webhook
ports:
- containerPort: 8081
Expand Down Expand Up @@ -620,7 +620,7 @@ write_files:
- --root-ca-file=/etc/kubernetes/ssl/ca.pem
- --cloud-provider=external
- --cloud-config=/etc/kubernetes/cloud-config.ini
- --feature-gates=StatefulSetAutoDeletePVC={{ .Cluster.ConfigItems.enable_statefulset_autodelete_pvc }},MaxUnavailableStatefulSet={{.Cluster.ConfigItems.max_unavailable_statefulset_enabled}}{{if eq .Cluster.ConfigItems.enable_image_volumes "true"}},ImageVolume=true{{end}}
- --feature-gates=StatefulSetAutoDeletePVC={{ .Cluster.ConfigItems.enable_statefulset_autodelete_pvc }},MaxUnavailableStatefulSet={{.Cluster.ConfigItems.max_unavailable_statefulset_enabled}}{{if eq .Cluster.ConfigItems.enable_image_volumes "true"}},ImageVolume=true{{end}}{{if eq .Cluster.ConfigItems.horizontal_pod_autoscaler_configurable_tolerance "true"}},HPAConfigurableTolerance=true{{end}}
- --use-service-account-credentials=true
- --configure-cloud-routes=false
- --allocate-node-cidrs=true
Expand Down
50 changes: 36 additions & 14 deletions test/e2e/apiserver.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/util/uuid"
"k8s.io/client-go/kubernetes"
"k8s.io/client-go/util/retry"
"k8s.io/kubernetes/test/e2e/framework"
"k8s.io/kubernetes/test/e2e/framework/job"
e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
Expand Down Expand Up @@ -262,12 +263,19 @@ var _ = describe("Image Policy Tests (Pods Update Path)", func() {

By("Updating pod " + namePrefix + " in namespace " + namespace)

pod, err = cs.CoreV1().Pods(namespace).Get(context.TODO(), pod.Name, metav1.GetOptions{})
framework.ExpectNoError(err)
err = retry.RetryOnConflict(retry.DefaultRetry, func() error {
// Get the latest version of the resource
pod, err = cs.CoreV1().Pods(namespace).Get(context.TODO(), pod.Name, metav1.GetOptions{})
if err != nil {
return err
}

pod.Spec.Containers[0].Image = compliantImage4
pod.Spec.Containers[0].Image = compliantImage4

_, err = cs.CoreV1().Pods(namespace).Update(context.TODO(), pod, metav1.UpdateOptions{})
// Try to update
_, err = cs.CoreV1().Pods(namespace).Update(context.TODO(), pod, metav1.UpdateOptions{})
return err
})
framework.ExpectNoError(err)

_, err = e2epod.WaitForPodsWithLabelRunningReady(context.TODO(), cs, namespace, appLabelSelector(appLabel), 1, waitForPodTimeout)
Expand Down Expand Up @@ -295,14 +303,21 @@ var _ = describe("Image Policy Tests (Pods Update Path)", func() {
_, err = e2epod.WaitForPodsWithLabelRunningReady(context.TODO(), cs, namespace, appLabelSelector(appLabel), 1, waitForPodTimeout)
framework.ExpectNoError(err)

pod, err = cs.CoreV1().Pods(namespace).Get(context.TODO(), pod.Name, metav1.GetOptions{})
framework.ExpectNoError(err)

By("Updating pod " + namePrefix + " in namespace " + namespace)

pod.Spec.Containers[0].Image = nonCompliantImage5
err = retry.RetryOnConflict(retry.DefaultRetry, func() error {
// Get the latest version of the resource
pod, err = cs.CoreV1().Pods(namespace).Get(context.TODO(), pod.Name, metav1.GetOptions{})
if err != nil {
return err
}

pod.Spec.Containers[0].Image = nonCompliantImage5

_, err = cs.CoreV1().Pods(namespace).Update(context.TODO(), pod, metav1.UpdateOptions{})
// Try to update
_, err = cs.CoreV1().Pods(namespace).Update(context.TODO(), pod, metav1.UpdateOptions{})
return err
})
Expect(err).To(HaveOccurred())
})
})
Expand Down Expand Up @@ -337,14 +352,21 @@ var _ = describe("Image Policy Tests (Pods Update Path) (when disabled)", func()
_, err = e2epod.WaitForPodsWithLabelRunningReady(context.TODO(), cs, namespace, appLabelSelector(appLabel), 1, waitForPodTimeout)
framework.ExpectNoError(err)

pod, err = cs.CoreV1().Pods(namespace).Get(context.TODO(), pod.Name, metav1.GetOptions{})
framework.ExpectNoError(err)

By("Updating pod " + namePrefix + " in namespace " + namespace)

pod.Spec.Containers[0].Image = nonCompliantImage6
err = retry.RetryOnConflict(retry.DefaultRetry, func() error {
// Get the latest version of the resource
pod, err = cs.CoreV1().Pods(namespace).Get(context.TODO(), pod.Name, metav1.GetOptions{})
if err != nil {
return err
}

pod.Spec.Containers[0].Image = nonCompliantImage6

_, err = cs.CoreV1().Pods(namespace).Update(context.TODO(), pod, metav1.UpdateOptions{})
// Try to update
_, err = cs.CoreV1().Pods(namespace).Update(context.TODO(), pod, metav1.UpdateOptions{})
return err
})
framework.ExpectNoError(err)

_, err = e2epod.WaitForPodsWithLabelRunningReady(context.TODO(), cs, namespace, appLabelSelector(appLabel), 1, waitForPodTimeout)
Expand Down