Bläddra i källkod

fix: oci helm release gha (#4887)

* fix: oci helm release gha

Signed-off-by: Gustavo Carvalho <gustavo@externalsecrets.com>

* fix: schema

Signed-off-by: Gustavo Carvalho <gustavo@externalsecrets.com>

* fix: comment out ubi images

Signed-off-by: Gustavo Carvalho <gustavo@externalsecrets.com>

* fix: fixing the ubi build process

Signed-off-by: Gergely Brautigam <182850+Skarlso@users.noreply.github.com>

---------

Signed-off-by: Gustavo Carvalho <gustavo@externalsecrets.com>
Signed-off-by: Gergely Brautigam <182850+Skarlso@users.noreply.github.com>
Co-authored-by: Gergely Brautigam <182850+Skarlso@users.noreply.github.com>
Gustavo Fernandes de Carvalho 10 månader sedan
förälder
incheckning
1890d6480b
4 ändrade filer med 131 tillägg och 195 borttagningar
  1. 12 34
      .github/workflows/helm.yml
  2. 2 1
      .github/workflows/release.yml
  3. 1 1
      Dockerfile.ubi
  4. 116 159
      deploy/charts/external-secrets/values.schema.json

+ 12 - 34
.github/workflows/helm.yml

@@ -69,37 +69,7 @@ jobs:
       - name: Run unitests
         if: steps.list-changed.outputs.changed == 'true'
         run: make helm.test
-  check-release:
-    permissions:
-        contents: read
-    outputs:
-      release_exists: ${{ steps.check_release.outputs.release_exists }}
-    runs-on: ubuntu-latest
-    steps:
-      - name: Harden the runner (Audit all outbound calls)
-        uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
-        with:
-          egress-policy: audit
-      - name: Checkout
-        uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
-        with:
-          fetch-depth: 0
-      - name: Check if release already exists
-        id: check_release
-        run: |
-          release_version=$(yq .version deploy/charts/external-secrets/Chart.yaml)
-          release_status=$(curl --silent -w "%{http_code}" --output /dev/null "https://api.github.com/repos/external-secrets/external-secrets/releases/tags/helm-chart-${release_version}")
-          if [ $release_status -eq 200 ]; then
-            echo "Release already exists"
-            echo "release_exists='true'">> $GITHUB_OUTPUT
-          else
-            echo "Release does not exist"
-            echo "release_exists='false'" >> $GITHUB_OUTPUT
-          fi
   release:
-    needs:
-      - check-release
-    if: (needs.check-release.outputs.release_exists == 'false') && (github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/heads/release-'))
     permissions:
       contents: write  # for helm/chart-releaser-action to push chart release and create a release
       packages: write  # to push OCI chart package to GitHub Registry
@@ -125,7 +95,7 @@ jobs:
       - name: Set up Helm
         uses: azure/setup-helm@f382f75448129b3be48f8121b9857be18d815a82 # v3.4
         with:
-          version: v3.4.2
+          version: v3.17.3
 
       - name: Generate chart
         run: make helm.generate
@@ -152,7 +122,7 @@ jobs:
       - name: Set up Helm
         uses: azure/setup-helm@5119fcb9089d432beecbf79bb2c7915207344b78 # v3.5
         with:
-          version: v3.14.2 # remember to also update for the first job (lint-and-test)
+          version: v3.17.3 # remember to also update for the first job (lint-and-test)
 
       - name: Login to GHCR
         uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 # v3.4.0
@@ -170,13 +140,19 @@ jobs:
         id: push_chart
         run: |
           shopt -s nullglob
+          # helm push fails when registry path contains Uppercase letters
+          chart_registry="ghcr.io/${GITHUB_REPOSITORY_OWNER}/charts"
           for pkg in .cr-release-packages/*.tgz; do
             if [ -z "${pkg:-}" ]; then
               break
             fi
             chart_name=$(helm show chart "${pkg}" | yq .name)
-            # helm push fails when registry path contains Uppercase letters
-            chart_registry="ghcr.io/${GITHUB_REPOSITORY_OWNER}/charts"
+            chart_version=$(helm show chart "${pkg}" | yq .version)
+            if helm show chart oci://${chart_registry}/${chart_name} --version ${chart_version} > /dev/null 2>&1; then
+              echo "Chart oci://${chart_name}:${chart_version} already exists in repository - skipping..."
+              echo "push_status=skipped" >> "$GITHUB_OUTPUT"
+              continue
+            fi
 
             helm_push_output=$(helm push "${pkg}" "oci://${chart_registry}" 2>&1)
             digest=$(echo "$helm_push_output" | grep -o 'sha256:[a-z0-9]*')
@@ -189,11 +165,13 @@ jobs:
                 --certificate-oidc-issuer https://token.actions.githubusercontent.com
 
             echo "digest=${digest}" >> "$GITHUB_OUTPUT"
+            echo "push_status=pushed" >> "$GITHUB_OUTPUT"
             echo "chart_name=${chart_name}" >> "$GITHUB_OUTPUT"
             echo "registry=${chart_registry}" >> "$GITHUB_OUTPUT"
           done
 
       - name: Generate provenance attestation and push to OCI registry
+        if: steps.push_chart.outputs.push_status == 'pushed'
         uses: actions/attest-build-provenance@db473fddc028af60658334401dc6fa3ffd8669fd # v2.3.0
         with:
           push-to-registry: true

+ 2 - 1
.github/workflows/release.yml

@@ -37,7 +37,7 @@ jobs:
           ref: ${{ github.event.inputs.source_ref }}
       - name: check-docs
         run: |
-          DOCS_VERSION=${{ github.event.inputs.version }} make docs.check 
+          DOCS_VERSION=${{ github.event.inputs.version }} make docs.check
   release:
     name: Create Release
     runs-on: ubuntu-latest
@@ -63,6 +63,7 @@ jobs:
           generate_release_notes: true
           body: |
             Image: `${{ env.IMAGE_NAME }}:${{ github.event.inputs.version }}`
+            NOTE - the following UBI images are not currently working (broken build process).
             Image: `${{ env.IMAGE_NAME }}:${{ github.event.inputs.version }}-ubi`
             Image: `${{ env.IMAGE_NAME }}:${{ github.event.inputs.version }}-ubi-boringssl`
         env:

+ 1 - 1
Dockerfile.ubi

@@ -6,7 +6,7 @@ LABEL maintainer="cncf-externalsecretsop-maintainers@lists.cncf.io" \
 
 ARG TARGETOS
 ARG TARGETARCH
-RUN dnf update -y && dnf install -y binutils
+RUN dnf update -y --allowerasing && dnf install -y binutils
 # prep target rootfs for scratch container
 WORKDIR /
 RUN mkdir /image && \

+ 116 - 159
deploy/charts/external-secrets/values.schema.json

@@ -1,33 +1,31 @@
 {
     "$schema": "https://json-schema.org/draft/2020-12/schema",
+    "type": "object",
     "properties": {
         "affinity": {
-            "properties": {},
             "type": "object"
         },
         "bitwarden-sdk-server": {
+            "type": "object",
             "properties": {
                 "enabled": {
                     "type": "boolean"
                 }
-            },
-            "type": "object"
+            }
         },
         "certController": {
+            "type": "object",
             "properties": {
                 "affinity": {
-                    "properties": {},
                     "type": "object"
                 },
                 "create": {
                     "type": "boolean"
                 },
                 "deploymentAnnotations": {
-                    "properties": {},
                     "type": "object"
                 },
                 "extraArgs": {
-                    "properties": {},
                     "type": "object"
                 },
                 "extraEnv": {
@@ -46,6 +44,7 @@
                     "type": "boolean"
                 },
                 "image": {
+                    "type": "object",
                     "properties": {
                         "flavour": {
                             "type": "string"
@@ -59,13 +58,13 @@
                         "tag": {
                             "type": "string"
                         }
-                    },
-                    "type": "object"
+                    }
                 },
                 "imagePullSecrets": {
                     "type": "array"
                 },
                 "log": {
+                    "type": "object",
                     "properties": {
                         "level": {
                             "type": "string"
@@ -73,23 +72,23 @@
                         "timeEncoding": {
                             "type": "string"
                         }
-                    },
-                    "type": "object"
+                    }
                 },
                 "metrics": {
+                    "type": "object",
                     "properties": {
                         "listen": {
+                            "type": "object",
                             "properties": {
                                 "port": {
                                     "type": "integer"
                                 }
-                            },
-                            "type": "object"
+                            }
                         },
                         "service": {
+                            "type": "object",
                             "properties": {
                                 "annotations": {
-                                    "properties": {},
                                     "type": "object"
                                 },
                                 "enabled": {
@@ -98,24 +97,21 @@
                                 "port": {
                                     "type": "integer"
                                 }
-                            },
-                            "type": "object"
+                            }
                         }
-                    },
-                    "type": "object"
+                    }
                 },
                 "nameOverride": {
                     "type": "string"
                 },
                 "nodeSelector": {
-                    "properties": {},
                     "type": "object"
                 },
                 "podAnnotations": {
-                    "properties": {},
                     "type": "object"
                 },
                 "podDisruptionBudget": {
+                    "type": "object",
                     "properties": {
                         "enabled": {
                             "type": "boolean"
@@ -126,33 +122,32 @@
                                 "string"
                             ]
                         }
-                    },
-                    "type": "object"
+                    }
                 },
                 "podLabels": {
-                    "properties": {},
                     "type": "object"
                 },
                 "podSecurityContext": {
+                    "type": "object",
                     "properties": {
                         "enabled": {
                             "type": "boolean"
                         }
-                    },
-                    "type": "object"
+                    }
                 },
                 "priorityClassName": {
                     "type": "string"
                 },
                 "rbac": {
+                    "type": "object",
                     "properties": {
                         "create": {
                             "type": "boolean"
                         }
-                    },
-                    "type": "object"
+                    }
                 },
                 "readinessProbe": {
+                    "type": "object",
                     "properties": {
                         "address": {
                             "type": "string"
@@ -160,8 +155,7 @@
                         "port": {
                             "type": "integer"
                         }
-                    },
-                    "type": "object"
+                    }
                 },
                 "replicaCount": {
                     "type": "integer"
@@ -170,27 +164,27 @@
                     "type": "string"
                 },
                 "resources": {
-                    "properties": {},
                     "type": "object"
                 },
                 "revisionHistoryLimit": {
                     "type": "integer"
                 },
                 "securityContext": {
+                    "type": "object",
                     "properties": {
                         "allowPrivilegeEscalation": {
                             "type": "boolean"
                         },
                         "capabilities": {
+                            "type": "object",
                             "properties": {
                                 "drop": {
+                                    "type": "array",
                                     "items": {
                                         "type": "string"
-                                    },
-                                    "type": "array"
+                                    }
                                 }
-                            },
-                            "type": "object"
+                            }
                         },
                         "enabled": {
                             "type": "boolean"
@@ -205,20 +199,19 @@
                             "type": "integer"
                         },
                         "seccompProfile": {
+                            "type": "object",
                             "properties": {
                                 "type": {
                                     "type": "string"
                                 }
-                            },
-                            "type": "object"
+                            }
                         }
-                    },
-                    "type": "object"
+                    }
                 },
                 "serviceAccount": {
+                    "type": "object",
                     "properties": {
                         "annotations": {
-                            "properties": {},
                             "type": "object"
                         },
                         "automount": {
@@ -228,14 +221,12 @@
                             "type": "boolean"
                         },
                         "extraLabels": {
-                            "properties": {},
                             "type": "object"
                         },
                         "name": {
                             "type": "string"
                         }
-                    },
-                    "type": "object"
+                    }
                 },
                 "tolerations": {
                     "type": "array"
@@ -243,11 +234,9 @@
                 "topologySpreadConstraints": {
                     "type": "array"
                 }
-            },
-            "type": "object"
+            }
         },
         "commonLabels": {
-            "properties": {},
             "type": "object"
         },
         "concurrent": {
@@ -257,18 +246,18 @@
             "type": "string"
         },
         "crds": {
+            "type": "object",
             "properties": {
                 "annotations": {
-                    "properties": {},
                     "type": "object"
                 },
                 "conversion": {
+                    "type": "object",
                     "properties": {
                         "enabled": {
                             "type": "boolean"
                         }
-                    },
-                    "type": "object"
+                    }
                 },
                 "createClusterExternalSecret": {
                     "type": "boolean"
@@ -285,18 +274,15 @@
                 "createPushSecret": {
                     "type": "boolean"
                 }
-            },
-            "type": "object"
+            }
         },
         "createOperator": {
             "type": "boolean"
         },
         "deploymentAnnotations": {
-            "properties": {},
             "type": "object"
         },
         "dnsConfig": {
-            "properties": {},
             "type": "object"
         },
         "dnsPolicy": {
@@ -306,7 +292,6 @@
             "type": "boolean"
         },
         "extraArgs": {
-            "properties": {},
             "type": "object"
         },
         "extraContainers": {
@@ -328,26 +313,25 @@
             "type": "string"
         },
         "global": {
+            "type": "object",
             "properties": {
                 "affinity": {
-                    "properties": {},
                     "type": "object"
                 },
                 "compatibility": {
+                    "type": "object",
                     "properties": {
                         "openshift": {
+                            "type": "object",
                             "properties": {
                                 "adaptSecurityContext": {
                                     "type": "string"
                                 }
-                            },
-                            "type": "object"
+                            }
                         }
-                    },
-                    "type": "object"
+                    }
                 },
                 "nodeSelector": {
-                    "properties": {},
                     "type": "object"
                 },
                 "tolerations": {
@@ -356,13 +340,12 @@
                 "topologySpreadConstraints": {
                     "type": "array"
                 }
-            },
-            "type": "object"
+            }
         },
         "grafanaDashboard": {
+            "type": "object",
             "properties": {
                 "annotations": {
-                    "properties": {},
                     "type": "object"
                 },
                 "enabled": {
@@ -374,13 +357,13 @@
                 "sidecarLabelValue": {
                     "type": "string"
                 }
-            },
-            "type": "object"
+            }
         },
         "hostNetwork": {
             "type": "boolean"
         },
         "image": {
+            "type": "object",
             "properties": {
                 "flavour": {
                     "type": "string"
@@ -394,8 +377,7 @@
                 "tag": {
                     "type": "string"
                 }
-            },
-            "type": "object"
+            }
         },
         "imagePullSecrets": {
             "type": "array"
@@ -407,6 +389,7 @@
             "type": "boolean"
         },
         "log": {
+            "type": "object",
             "properties": {
                 "level": {
                     "type": "string"
@@ -414,23 +397,23 @@
                 "timeEncoding": {
                     "type": "string"
                 }
-            },
-            "type": "object"
+            }
         },
         "metrics": {
+            "type": "object",
             "properties": {
                 "listen": {
+                    "type": "object",
                     "properties": {
                         "port": {
                             "type": "integer"
                         }
-                    },
-                    "type": "object"
+                    }
                 },
                 "service": {
+                    "type": "object",
                     "properties": {
                         "annotations": {
-                            "properties": {},
                             "type": "object"
                         },
                         "enabled": {
@@ -439,11 +422,9 @@
                         "port": {
                             "type": "integer"
                         }
-                    },
-                    "type": "object"
+                    }
                 }
-            },
-            "type": "object"
+            }
         },
         "nameOverride": {
             "type": "string"
@@ -452,17 +433,16 @@
             "type": "string"
         },
         "nodeSelector": {
-            "properties": {},
             "type": "object"
         },
         "openshiftFinalizers": {
             "type": "boolean"
         },
         "podAnnotations": {
-            "properties": {},
             "type": "object"
         },
         "podDisruptionBudget": {
+            "type": "object",
             "properties": {
                 "enabled": {
                     "type": "boolean"
@@ -473,23 +453,20 @@
                         "string"
                     ]
                 }
-            },
-            "type": "object"
+            }
         },
         "podLabels": {
-            "properties": {},
             "type": "object"
         },
         "podSecurityContext": {
+            "type": "object",
             "properties": {
                 "enabled": {
                     "type": "boolean"
                 }
-            },
-            "type": "object"
+            }
         },
         "podSpecExtra": {
-            "properties": {},
             "type": "object"
         },
         "priorityClassName": {
@@ -508,6 +485,7 @@
             "type": "boolean"
         },
         "rbac": {
+            "type": "object",
             "properties": {
                 "aggregateToEdit": {
                     "type": "boolean"
@@ -519,21 +497,19 @@
                     "type": "boolean"
                 },
                 "servicebindings": {
+                    "type": "object",
                     "properties": {
                         "create": {
                             "type": "boolean"
                         }
-                    },
-                    "type": "object"
+                    }
                 }
-            },
-            "type": "object"
+            }
         },
         "replicaCount": {
             "type": "integer"
         },
         "resources": {
-            "properties": {},
             "type": "object"
         },
         "revisionHistoryLimit": {
@@ -546,20 +522,21 @@
             "type": "boolean"
         },
         "securityContext": {
+            "type": "object",
             "properties": {
                 "allowPrivilegeEscalation": {
                     "type": "boolean"
                 },
                 "capabilities": {
+                    "type": "object",
                     "properties": {
                         "drop": {
+                            "type": "array",
                             "items": {
                                 "type": "string"
-                            },
-                            "type": "array"
+                            }
                         }
-                    },
-                    "type": "object"
+                    }
                 },
                 "enabled": {
                     "type": "boolean"
@@ -574,17 +551,17 @@
                     "type": "integer"
                 },
                 "seccompProfile": {
+                    "type": "object",
                     "properties": {
                         "type": {
                             "type": "string"
                         }
-                    },
-                    "type": "object"
+                    }
                 }
-            },
-            "type": "object"
+            }
         },
         "service": {
+            "type": "object",
             "properties": {
                 "ipFamilies": {
                     "type": "array"
@@ -592,13 +569,12 @@
                 "ipFamilyPolicy": {
                     "type": "string"
                 }
-            },
-            "type": "object"
+            }
         },
         "serviceAccount": {
+            "type": "object",
             "properties": {
                 "annotations": {
-                    "properties": {},
                     "type": "object"
                 },
                 "automount": {
@@ -608,19 +584,17 @@
                     "type": "boolean"
                 },
                 "extraLabels": {
-                    "properties": {},
                     "type": "object"
                 },
                 "name": {
                     "type": "string"
                 }
-            },
-            "type": "object"
+            }
         },
         "serviceMonitor": {
+            "type": "object",
             "properties": {
                 "additionalLabels": {
-                    "properties": {},
                     "type": "object"
                 },
                 "enabled": {
@@ -644,8 +618,7 @@
                 "scrapeTimeout": {
                     "type": "string"
                 }
-            },
-            "type": "object"
+            }
         },
         "tolerations": {
             "type": "array"
@@ -654,13 +627,12 @@
             "type": "array"
         },
         "webhook": {
+            "type": "object",
             "properties": {
                 "affinity": {
-                    "properties": {},
                     "type": "object"
                 },
                 "annotations": {
-                    "properties": {},
                     "type": "object"
                 },
                 "certCheckInterval": {
@@ -670,14 +642,15 @@
                     "type": "string"
                 },
                 "certManager": {
+                    "type": "object",
                     "properties": {
                         "addInjectorAnnotations": {
                             "type": "boolean"
                         },
                         "cert": {
+                            "type": "object",
                             "properties": {
                                 "annotations": {
-                                    "properties": {},
                                     "type": "object"
                                 },
                                 "create": {
@@ -687,6 +660,7 @@
                                     "type": "string"
                                 },
                                 "issuerRef": {
+                                    "type": "object",
                                     "properties": {
                                         "group": {
                                             "type": "string"
@@ -697,8 +671,7 @@
                                         "name": {
                                             "type": "string"
                                         }
-                                    },
-                                    "type": "object"
+                                    }
                                 },
                                 "renewBefore": {
                                     "type": "string"
@@ -706,24 +679,20 @@
                                 "revisionHistoryLimit": {
                                     "type": "integer"
                                 }
-                            },
-                            "type": "object"
+                            }
                         },
                         "enabled": {
                             "type": "boolean"
                         }
-                    },
-                    "type": "object"
+                    }
                 },
                 "create": {
                     "type": "boolean"
                 },
                 "deploymentAnnotations": {
-                    "properties": {},
                     "type": "object"
                 },
                 "extraArgs": {
-                    "properties": {},
                     "type": "object"
                 },
                 "extraEnv": {
@@ -745,6 +714,7 @@
                     "type": "boolean"
                 },
                 "image": {
+                    "type": "object",
                     "properties": {
                         "flavour": {
                             "type": "string"
@@ -758,13 +728,13 @@
                         "tag": {
                             "type": "string"
                         }
-                    },
-                    "type": "object"
+                    }
                 },
                 "imagePullSecrets": {
                     "type": "array"
                 },
                 "log": {
+                    "type": "object",
                     "properties": {
                         "level": {
                             "type": "string"
@@ -772,26 +742,26 @@
                         "timeEncoding": {
                             "type": "string"
                         }
-                    },
-                    "type": "object"
+                    }
                 },
                 "lookaheadInterval": {
                     "type": "string"
                 },
                 "metrics": {
+                    "type": "object",
                     "properties": {
                         "listen": {
+                            "type": "object",
                             "properties": {
                                 "port": {
                                     "type": "integer"
                                 }
-                            },
-                            "type": "object"
+                            }
                         },
                         "service": {
+                            "type": "object",
                             "properties": {
                                 "annotations": {
-                                    "properties": {},
                                     "type": "object"
                                 },
                                 "enabled": {
@@ -800,24 +770,21 @@
                                 "port": {
                                     "type": "integer"
                                 }
-                            },
-                            "type": "object"
+                            }
                         }
-                    },
-                    "type": "object"
+                    }
                 },
                 "nameOverride": {
                     "type": "string"
                 },
                 "nodeSelector": {
-                    "properties": {},
                     "type": "object"
                 },
                 "podAnnotations": {
-                    "properties": {},
                     "type": "object"
                 },
                 "podDisruptionBudget": {
+                    "type": "object",
                     "properties": {
                         "enabled": {
                             "type": "boolean"
@@ -828,20 +795,18 @@
                                 "string"
                             ]
                         }
-                    },
-                    "type": "object"
+                    }
                 },
                 "podLabels": {
-                    "properties": {},
                     "type": "object"
                 },
                 "podSecurityContext": {
+                    "type": "object",
                     "properties": {
                         "enabled": {
                             "type": "boolean"
                         }
-                    },
-                    "type": "object"
+                    }
                 },
                 "port": {
                     "type": "integer"
@@ -850,14 +815,15 @@
                     "type": "string"
                 },
                 "rbac": {
+                    "type": "object",
                     "properties": {
                         "create": {
                             "type": "boolean"
                         }
-                    },
-                    "type": "object"
+                    }
                 },
                 "readinessProbe": {
+                    "type": "object",
                     "properties": {
                         "address": {
                             "type": "string"
@@ -865,38 +831,36 @@
                         "port": {
                             "type": "integer"
                         }
-                    },
-                    "type": "object"
+                    }
                 },
                 "replicaCount": {
                     "type": "integer"
                 },
                 "resources": {
-                    "properties": {},
                     "type": "object"
                 },
                 "revisionHistoryLimit": {
                     "type": "integer"
                 },
                 "secretAnnotations": {
-                    "properties": {},
                     "type": "object"
                 },
                 "securityContext": {
+                    "type": "object",
                     "properties": {
                         "allowPrivilegeEscalation": {
                             "type": "boolean"
                         },
                         "capabilities": {
+                            "type": "object",
                             "properties": {
                                 "drop": {
+                                    "type": "array",
                                     "items": {
                                         "type": "string"
-                                    },
-                                    "type": "array"
+                                    }
                                 }
-                            },
-                            "type": "object"
+                            }
                         },
                         "enabled": {
                             "type": "boolean"
@@ -911,27 +875,25 @@
                             "type": "integer"
                         },
                         "seccompProfile": {
+                            "type": "object",
                             "properties": {
                                 "type": {
                                     "type": "string"
                                 }
-                            },
-                            "type": "object"
+                            }
                         }
-                    },
-                    "type": "object"
+                    }
                 },
                 "service": {
+                    "type": "object",
                     "properties": {
                         "annotations": {
-                            "properties": {},
                             "type": "object"
                         },
                         "enabled": {
                             "type": "boolean"
                         },
                         "labels": {
-                            "properties": {},
                             "type": "object"
                         },
                         "loadBalancerIP": {
@@ -940,13 +902,12 @@
                         "type": {
                             "type": "string"
                         }
-                    },
-                    "type": "object"
+                    }
                 },
                 "serviceAccount": {
+                    "type": "object",
                     "properties": {
                         "annotations": {
-                            "properties": {},
                             "type": "object"
                         },
                         "automount": {
@@ -956,14 +917,12 @@
                             "type": "boolean"
                         },
                         "extraLabels": {
-                            "properties": {},
                             "type": "object"
                         },
                         "name": {
                             "type": "string"
                         }
-                    },
-                    "type": "object"
+                    }
                 },
                 "tolerations": {
                     "type": "array"
@@ -971,9 +930,7 @@
                 "topologySpreadConstraints": {
                     "type": "array"
                 }
-            },
-            "type": "object"
+            }
         }
-    },
-    "type": "object"
+    }
 }