helm/solr/values.yaml (125 lines of code) (raw):

# Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed with # this work for additional information regarding copyright ownership. # The ASF licenses this file to You under the Apache License, Version 2.0 # (the "License"); you may not use this file except in compliance with # the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # Default values for solr. # This is a YAML-formatted file. # Declare variables to be passed into your templates. nameOverride: "" fullnameOverride: "" # If you want to use autoScaling, do not set this field replicas: null global: imagePullSecrets: [] clusterDomain: "" # Use a serviceAccount for all pods created under this chart (Solr and ZK) serviceAccount: # Specifies whether a ServiceAccount should be created create: false # The name of the ServiceAccount to use. # Required if create is false. # If not set and create is true, a name is generated using the fullname template name: "" ## Annotations to be added to ServiceAccount annotations: {} image: repository: "solr" tag: "" # Default pullPolicy is empty, which is Always for "latest" tags and IfNotPresent for all others. pullPolicy: "" imagePullSecret: "" busyBoxImage: {} # repository: "busybox" # tag: "1.28.0-glibc" # pullPolicy: "" # imagePullSecret: "" solrOptions: javaMemory: "" javaOpts: "" zkJavaOpts: "" logLevel: "" gcTune: "" solrModules: [] additionalLibs: [] # Enable authentication for the Solr Cloud # More information can be found at: # https://apache.github.io/solr-operator/docs/solr-cloud/solr-cloud-crd.html#authentication-and-authorization security: {} # authenticationType: Basic # basicAuthSecret: secret-name # probesRequireAuth: false # bootstrapSecurityJson: # name: my-custom-security-json-secret # key: security.json # Specify how the SolrCloud should be addressable # https://apache.github.io/solr-operator/docs/solr-cloud/solr-cloud-crd.html#addressability addressability: podPort: 8983 commonServicePort: null # kubeDomain is defaulted by global.clusterDomain if it's not provided kubeDomain: "" # Use external to provide endpoint(s) for your SolrCloud outside of Kubernetes external: {} # method: "Ingress" # domainName: "example.com" # additionalDomainNames: [] # useExternalAddress: false # hideNodes: false # hideCommon: false # nodePortOverride: null # ingressTLSTermination: # tlsSecret: "" # useDefaultTLSSecret: false # Specify how rolling updates should be managed for the Solr StatefulSet # https://apache.github.io/solr-operator/docs/solr-cloud/solr-cloud-crd.html#update-strategy updateStrategy: method: "Managed" # Options for the managed update method managed: {} # The number of Solr pods in a Solr Cloud that are allowed to be unavailable during the rolling restart. # More pods may become unavailable during the restart, however the Solr Operator will not kill pods if the limit has already been reached. # Either a static number, or a percentage representing the percentage of total pods requested for the statefulSet. # maxPodsUnavailable: "25%" # The number of replicas for each shard allowed to be unavailable during the restart. # Either a static number, or a percentage representing the percentage of the number of replicas for a shard. # Defaults to 1 # maxShardReplicasUnavailable: 1 # Cron schedule for automatically restarting the Solr Cloud # For available CRON syntaxes, check here: https://pkg.go.dev/github.com/robfig/cron/v3?utm_source=godoc#hdr-CRON_Expression_Format restartSchedule: "" # More information can be found at: # https://apache.github.io/solr-operator/docs/solr-cloud/solr-cloud-crd.html#data-storage dataStorage: # Either persistent or ephemeral type: "ephemeral" # Specify a capacity for your data storage. # This effects both ephemeral and persistent storage. capacity: "20Gi" # Options for ephemeral storage. Only used if type = "ephemeral" ephemeral: {} # emptyDir: {} # hostPath: {} # Options for persistent storage. Only used if type = "persistent" persistent: reclaimPolicy: "Retain" pvc: name: "" labels: {} annotations: {} storageClassName: "" # How to control availability for Solr Nodes availability: # Create PodDisruptionBudget(s) to ensure availability of Solr Nodes podDisruptionBudget: enabled: true method: ClusterWide # Various settings to control scaling of Solr pods and replicas scaling: vacatePodsOnScaleDown: true populatePodsOnScaleUp: true # A list of BackupRepositories to connect your SolrCloud to # See either for more information: # - https://apache.github.io/solr-operator/docs/solr-backup # - kubectl explain solrcloud.spec.backupRepositories backupRepositories: [] # - name: example-repo # Required # gcs: # bucket: example-bucket # Required # gcsCredentialSecret: # Required (unless using GKE's 'Workplace Identity' feature) # name: "gcsSecretName" # key: "service-account-key.json" zk: # A ZooKeeper Node to host all the information for this SolrCloud under chroot: "" # If true, this will add the "/<namespace>/<name>" to the end of the provided chroot, if any is provided. # This will let you deploy multiple Solr Clouds without having to manage the specific chroots yourself. uniqueChroot: false # Use an existing ZooKeeper cluster # Address available within the Kubernetes Cluster address: "" # Address available both within and outside the Kubernetes Cluster externalAddress: "" # If no "address" is provided, this defines the ZookeeperCluster created for this SolrCloud provided: replicas: 3 labels: {} image: {} # repository: "pravega/zookeeper" # tag: "" # pullPolicy: IfNotPresent # imagePullSecret: "" zookeeperPodPolicy: {} # labels: {} # affinity: {} # tolerations: [] # nodeSelector: {} # env: [] # resources: {} # # Set ZK service account individually instead of the global "serviceAccount.name" # serviceAccountName: "" # topologySpreadConstraints: [] # Override the default Zookeeper probes probes: {} # Add additional containers containers: {} initContainers: {} # Configure the PodDisruptionBudget created for ZK maxUnavailableReplicas: 1 # Add custom volumes volumes: [] volumeMounts: [] # Customize the ZK services adminServerService: {} clientService: {} headlessService: {} # Storage defaults to the type of storage you use for Solr, which is ephemeral by default. # Explicitly set the storage type, only necessary when wishing to use an empty persistence or ephemeral object. storageType: "" persistence: {} # reclaimPolicy: "Retain" # spec: {} ephemeral: {} # emptydirvolumesource: {} # Zookeeper Config Options to set for the provided cluster config: {} # Use this section to inject ACL information for your zookeeper from a Kube secret in the same namespace as your SolrCloud acl: {} # secret: zk-acls # usernameKey: username # passwordKey: password # Use this section to inject ACL information for your zookeeper from a Kube secret in the same namespace as your SolrCloud readOnlyAcl: {} # secret: zk-acls # usernameKey: username # passwordKey: password # Enable TLS between your SolrCloud nodes # More information can be found at: # https://apache.github.io/solr-operator/docs/solr-cloud/solr-cloud-crd.html#enable-tls-between-solr-pods solrTLS: {} # pkcs12Secret: # name: secret-name # key: pkcs12-key # keyStorePasswordSecret: # name: secret-name # key: password-key # trustStoreSecret: # name: secret-name # key: truststore-key # trustStorePasswordSecret: # name: secret-name # key: password-key # clientAuth: None # verifyClientHostname: false # checkPeerName: false # restartOnTLSSecretUpdate: false # mountedTLSDir: # path: /path/to/mounted/tls # keystoreFile: "keystore.p12" # keystorePasswordFile: "" # keystorePassword: "" # truststoreFile: "truststore.p12" # truststorePasswordFile: "" # truststorePassword: "" solrClientTLS: {} # pkcs12Secret: # name: secret-name # key: pkcs12-key # keyStorePasswordSecret: # name: secret-name # key: password-key # trustStoreSecret: # name: secret-name # key: truststore-key # trustStorePasswordSecret: # name: secret-name # key: password-key # mountedTLSDir: # path: /path/to/mounted/tls # keystoreFile: "keystore.p12" # keystorePasswordFile: "" # keystorePassword: "" # truststoreFile: "truststore.p12" # truststorePasswordFile: "" # truststorePassword: "" # Customize the Solr Pod for your needs podOptions: annotations: {} labels: {} # Add extra sidecar or init containers, e.g. for log or metrics forwarding sidecarContainers: [] initContainers: [] priorityClassName: "" envVars: [] podSecurityContext: {} containerSecurityContext: {} terminationGracePeriodSeconds: null # Set Solr service account individually instead of the global "serviceAccount.name" serviceAccountName: "" shareProcessNamespace: false # Manage where the Solr pods are scheduled affinity: {} tolerations: [] nodeSelector: {} # Documentation available at https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/ # If a labelSelector is not provided, it will be auto-populated by the Solr Operator to match the statefulSet labels topologySpreadConstraints: [] # - maxSkew: 1 # topologyKey: zone # whenUnsatisfiable: DoNotSchedule # Probes for the Solr pods livenessProbe: {} readinessProbe: {} startupProbe: {} # Lifecycle for the Solr container lifecycle: {} imagePullSecrets: [] resources: {} # limits: # cpu: "2" # memory: 10G # requests: # cpu: 500m # memory: 4G # Resources for the init containers created by the Solr Operator defaultInitContainerResources: {} volumes: [] # - name: # defaultContainerMount: {} # source: {} statefulSetOptions: annotations: {} labels: {} # Specify a podManagementPolicy when you want control over how scale-ups and scale-downs occur # https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#pod-management-policies # The default is: Parallel podManagementPolicy: "" commonServiceOptions: annotations: {} labels: {} headlessServiceOptions: annotations: {} labels: {} nodeServiceOptions: annotations: {} labels: {} ingressOptions: annotations: {} labels: {} ingressClassName: "" configMapOptions: annotations: {} labels: {} # This is an extremely advanced option, do not use it without understanding the requirements of the solr.xml you provide. providedConfigMap: ""