/solr-operator

A Kubernetes Operator for deploying and managing clouds of Apache Solr instances.

Primary LanguageGoApache License 2.0Apache-2.0

Solr Operator

Latest Version Build Status License Go Report Card Commit since last release Docker Pulls Slack

The Solr Operator manages Apache Solr Clouds within Kubernetes. It is built on top of the Kube Builder framework.

The project is currently in beta (v1beta1), and while we do not anticipate changing the API in backwards-incompatible ways there is no such guarantee yet.

If you run into issues using the Solr Operator, please:

Join us on the #solr-operator channel in the official Kubernetes slack workspace.

Menu

Documentation

Please visit the following pages for documentation on using and developing the Solr Operator:

Version Compatibility & Upgrade Notes

v0.2.7

  • The SolrCloud and SolrPrometheusExporter services' portNames have changed to "solr-client" and "solr-metrics" from "ext-solr-client" and "ext-solr-metrics", respectively. This is due to a bug in Kubernetes where portName and targetPort must match for services.

v0.2.6

  • The solr-operator argument --ingressBaseDomain has been DEPRECATED. In order to set the external baseDomain of your clouds, please begin to use SolrCloud.spec.solrAddressability.external.domainName instead. You will also need to set SolrCloud.spec.solrAddressability.external.method to Ingress. The --ingressBaseDomain argument is backwards compatible, and all existing SolrCloud objects will be auto-updated once your operator is upgraded to v0.2.6. The argument will be removed in a future version (v0.3.0).

v0.2.4

  • The default supported version of the Zookeeper Operator has been upgraded to v0.2.6.
    If you are using the provided zookeeper option for your SolrClouds, then you will want to upgrade your zookeeper operator version as well as the version and image of the zookeeper that you are running. You can find examples of the zookeeper operator as well as solrClouds that use provided zookeepers in the examples directory.
    Please refer to the Zookeeper Operator release notes before upgrading.

v0.2.3

  • If you do not use an ingress with the Solr Operator, the Solr Hostname and Port will change when upgrading to this version. This is to fix an outstanding bug. Because of the headless service port change, you will likely see an outage for inter-node communication until all pods have been restarted.

v0.2.2

  • SolrCloud.spec.solrPodPolicy has been DEPRECATED in favor of the SolrCloud.spec.customSolrKubeOptions.podOptions option.
    This option is backwards compatible, but will be removed in a future version (v0.3.0).

  • SolrPrometheusExporter.spec.solrPodPolicy has been DEPRECATED in favor of the SolrPrometheusExporter.spec.customKubeOptions.podOptions option.
    This option is backwards compatible, but will be removed in a future version (v0.3.0).

v0.2.1

  • The zkConnectionString used for provided zookeepers changed from using the string provided in the ZkCluster.Status, which used an IP, to using the service name. This will cause a rolling restart of your solrs using the provided zookeeper option, but there will be no data loss.

v0.2.0

  • Uses gomod instead of dep
  • SolrCloud.spec.zookeeperRef.provided.zookeeper.persistentVolumeClaimSpec has been DEPRECATED in favor of the SolrCloud.zookeeperRef.provided.zookeeper.persistence option.
    This option is backwards compatible, but will be removed in a future version (v0.3.0).
  • An upgrade to the ZKOperator version 0.2.4 is required.

v0.1.1

  • SolrCloud.Spec.persistentVolumeClaim was renamed to SolrCloud.Spec.dataPvcSpec

Compatibility with Kubernetes Versions

Fully Compatible - v1.13+

Feature Gates required for older versions

  • v1.10 - CustomResourceSubresources

Contributions

We ❤️ contributions.

Have you had a good experience with the Solr Operator? Why not share some love and contribute code, or just let us know about any issues you had with it?

We welcome issue reports here; be sure to choose the proper issue template for your issue, so that we can be sure you're providing the necessary information.

Before sending a Pull Request, please make sure you read our Contribution Guidelines.

License

Please read the LICENSE file here.

Code of Conduct

This project has adopted a Code of Conduct. If you have any concerns about the Code, or behavior which you have experienced in the project, please contact us at opensource@bloomberg.net.

Security Vulnerability Reporting

If you believe you have identified a security vulnerability in this project, please send email to the project team at opensource@bloomberg.net, detailing the suspected issue and any methods you've found to reproduce it.

Please do NOT open an issue in the GitHub repository, as we'd prefer to keep vulnerability reports private until we've had an opportunity to review and address them.