1
0
Fork 0
mirror of https://github.com/kyverno/kyverno.git synced 2025-03-05 07:26:55 +00:00

Cherry-pick and release v1.5.4-rc2 (#2961)

* Added TLS annotation check in the initContainer (#2956)

* Added TLS annotation check in the initContainer

Signed-off-by: Kumar Mallikarjuna <kumar@nirmata.com>

* Error checks

Signed-off-by: Kumar Mallikarjuna <kumar@nirmata.com>

* Refactor annotation addition code

Signed-off-by: Kumar Mallikarjuna <kumar@nirmata.com>

* Strict error reporting

Signed-off-by: Kumar Mallikarjuna <kumar@nirmata.com>

* Error handling for Secrets

Signed-off-by: Kumar Mallikarjuna <kumar@nirmata.com>

* Updated error conditions

Signed-off-by: Kumar Mallikarjuna <kumar@nirmata.com>

* Update for nil error

Signed-off-by: Kumar Mallikarjuna <kumar@nirmata.com>
Signed-off-by: ShutingZhao <shuting@nirmata.com>

* tag v1.5.4-rc2

Signed-off-by: ShutingZhao <shuting@nirmata.com>

Co-authored-by: Kumar Mallikarjuna <kumarmallikarjuna1@gmail.com>
This commit is contained in:
shuting 2022-01-11 18:23:20 +08:00 committed by GitHub
parent 30eec81b63
commit dbdc4f42f5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
12 changed files with 158 additions and 114 deletions

View file

@ -11,10 +11,7 @@ jobs:
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Unshallow
run: git fetch --prune --unshallow
- name: Set up Go
uses: actions/setup-go@v2
with:

View file

@ -1,3 +1,8 @@
## v1.5.4-rc2
### Bug Fixes
- TLS: Bad Certificate Error on Rolling Upgrade to 1.5.4-rc1 #2955
## v1.5.4-rc1
## v1.5.3

View file

@ -1,7 +1,7 @@
apiVersion: v1
name: kyverno-policies
version: v2.1.6-rc1
appVersion: v1.5.4-rc1
version: v2.1.6-rc2
appVersion: v1.5.4-rc2
icon: https://github.com/kyverno/kyverno/raw/main/img/logo.png
description: Kubernetes Native Policy Management Policies
keywords:

View file

@ -1,7 +1,7 @@
apiVersion: v1
name: kyverno
version: v2.1.6-rc1
appVersion: v1.5.4-rc1
version: v2.1.6-rc2
appVersion: v1.5.4-rc2
icon: https://github.com/kyverno/kyverno/raw/main/img/logo.png
description: Kubernetes Native Policy Management
keywords:

View file

@ -12,7 +12,7 @@ metadata:
app.kubernetes.io/managed-by: Kustomize
app.kubernetes.io/name: kyverno
app.kubernetes.io/part-of: kyverno
app.kubernetes.io/version: v1.5.4-rc1
app.kubernetes.io/version: v1.5.4-rc2
name: clusterpolicies.kyverno.io
spec:
group: kyverno.io
@ -1313,7 +1313,7 @@ metadata:
app.kubernetes.io/managed-by: Kustomize
app.kubernetes.io/name: kyverno
app.kubernetes.io/part-of: kyverno
app.kubernetes.io/version: v1.5.4-rc1
app.kubernetes.io/version: v1.5.4-rc2
name: clusterpolicyreports.wgpolicyk8s.io
spec:
group: wgpolicyk8s.io
@ -1806,7 +1806,7 @@ metadata:
app.kubernetes.io/managed-by: Kustomize
app.kubernetes.io/name: kyverno
app.kubernetes.io/part-of: kyverno
app.kubernetes.io/version: v1.5.4-rc1
app.kubernetes.io/version: v1.5.4-rc2
name: clusterreportchangerequests.kyverno.io
spec:
group: kyverno.io
@ -2299,7 +2299,7 @@ metadata:
app.kubernetes.io/managed-by: Kustomize
app.kubernetes.io/name: kyverno
app.kubernetes.io/part-of: kyverno
app.kubernetes.io/version: v1.5.4-rc1
app.kubernetes.io/version: v1.5.4-rc2
name: generaterequests.kyverno.io
spec:
group: kyverno.io
@ -2480,7 +2480,7 @@ metadata:
app.kubernetes.io/managed-by: Kustomize
app.kubernetes.io/name: kyverno
app.kubernetes.io/part-of: kyverno
app.kubernetes.io/version: v1.5.4-rc1
app.kubernetes.io/version: v1.5.4-rc2
name: policies.kyverno.io
spec:
group: kyverno.io
@ -3781,7 +3781,7 @@ metadata:
app.kubernetes.io/managed-by: Kustomize
app.kubernetes.io/name: kyverno
app.kubernetes.io/part-of: kyverno
app.kubernetes.io/version: v1.5.4-rc1
app.kubernetes.io/version: v1.5.4-rc2
name: policyreports.wgpolicyk8s.io
spec:
group: wgpolicyk8s.io
@ -4274,7 +4274,7 @@ metadata:
app.kubernetes.io/managed-by: Kustomize
app.kubernetes.io/name: kyverno
app.kubernetes.io/part-of: kyverno
app.kubernetes.io/version: v1.5.4-rc1
app.kubernetes.io/version: v1.5.4-rc2
name: reportchangerequests.kyverno.io
spec:
group: kyverno.io

View file

@ -16,6 +16,7 @@ import (
client "github.com/kyverno/kyverno/pkg/dclient"
"github.com/kyverno/kyverno/pkg/leaderelection"
"github.com/kyverno/kyverno/pkg/signal"
"github.com/kyverno/kyverno/pkg/tls"
"github.com/kyverno/kyverno/pkg/utils"
coord "k8s.io/api/coordination/v1"
"k8s.io/apimachinery/pkg/api/errors"
@ -115,8 +116,55 @@ func main() {
failure := false
run := func() {
_, err := kubeClientLeaderElection.CoordinationV1().Leases(getKyvernoNameSpace()).Get(ctx, "kyvernopre-lock", v1.GetOptions{})
certProps, err := tls.GetTLSCertProps(clientConfig)
if err != nil {
log.Log.Info("failed to get cert properties: %v", err.Error())
os.Exit(1)
}
depl, err := client.GetResource("", "Deployment", getKyvernoNameSpace(), config.KyvernoDeploymentName)
deplHash := ""
if err != nil {
log.Log.Info("failed to fetch deployment '%v': %v", config.KyvernoDeploymentName, err.Error())
os.Exit(1)
}
deplHash = fmt.Sprintf("%v", depl.GetUID())
name := tls.GenerateRootCASecretName(certProps)
secretUnstr, err := client.GetResource("", "Secret", getKyvernoNameSpace(), name)
if err != nil {
log.Log.Info("failed to fetch secret '%v': %v", name, err.Error())
if !errors.IsNotFound(err) {
os.Exit(1)
}
} else if tls.CanAddAnnotationToSecret(deplHash, secretUnstr) {
secretUnstr.SetAnnotations(map[string]string{tls.MasterDeploymentUID: deplHash})
_, err = client.UpdateResource("", "Secret", certProps.Namespace, secretUnstr, false)
if err != nil {
log.Log.Info("failed to update cert: %v", err.Error())
os.Exit(1)
}
}
name = tls.GenerateTLSPairSecretName(certProps)
secretUnstr, err = client.GetResource("", "Secret", getKyvernoNameSpace(), name)
if err != nil {
log.Log.Info("failed to fetch secret '%v': %v", name, err.Error())
if !errors.IsNotFound(err) {
os.Exit(1)
}
} else if tls.CanAddAnnotationToSecret(deplHash, secretUnstr) {
secretUnstr.SetAnnotations(map[string]string{tls.MasterDeploymentUID: deplHash})
_, err = client.UpdateResource("", "Secret", certProps.Namespace, secretUnstr, false)
if err != nil {
log.Log.Info("failed to update cert: %v", err.Error())
os.Exit(1)
}
}
_, err = kubeClientLeaderElection.CoordinationV1().Leases(getKyvernoNameSpace()).Get(ctx, "kyvernopre-lock", v1.GetOptions{})
if err != nil {
log.Log.Info("Lease 'kyvernopre-lock' not found. Starting clean-up...")
} else {

View file

@ -8,7 +8,7 @@ metadata:
app.kubernetes.io/managed-by: Kustomize
app.kubernetes.io/name: kyverno
app.kubernetes.io/part-of: kyverno
app.kubernetes.io/version: v1.5.4-rc1
app.kubernetes.io/version: v1.5.4-rc2
name: kyverno
---
apiVersion: apiextensions.k8s.io/v1
@ -23,7 +23,7 @@ metadata:
app.kubernetes.io/managed-by: Kustomize
app.kubernetes.io/name: kyverno
app.kubernetes.io/part-of: kyverno
app.kubernetes.io/version: v1.5.4-rc1
app.kubernetes.io/version: v1.5.4-rc2
name: clusterpolicies.kyverno.io
spec:
group: kyverno.io
@ -2074,7 +2074,7 @@ metadata:
app.kubernetes.io/managed-by: Kustomize
app.kubernetes.io/name: kyverno
app.kubernetes.io/part-of: kyverno
app.kubernetes.io/version: v1.5.4-rc1
app.kubernetes.io/version: v1.5.4-rc2
name: clusterpolicyreports.wgpolicyk8s.io
spec:
group: wgpolicyk8s.io
@ -2755,7 +2755,7 @@ metadata:
app.kubernetes.io/managed-by: Kustomize
app.kubernetes.io/name: kyverno
app.kubernetes.io/part-of: kyverno
app.kubernetes.io/version: v1.5.4-rc1
app.kubernetes.io/version: v1.5.4-rc2
name: clusterreportchangerequests.kyverno.io
spec:
group: kyverno.io
@ -3436,7 +3436,7 @@ metadata:
app.kubernetes.io/managed-by: Kustomize
app.kubernetes.io/name: kyverno
app.kubernetes.io/part-of: kyverno
app.kubernetes.io/version: v1.5.4-rc1
app.kubernetes.io/version: v1.5.4-rc2
name: generaterequests.kyverno.io
spec:
group: kyverno.io
@ -3632,7 +3632,7 @@ metadata:
app.kubernetes.io/managed-by: Kustomize
app.kubernetes.io/name: kyverno
app.kubernetes.io/part-of: kyverno
app.kubernetes.io/version: v1.5.4-rc1
app.kubernetes.io/version: v1.5.4-rc2
name: policies.kyverno.io
spec:
group: kyverno.io
@ -5685,7 +5685,7 @@ metadata:
app.kubernetes.io/managed-by: Kustomize
app.kubernetes.io/name: kyverno
app.kubernetes.io/part-of: kyverno
app.kubernetes.io/version: v1.5.4-rc1
app.kubernetes.io/version: v1.5.4-rc2
name: policyreports.wgpolicyk8s.io
spec:
group: wgpolicyk8s.io
@ -6364,7 +6364,7 @@ metadata:
app.kubernetes.io/managed-by: Kustomize
app.kubernetes.io/name: kyverno
app.kubernetes.io/part-of: kyverno
app.kubernetes.io/version: v1.5.4-rc1
app.kubernetes.io/version: v1.5.4-rc2
name: reportchangerequests.kyverno.io
spec:
group: kyverno.io
@ -7043,7 +7043,7 @@ metadata:
app.kubernetes.io/managed-by: Kustomize
app.kubernetes.io/name: kyverno
app.kubernetes.io/part-of: kyverno
app.kubernetes.io/version: v1.5.4-rc1
app.kubernetes.io/version: v1.5.4-rc2
name: kyverno-service-account
namespace: kyverno
---
@ -7057,7 +7057,7 @@ metadata:
app.kubernetes.io/managed-by: Kustomize
app.kubernetes.io/name: kyverno
app.kubernetes.io/part-of: kyverno
app.kubernetes.io/version: v1.5.4-rc1
app.kubernetes.io/version: v1.5.4-rc2
rbac.authorization.k8s.io/aggregate-to-admin: "true"
name: kyverno:admin-policies
rules:
@ -7079,7 +7079,7 @@ metadata:
app.kubernetes.io/managed-by: Kustomize
app.kubernetes.io/name: kyverno
app.kubernetes.io/part-of: kyverno
app.kubernetes.io/version: v1.5.4-rc1
app.kubernetes.io/version: v1.5.4-rc2
rbac.authorization.k8s.io/aggregate-to-admin: "true"
name: kyverno:admin-policyreport
rules:
@ -7101,7 +7101,7 @@ metadata:
app.kubernetes.io/managed-by: Kustomize
app.kubernetes.io/name: kyverno
app.kubernetes.io/part-of: kyverno
app.kubernetes.io/version: v1.5.4-rc1
app.kubernetes.io/version: v1.5.4-rc2
rbac.authorization.k8s.io/aggregate-to-admin: "true"
name: kyverno:admin-reportchangerequest
rules:
@ -7123,7 +7123,7 @@ metadata:
app.kubernetes.io/managed-by: Kustomize
app.kubernetes.io/name: kyverno
app.kubernetes.io/part-of: kyverno
app.kubernetes.io/version: v1.5.4-rc1
app.kubernetes.io/version: v1.5.4-rc2
name: kyverno:customresources
rules:
- apiGroups:
@ -7169,7 +7169,7 @@ metadata:
app.kubernetes.io/managed-by: Kustomize
app.kubernetes.io/name: kyverno
app.kubernetes.io/part-of: kyverno
app.kubernetes.io/version: v1.5.4-rc1
app.kubernetes.io/version: v1.5.4-rc2
name: kyverno:generatecontroller
rules:
- apiGroups:
@ -7204,7 +7204,7 @@ metadata:
app.kubernetes.io/managed-by: Kustomize
app.kubernetes.io/name: kyverno
app.kubernetes.io/part-of: kyverno
app.kubernetes.io/version: v1.5.4-rc1
app.kubernetes.io/version: v1.5.4-rc2
name: kyverno:leaderelection
rules:
- apiGroups:
@ -7228,7 +7228,7 @@ metadata:
app.kubernetes.io/managed-by: Kustomize
app.kubernetes.io/name: kyverno
app.kubernetes.io/part-of: kyverno
app.kubernetes.io/version: v1.5.4-rc1
app.kubernetes.io/version: v1.5.4-rc2
name: kyverno:policycontroller
rules:
- apiGroups:
@ -7251,7 +7251,7 @@ metadata:
app.kubernetes.io/managed-by: Kustomize
app.kubernetes.io/name: kyverno
app.kubernetes.io/part-of: kyverno
app.kubernetes.io/version: v1.5.4-rc1
app.kubernetes.io/version: v1.5.4-rc2
name: kyverno:userinfo
rules:
- apiGroups:
@ -7277,7 +7277,7 @@ metadata:
app.kubernetes.io/managed-by: Kustomize
app.kubernetes.io/name: kyverno
app.kubernetes.io/part-of: kyverno
app.kubernetes.io/version: v1.5.4-rc1
app.kubernetes.io/version: v1.5.4-rc2
name: kyverno:webhook
rules:
- apiGroups:
@ -7329,7 +7329,7 @@ metadata:
app.kubernetes.io/managed-by: Kustomize
app.kubernetes.io/name: kyverno
app.kubernetes.io/part-of: kyverno
app.kubernetes.io/version: v1.5.4-rc1
app.kubernetes.io/version: v1.5.4-rc2
name: kyverno:customresources
roleRef:
apiGroup: rbac.authorization.k8s.io
@ -7350,7 +7350,7 @@ metadata:
app.kubernetes.io/managed-by: Kustomize
app.kubernetes.io/name: kyverno
app.kubernetes.io/part-of: kyverno
app.kubernetes.io/version: v1.5.4-rc1
app.kubernetes.io/version: v1.5.4-rc2
name: kyverno:generatecontroller
roleRef:
apiGroup: rbac.authorization.k8s.io
@ -7371,7 +7371,7 @@ metadata:
app.kubernetes.io/managed-by: Kustomize
app.kubernetes.io/name: kyverno
app.kubernetes.io/part-of: kyverno
app.kubernetes.io/version: v1.5.4-rc1
app.kubernetes.io/version: v1.5.4-rc2
name: kyverno:leaderelection
roleRef:
apiGroup: rbac.authorization.k8s.io
@ -7392,7 +7392,7 @@ metadata:
app.kubernetes.io/managed-by: Kustomize
app.kubernetes.io/name: kyverno
app.kubernetes.io/part-of: kyverno
app.kubernetes.io/version: v1.5.4-rc1
app.kubernetes.io/version: v1.5.4-rc2
name: kyverno:policycontroller
roleRef:
apiGroup: rbac.authorization.k8s.io
@ -7413,7 +7413,7 @@ metadata:
app.kubernetes.io/managed-by: Kustomize
app.kubernetes.io/name: kyverno
app.kubernetes.io/part-of: kyverno
app.kubernetes.io/version: v1.5.4-rc1
app.kubernetes.io/version: v1.5.4-rc2
name: kyverno:userinfo
roleRef:
apiGroup: rbac.authorization.k8s.io
@ -7434,7 +7434,7 @@ metadata:
app.kubernetes.io/managed-by: Kustomize
app.kubernetes.io/name: kyverno
app.kubernetes.io/part-of: kyverno
app.kubernetes.io/version: v1.5.4-rc1
app.kubernetes.io/version: v1.5.4-rc2
name: kyverno:webhook
roleRef:
apiGroup: rbac.authorization.k8s.io
@ -7459,7 +7459,7 @@ metadata:
app.kubernetes.io/managed-by: Kustomize
app.kubernetes.io/name: kyverno
app.kubernetes.io/part-of: kyverno
app.kubernetes.io/version: v1.5.4-rc1
app.kubernetes.io/version: v1.5.4-rc2
name: kyverno
namespace: kyverno
---
@ -7476,7 +7476,7 @@ metadata:
app.kubernetes.io/managed-by: Kustomize
app.kubernetes.io/name: kyverno
app.kubernetes.io/part-of: kyverno
app.kubernetes.io/version: v1.5.4-rc1
app.kubernetes.io/version: v1.5.4-rc2
name: kyverno-metrics
namespace: kyverno
---
@ -7490,7 +7490,7 @@ metadata:
app.kubernetes.io/managed-by: Kustomize
app.kubernetes.io/name: kyverno
app.kubernetes.io/part-of: kyverno
app.kubernetes.io/version: v1.5.4-rc1
app.kubernetes.io/version: v1.5.4-rc2
name: kyverno-svc
namespace: kyverno
spec:
@ -7512,7 +7512,7 @@ metadata:
app.kubernetes.io/managed-by: Kustomize
app.kubernetes.io/name: kyverno
app.kubernetes.io/part-of: kyverno
app.kubernetes.io/version: v1.5.4-rc1
app.kubernetes.io/version: v1.5.4-rc2
name: kyverno-svc-metrics
namespace: kyverno
spec:
@ -7534,7 +7534,7 @@ metadata:
app.kubernetes.io/managed-by: Kustomize
app.kubernetes.io/name: kyverno
app.kubernetes.io/part-of: kyverno
app.kubernetes.io/version: v1.5.4-rc1
app.kubernetes.io/version: v1.5.4-rc2
name: kyverno
namespace: kyverno
spec:
@ -7557,7 +7557,7 @@ spec:
app.kubernetes.io/managed-by: Kustomize
app.kubernetes.io/name: kyverno
app.kubernetes.io/part-of: kyverno
app.kubernetes.io/version: v1.5.4-rc1
app.kubernetes.io/version: v1.5.4-rc2
spec:
affinity:
podAntiAffinity:
@ -7586,7 +7586,7 @@ spec:
fieldPath: metadata.namespace
- name: KYVERNO_SVC
value: kyverno-svc
image: ghcr.io/kyverno/kyverno:v1.5.4-rc1
image: ghcr.io/kyverno/kyverno:v1.5.4-rc2
imagePullPolicy: IfNotPresent
livenessProbe:
failureThreshold: 2
@ -7638,7 +7638,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
image: ghcr.io/kyverno/kyvernopre:v1.5.4-rc1
image: ghcr.io/kyverno/kyvernopre:v1.5.4-rc2
imagePullPolicy: IfNotPresent
name: kyverno-pre
resources:
@ -7670,7 +7670,7 @@ metadata:
app.kubernetes.io/managed-by: Kustomize
app.kubernetes.io/name: kyverno
app.kubernetes.io/part-of: kyverno
app.kubernetes.io/version: v1.5.4-rc1
app.kubernetes.io/version: v1.5.4-rc2
name: kyverno
namespace: kyverno
spec:

View file

@ -8,7 +8,7 @@ metadata:
app.kubernetes.io/managed-by: Kustomize
app.kubernetes.io/name: kyverno
app.kubernetes.io/part-of: kyverno
app.kubernetes.io/version: v1.5.4-rc1
app.kubernetes.io/version: v1.5.4-rc2
name: kyverno
---
apiVersion: apiextensions.k8s.io/v1
@ -23,7 +23,7 @@ metadata:
app.kubernetes.io/managed-by: Kustomize
app.kubernetes.io/name: kyverno
app.kubernetes.io/part-of: kyverno
app.kubernetes.io/version: v1.5.4-rc1
app.kubernetes.io/version: v1.5.4-rc2
name: clusterpolicies.kyverno.io
spec:
group: kyverno.io
@ -2074,7 +2074,7 @@ metadata:
app.kubernetes.io/managed-by: Kustomize
app.kubernetes.io/name: kyverno
app.kubernetes.io/part-of: kyverno
app.kubernetes.io/version: v1.5.4-rc1
app.kubernetes.io/version: v1.5.4-rc2
name: clusterpolicyreports.wgpolicyk8s.io
spec:
group: wgpolicyk8s.io
@ -2755,7 +2755,7 @@ metadata:
app.kubernetes.io/managed-by: Kustomize
app.kubernetes.io/name: kyverno
app.kubernetes.io/part-of: kyverno
app.kubernetes.io/version: v1.5.4-rc1
app.kubernetes.io/version: v1.5.4-rc2
name: clusterreportchangerequests.kyverno.io
spec:
group: kyverno.io
@ -3436,7 +3436,7 @@ metadata:
app.kubernetes.io/managed-by: Kustomize
app.kubernetes.io/name: kyverno
app.kubernetes.io/part-of: kyverno
app.kubernetes.io/version: v1.5.4-rc1
app.kubernetes.io/version: v1.5.4-rc2
name: generaterequests.kyverno.io
spec:
group: kyverno.io
@ -3632,7 +3632,7 @@ metadata:
app.kubernetes.io/managed-by: Kustomize
app.kubernetes.io/name: kyverno
app.kubernetes.io/part-of: kyverno
app.kubernetes.io/version: v1.5.4-rc1
app.kubernetes.io/version: v1.5.4-rc2
name: policies.kyverno.io
spec:
group: kyverno.io
@ -5685,7 +5685,7 @@ metadata:
app.kubernetes.io/managed-by: Kustomize
app.kubernetes.io/name: kyverno
app.kubernetes.io/part-of: kyverno
app.kubernetes.io/version: v1.5.4-rc1
app.kubernetes.io/version: v1.5.4-rc2
name: policyreports.wgpolicyk8s.io
spec:
group: wgpolicyk8s.io
@ -6364,7 +6364,7 @@ metadata:
app.kubernetes.io/managed-by: Kustomize
app.kubernetes.io/name: kyverno
app.kubernetes.io/part-of: kyverno
app.kubernetes.io/version: v1.5.4-rc1
app.kubernetes.io/version: v1.5.4-rc2
name: reportchangerequests.kyverno.io
spec:
group: kyverno.io
@ -7043,7 +7043,7 @@ metadata:
app.kubernetes.io/managed-by: Kustomize
app.kubernetes.io/name: kyverno
app.kubernetes.io/part-of: kyverno
app.kubernetes.io/version: v1.5.4-rc1
app.kubernetes.io/version: v1.5.4-rc2
name: kyverno-service-account
namespace: kyverno
---
@ -7057,7 +7057,7 @@ metadata:
app.kubernetes.io/managed-by: Kustomize
app.kubernetes.io/name: kyverno
app.kubernetes.io/part-of: kyverno
app.kubernetes.io/version: v1.5.4-rc1
app.kubernetes.io/version: v1.5.4-rc2
rbac.authorization.k8s.io/aggregate-to-admin: "true"
name: kyverno:admin-policies
rules:
@ -7079,7 +7079,7 @@ metadata:
app.kubernetes.io/managed-by: Kustomize
app.kubernetes.io/name: kyverno
app.kubernetes.io/part-of: kyverno
app.kubernetes.io/version: v1.5.4-rc1
app.kubernetes.io/version: v1.5.4-rc2
rbac.authorization.k8s.io/aggregate-to-admin: "true"
name: kyverno:admin-policyreport
rules:
@ -7101,7 +7101,7 @@ metadata:
app.kubernetes.io/managed-by: Kustomize
app.kubernetes.io/name: kyverno
app.kubernetes.io/part-of: kyverno
app.kubernetes.io/version: v1.5.4-rc1
app.kubernetes.io/version: v1.5.4-rc2
rbac.authorization.k8s.io/aggregate-to-admin: "true"
name: kyverno:admin-reportchangerequest
rules:
@ -7123,7 +7123,7 @@ metadata:
app.kubernetes.io/managed-by: Kustomize
app.kubernetes.io/name: kyverno
app.kubernetes.io/part-of: kyverno
app.kubernetes.io/version: v1.5.4-rc1
app.kubernetes.io/version: v1.5.4-rc2
name: kyverno:customresources
rules:
- apiGroups:
@ -7169,7 +7169,7 @@ metadata:
app.kubernetes.io/managed-by: Kustomize
app.kubernetes.io/name: kyverno
app.kubernetes.io/part-of: kyverno
app.kubernetes.io/version: v1.5.4-rc1
app.kubernetes.io/version: v1.5.4-rc2
name: kyverno:generatecontroller
rules:
- apiGroups:
@ -7204,7 +7204,7 @@ metadata:
app.kubernetes.io/managed-by: Kustomize
app.kubernetes.io/name: kyverno
app.kubernetes.io/part-of: kyverno
app.kubernetes.io/version: v1.5.4-rc1
app.kubernetes.io/version: v1.5.4-rc2
name: kyverno:leaderelection
rules:
- apiGroups:
@ -7228,7 +7228,7 @@ metadata:
app.kubernetes.io/managed-by: Kustomize
app.kubernetes.io/name: kyverno
app.kubernetes.io/part-of: kyverno
app.kubernetes.io/version: v1.5.4-rc1
app.kubernetes.io/version: v1.5.4-rc2
name: kyverno:policycontroller
rules:
- apiGroups:
@ -7251,7 +7251,7 @@ metadata:
app.kubernetes.io/managed-by: Kustomize
app.kubernetes.io/name: kyverno
app.kubernetes.io/part-of: kyverno
app.kubernetes.io/version: v1.5.4-rc1
app.kubernetes.io/version: v1.5.4-rc2
name: kyverno:userinfo
rules:
- apiGroups:
@ -7277,7 +7277,7 @@ metadata:
app.kubernetes.io/managed-by: Kustomize
app.kubernetes.io/name: kyverno
app.kubernetes.io/part-of: kyverno
app.kubernetes.io/version: v1.5.4-rc1
app.kubernetes.io/version: v1.5.4-rc2
name: kyverno:webhook
rules:
- apiGroups:
@ -7329,7 +7329,7 @@ metadata:
app.kubernetes.io/managed-by: Kustomize
app.kubernetes.io/name: kyverno
app.kubernetes.io/part-of: kyverno
app.kubernetes.io/version: v1.5.4-rc1
app.kubernetes.io/version: v1.5.4-rc2
name: kyverno:customresources
roleRef:
apiGroup: rbac.authorization.k8s.io
@ -7350,7 +7350,7 @@ metadata:
app.kubernetes.io/managed-by: Kustomize
app.kubernetes.io/name: kyverno
app.kubernetes.io/part-of: kyverno
app.kubernetes.io/version: v1.5.4-rc1
app.kubernetes.io/version: v1.5.4-rc2
name: kyverno:generatecontroller
roleRef:
apiGroup: rbac.authorization.k8s.io
@ -7371,7 +7371,7 @@ metadata:
app.kubernetes.io/managed-by: Kustomize
app.kubernetes.io/name: kyverno
app.kubernetes.io/part-of: kyverno
app.kubernetes.io/version: v1.5.4-rc1
app.kubernetes.io/version: v1.5.4-rc2
name: kyverno:leaderelection
roleRef:
apiGroup: rbac.authorization.k8s.io
@ -7392,7 +7392,7 @@ metadata:
app.kubernetes.io/managed-by: Kustomize
app.kubernetes.io/name: kyverno
app.kubernetes.io/part-of: kyverno
app.kubernetes.io/version: v1.5.4-rc1
app.kubernetes.io/version: v1.5.4-rc2
name: kyverno:policycontroller
roleRef:
apiGroup: rbac.authorization.k8s.io
@ -7413,7 +7413,7 @@ metadata:
app.kubernetes.io/managed-by: Kustomize
app.kubernetes.io/name: kyverno
app.kubernetes.io/part-of: kyverno
app.kubernetes.io/version: v1.5.4-rc1
app.kubernetes.io/version: v1.5.4-rc2
name: kyverno:userinfo
roleRef:
apiGroup: rbac.authorization.k8s.io
@ -7434,7 +7434,7 @@ metadata:
app.kubernetes.io/managed-by: Kustomize
app.kubernetes.io/name: kyverno
app.kubernetes.io/part-of: kyverno
app.kubernetes.io/version: v1.5.4-rc1
app.kubernetes.io/version: v1.5.4-rc2
name: kyverno:webhook
roleRef:
apiGroup: rbac.authorization.k8s.io
@ -7459,7 +7459,7 @@ metadata:
app.kubernetes.io/managed-by: Kustomize
app.kubernetes.io/name: kyverno
app.kubernetes.io/part-of: kyverno
app.kubernetes.io/version: v1.5.4-rc1
app.kubernetes.io/version: v1.5.4-rc2
name: kyverno
namespace: kyverno
---
@ -7476,7 +7476,7 @@ metadata:
app.kubernetes.io/managed-by: Kustomize
app.kubernetes.io/name: kyverno
app.kubernetes.io/part-of: kyverno
app.kubernetes.io/version: v1.5.4-rc1
app.kubernetes.io/version: v1.5.4-rc2
name: kyverno-metrics
namespace: kyverno
---
@ -7490,7 +7490,7 @@ metadata:
app.kubernetes.io/managed-by: Kustomize
app.kubernetes.io/name: kyverno
app.kubernetes.io/part-of: kyverno
app.kubernetes.io/version: v1.5.4-rc1
app.kubernetes.io/version: v1.5.4-rc2
name: kyverno-svc
namespace: kyverno
spec:
@ -7512,7 +7512,7 @@ metadata:
app.kubernetes.io/managed-by: Kustomize
app.kubernetes.io/name: kyverno
app.kubernetes.io/part-of: kyverno
app.kubernetes.io/version: v1.5.4-rc1
app.kubernetes.io/version: v1.5.4-rc2
name: kyverno-svc-metrics
namespace: kyverno
spec:
@ -7534,7 +7534,7 @@ metadata:
app.kubernetes.io/managed-by: Kustomize
app.kubernetes.io/name: kyverno
app.kubernetes.io/part-of: kyverno
app.kubernetes.io/version: v1.5.4-rc1
app.kubernetes.io/version: v1.5.4-rc2
name: kyverno
namespace: kyverno
spec:
@ -7557,7 +7557,7 @@ spec:
app.kubernetes.io/managed-by: Kustomize
app.kubernetes.io/name: kyverno
app.kubernetes.io/part-of: kyverno
app.kubernetes.io/version: v1.5.4-rc1
app.kubernetes.io/version: v1.5.4-rc2
spec:
affinity:
podAntiAffinity:
@ -7586,7 +7586,7 @@ spec:
fieldPath: metadata.namespace
- name: KYVERNO_SVC
value: kyverno-svc
image: ghcr.io/kyverno/kyverno:v1.5.4-rc1
image: ghcr.io/kyverno/kyverno:v1.5.4-rc2
imagePullPolicy: IfNotPresent
livenessProbe:
failureThreshold: 2
@ -7638,7 +7638,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
image: ghcr.io/kyverno/kyvernopre:v1.5.4-rc1
image: ghcr.io/kyverno/kyvernopre:v1.5.4-rc2
imagePullPolicy: IfNotPresent
name: kyverno-pre
resources:
@ -7670,7 +7670,7 @@ metadata:
app.kubernetes.io/managed-by: Kustomize
app.kubernetes.io/name: kyverno
app.kubernetes.io/part-of: kyverno
app.kubernetes.io/version: v1.5.4-rc1
app.kubernetes.io/version: v1.5.4-rc2
name: kyverno
namespace: kyverno
spec:

View file

@ -9,6 +9,6 @@ transformers:
images:
- name: ghcr.io/kyverno/kyverno
newTag: v1.5.4-rc1
newTag: v1.5.4-rc2
- name: ghcr.io/kyverno/kyvernopre
newTag: v1.5.4-rc1
newTag: v1.5.4-rc2

View file

@ -4,7 +4,7 @@ kind: LabelTransformer
metadata:
name: labelTransformer
labels:
app.kubernetes.io/version: v1.5.4-rc1
app.kubernetes.io/version: v1.5.4-rc2
fieldSpecs:
- path: metadata/labels
create: true

View file

@ -117,7 +117,7 @@ func (c *CertRenewer) buildTLSPemPairAndWriteToSecrets(props CertificateProps, s
// WriteCACertToSecret stores the CA cert in secret
func (c *CertRenewer) WriteCACertToSecret(caPEM *PemPair, props CertificateProps) error {
logger := c.log.WithName("CAcert")
name := generateRootCASecretName(props)
name := GenerateRootCASecretName(props)
depl, err := c.client.GetResource("", "Deployment", props.Namespace, config.KyvernoDeploymentName)
@ -126,16 +126,7 @@ func (c *CertRenewer) WriteCACertToSecret(caPEM *PemPair, props CertificateProps
deplHash = fmt.Sprintf("%v", depl.GetUID())
}
var deplHashSec string = "default"
var ok, managedByKyverno bool
secretUnstr, err := c.client.GetResource("", "Secret", props.Namespace, name)
if err == nil {
if label, ok := secretUnstr.GetLabels()[ManagedByLabel]; ok {
managedByKyverno = label == "kyverno"
}
deplHashSec, ok = secretUnstr.GetAnnotations()[MasterDeploymentUID]
}
secret := &v1.Secret{
TypeMeta: metav1.TypeMeta{
@ -167,7 +158,7 @@ func (c *CertRenewer) WriteCACertToSecret(caPEM *PemPair, props CertificateProps
}
}
return err
} else if managedByKyverno && (!ok || deplHashSec != deplHash) {
} else if CanAddAnnotationToSecret(deplHash, secretUnstr) {
_, err = c.client.UpdateResource("", "Secret", props.Namespace, secret, false)
if err == nil {
logger.Info("secret updated", "name", name, "namespace", props.Namespace)
@ -199,7 +190,7 @@ func (c *CertRenewer) WriteCACertToSecret(caPEM *PemPair, props CertificateProps
func (c *CertRenewer) WriteTLSPairToSecret(props CertificateProps, pemPair *PemPair) error {
logger := c.log.WithName("WriteTLSPair")
name := generateTLSPairSecretName(props)
name := GenerateTLSPairSecretName(props)
depl, err := c.client.GetResource("", "Deployment", props.Namespace, config.KyvernoDeploymentName)
@ -208,16 +199,7 @@ func (c *CertRenewer) WriteTLSPairToSecret(props CertificateProps, pemPair *PemP
deplHash = fmt.Sprintf("%v", depl.GetUID())
}
var deplHashSec string = "default"
var ok, managedByKyverno bool
secretUnstr, err := c.client.GetResource("", "Secret", props.Namespace, name)
if err == nil {
if label, ok := secretUnstr.GetLabels()[ManagedByLabel]; ok {
managedByKyverno = label == "kyverno"
}
deplHashSec, ok = secretUnstr.GetAnnotations()[MasterDeploymentUID]
}
secretPtr := &v1.Secret{
TypeMeta: metav1.TypeMeta{
@ -249,7 +231,7 @@ func (c *CertRenewer) WriteTLSPairToSecret(props CertificateProps, pemPair *PemP
}
}
return err
} else if managedByKyverno && (!ok || deplHashSec != deplHash) {
} else if CanAddAnnotationToSecret(deplHash, secretUnstr) {
_, err = c.client.UpdateResource("", "Secret", props.Namespace, secretPtr, false)
if err == nil {
logger.Info("secret updated", "name", name, "namespace", props.Namespace)
@ -337,8 +319,8 @@ func (c *CertRenewer) ValidCert() (bool, error) {
return false, nil
}
var managedByKyverno bool
snameTLS := generateTLSPairSecretName(certProps)
snameCA := generateRootCASecretName(certProps)
snameTLS := GenerateTLSPairSecretName(certProps)
snameCA := GenerateRootCASecretName(certProps)
unstrSecret, err := c.client.GetResource("", "Secret", certProps.Namespace, snameTLS)
if err != nil {
return false, nil
@ -444,10 +426,22 @@ func IsKyvernoInRollingUpdate(deploy map[string]interface{}, logger logr.Logger)
return false
}
func generateTLSPairSecretName(props CertificateProps) string {
func GenerateTLSPairSecretName(props CertificateProps) string {
return generateInClusterServiceName(props) + ".kyverno-tls-pair"
}
func generateRootCASecretName(props CertificateProps) string {
func GenerateRootCASecretName(props CertificateProps) string {
return generateInClusterServiceName(props) + ".kyverno-tls-ca"
}
func CanAddAnnotationToSecret(deplHash string, secret *unstructured.Unstructured) bool {
var deplHashSec string = "default"
var ok, managedByKyverno bool
if label, ok := secret.GetLabels()[ManagedByLabel]; ok {
managedByKyverno = label == "kyverno"
}
deplHashSec, ok = secret.GetAnnotations()[MasterDeploymentUID]
return managedByKyverno && (!ok || deplHashSec != deplHash)
}

View file

@ -32,7 +32,7 @@ func ReadRootCASecret(restConfig *rest.Config, client *client.Client) (result []
var deplHashSec string = "default"
var ok, managedByKyverno bool
sname := generateRootCASecretName(certProps)
sname := GenerateRootCASecretName(certProps)
stlsca, err := client.GetResource("", "Secret", certProps.Namespace, sname)
if err != nil {
return nil, err
@ -76,7 +76,7 @@ func ReadTLSPair(restConfig *rest.Config, client *client.Client) (*PemPair, erro
var deplHashSec string = "default"
var ok, managedByKyverno bool
sname := generateTLSPairSecretName(certProps)
sname := GenerateTLSPairSecretName(certProps)
unstrSecret, err := client.GetResource("", "Secret", certProps.Namespace, sname)
if err != nil {
return nil, fmt.Errorf("failed to get secret %s/%s: %v", certProps.Namespace, sname, err)
@ -93,7 +93,7 @@ func ReadTLSPair(restConfig *rest.Config, client *client.Client) (*PemPair, erro
// As the root CA used to sign the certificate is required for webhook configuration, check if the corresponding secret is created
annotations := unstrSecret.GetAnnotations()
if _, ok := annotations[SelfSignedAnnotation]; ok {
sname := generateRootCASecretName(certProps)
sname := GenerateRootCASecretName(certProps)
_, err := client.GetResource("", "Secret", certProps.Namespace, sname)
if err != nil {
return nil, fmt.Errorf("rootCA secret is required while using self-signed certificate TLS pair, defaulting to generating new TLS pair %s/%s", certProps.Namespace, sname)