{
  "properties": {
    "apiVersion": {
      "type": "string"
    },
    "kind": {
      "type": "string"
    },
    "metadata": {
      "type": "object"
    },
    "spec": {
      "properties": {
        "authentication": {
          "properties": {
            "basic": {
              "properties": {
                "debug": {
                  "type": "boolean"
                },
                "directoryPathInContainer": {
                  "minLength": 1,
                  "type": "string"
                },
                "ignoreRoles": {
                  "type": "boolean"
                },
                "restrictedRoles": {
                  "items": {
                    "type": "string"
                  },
                  "minItems": 1,
                  "type": "array"
                },
                "roles": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "secretRef": {
                  "maxLength": 30,
                  "minLength": 1,
                  "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$",
                  "type": "string"
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "mtls": {
              "properties": {
                "principalMappingRules": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "sslClientAuthentication": {
                  "enum": [
                    "required",
                    "requested"
                  ],
                  "type": "string"
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "oauth": {
              "properties": {
                "configuration": {
                  "properties": {
                    "audience": {
                      "minLength": 1,
                      "type": "string"
                    },
                    "clientAssertion": {
                      "properties": {
                        "clientId": {
                          "minLength": 1,
                          "type": "string"
                        },
                        "jwtTokenFile": {
                          "properties": {
                            "directoryPathInContainer": {
                              "minLength": 1,
                              "type": "string"
                            },
                            "secretRef": {
                              "maxLength": 30,
                              "minLength": 1,
                              "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$",
                              "type": "string"
                            }
                          },
                          "type": "object",
                          "additionalProperties": false
                        },
                        "localClientAssertion": {
                          "properties": {
                            "audience": {
                              "minLength": 1,
                              "type": "string"
                            },
                            "includeJtiClaim": {
                              "type": "boolean"
                            },
                            "includeNbfClaim": {
                              "type": "boolean"
                            },
                            "issuer": {
                              "minLength": 1,
                              "type": "string"
                            },
                            "privateKeyFile": {
                              "properties": {
                                "directoryPathInContainer": {
                                  "minLength": 1,
                                  "type": "string"
                                },
                                "encryptedPrivateKey": {
                                  "type": "boolean"
                                },
                                "includeAssertionTemplate": {
                                  "type": "boolean"
                                },
                                "secretRef": {
                                  "maxLength": 30,
                                  "minLength": 1,
                                  "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$",
                                  "type": "string"
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            },
                            "subject": {
                              "minLength": 1,
                              "type": "string"
                            },
                            "tokenLifetime": {
                              "format": "int32",
                              "type": "integer"
                            }
                          },
                          "type": "object",
                          "additionalProperties": false
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "expectedIssuer": {
                      "minLength": 1,
                      "type": "string"
                    },
                    "groupsClaimName": {
                      "minLength": 1,
                      "type": "string"
                    },
                    "jwksEndpointUri": {
                      "minLength": 1,
                      "type": "string"
                    },
                    "loginConnectTimeoutMs": {
                      "format": "int32",
                      "type": "integer"
                    },
                    "loginReadTimeoutMs": {
                      "format": "int32",
                      "type": "integer"
                    },
                    "loginRetryBackoffMaxMs": {
                      "format": "int32",
                      "type": "integer"
                    },
                    "loginRetryBackoffMs": {
                      "format": "int32",
                      "type": "integer"
                    },
                    "scope": {
                      "minLength": 1,
                      "type": "string"
                    },
                    "subClaimName": {
                      "minLength": 1,
                      "type": "string"
                    },
                    "tokenEndpointUri": {
                      "minLength": 1,
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "directoryPathInContainer": {
                  "minLength": 1,
                  "type": "string"
                },
                "secretRef": {
                  "maxLength": 30,
                  "minLength": 1,
                  "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$",
                  "type": "string"
                }
              },
              "required": [
                "configuration"
              ],
              "type": "object",
              "additionalProperties": false
            },
            "type": {
              "enum": [
                "basic",
                "mtls",
                "oauth"
              ],
              "type": "string"
            }
          },
          "required": [
            "type"
          ],
          "type": "object",
          "additionalProperties": false
        },
        "authorization": {
          "properties": {
            "kafkaRestClassRef": {
              "properties": {
                "name": {
                  "minLength": 1,
                  "type": "string"
                },
                "namespace": {
                  "type": "string"
                }
              },
              "required": [
                "name"
              ],
              "type": "object",
              "additionalProperties": false
            },
            "type": {
              "enum": [
                "rbac"
              ],
              "type": "string"
            }
          },
          "required": [
            "type"
          ],
          "type": "object",
          "additionalProperties": false
        },
        "configOverrides": {
          "properties": {
            "jvm": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "log4j": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "log4j2": {
              "x-kubernetes-preserve-unknown-fields": true
            },
            "server": {
              "items": {
                "type": "string"
              },
              "type": "array"
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "dependencies": {
          "properties": {
            "interceptor": {
              "properties": {
                "configs": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "consumer": {
                  "properties": {
                    "authentication": {
                      "properties": {
                        "jaasConfig": {
                          "properties": {
                            "secretRef": {
                              "maxLength": 30,
                              "minLength": 1,
                              "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$",
                              "type": "string"
                            }
                          },
                          "required": [
                            "secretRef"
                          ],
                          "type": "object",
                          "additionalProperties": false
                        },
                        "jaasConfigPassThrough": {
                          "properties": {
                            "directoryPathInContainer": {
                              "minLength": 1,
                              "type": "string"
                            },
                            "secretRef": {
                              "maxLength": 30,
                              "minLength": 1,
                              "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$",
                              "type": "string"
                            }
                          },
                          "type": "object",
                          "additionalProperties": false
                        },
                        "oauthSettings": {
                          "properties": {
                            "audience": {
                              "minLength": 1,
                              "type": "string"
                            },
                            "clientAssertion": {
                              "properties": {
                                "clientId": {
                                  "minLength": 1,
                                  "type": "string"
                                },
                                "jwtTokenFile": {
                                  "properties": {
                                    "directoryPathInContainer": {
                                      "minLength": 1,
                                      "type": "string"
                                    },
                                    "secretRef": {
                                      "maxLength": 30,
                                      "minLength": 1,
                                      "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$",
                                      "type": "string"
                                    }
                                  },
                                  "type": "object",
                                  "additionalProperties": false
                                },
                                "localClientAssertion": {
                                  "properties": {
                                    "audience": {
                                      "minLength": 1,
                                      "type": "string"
                                    },
                                    "includeJtiClaim": {
                                      "type": "boolean"
                                    },
                                    "includeNbfClaim": {
                                      "type": "boolean"
                                    },
                                    "issuer": {
                                      "minLength": 1,
                                      "type": "string"
                                    },
                                    "privateKeyFile": {
                                      "properties": {
                                        "directoryPathInContainer": {
                                          "minLength": 1,
                                          "type": "string"
                                        },
                                        "encryptedPrivateKey": {
                                          "type": "boolean"
                                        },
                                        "includeAssertionTemplate": {
                                          "type": "boolean"
                                        },
                                        "secretRef": {
                                          "maxLength": 30,
                                          "minLength": 1,
                                          "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$",
                                          "type": "string"
                                        }
                                      },
                                      "type": "object",
                                      "additionalProperties": false
                                    },
                                    "subject": {
                                      "minLength": 1,
                                      "type": "string"
                                    },
                                    "tokenLifetime": {
                                      "format": "int32",
                                      "type": "integer"
                                    }
                                  },
                                  "type": "object",
                                  "additionalProperties": false
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            },
                            "expectedIssuer": {
                              "minLength": 1,
                              "type": "string"
                            },
                            "groupsClaimName": {
                              "minLength": 1,
                              "type": "string"
                            },
                            "jwksEndpointUri": {
                              "minLength": 1,
                              "type": "string"
                            },
                            "loginConnectTimeoutMs": {
                              "format": "int32",
                              "type": "integer"
                            },
                            "loginReadTimeoutMs": {
                              "format": "int32",
                              "type": "integer"
                            },
                            "loginRetryBackoffMaxMs": {
                              "format": "int32",
                              "type": "integer"
                            },
                            "loginRetryBackoffMs": {
                              "format": "int32",
                              "type": "integer"
                            },
                            "scope": {
                              "minLength": 1,
                              "type": "string"
                            },
                            "subClaimName": {
                              "minLength": 1,
                              "type": "string"
                            },
                            "tokenEndpointUri": {
                              "minLength": 1,
                              "type": "string"
                            }
                          },
                          "type": "object",
                          "additionalProperties": false
                        },
                        "oauthbearer": {
                          "properties": {
                            "directoryPathInContainer": {
                              "minLength": 1,
                              "type": "string"
                            },
                            "secretRef": {
                              "maxLength": 30,
                              "minLength": 1,
                              "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$",
                              "type": "string"
                            }
                          },
                          "type": "object",
                          "additionalProperties": false
                        },
                        "sslClientAuthentication": {
                          "type": "boolean"
                        },
                        "type": {
                          "enum": [
                            "plain",
                            "oauthbearer",
                            "digest",
                            "mtls",
                            "oauth",
                            "none"
                          ],
                          "type": "string"
                        }
                      },
                      "required": [
                        "type"
                      ],
                      "type": "object",
                      "additionalProperties": false
                    },
                    "bootstrapEndpoint": {
                      "minLength": 1,
                      "pattern": ".+:[0-9]+",
                      "type": "string"
                    },
                    "discovery": {
                      "properties": {
                        "name": {
                          "type": "string"
                        },
                        "namespace": {
                          "type": "string"
                        },
                        "secretRef": {
                          "maxLength": 30,
                          "minLength": 1,
                          "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$",
                          "type": "string"
                        }
                      },
                      "required": [
                        "name"
                      ],
                      "type": "object",
                      "additionalProperties": false
                    },
                    "tls": {
                      "properties": {
                        "directoryPathInContainer": {
                          "minLength": 1,
                          "type": "string"
                        },
                        "enabled": {
                          "type": "boolean"
                        },
                        "ignoreTrustStoreConfig": {
                          "type": "boolean"
                        },
                        "jksPassword": {
                          "properties": {
                            "secretRef": {
                              "maxLength": 30,
                              "minLength": 1,
                              "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$",
                              "type": "string"
                            }
                          },
                          "required": [
                            "secretRef"
                          ],
                          "type": "object",
                          "additionalProperties": false
                        },
                        "secretRef": {
                          "maxLength": 30,
                          "minLength": 1,
                          "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$",
                          "type": "string"
                        }
                      },
                      "required": [
                        "enabled"
                      ],
                      "type": "object",
                      "additionalProperties": false
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "enabled": {
                  "type": "boolean"
                },
                "producer": {
                  "properties": {
                    "authentication": {
                      "properties": {
                        "jaasConfig": {
                          "properties": {
                            "secretRef": {
                              "maxLength": 30,
                              "minLength": 1,
                              "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$",
                              "type": "string"
                            }
                          },
                          "required": [
                            "secretRef"
                          ],
                          "type": "object",
                          "additionalProperties": false
                        },
                        "jaasConfigPassThrough": {
                          "properties": {
                            "directoryPathInContainer": {
                              "minLength": 1,
                              "type": "string"
                            },
                            "secretRef": {
                              "maxLength": 30,
                              "minLength": 1,
                              "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$",
                              "type": "string"
                            }
                          },
                          "type": "object",
                          "additionalProperties": false
                        },
                        "oauthSettings": {
                          "properties": {
                            "audience": {
                              "minLength": 1,
                              "type": "string"
                            },
                            "clientAssertion": {
                              "properties": {
                                "clientId": {
                                  "minLength": 1,
                                  "type": "string"
                                },
                                "jwtTokenFile": {
                                  "properties": {
                                    "directoryPathInContainer": {
                                      "minLength": 1,
                                      "type": "string"
                                    },
                                    "secretRef": {
                                      "maxLength": 30,
                                      "minLength": 1,
                                      "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$",
                                      "type": "string"
                                    }
                                  },
                                  "type": "object",
                                  "additionalProperties": false
                                },
                                "localClientAssertion": {
                                  "properties": {
                                    "audience": {
                                      "minLength": 1,
                                      "type": "string"
                                    },
                                    "includeJtiClaim": {
                                      "type": "boolean"
                                    },
                                    "includeNbfClaim": {
                                      "type": "boolean"
                                    },
                                    "issuer": {
                                      "minLength": 1,
                                      "type": "string"
                                    },
                                    "privateKeyFile": {
                                      "properties": {
                                        "directoryPathInContainer": {
                                          "minLength": 1,
                                          "type": "string"
                                        },
                                        "encryptedPrivateKey": {
                                          "type": "boolean"
                                        },
                                        "includeAssertionTemplate": {
                                          "type": "boolean"
                                        },
                                        "secretRef": {
                                          "maxLength": 30,
                                          "minLength": 1,
                                          "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$",
                                          "type": "string"
                                        }
                                      },
                                      "type": "object",
                                      "additionalProperties": false
                                    },
                                    "subject": {
                                      "minLength": 1,
                                      "type": "string"
                                    },
                                    "tokenLifetime": {
                                      "format": "int32",
                                      "type": "integer"
                                    }
                                  },
                                  "type": "object",
                                  "additionalProperties": false
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            },
                            "expectedIssuer": {
                              "minLength": 1,
                              "type": "string"
                            },
                            "groupsClaimName": {
                              "minLength": 1,
                              "type": "string"
                            },
                            "jwksEndpointUri": {
                              "minLength": 1,
                              "type": "string"
                            },
                            "loginConnectTimeoutMs": {
                              "format": "int32",
                              "type": "integer"
                            },
                            "loginReadTimeoutMs": {
                              "format": "int32",
                              "type": "integer"
                            },
                            "loginRetryBackoffMaxMs": {
                              "format": "int32",
                              "type": "integer"
                            },
                            "loginRetryBackoffMs": {
                              "format": "int32",
                              "type": "integer"
                            },
                            "scope": {
                              "minLength": 1,
                              "type": "string"
                            },
                            "subClaimName": {
                              "minLength": 1,
                              "type": "string"
                            },
                            "tokenEndpointUri": {
                              "minLength": 1,
                              "type": "string"
                            }
                          },
                          "type": "object",
                          "additionalProperties": false
                        },
                        "oauthbearer": {
                          "properties": {
                            "directoryPathInContainer": {
                              "minLength": 1,
                              "type": "string"
                            },
                            "secretRef": {
                              "maxLength": 30,
                              "minLength": 1,
                              "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$",
                              "type": "string"
                            }
                          },
                          "type": "object",
                          "additionalProperties": false
                        },
                        "sslClientAuthentication": {
                          "type": "boolean"
                        },
                        "type": {
                          "enum": [
                            "plain",
                            "oauthbearer",
                            "digest",
                            "mtls",
                            "oauth",
                            "none"
                          ],
                          "type": "string"
                        }
                      },
                      "required": [
                        "type"
                      ],
                      "type": "object",
                      "additionalProperties": false
                    },
                    "bootstrapEndpoint": {
                      "minLength": 1,
                      "pattern": ".+:[0-9]+",
                      "type": "string"
                    },
                    "discovery": {
                      "properties": {
                        "name": {
                          "type": "string"
                        },
                        "namespace": {
                          "type": "string"
                        },
                        "secretRef": {
                          "maxLength": 30,
                          "minLength": 1,
                          "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$",
                          "type": "string"
                        }
                      },
                      "required": [
                        "name"
                      ],
                      "type": "object",
                      "additionalProperties": false
                    },
                    "tls": {
                      "properties": {
                        "directoryPathInContainer": {
                          "minLength": 1,
                          "type": "string"
                        },
                        "enabled": {
                          "type": "boolean"
                        },
                        "ignoreTrustStoreConfig": {
                          "type": "boolean"
                        },
                        "jksPassword": {
                          "properties": {
                            "secretRef": {
                              "maxLength": 30,
                              "minLength": 1,
                              "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$",
                              "type": "string"
                            }
                          },
                          "required": [
                            "secretRef"
                          ],
                          "type": "object",
                          "additionalProperties": false
                        },
                        "secretRef": {
                          "maxLength": 30,
                          "minLength": 1,
                          "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$",
                          "type": "string"
                        }
                      },
                      "required": [
                        "enabled"
                      ],
                      "type": "object",
                      "additionalProperties": false
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "publishMs": {
                  "type": "integer"
                }
              },
              "required": [
                "enabled"
              ],
              "type": "object",
              "additionalProperties": false
            },
            "kafka": {
              "properties": {
                "authentication": {
                  "properties": {
                    "jaasConfig": {
                      "properties": {
                        "secretRef": {
                          "maxLength": 30,
                          "minLength": 1,
                          "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$",
                          "type": "string"
                        }
                      },
                      "required": [
                        "secretRef"
                      ],
                      "type": "object",
                      "additionalProperties": false
                    },
                    "jaasConfigPassThrough": {
                      "properties": {
                        "directoryPathInContainer": {
                          "minLength": 1,
                          "type": "string"
                        },
                        "secretRef": {
                          "maxLength": 30,
                          "minLength": 1,
                          "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$",
                          "type": "string"
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "oauthSettings": {
                      "properties": {
                        "audience": {
                          "minLength": 1,
                          "type": "string"
                        },
                        "clientAssertion": {
                          "properties": {
                            "clientId": {
                              "minLength": 1,
                              "type": "string"
                            },
                            "jwtTokenFile": {
                              "properties": {
                                "directoryPathInContainer": {
                                  "minLength": 1,
                                  "type": "string"
                                },
                                "secretRef": {
                                  "maxLength": 30,
                                  "minLength": 1,
                                  "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$",
                                  "type": "string"
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            },
                            "localClientAssertion": {
                              "properties": {
                                "audience": {
                                  "minLength": 1,
                                  "type": "string"
                                },
                                "includeJtiClaim": {
                                  "type": "boolean"
                                },
                                "includeNbfClaim": {
                                  "type": "boolean"
                                },
                                "issuer": {
                                  "minLength": 1,
                                  "type": "string"
                                },
                                "privateKeyFile": {
                                  "properties": {
                                    "directoryPathInContainer": {
                                      "minLength": 1,
                                      "type": "string"
                                    },
                                    "encryptedPrivateKey": {
                                      "type": "boolean"
                                    },
                                    "includeAssertionTemplate": {
                                      "type": "boolean"
                                    },
                                    "secretRef": {
                                      "maxLength": 30,
                                      "minLength": 1,
                                      "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$",
                                      "type": "string"
                                    }
                                  },
                                  "type": "object",
                                  "additionalProperties": false
                                },
                                "subject": {
                                  "minLength": 1,
                                  "type": "string"
                                },
                                "tokenLifetime": {
                                  "format": "int32",
                                  "type": "integer"
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            }
                          },
                          "type": "object",
                          "additionalProperties": false
                        },
                        "expectedIssuer": {
                          "minLength": 1,
                          "type": "string"
                        },
                        "groupsClaimName": {
                          "minLength": 1,
                          "type": "string"
                        },
                        "jwksEndpointUri": {
                          "minLength": 1,
                          "type": "string"
                        },
                        "loginConnectTimeoutMs": {
                          "format": "int32",
                          "type": "integer"
                        },
                        "loginReadTimeoutMs": {
                          "format": "int32",
                          "type": "integer"
                        },
                        "loginRetryBackoffMaxMs": {
                          "format": "int32",
                          "type": "integer"
                        },
                        "loginRetryBackoffMs": {
                          "format": "int32",
                          "type": "integer"
                        },
                        "scope": {
                          "minLength": 1,
                          "type": "string"
                        },
                        "subClaimName": {
                          "minLength": 1,
                          "type": "string"
                        },
                        "tokenEndpointUri": {
                          "minLength": 1,
                          "type": "string"
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "oauthbearer": {
                      "properties": {
                        "directoryPathInContainer": {
                          "minLength": 1,
                          "type": "string"
                        },
                        "secretRef": {
                          "maxLength": 30,
                          "minLength": 1,
                          "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$",
                          "type": "string"
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "sslClientAuthentication": {
                      "type": "boolean"
                    },
                    "type": {
                      "enum": [
                        "plain",
                        "oauthbearer",
                        "digest",
                        "mtls",
                        "oauth",
                        "none"
                      ],
                      "type": "string"
                    }
                  },
                  "required": [
                    "type"
                  ],
                  "type": "object",
                  "additionalProperties": false
                },
                "bootstrapEndpoint": {
                  "minLength": 1,
                  "pattern": ".+:[0-9]+",
                  "type": "string"
                },
                "discovery": {
                  "properties": {
                    "name": {
                      "type": "string"
                    },
                    "namespace": {
                      "type": "string"
                    },
                    "secretRef": {
                      "maxLength": 30,
                      "minLength": 1,
                      "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$",
                      "type": "string"
                    }
                  },
                  "required": [
                    "name"
                  ],
                  "type": "object",
                  "additionalProperties": false
                },
                "tls": {
                  "properties": {
                    "directoryPathInContainer": {
                      "minLength": 1,
                      "type": "string"
                    },
                    "enabled": {
                      "type": "boolean"
                    },
                    "ignoreTrustStoreConfig": {
                      "type": "boolean"
                    },
                    "jksPassword": {
                      "properties": {
                        "secretRef": {
                          "maxLength": 30,
                          "minLength": 1,
                          "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$",
                          "type": "string"
                        }
                      },
                      "required": [
                        "secretRef"
                      ],
                      "type": "object",
                      "additionalProperties": false
                    },
                    "secretRef": {
                      "maxLength": 30,
                      "minLength": 1,
                      "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$",
                      "type": "string"
                    }
                  },
                  "required": [
                    "enabled"
                  ],
                  "type": "object",
                  "additionalProperties": false
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "mds": {
              "properties": {
                "authentication": {
                  "properties": {
                    "bearer": {
                      "properties": {
                        "directoryPathInContainer": {
                          "minLength": 1,
                          "type": "string"
                        },
                        "secretRef": {
                          "maxLength": 30,
                          "minLength": 1,
                          "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$",
                          "type": "string"
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "oauth": {
                      "properties": {
                        "configuration": {
                          "properties": {
                            "audience": {
                              "minLength": 1,
                              "type": "string"
                            },
                            "clientAssertion": {
                              "properties": {
                                "clientId": {
                                  "minLength": 1,
                                  "type": "string"
                                },
                                "jwtTokenFile": {
                                  "properties": {
                                    "directoryPathInContainer": {
                                      "minLength": 1,
                                      "type": "string"
                                    },
                                    "secretRef": {
                                      "maxLength": 30,
                                      "minLength": 1,
                                      "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$",
                                      "type": "string"
                                    }
                                  },
                                  "type": "object",
                                  "additionalProperties": false
                                },
                                "localClientAssertion": {
                                  "properties": {
                                    "audience": {
                                      "minLength": 1,
                                      "type": "string"
                                    },
                                    "includeJtiClaim": {
                                      "type": "boolean"
                                    },
                                    "includeNbfClaim": {
                                      "type": "boolean"
                                    },
                                    "issuer": {
                                      "minLength": 1,
                                      "type": "string"
                                    },
                                    "privateKeyFile": {
                                      "properties": {
                                        "directoryPathInContainer": {
                                          "minLength": 1,
                                          "type": "string"
                                        },
                                        "encryptedPrivateKey": {
                                          "type": "boolean"
                                        },
                                        "includeAssertionTemplate": {
                                          "type": "boolean"
                                        },
                                        "secretRef": {
                                          "maxLength": 30,
                                          "minLength": 1,
                                          "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$",
                                          "type": "string"
                                        }
                                      },
                                      "type": "object",
                                      "additionalProperties": false
                                    },
                                    "subject": {
                                      "minLength": 1,
                                      "type": "string"
                                    },
                                    "tokenLifetime": {
                                      "format": "int32",
                                      "type": "integer"
                                    }
                                  },
                                  "type": "object",
                                  "additionalProperties": false
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            },
                            "expectedIssuer": {
                              "minLength": 1,
                              "type": "string"
                            },
                            "groupsClaimName": {
                              "minLength": 1,
                              "type": "string"
                            },
                            "jwksEndpointUri": {
                              "minLength": 1,
                              "type": "string"
                            },
                            "loginConnectTimeoutMs": {
                              "format": "int32",
                              "type": "integer"
                            },
                            "loginReadTimeoutMs": {
                              "format": "int32",
                              "type": "integer"
                            },
                            "loginRetryBackoffMaxMs": {
                              "format": "int32",
                              "type": "integer"
                            },
                            "loginRetryBackoffMs": {
                              "format": "int32",
                              "type": "integer"
                            },
                            "scope": {
                              "minLength": 1,
                              "type": "string"
                            },
                            "subClaimName": {
                              "minLength": 1,
                              "type": "string"
                            },
                            "tokenEndpointUri": {
                              "minLength": 1,
                              "type": "string"
                            }
                          },
                          "type": "object",
                          "additionalProperties": false
                        },
                        "directoryPathInContainer": {
                          "minLength": 1,
                          "type": "string"
                        },
                        "secretRef": {
                          "maxLength": 30,
                          "minLength": 1,
                          "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$",
                          "type": "string"
                        }
                      },
                      "required": [
                        "configuration"
                      ],
                      "type": "object",
                      "additionalProperties": false
                    },
                    "sslClientAuthentication": {
                      "type": "boolean"
                    },
                    "type": {
                      "enum": [
                        "bearer",
                        "oauth",
                        "mtls"
                      ],
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "endpoint": {
                  "minLength": 1,
                  "pattern": "^https?://.*",
                  "type": "string"
                },
                "ssoProtocol": {
                  "enum": [
                    "ldap",
                    "oidc"
                  ],
                  "type": "string"
                },
                "tls": {
                  "properties": {
                    "directoryPathInContainer": {
                      "minLength": 1,
                      "type": "string"
                    },
                    "enabled": {
                      "type": "boolean"
                    },
                    "ignoreTrustStoreConfig": {
                      "type": "boolean"
                    },
                    "jksPassword": {
                      "properties": {
                        "secretRef": {
                          "maxLength": 30,
                          "minLength": 1,
                          "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$",
                          "type": "string"
                        }
                      },
                      "required": [
                        "secretRef"
                      ],
                      "type": "object",
                      "additionalProperties": false
                    },
                    "secretRef": {
                      "maxLength": 30,
                      "minLength": 1,
                      "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$",
                      "type": "string"
                    }
                  },
                  "required": [
                    "enabled"
                  ],
                  "type": "object",
                  "additionalProperties": false
                },
                "tokenKeyPair": {
                  "properties": {
                    "directoryPathInContainer": {
                      "minLength": 1,
                      "type": "string"
                    },
                    "encryptedTokenKey": {
                      "type": "boolean"
                    },
                    "secretRef": {
                      "maxLength": 30,
                      "minLength": 1,
                      "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                }
              },
              "required": [
                "authentication",
                "endpoint",
                "tokenKeyPair"
              ],
              "type": "object",
              "additionalProperties": false
            },
            "schemaRegistry": {
              "properties": {
                "authentication": {
                  "properties": {
                    "basic": {
                      "properties": {
                        "debug": {
                          "type": "boolean"
                        },
                        "directoryPathInContainer": {
                          "minLength": 1,
                          "type": "string"
                        },
                        "ignoreRoles": {
                          "type": "boolean"
                        },
                        "restrictedRoles": {
                          "items": {
                            "type": "string"
                          },
                          "minItems": 1,
                          "type": "array"
                        },
                        "roles": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "secretRef": {
                          "maxLength": 30,
                          "minLength": 1,
                          "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$",
                          "type": "string"
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "oauth": {
                      "properties": {
                        "configuration": {
                          "properties": {
                            "audience": {
                              "minLength": 1,
                              "type": "string"
                            },
                            "clientAssertion": {
                              "properties": {
                                "clientId": {
                                  "minLength": 1,
                                  "type": "string"
                                },
                                "jwtTokenFile": {
                                  "properties": {
                                    "directoryPathInContainer": {
                                      "minLength": 1,
                                      "type": "string"
                                    },
                                    "secretRef": {
                                      "maxLength": 30,
                                      "minLength": 1,
                                      "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$",
                                      "type": "string"
                                    }
                                  },
                                  "type": "object",
                                  "additionalProperties": false
                                },
                                "localClientAssertion": {
                                  "properties": {
                                    "audience": {
                                      "minLength": 1,
                                      "type": "string"
                                    },
                                    "includeJtiClaim": {
                                      "type": "boolean"
                                    },
                                    "includeNbfClaim": {
                                      "type": "boolean"
                                    },
                                    "issuer": {
                                      "minLength": 1,
                                      "type": "string"
                                    },
                                    "privateKeyFile": {
                                      "properties": {
                                        "directoryPathInContainer": {
                                          "minLength": 1,
                                          "type": "string"
                                        },
                                        "encryptedPrivateKey": {
                                          "type": "boolean"
                                        },
                                        "includeAssertionTemplate": {
                                          "type": "boolean"
                                        },
                                        "secretRef": {
                                          "maxLength": 30,
                                          "minLength": 1,
                                          "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$",
                                          "type": "string"
                                        }
                                      },
                                      "type": "object",
                                      "additionalProperties": false
                                    },
                                    "subject": {
                                      "minLength": 1,
                                      "type": "string"
                                    },
                                    "tokenLifetime": {
                                      "format": "int32",
                                      "type": "integer"
                                    }
                                  },
                                  "type": "object",
                                  "additionalProperties": false
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            },
                            "expectedIssuer": {
                              "minLength": 1,
                              "type": "string"
                            },
                            "groupsClaimName": {
                              "minLength": 1,
                              "type": "string"
                            },
                            "jwksEndpointUri": {
                              "minLength": 1,
                              "type": "string"
                            },
                            "loginConnectTimeoutMs": {
                              "format": "int32",
                              "type": "integer"
                            },
                            "loginReadTimeoutMs": {
                              "format": "int32",
                              "type": "integer"
                            },
                            "loginRetryBackoffMaxMs": {
                              "format": "int32",
                              "type": "integer"
                            },
                            "loginRetryBackoffMs": {
                              "format": "int32",
                              "type": "integer"
                            },
                            "scope": {
                              "minLength": 1,
                              "type": "string"
                            },
                            "subClaimName": {
                              "minLength": 1,
                              "type": "string"
                            },
                            "tokenEndpointUri": {
                              "minLength": 1,
                              "type": "string"
                            }
                          },
                          "type": "object",
                          "additionalProperties": false
                        },
                        "directoryPathInContainer": {
                          "minLength": 1,
                          "type": "string"
                        },
                        "secretRef": {
                          "maxLength": 30,
                          "minLength": 1,
                          "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$",
                          "type": "string"
                        }
                      },
                      "required": [
                        "configuration"
                      ],
                      "type": "object",
                      "additionalProperties": false
                    },
                    "sslClientAuthentication": {
                      "type": "boolean"
                    },
                    "type": {
                      "enum": [
                        "basic",
                        "mtls",
                        "oauth"
                      ],
                      "type": "string"
                    }
                  },
                  "required": [
                    "type"
                  ],
                  "type": "object",
                  "additionalProperties": false
                },
                "tls": {
                  "properties": {
                    "directoryPathInContainer": {
                      "minLength": 1,
                      "type": "string"
                    },
                    "enabled": {
                      "type": "boolean"
                    },
                    "ignoreTrustStoreConfig": {
                      "type": "boolean"
                    },
                    "jksPassword": {
                      "properties": {
                        "secretRef": {
                          "maxLength": 30,
                          "minLength": 1,
                          "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$",
                          "type": "string"
                        }
                      },
                      "required": [
                        "secretRef"
                      ],
                      "type": "object",
                      "additionalProperties": false
                    },
                    "secretRef": {
                      "maxLength": 30,
                      "minLength": 1,
                      "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$",
                      "type": "string"
                    }
                  },
                  "required": [
                    "enabled"
                  ],
                  "type": "object",
                  "additionalProperties": false
                },
                "url": {
                  "minLength": 1,
                  "pattern": "^https?://.*",
                  "type": "string"
                }
              },
              "required": [
                "url"
              ],
              "type": "object",
              "additionalProperties": false
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "externalAccess": {
          "properties": {
            "loadBalancer": {
              "properties": {
                "advertisedURL": {
                  "properties": {
                    "enabled": {
                      "type": "boolean"
                    },
                    "prefix": {
                      "minLength": 1,
                      "type": "string"
                    }
                  },
                  "required": [
                    "enabled"
                  ],
                  "type": "object",
                  "additionalProperties": false
                },
                "annotations": {
                  "additionalProperties": {
                    "type": "string"
                  },
                  "type": "object",
                  "x-kubernetes-map-type": "granular"
                },
                "domain": {
                  "minLength": 1,
                  "type": "string"
                },
                "externalTrafficPolicy": {
                  "enum": [
                    "Local",
                    "Cluster"
                  ],
                  "type": "string"
                },
                "labels": {
                  "additionalProperties": {
                    "type": "string"
                  },
                  "type": "object",
                  "x-kubernetes-map-type": "granular"
                },
                "loadBalancerSourceRanges": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "port": {
                  "format": "int32",
                  "type": "integer"
                },
                "prefix": {
                  "minLength": 1,
                  "type": "string"
                },
                "servicePorts": {
                  "items": {
                    "properties": {
                      "appProtocol": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      },
                      "nodePort": {
                        "format": "int32",
                        "type": "integer"
                      },
                      "port": {
                        "format": "int32",
                        "type": "integer"
                      },
                      "protocol": {
                        "default": "TCP",
                        "type": "string"
                      },
                      "targetPort": {
                        "anyOf": [
                          {
                            "type": "integer"
                          },
                          {
                            "type": "string"
                          }
                        ],
                        "x-kubernetes-int-or-string": true
                      }
                    },
                    "required": [
                      "port"
                    ],
                    "type": "object",
                    "additionalProperties": false
                  },
                  "type": "array"
                },
                "sessionAffinity": {
                  "enum": [
                    "ClientIP",
                    "None"
                  ],
                  "type": "string"
                },
                "sessionAffinityConfig": {
                  "properties": {
                    "clientIP": {
                      "properties": {
                        "timeoutSeconds": {
                          "format": "int32",
                          "type": "integer"
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                }
              },
              "required": [
                "domain"
              ],
              "type": "object",
              "additionalProperties": false
            },
            "nodePort": {
              "properties": {
                "advertisedURL": {
                  "properties": {
                    "enabled": {
                      "type": "boolean"
                    },
                    "prefix": {
                      "minLength": 1,
                      "type": "string"
                    }
                  },
                  "required": [
                    "enabled"
                  ],
                  "type": "object",
                  "additionalProperties": false
                },
                "annotations": {
                  "additionalProperties": {
                    "type": "string"
                  },
                  "type": "object",
                  "x-kubernetes-map-type": "granular"
                },
                "externalTrafficPolicy": {
                  "enum": [
                    "Local",
                    "Cluster"
                  ],
                  "type": "string"
                },
                "host": {
                  "minLength": 1,
                  "type": "string"
                },
                "labels": {
                  "additionalProperties": {
                    "type": "string"
                  },
                  "type": "object",
                  "x-kubernetes-map-type": "granular"
                },
                "nodePortOffset": {
                  "format": "int32",
                  "minimum": 0,
                  "type": "integer"
                },
                "servicePorts": {
                  "items": {
                    "properties": {
                      "appProtocol": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      },
                      "nodePort": {
                        "format": "int32",
                        "type": "integer"
                      },
                      "port": {
                        "format": "int32",
                        "type": "integer"
                      },
                      "protocol": {
                        "default": "TCP",
                        "type": "string"
                      },
                      "targetPort": {
                        "anyOf": [
                          {
                            "type": "integer"
                          },
                          {
                            "type": "string"
                          }
                        ],
                        "x-kubernetes-int-or-string": true
                      }
                    },
                    "required": [
                      "port"
                    ],
                    "type": "object",
                    "additionalProperties": false
                  },
                  "type": "array"
                },
                "sessionAffinity": {
                  "enum": [
                    "ClientIP",
                    "None"
                  ],
                  "type": "string"
                },
                "sessionAffinityConfig": {
                  "properties": {
                    "clientIP": {
                      "properties": {
                        "timeoutSeconds": {
                          "format": "int32",
                          "type": "integer"
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                }
              },
              "required": [
                "host",
                "nodePortOffset"
              ],
              "type": "object",
              "additionalProperties": false
            },
            "route": {
              "properties": {
                "advertisedURL": {
                  "properties": {
                    "enabled": {
                      "type": "boolean"
                    },
                    "prefix": {
                      "minLength": 1,
                      "type": "string"
                    }
                  },
                  "required": [
                    "enabled"
                  ],
                  "type": "object",
                  "additionalProperties": false
                },
                "annotations": {
                  "additionalProperties": {
                    "type": "string"
                  },
                  "type": "object",
                  "x-kubernetes-map-type": "granular"
                },
                "domain": {
                  "minLength": 1,
                  "type": "string"
                },
                "labels": {
                  "additionalProperties": {
                    "type": "string"
                  },
                  "type": "object",
                  "x-kubernetes-map-type": "granular"
                },
                "prefix": {
                  "minLength": 1,
                  "type": "string"
                },
                "wildcardPolicy": {
                  "enum": [
                    "Subdomain",
                    "None"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "domain"
              ],
              "type": "object",
              "additionalProperties": false
            },
            "type": {
              "enum": [
                "loadBalancer",
                "nodePort",
                "route"
              ],
              "minLength": 1,
              "type": "string"
            }
          },
          "required": [
            "type"
          ],
          "type": "object",
          "additionalProperties": false
        },
        "headlessService": {
          "properties": {
            "annotations": {
              "additionalProperties": {
                "type": "string"
              },
              "type": "object",
              "x-kubernetes-map-type": "granular"
            },
            "labels": {
              "additionalProperties": {
                "type": "string"
              },
              "type": "object",
              "x-kubernetes-map-type": "granular"
            },
            "publishNotReadyAddresses": {
              "type": "boolean"
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "image": {
          "properties": {
            "application": {
              "pattern": ".+:.+",
              "type": "string"
            },
            "init": {
              "pattern": ".+:.+",
              "type": "string"
            },
            "pullPolicy": {
              "enum": [
                "Always",
                "Never",
                "IfNotPresent"
              ],
              "type": "string"
            },
            "pullSecretRef": {
              "items": {
                "type": "string"
              },
              "type": "array"
            }
          },
          "required": [
            "application",
            "init"
          ],
          "type": "object",
          "additionalProperties": false
        },
        "injectAnnotations": {
          "additionalProperties": {
            "type": "string"
          },
          "type": "object",
          "x-kubernetes-map-type": "granular"
        },
        "injectLabels": {
          "additionalProperties": {
            "type": "string"
          },
          "type": "object",
          "x-kubernetes-map-type": "granular"
        },
        "k8sClusterDomain": {
          "type": "string"
        },
        "license": {
          "properties": {
            "directoryPathInContainer": {
              "minLength": 1,
              "type": "string"
            },
            "globalLicense": {
              "type": "boolean"
            },
            "secretRef": {
              "maxLength": 30,
              "minLength": 1,
              "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$",
              "type": "string"
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "metrics": {
          "properties": {
            "authentication": {
              "properties": {
                "type": {
                  "enum": [
                    "mtls"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "type"
              ],
              "type": "object",
              "additionalProperties": false
            },
            "jolokia": {
              "properties": {
                "accessControl": {
                  "properties": {
                    "directoryPathInContainer": {
                      "type": "string"
                    },
                    "enabled": {
                      "type": "boolean"
                    },
                    "secretRef": {
                      "maxLength": 30,
                      "minLength": 1,
                      "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "prometheus": {
              "properties": {
                "blacklist": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "rules": {
                  "items": {
                    "properties": {
                      "attrNameSnakeCase": {
                        "type": "boolean"
                      },
                      "cache": {
                        "type": "boolean"
                      },
                      "help": {
                        "minLength": 1,
                        "type": "string"
                      },
                      "labels": {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object",
                        "x-kubernetes-map-type": "granular"
                      },
                      "name": {
                        "minLength": 1,
                        "type": "string"
                      },
                      "pattern": {
                        "minLength": 1,
                        "type": "string"
                      },
                      "type": {
                        "minLength": 1,
                        "type": "string"
                      },
                      "value": {
                        "minLength": 1,
                        "type": "string"
                      },
                      "valueFactor": {
                        "anyOf": [
                          {
                            "type": "integer"
                          },
                          {
                            "type": "string"
                          }
                        ],
                        "default": 1,
                        "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                        "x-kubernetes-int-or-string": true
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "type": "array"
                },
                "whitelist": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "tls": {
              "properties": {
                "directoryPathInContainer": {
                  "minLength": 1,
                  "type": "string"
                },
                "enabled": {
                  "type": "boolean"
                },
                "ignoreTrustStoreConfig": {
                  "type": "boolean"
                },
                "jksPassword": {
                  "properties": {
                    "secretRef": {
                      "maxLength": 30,
                      "minLength": 1,
                      "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$",
                      "type": "string"
                    }
                  },
                  "required": [
                    "secretRef"
                  ],
                  "type": "object",
                  "additionalProperties": false
                },
                "secretRef": {
                  "maxLength": 30,
                  "minLength": 1,
                  "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$",
                  "type": "string"
                }
              },
              "required": [
                "enabled"
              ],
              "type": "object",
              "additionalProperties": false
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "mountedSecrets": {
          "items": {
            "properties": {
              "keyItems": {
                "items": {
                  "properties": {
                    "key": {
                      "type": "string"
                    },
                    "mode": {
                      "format": "int32",
                      "type": "integer"
                    },
                    "path": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "key",
                    "path"
                  ],
                  "type": "object",
                  "additionalProperties": false
                },
                "type": "array"
              },
              "secretRef": {
                "maxLength": 30,
                "minLength": 1,
                "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$",
                "type": "string"
              }
            },
            "required": [
              "secretRef"
            ],
            "type": "object",
            "additionalProperties": false
          },
          "type": "array"
        },
        "mountedVolumes": {
          "properties": {
            "volumeMounts": {
              "items": {
                "properties": {
                  "mountPath": {
                    "type": "string"
                  },
                  "mountPropagation": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string"
                  },
                  "readOnly": {
                    "type": "boolean"
                  },
                  "recursiveReadOnly": {
                    "type": "string"
                  },
                  "subPath": {
                    "type": "string"
                  },
                  "subPathExpr": {
                    "type": "string"
                  }
                },
                "required": [
                  "mountPath",
                  "name"
                ],
                "type": "object",
                "additionalProperties": false
              },
              "type": "array"
            },
            "volumes": {
              "items": {
                "properties": {
                  "awsElasticBlockStore": {
                    "properties": {
                      "fsType": {
                        "type": "string"
                      },
                      "partition": {
                        "format": "int32",
                        "type": "integer"
                      },
                      "readOnly": {
                        "type": "boolean"
                      },
                      "volumeID": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "volumeID"
                    ],
                    "type": "object",
                    "additionalProperties": false
                  },
                  "azureDisk": {
                    "properties": {
                      "cachingMode": {
                        "type": "string"
                      },
                      "diskName": {
                        "type": "string"
                      },
                      "diskURI": {
                        "type": "string"
                      },
                      "fsType": {
                        "default": "ext4",
                        "type": "string"
                      },
                      "kind": {
                        "type": "string"
                      },
                      "readOnly": {
                        "default": false,
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "diskName",
                      "diskURI"
                    ],
                    "type": "object",
                    "additionalProperties": false
                  },
                  "azureFile": {
                    "properties": {
                      "readOnly": {
                        "type": "boolean"
                      },
                      "secretName": {
                        "type": "string"
                      },
                      "shareName": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "secretName",
                      "shareName"
                    ],
                    "type": "object",
                    "additionalProperties": false
                  },
                  "cephfs": {
                    "properties": {
                      "monitors": {
                        "items": {
                          "type": "string"
                        },
                        "type": "array",
                        "x-kubernetes-list-type": "atomic"
                      },
                      "path": {
                        "type": "string"
                      },
                      "readOnly": {
                        "type": "boolean"
                      },
                      "secretFile": {
                        "type": "string"
                      },
                      "secretRef": {
                        "properties": {
                          "name": {
                            "default": "",
                            "type": "string"
                          }
                        },
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "user": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "monitors"
                    ],
                    "type": "object",
                    "additionalProperties": false
                  },
                  "cinder": {
                    "properties": {
                      "fsType": {
                        "type": "string"
                      },
                      "readOnly": {
                        "type": "boolean"
                      },
                      "secretRef": {
                        "properties": {
                          "name": {
                            "default": "",
                            "type": "string"
                          }
                        },
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "volumeID": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "volumeID"
                    ],
                    "type": "object",
                    "additionalProperties": false
                  },
                  "configMap": {
                    "properties": {
                      "defaultMode": {
                        "format": "int32",
                        "type": "integer"
                      },
                      "items": {
                        "items": {
                          "properties": {
                            "key": {
                              "type": "string"
                            },
                            "mode": {
                              "format": "int32",
                              "type": "integer"
                            },
                            "path": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "key",
                            "path"
                          ],
                          "type": "object",
                          "additionalProperties": false
                        },
                        "type": "array",
                        "x-kubernetes-list-type": "atomic"
                      },
                      "name": {
                        "default": "",
                        "type": "string"
                      },
                      "optional": {
                        "type": "boolean"
                      }
                    },
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "csi": {
                    "properties": {
                      "driver": {
                        "type": "string"
                      },
                      "fsType": {
                        "type": "string"
                      },
                      "nodePublishSecretRef": {
                        "properties": {
                          "name": {
                            "default": "",
                            "type": "string"
                          }
                        },
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "readOnly": {
                        "type": "boolean"
                      },
                      "volumeAttributes": {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      }
                    },
                    "required": [
                      "driver"
                    ],
                    "type": "object",
                    "additionalProperties": false
                  },
                  "downwardAPI": {
                    "properties": {
                      "defaultMode": {
                        "format": "int32",
                        "type": "integer"
                      },
                      "items": {
                        "items": {
                          "properties": {
                            "fieldRef": {
                              "properties": {
                                "apiVersion": {
                                  "type": "string"
                                },
                                "fieldPath": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "fieldPath"
                              ],
                              "type": "object",
                              "x-kubernetes-map-type": "atomic",
                              "additionalProperties": false
                            },
                            "mode": {
                              "format": "int32",
                              "type": "integer"
                            },
                            "path": {
                              "type": "string"
                            },
                            "resourceFieldRef": {
                              "properties": {
                                "containerName": {
                                  "type": "string"
                                },
                                "divisor": {
                                  "anyOf": [
                                    {
                                      "type": "integer"
                                    },
                                    {
                                      "type": "string"
                                    }
                                  ],
                                  "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                  "x-kubernetes-int-or-string": true
                                },
                                "resource": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "resource"
                              ],
                              "type": "object",
                              "x-kubernetes-map-type": "atomic",
                              "additionalProperties": false
                            }
                          },
                          "required": [
                            "path"
                          ],
                          "type": "object",
                          "additionalProperties": false
                        },
                        "type": "array",
                        "x-kubernetes-list-type": "atomic"
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "emptyDir": {
                    "properties": {
                      "medium": {
                        "type": "string"
                      },
                      "sizeLimit": {
                        "anyOf": [
                          {
                            "type": "integer"
                          },
                          {
                            "type": "string"
                          }
                        ],
                        "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                        "x-kubernetes-int-or-string": true
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "ephemeral": {
                    "properties": {
                      "volumeClaimTemplate": {
                        "properties": {
                          "metadata": {
                            "type": "object"
                          },
                          "spec": {
                            "properties": {
                              "accessModes": {
                                "items": {
                                  "type": "string"
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "atomic"
                              },
                              "dataSource": {
                                "properties": {
                                  "apiGroup": {
                                    "type": "string"
                                  },
                                  "kind": {
                                    "type": "string"
                                  },
                                  "name": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "kind",
                                  "name"
                                ],
                                "type": "object",
                                "x-kubernetes-map-type": "atomic",
                                "additionalProperties": false
                              },
                              "dataSourceRef": {
                                "properties": {
                                  "apiGroup": {
                                    "type": "string"
                                  },
                                  "kind": {
                                    "type": "string"
                                  },
                                  "name": {
                                    "type": "string"
                                  },
                                  "namespace": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "kind",
                                  "name"
                                ],
                                "type": "object",
                                "additionalProperties": false
                              },
                              "resources": {
                                "properties": {
                                  "limits": {
                                    "additionalProperties": {
                                      "anyOf": [
                                        {
                                          "type": "integer"
                                        },
                                        {
                                          "type": "string"
                                        }
                                      ],
                                      "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                      "x-kubernetes-int-or-string": true
                                    },
                                    "type": "object"
                                  },
                                  "requests": {
                                    "additionalProperties": {
                                      "anyOf": [
                                        {
                                          "type": "integer"
                                        },
                                        {
                                          "type": "string"
                                        }
                                      ],
                                      "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                      "x-kubernetes-int-or-string": true
                                    },
                                    "type": "object"
                                  }
                                },
                                "type": "object",
                                "additionalProperties": false
                              },
                              "selector": {
                                "properties": {
                                  "matchExpressions": {
                                    "items": {
                                      "properties": {
                                        "key": {
                                          "type": "string"
                                        },
                                        "operator": {
                                          "type": "string"
                                        },
                                        "values": {
                                          "items": {
                                            "type": "string"
                                          },
                                          "type": "array",
                                          "x-kubernetes-list-type": "atomic"
                                        }
                                      },
                                      "required": [
                                        "key",
                                        "operator"
                                      ],
                                      "type": "object",
                                      "additionalProperties": false
                                    },
                                    "type": "array",
                                    "x-kubernetes-list-type": "atomic"
                                  },
                                  "matchLabels": {
                                    "additionalProperties": {
                                      "type": "string"
                                    },
                                    "type": "object"
                                  }
                                },
                                "type": "object",
                                "x-kubernetes-map-type": "atomic",
                                "additionalProperties": false
                              },
                              "storageClassName": {
                                "type": "string"
                              },
                              "volumeAttributesClassName": {
                                "type": "string"
                              },
                              "volumeMode": {
                                "type": "string"
                              },
                              "volumeName": {
                                "type": "string"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          }
                        },
                        "required": [
                          "spec"
                        ],
                        "type": "object",
                        "additionalProperties": false
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "fc": {
                    "properties": {
                      "fsType": {
                        "type": "string"
                      },
                      "lun": {
                        "format": "int32",
                        "type": "integer"
                      },
                      "readOnly": {
                        "type": "boolean"
                      },
                      "targetWWNs": {
                        "items": {
                          "type": "string"
                        },
                        "type": "array",
                        "x-kubernetes-list-type": "atomic"
                      },
                      "wwids": {
                        "items": {
                          "type": "string"
                        },
                        "type": "array",
                        "x-kubernetes-list-type": "atomic"
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "flexVolume": {
                    "properties": {
                      "driver": {
                        "type": "string"
                      },
                      "fsType": {
                        "type": "string"
                      },
                      "options": {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      "readOnly": {
                        "type": "boolean"
                      },
                      "secretRef": {
                        "properties": {
                          "name": {
                            "default": "",
                            "type": "string"
                          }
                        },
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      }
                    },
                    "required": [
                      "driver"
                    ],
                    "type": "object",
                    "additionalProperties": false
                  },
                  "flocker": {
                    "properties": {
                      "datasetName": {
                        "type": "string"
                      },
                      "datasetUUID": {
                        "type": "string"
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "gcePersistentDisk": {
                    "properties": {
                      "fsType": {
                        "type": "string"
                      },
                      "partition": {
                        "format": "int32",
                        "type": "integer"
                      },
                      "pdName": {
                        "type": "string"
                      },
                      "readOnly": {
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "pdName"
                    ],
                    "type": "object",
                    "additionalProperties": false
                  },
                  "gitRepo": {
                    "properties": {
                      "directory": {
                        "type": "string"
                      },
                      "repository": {
                        "type": "string"
                      },
                      "revision": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "repository"
                    ],
                    "type": "object",
                    "additionalProperties": false
                  },
                  "glusterfs": {
                    "properties": {
                      "endpoints": {
                        "type": "string"
                      },
                      "path": {
                        "type": "string"
                      },
                      "readOnly": {
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "endpoints",
                      "path"
                    ],
                    "type": "object",
                    "additionalProperties": false
                  },
                  "hostPath": {
                    "properties": {
                      "path": {
                        "type": "string"
                      },
                      "type": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "path"
                    ],
                    "type": "object",
                    "additionalProperties": false
                  },
                  "image": {
                    "properties": {
                      "pullPolicy": {
                        "type": "string"
                      },
                      "reference": {
                        "type": "string"
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "iscsi": {
                    "properties": {
                      "chapAuthDiscovery": {
                        "type": "boolean"
                      },
                      "chapAuthSession": {
                        "type": "boolean"
                      },
                      "fsType": {
                        "type": "string"
                      },
                      "initiatorName": {
                        "type": "string"
                      },
                      "iqn": {
                        "type": "string"
                      },
                      "iscsiInterface": {
                        "default": "default",
                        "type": "string"
                      },
                      "lun": {
                        "format": "int32",
                        "type": "integer"
                      },
                      "portals": {
                        "items": {
                          "type": "string"
                        },
                        "type": "array",
                        "x-kubernetes-list-type": "atomic"
                      },
                      "readOnly": {
                        "type": "boolean"
                      },
                      "secretRef": {
                        "properties": {
                          "name": {
                            "default": "",
                            "type": "string"
                          }
                        },
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "targetPortal": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "iqn",
                      "lun",
                      "targetPortal"
                    ],
                    "type": "object",
                    "additionalProperties": false
                  },
                  "name": {
                    "type": "string"
                  },
                  "nfs": {
                    "properties": {
                      "path": {
                        "type": "string"
                      },
                      "readOnly": {
                        "type": "boolean"
                      },
                      "server": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "path",
                      "server"
                    ],
                    "type": "object",
                    "additionalProperties": false
                  },
                  "persistentVolumeClaim": {
                    "properties": {
                      "claimName": {
                        "type": "string"
                      },
                      "readOnly": {
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "claimName"
                    ],
                    "type": "object",
                    "additionalProperties": false
                  },
                  "photonPersistentDisk": {
                    "properties": {
                      "fsType": {
                        "type": "string"
                      },
                      "pdID": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "pdID"
                    ],
                    "type": "object",
                    "additionalProperties": false
                  },
                  "portworxVolume": {
                    "properties": {
                      "fsType": {
                        "type": "string"
                      },
                      "readOnly": {
                        "type": "boolean"
                      },
                      "volumeID": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "volumeID"
                    ],
                    "type": "object",
                    "additionalProperties": false
                  },
                  "projected": {
                    "properties": {
                      "defaultMode": {
                        "format": "int32",
                        "type": "integer"
                      },
                      "sources": {
                        "items": {
                          "properties": {
                            "clusterTrustBundle": {
                              "properties": {
                                "labelSelector": {
                                  "properties": {
                                    "matchExpressions": {
                                      "items": {
                                        "properties": {
                                          "key": {
                                            "type": "string"
                                          },
                                          "operator": {
                                            "type": "string"
                                          },
                                          "values": {
                                            "items": {
                                              "type": "string"
                                            },
                                            "type": "array",
                                            "x-kubernetes-list-type": "atomic"
                                          }
                                        },
                                        "required": [
                                          "key",
                                          "operator"
                                        ],
                                        "type": "object",
                                        "additionalProperties": false
                                      },
                                      "type": "array",
                                      "x-kubernetes-list-type": "atomic"
                                    },
                                    "matchLabels": {
                                      "additionalProperties": {
                                        "type": "string"
                                      },
                                      "type": "object"
                                    }
                                  },
                                  "type": "object",
                                  "x-kubernetes-map-type": "atomic",
                                  "additionalProperties": false
                                },
                                "name": {
                                  "type": "string"
                                },
                                "optional": {
                                  "type": "boolean"
                                },
                                "path": {
                                  "type": "string"
                                },
                                "signerName": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "path"
                              ],
                              "type": "object",
                              "additionalProperties": false
                            },
                            "configMap": {
                              "properties": {
                                "items": {
                                  "items": {
                                    "properties": {
                                      "key": {
                                        "type": "string"
                                      },
                                      "mode": {
                                        "format": "int32",
                                        "type": "integer"
                                      },
                                      "path": {
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "key",
                                      "path"
                                    ],
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "type": "array",
                                  "x-kubernetes-list-type": "atomic"
                                },
                                "name": {
                                  "default": "",
                                  "type": "string"
                                },
                                "optional": {
                                  "type": "boolean"
                                }
                              },
                              "type": "object",
                              "x-kubernetes-map-type": "atomic",
                              "additionalProperties": false
                            },
                            "downwardAPI": {
                              "properties": {
                                "items": {
                                  "items": {
                                    "properties": {
                                      "fieldRef": {
                                        "properties": {
                                          "apiVersion": {
                                            "type": "string"
                                          },
                                          "fieldPath": {
                                            "type": "string"
                                          }
                                        },
                                        "required": [
                                          "fieldPath"
                                        ],
                                        "type": "object",
                                        "x-kubernetes-map-type": "atomic",
                                        "additionalProperties": false
                                      },
                                      "mode": {
                                        "format": "int32",
                                        "type": "integer"
                                      },
                                      "path": {
                                        "type": "string"
                                      },
                                      "resourceFieldRef": {
                                        "properties": {
                                          "containerName": {
                                            "type": "string"
                                          },
                                          "divisor": {
                                            "anyOf": [
                                              {
                                                "type": "integer"
                                              },
                                              {
                                                "type": "string"
                                              }
                                            ],
                                            "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                            "x-kubernetes-int-or-string": true
                                          },
                                          "resource": {
                                            "type": "string"
                                          }
                                        },
                                        "required": [
                                          "resource"
                                        ],
                                        "type": "object",
                                        "x-kubernetes-map-type": "atomic",
                                        "additionalProperties": false
                                      }
                                    },
                                    "required": [
                                      "path"
                                    ],
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "type": "array",
                                  "x-kubernetes-list-type": "atomic"
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            },
                            "secret": {
                              "properties": {
                                "items": {
                                  "items": {
                                    "properties": {
                                      "key": {
                                        "type": "string"
                                      },
                                      "mode": {
                                        "format": "int32",
                                        "type": "integer"
                                      },
                                      "path": {
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "key",
                                      "path"
                                    ],
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "type": "array",
                                  "x-kubernetes-list-type": "atomic"
                                },
                                "name": {
                                  "default": "",
                                  "type": "string"
                                },
                                "optional": {
                                  "type": "boolean"
                                }
                              },
                              "type": "object",
                              "x-kubernetes-map-type": "atomic",
                              "additionalProperties": false
                            },
                            "serviceAccountToken": {
                              "properties": {
                                "audience": {
                                  "type": "string"
                                },
                                "expirationSeconds": {
                                  "format": "int64",
                                  "type": "integer"
                                },
                                "path": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "path"
                              ],
                              "type": "object",
                              "additionalProperties": false
                            }
                          },
                          "type": "object",
                          "additionalProperties": false
                        },
                        "type": "array",
                        "x-kubernetes-list-type": "atomic"
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "quobyte": {
                    "properties": {
                      "group": {
                        "type": "string"
                      },
                      "readOnly": {
                        "type": "boolean"
                      },
                      "registry": {
                        "type": "string"
                      },
                      "tenant": {
                        "type": "string"
                      },
                      "user": {
                        "type": "string"
                      },
                      "volume": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "registry",
                      "volume"
                    ],
                    "type": "object",
                    "additionalProperties": false
                  },
                  "rbd": {
                    "properties": {
                      "fsType": {
                        "type": "string"
                      },
                      "image": {
                        "type": "string"
                      },
                      "keyring": {
                        "default": "/etc/ceph/keyring",
                        "type": "string"
                      },
                      "monitors": {
                        "items": {
                          "type": "string"
                        },
                        "type": "array",
                        "x-kubernetes-list-type": "atomic"
                      },
                      "pool": {
                        "default": "rbd",
                        "type": "string"
                      },
                      "readOnly": {
                        "type": "boolean"
                      },
                      "secretRef": {
                        "properties": {
                          "name": {
                            "default": "",
                            "type": "string"
                          }
                        },
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "user": {
                        "default": "admin",
                        "type": "string"
                      }
                    },
                    "required": [
                      "image",
                      "monitors"
                    ],
                    "type": "object",
                    "additionalProperties": false
                  },
                  "scaleIO": {
                    "properties": {
                      "fsType": {
                        "default": "xfs",
                        "type": "string"
                      },
                      "gateway": {
                        "type": "string"
                      },
                      "protectionDomain": {
                        "type": "string"
                      },
                      "readOnly": {
                        "type": "boolean"
                      },
                      "secretRef": {
                        "properties": {
                          "name": {
                            "default": "",
                            "type": "string"
                          }
                        },
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "sslEnabled": {
                        "type": "boolean"
                      },
                      "storageMode": {
                        "default": "ThinProvisioned",
                        "type": "string"
                      },
                      "storagePool": {
                        "type": "string"
                      },
                      "system": {
                        "type": "string"
                      },
                      "volumeName": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "gateway",
                      "secretRef",
                      "system"
                    ],
                    "type": "object",
                    "additionalProperties": false
                  },
                  "secret": {
                    "properties": {
                      "defaultMode": {
                        "format": "int32",
                        "type": "integer"
                      },
                      "items": {
                        "items": {
                          "properties": {
                            "key": {
                              "type": "string"
                            },
                            "mode": {
                              "format": "int32",
                              "type": "integer"
                            },
                            "path": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "key",
                            "path"
                          ],
                          "type": "object",
                          "additionalProperties": false
                        },
                        "type": "array",
                        "x-kubernetes-list-type": "atomic"
                      },
                      "optional": {
                        "type": "boolean"
                      },
                      "secretName": {
                        "type": "string"
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "storageos": {
                    "properties": {
                      "fsType": {
                        "type": "string"
                      },
                      "readOnly": {
                        "type": "boolean"
                      },
                      "secretRef": {
                        "properties": {
                          "name": {
                            "default": "",
                            "type": "string"
                          }
                        },
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "volumeName": {
                        "type": "string"
                      },
                      "volumeNamespace": {
                        "type": "string"
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "vsphereVolume": {
                    "properties": {
                      "fsType": {
                        "type": "string"
                      },
                      "storagePolicyID": {
                        "type": "string"
                      },
                      "storagePolicyName": {
                        "type": "string"
                      },
                      "volumePath": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "volumePath"
                    ],
                    "type": "object",
                    "additionalProperties": false
                  }
                },
                "required": [
                  "name"
                ],
                "type": "object",
                "additionalProperties": false
              },
              "type": "array"
            }
          },
          "required": [
            "volumeMounts",
            "volumes"
          ],
          "type": "object",
          "additionalProperties": false
        },
        "oneReplicaPerNode": {
          "type": "boolean"
        },
        "pdb": {
          "properties": {
            "enabled": {
              "type": "boolean"
            },
            "maxUnavailable": {
              "format": "int32",
              "type": "integer"
            }
          },
          "required": [
            "enabled"
          ],
          "type": "object",
          "additionalProperties": false
        },
        "podTemplate": {
          "properties": {
            "affinity": {
              "properties": {
                "nodeAffinity": {
                  "properties": {
                    "preferredDuringSchedulingIgnoredDuringExecution": {
                      "items": {
                        "properties": {
                          "preference": {
                            "properties": {
                              "matchExpressions": {
                                "items": {
                                  "properties": {
                                    "key": {
                                      "type": "string"
                                    },
                                    "operator": {
                                      "type": "string"
                                    },
                                    "values": {
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array",
                                      "x-kubernetes-list-type": "atomic"
                                    }
                                  },
                                  "required": [
                                    "key",
                                    "operator"
                                  ],
                                  "type": "object",
                                  "additionalProperties": false
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "atomic"
                              },
                              "matchFields": {
                                "items": {
                                  "properties": {
                                    "key": {
                                      "type": "string"
                                    },
                                    "operator": {
                                      "type": "string"
                                    },
                                    "values": {
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array",
                                      "x-kubernetes-list-type": "atomic"
                                    }
                                  },
                                  "required": [
                                    "key",
                                    "operator"
                                  ],
                                  "type": "object",
                                  "additionalProperties": false
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "atomic"
                              }
                            },
                            "type": "object",
                            "x-kubernetes-map-type": "atomic",
                            "additionalProperties": false
                          },
                          "weight": {
                            "format": "int32",
                            "type": "integer"
                          }
                        },
                        "required": [
                          "preference",
                          "weight"
                        ],
                        "type": "object",
                        "additionalProperties": false
                      },
                      "type": "array",
                      "x-kubernetes-list-type": "atomic"
                    },
                    "requiredDuringSchedulingIgnoredDuringExecution": {
                      "properties": {
                        "nodeSelectorTerms": {
                          "items": {
                            "properties": {
                              "matchExpressions": {
                                "items": {
                                  "properties": {
                                    "key": {
                                      "type": "string"
                                    },
                                    "operator": {
                                      "type": "string"
                                    },
                                    "values": {
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array",
                                      "x-kubernetes-list-type": "atomic"
                                    }
                                  },
                                  "required": [
                                    "key",
                                    "operator"
                                  ],
                                  "type": "object",
                                  "additionalProperties": false
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "atomic"
                              },
                              "matchFields": {
                                "items": {
                                  "properties": {
                                    "key": {
                                      "type": "string"
                                    },
                                    "operator": {
                                      "type": "string"
                                    },
                                    "values": {
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array",
                                      "x-kubernetes-list-type": "atomic"
                                    }
                                  },
                                  "required": [
                                    "key",
                                    "operator"
                                  ],
                                  "type": "object",
                                  "additionalProperties": false
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "atomic"
                              }
                            },
                            "type": "object",
                            "x-kubernetes-map-type": "atomic",
                            "additionalProperties": false
                          },
                          "type": "array",
                          "x-kubernetes-list-type": "atomic"
                        }
                      },
                      "required": [
                        "nodeSelectorTerms"
                      ],
                      "type": "object",
                      "x-kubernetes-map-type": "atomic",
                      "additionalProperties": false
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "podAffinity": {
                  "properties": {
                    "preferredDuringSchedulingIgnoredDuringExecution": {
                      "items": {
                        "properties": {
                          "podAffinityTerm": {
                            "properties": {
                              "labelSelector": {
                                "properties": {
                                  "matchExpressions": {
                                    "items": {
                                      "properties": {
                                        "key": {
                                          "type": "string"
                                        },
                                        "operator": {
                                          "type": "string"
                                        },
                                        "values": {
                                          "items": {
                                            "type": "string"
                                          },
                                          "type": "array",
                                          "x-kubernetes-list-type": "atomic"
                                        }
                                      },
                                      "required": [
                                        "key",
                                        "operator"
                                      ],
                                      "type": "object",
                                      "additionalProperties": false
                                    },
                                    "type": "array",
                                    "x-kubernetes-list-type": "atomic"
                                  },
                                  "matchLabels": {
                                    "additionalProperties": {
                                      "type": "string"
                                    },
                                    "type": "object"
                                  }
                                },
                                "type": "object",
                                "x-kubernetes-map-type": "atomic",
                                "additionalProperties": false
                              },
                              "matchLabelKeys": {
                                "items": {
                                  "type": "string"
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "atomic"
                              },
                              "mismatchLabelKeys": {
                                "items": {
                                  "type": "string"
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "atomic"
                              },
                              "namespaceSelector": {
                                "properties": {
                                  "matchExpressions": {
                                    "items": {
                                      "properties": {
                                        "key": {
                                          "type": "string"
                                        },
                                        "operator": {
                                          "type": "string"
                                        },
                                        "values": {
                                          "items": {
                                            "type": "string"
                                          },
                                          "type": "array",
                                          "x-kubernetes-list-type": "atomic"
                                        }
                                      },
                                      "required": [
                                        "key",
                                        "operator"
                                      ],
                                      "type": "object",
                                      "additionalProperties": false
                                    },
                                    "type": "array",
                                    "x-kubernetes-list-type": "atomic"
                                  },
                                  "matchLabels": {
                                    "additionalProperties": {
                                      "type": "string"
                                    },
                                    "type": "object"
                                  }
                                },
                                "type": "object",
                                "x-kubernetes-map-type": "atomic",
                                "additionalProperties": false
                              },
                              "namespaces": {
                                "items": {
                                  "type": "string"
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "atomic"
                              },
                              "topologyKey": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "topologyKey"
                            ],
                            "type": "object",
                            "additionalProperties": false
                          },
                          "weight": {
                            "format": "int32",
                            "type": "integer"
                          }
                        },
                        "required": [
                          "podAffinityTerm",
                          "weight"
                        ],
                        "type": "object",
                        "additionalProperties": false
                      },
                      "type": "array",
                      "x-kubernetes-list-type": "atomic"
                    },
                    "requiredDuringSchedulingIgnoredDuringExecution": {
                      "items": {
                        "properties": {
                          "labelSelector": {
                            "properties": {
                              "matchExpressions": {
                                "items": {
                                  "properties": {
                                    "key": {
                                      "type": "string"
                                    },
                                    "operator": {
                                      "type": "string"
                                    },
                                    "values": {
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array",
                                      "x-kubernetes-list-type": "atomic"
                                    }
                                  },
                                  "required": [
                                    "key",
                                    "operator"
                                  ],
                                  "type": "object",
                                  "additionalProperties": false
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "atomic"
                              },
                              "matchLabels": {
                                "additionalProperties": {
                                  "type": "string"
                                },
                                "type": "object"
                              }
                            },
                            "type": "object",
                            "x-kubernetes-map-type": "atomic",
                            "additionalProperties": false
                          },
                          "matchLabelKeys": {
                            "items": {
                              "type": "string"
                            },
                            "type": "array",
                            "x-kubernetes-list-type": "atomic"
                          },
                          "mismatchLabelKeys": {
                            "items": {
                              "type": "string"
                            },
                            "type": "array",
                            "x-kubernetes-list-type": "atomic"
                          },
                          "namespaceSelector": {
                            "properties": {
                              "matchExpressions": {
                                "items": {
                                  "properties": {
                                    "key": {
                                      "type": "string"
                                    },
                                    "operator": {
                                      "type": "string"
                                    },
                                    "values": {
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array",
                                      "x-kubernetes-list-type": "atomic"
                                    }
                                  },
                                  "required": [
                                    "key",
                                    "operator"
                                  ],
                                  "type": "object",
                                  "additionalProperties": false
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "atomic"
                              },
                              "matchLabels": {
                                "additionalProperties": {
                                  "type": "string"
                                },
                                "type": "object"
                              }
                            },
                            "type": "object",
                            "x-kubernetes-map-type": "atomic",
                            "additionalProperties": false
                          },
                          "namespaces": {
                            "items": {
                              "type": "string"
                            },
                            "type": "array",
                            "x-kubernetes-list-type": "atomic"
                          },
                          "topologyKey": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "topologyKey"
                        ],
                        "type": "object",
                        "additionalProperties": false
                      },
                      "type": "array",
                      "x-kubernetes-list-type": "atomic"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "podAntiAffinity": {
                  "properties": {
                    "preferredDuringSchedulingIgnoredDuringExecution": {
                      "items": {
                        "properties": {
                          "podAffinityTerm": {
                            "properties": {
                              "labelSelector": {
                                "properties": {
                                  "matchExpressions": {
                                    "items": {
                                      "properties": {
                                        "key": {
                                          "type": "string"
                                        },
                                        "operator": {
                                          "type": "string"
                                        },
                                        "values": {
                                          "items": {
                                            "type": "string"
                                          },
                                          "type": "array",
                                          "x-kubernetes-list-type": "atomic"
                                        }
                                      },
                                      "required": [
                                        "key",
                                        "operator"
                                      ],
                                      "type": "object",
                                      "additionalProperties": false
                                    },
                                    "type": "array",
                                    "x-kubernetes-list-type": "atomic"
                                  },
                                  "matchLabels": {
                                    "additionalProperties": {
                                      "type": "string"
                                    },
                                    "type": "object"
                                  }
                                },
                                "type": "object",
                                "x-kubernetes-map-type": "atomic",
                                "additionalProperties": false
                              },
                              "matchLabelKeys": {
                                "items": {
                                  "type": "string"
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "atomic"
                              },
                              "mismatchLabelKeys": {
                                "items": {
                                  "type": "string"
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "atomic"
                              },
                              "namespaceSelector": {
                                "properties": {
                                  "matchExpressions": {
                                    "items": {
                                      "properties": {
                                        "key": {
                                          "type": "string"
                                        },
                                        "operator": {
                                          "type": "string"
                                        },
                                        "values": {
                                          "items": {
                                            "type": "string"
                                          },
                                          "type": "array",
                                          "x-kubernetes-list-type": "atomic"
                                        }
                                      },
                                      "required": [
                                        "key",
                                        "operator"
                                      ],
                                      "type": "object",
                                      "additionalProperties": false
                                    },
                                    "type": "array",
                                    "x-kubernetes-list-type": "atomic"
                                  },
                                  "matchLabels": {
                                    "additionalProperties": {
                                      "type": "string"
                                    },
                                    "type": "object"
                                  }
                                },
                                "type": "object",
                                "x-kubernetes-map-type": "atomic",
                                "additionalProperties": false
                              },
                              "namespaces": {
                                "items": {
                                  "type": "string"
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "atomic"
                              },
                              "topologyKey": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "topologyKey"
                            ],
                            "type": "object",
                            "additionalProperties": false
                          },
                          "weight": {
                            "format": "int32",
                            "type": "integer"
                          }
                        },
                        "required": [
                          "podAffinityTerm",
                          "weight"
                        ],
                        "type": "object",
                        "additionalProperties": false
                      },
                      "type": "array",
                      "x-kubernetes-list-type": "atomic"
                    },
                    "requiredDuringSchedulingIgnoredDuringExecution": {
                      "items": {
                        "properties": {
                          "labelSelector": {
                            "properties": {
                              "matchExpressions": {
                                "items": {
                                  "properties": {
                                    "key": {
                                      "type": "string"
                                    },
                                    "operator": {
                                      "type": "string"
                                    },
                                    "values": {
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array",
                                      "x-kubernetes-list-type": "atomic"
                                    }
                                  },
                                  "required": [
                                    "key",
                                    "operator"
                                  ],
                                  "type": "object",
                                  "additionalProperties": false
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "atomic"
                              },
                              "matchLabels": {
                                "additionalProperties": {
                                  "type": "string"
                                },
                                "type": "object"
                              }
                            },
                            "type": "object",
                            "x-kubernetes-map-type": "atomic",
                            "additionalProperties": false
                          },
                          "matchLabelKeys": {
                            "items": {
                              "type": "string"
                            },
                            "type": "array",
                            "x-kubernetes-list-type": "atomic"
                          },
                          "mismatchLabelKeys": {
                            "items": {
                              "type": "string"
                            },
                            "type": "array",
                            "x-kubernetes-list-type": "atomic"
                          },
                          "namespaceSelector": {
                            "properties": {
                              "matchExpressions": {
                                "items": {
                                  "properties": {
                                    "key": {
                                      "type": "string"
                                    },
                                    "operator": {
                                      "type": "string"
                                    },
                                    "values": {
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array",
                                      "x-kubernetes-list-type": "atomic"
                                    }
                                  },
                                  "required": [
                                    "key",
                                    "operator"
                                  ],
                                  "type": "object",
                                  "additionalProperties": false
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "atomic"
                              },
                              "matchLabels": {
                                "additionalProperties": {
                                  "type": "string"
                                },
                                "type": "object"
                              }
                            },
                            "type": "object",
                            "x-kubernetes-map-type": "atomic",
                            "additionalProperties": false
                          },
                          "namespaces": {
                            "items": {
                              "type": "string"
                            },
                            "type": "array",
                            "x-kubernetes-list-type": "atomic"
                          },
                          "topologyKey": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "topologyKey"
                        ],
                        "type": "object",
                        "additionalProperties": false
                      },
                      "type": "array",
                      "x-kubernetes-list-type": "atomic"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "annotations": {
              "additionalProperties": {
                "type": "string"
              },
              "type": "object",
              "x-kubernetes-map-type": "granular"
            },
            "envVars": {
              "items": {
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "value": {
                    "type": "string"
                  },
                  "valueFrom": {
                    "properties": {
                      "configMapKeyRef": {
                        "properties": {
                          "key": {
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "type": "string"
                          },
                          "optional": {
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "fieldRef": {
                        "properties": {
                          "apiVersion": {
                            "type": "string"
                          },
                          "fieldPath": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "fieldPath"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "resourceFieldRef": {
                        "properties": {
                          "containerName": {
                            "type": "string"
                          },
                          "divisor": {
                            "anyOf": [
                              {
                                "type": "integer"
                              },
                              {
                                "type": "string"
                              }
                            ],
                            "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                            "x-kubernetes-int-or-string": true
                          },
                          "resource": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "resource"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "secretKeyRef": {
                        "properties": {
                          "key": {
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "type": "string"
                          },
                          "optional": {
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  }
                },
                "required": [
                  "name"
                ],
                "type": "object",
                "additionalProperties": false
              },
              "type": "array"
            },
            "labels": {
              "additionalProperties": {
                "type": "string"
              },
              "type": "object",
              "x-kubernetes-map-type": "granular"
            },
            "podSecurityContext": {
              "properties": {
                "appArmorProfile": {
                  "properties": {
                    "localhostProfile": {
                      "type": "string"
                    },
                    "type": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "type"
                  ],
                  "type": "object",
                  "additionalProperties": false
                },
                "fsGroup": {
                  "format": "int64",
                  "type": "integer"
                },
                "fsGroupChangePolicy": {
                  "type": "string"
                },
                "runAsGroup": {
                  "format": "int64",
                  "type": "integer"
                },
                "runAsNonRoot": {
                  "type": "boolean"
                },
                "runAsUser": {
                  "format": "int64",
                  "type": "integer"
                },
                "seLinuxOptions": {
                  "properties": {
                    "level": {
                      "type": "string"
                    },
                    "role": {
                      "type": "string"
                    },
                    "type": {
                      "type": "string"
                    },
                    "user": {
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "seccompProfile": {
                  "properties": {
                    "localhostProfile": {
                      "type": "string"
                    },
                    "type": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "type"
                  ],
                  "type": "object",
                  "additionalProperties": false
                },
                "supplementalGroups": {
                  "items": {
                    "format": "int64",
                    "type": "integer"
                  },
                  "type": "array",
                  "x-kubernetes-list-type": "atomic"
                },
                "supplementalGroupsPolicy": {
                  "type": "string"
                },
                "sysctls": {
                  "items": {
                    "properties": {
                      "name": {
                        "type": "string"
                      },
                      "value": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "name",
                      "value"
                    ],
                    "type": "object",
                    "additionalProperties": false
                  },
                  "type": "array",
                  "x-kubernetes-list-type": "atomic"
                },
                "windowsOptions": {
                  "properties": {
                    "gmsaCredentialSpec": {
                      "type": "string"
                    },
                    "gmsaCredentialSpecName": {
                      "type": "string"
                    },
                    "hostProcess": {
                      "type": "boolean"
                    },
                    "runAsUserName": {
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "priorityClassName": {
              "minLength": 1,
              "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$",
              "type": "string"
            },
            "probe": {
              "properties": {
                "liveness": {
                  "properties": {
                    "failureThreshold": {
                      "format": "int32",
                      "type": "integer"
                    },
                    "initialDelaySeconds": {
                      "format": "int32",
                      "type": "integer"
                    },
                    "path": {
                      "type": "string"
                    },
                    "periodSeconds": {
                      "format": "int32",
                      "type": "integer"
                    },
                    "port": {
                      "type": "integer"
                    },
                    "successThreshold": {
                      "format": "int32",
                      "type": "integer"
                    },
                    "timeoutSeconds": {
                      "format": "int32",
                      "type": "integer"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "readiness": {
                  "properties": {
                    "failureThreshold": {
                      "format": "int32",
                      "type": "integer"
                    },
                    "initialDelaySeconds": {
                      "format": "int32",
                      "type": "integer"
                    },
                    "path": {
                      "type": "string"
                    },
                    "periodSeconds": {
                      "format": "int32",
                      "type": "integer"
                    },
                    "port": {
                      "type": "integer"
                    },
                    "successThreshold": {
                      "format": "int32",
                      "type": "integer"
                    },
                    "timeoutSeconds": {
                      "format": "int32",
                      "type": "integer"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "resources": {
              "properties": {
                "claims": {
                  "items": {
                    "properties": {
                      "name": {
                        "type": "string"
                      },
                      "request": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "name"
                    ],
                    "type": "object",
                    "additionalProperties": false
                  },
                  "type": "array",
                  "x-kubernetes-list-map-keys": [
                    "name"
                  ],
                  "x-kubernetes-list-type": "map"
                },
                "limits": {
                  "additionalProperties": {
                    "anyOf": [
                      {
                        "type": "integer"
                      },
                      {
                        "type": "string"
                      }
                    ],
                    "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                    "x-kubernetes-int-or-string": true
                  },
                  "type": "object"
                },
                "requests": {
                  "additionalProperties": {
                    "anyOf": [
                      {
                        "type": "integer"
                      },
                      {
                        "type": "string"
                      }
                    ],
                    "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                    "x-kubernetes-int-or-string": true
                  },
                  "type": "object"
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "securityContext": {
              "properties": {
                "allowPrivilegeEscalation": {
                  "type": "boolean"
                },
                "appArmorProfile": {
                  "properties": {
                    "localhostProfile": {
                      "type": "string"
                    },
                    "type": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "type"
                  ],
                  "type": "object",
                  "additionalProperties": false
                },
                "capabilities": {
                  "properties": {
                    "add": {
                      "items": {
                        "type": "string"
                      },
                      "type": "array",
                      "x-kubernetes-list-type": "atomic"
                    },
                    "drop": {
                      "items": {
                        "type": "string"
                      },
                      "type": "array",
                      "x-kubernetes-list-type": "atomic"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "privileged": {
                  "type": "boolean"
                },
                "procMount": {
                  "type": "string"
                },
                "readOnlyRootFilesystem": {
                  "type": "boolean"
                },
                "runAsGroup": {
                  "format": "int64",
                  "type": "integer"
                },
                "runAsNonRoot": {
                  "type": "boolean"
                },
                "runAsUser": {
                  "format": "int64",
                  "type": "integer"
                },
                "seLinuxOptions": {
                  "properties": {
                    "level": {
                      "type": "string"
                    },
                    "role": {
                      "type": "string"
                    },
                    "type": {
                      "type": "string"
                    },
                    "user": {
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "seccompProfile": {
                  "properties": {
                    "localhostProfile": {
                      "type": "string"
                    },
                    "type": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "type"
                  ],
                  "type": "object",
                  "additionalProperties": false
                },
                "windowsOptions": {
                  "properties": {
                    "gmsaCredentialSpec": {
                      "type": "string"
                    },
                    "gmsaCredentialSpecName": {
                      "type": "string"
                    },
                    "hostProcess": {
                      "type": "boolean"
                    },
                    "runAsUserName": {
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "serviceAccountName": {
              "type": "string"
            },
            "terminationGracePeriodSeconds": {
              "format": "int64",
              "type": "integer"
            },
            "tolerations": {
              "items": {
                "properties": {
                  "effect": {
                    "type": "string"
                  },
                  "key": {
                    "type": "string"
                  },
                  "operator": {
                    "type": "string"
                  },
                  "tolerationSeconds": {
                    "format": "int64",
                    "type": "integer"
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "type": "object",
                "additionalProperties": false
              },
              "type": "array"
            },
            "topologySpreadConstraints": {
              "items": {
                "properties": {
                  "labelSelector": {
                    "properties": {
                      "matchExpressions": {
                        "items": {
                          "properties": {
                            "key": {
                              "type": "string"
                            },
                            "operator": {
                              "type": "string"
                            },
                            "values": {
                              "items": {
                                "type": "string"
                              },
                              "type": "array",
                              "x-kubernetes-list-type": "atomic"
                            }
                          },
                          "required": [
                            "key",
                            "operator"
                          ],
                          "type": "object",
                          "additionalProperties": false
                        },
                        "type": "array",
                        "x-kubernetes-list-type": "atomic"
                      },
                      "matchLabels": {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      }
                    },
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "matchLabelKeys": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "x-kubernetes-list-type": "atomic"
                  },
                  "maxSkew": {
                    "format": "int32",
                    "type": "integer"
                  },
                  "minDomains": {
                    "format": "int32",
                    "type": "integer"
                  },
                  "nodeAffinityPolicy": {
                    "type": "string"
                  },
                  "nodeTaintsPolicy": {
                    "type": "string"
                  },
                  "topologyKey": {
                    "type": "string"
                  },
                  "whenUnsatisfiable": {
                    "type": "string"
                  }
                },
                "required": [
                  "maxSkew",
                  "topologyKey",
                  "whenUnsatisfiable"
                ],
                "type": "object",
                "additionalProperties": false
              },
              "type": "array"
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "replicas": {
          "format": "int32",
          "type": "integer"
        },
        "telemetry": {
          "properties": {
            "global": {
              "type": "boolean"
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "tls": {
          "properties": {
            "autoGeneratedCerts": {
              "type": "boolean"
            },
            "directoryPathInContainer": {
              "minLength": 1,
              "type": "string"
            },
            "fips": {
              "properties": {
                "enabled": {
                  "type": "boolean"
                }
              },
              "required": [
                "enabled"
              ],
              "type": "object",
              "additionalProperties": false
            },
            "ignoreTrustStoreConfig": {
              "type": "boolean"
            },
            "jksPassword": {
              "properties": {
                "secretRef": {
                  "maxLength": 30,
                  "minLength": 1,
                  "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$",
                  "type": "string"
                }
              },
              "required": [
                "secretRef"
              ],
              "type": "object",
              "additionalProperties": false
            },
            "secretRef": {
              "maxLength": 30,
              "minLength": 1,
              "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$",
              "type": "string"
            }
          },
          "type": "object",
          "additionalProperties": false
        }
      },
      "required": [
        "image"
      ],
      "type": "object",
      "additionalProperties": false
    },
    "status": {
      "properties": {
        "arbitraryData": {
          "x-kubernetes-preserve-unknown-fields": true
        },
        "authorizationType": {
          "type": "string"
        },
        "clusterName": {
          "type": "string"
        },
        "clusterNamespace": {
          "type": "string"
        },
        "conditions": {
          "items": {
            "properties": {
              "lastProbeTime": {
                "format": "date-time",
                "type": "string"
              },
              "lastTransitionTime": {
                "format": "date-time",
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "reason": {
                "type": "string"
              },
              "status": {
                "type": "string"
              },
              "type": {
                "type": "string"
              }
            },
            "type": "object",
            "additionalProperties": false
          },
          "type": "array"
        },
        "currentReplicas": {
          "format": "int32",
          "type": "integer"
        },
        "internalSecrets": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "internalTopicNames": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "kafka": {
          "properties": {
            "authenticationType": {
              "type": "string"
            },
            "bootstrapEndpoint": {
              "type": "string"
            },
            "tls": {
              "type": "boolean"
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "metricPrefix": {
          "type": "string"
        },
        "observedGeneration": {
          "format": "int64",
          "type": "integer"
        },
        "operatorVersion": {
          "type": "string"
        },
        "phase": {
          "type": "string"
        },
        "rbac": {
          "properties": {
            "clusterID": {
              "type": "string"
            },
            "internalRolebindings": {
              "items": {
                "type": "string"
              },
              "type": "array"
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "readyReplicas": {
          "format": "int32",
          "type": "integer"
        },
        "replicas": {
          "format": "int32",
          "type": "integer"
        },
        "restConfig": {
          "properties": {
            "advertisedExternalEndpoints": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "authenticationType": {
              "type": "string"
            },
            "externalAccessType": {
              "type": "string"
            },
            "externalEndpoint": {
              "type": "string"
            },
            "internalEndpoint": {
              "type": "string"
            },
            "tls": {
              "type": "boolean"
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "selector": {
          "type": "string"
        }
      },
      "type": "object",
      "additionalProperties": false
    }
  },
  "required": [
    "spec"
  ],
  "type": "object"
}
