Bitpoke Mysql Operator Versions Save

Asynchronous MySQL Replication on Kubernetes using Percona Server and Openark's Orchestrator.

v0.6.3

11 months ago

Added

  • MysqlDatabase MysqlUser Add delete policy
  • Add PtHeartbeatResources in .Spec.PodSpec to allow the user specifying resources for pt-heartbeat.
  • Set MysqlCluter.Spec.BackupSchedule to empty string to disable recurrent backups
  • Add support for backing up to HDFS

Changed

  • Set default MySQL server version to 5.7.35
  • Bump Orchestrator to 3.2.6
  • Change policy/v1beta1 to policy/v1
  • Add RBAC permissions when deploying on OpenShift

Removed

  • Remove PodSecurityPolicy

Fixed

  • Bump golang.org/x/net to 0.8 (fix: CVE-2022-41723, CVE-2022-27664, CVE-2021-33194)
  • Orchestrator can't properly update or migrate when it more than one
  • Operator service account have no access to update mysqlbackups/status
  • Recurrent backup remote delete policy can not update according to the cluster.Spec.BackupRemoteDeletePolicy
  • When the operator is restarted, it will process the Pod list once to prevent the state of the pod from being changed automatically because it is not updated (especially if the PVC is full).

v0.6.2

11 months ago

⚠️ released on 2021-12-28.

Fixed

  • orchestrator.secretName is ignored in helm charts

v0.6.1

2 years ago

Please check upgrade instructions and blog article before upgrading.

Fixed

  • Fix the app version in the published Helm charts

v0.6.0

2 years ago

Please check upgrade instructions and blog article before upgrading.

Added

  • If you want to save MySQL backup to AWS S3, AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY were the only options, but now you can use AWS_SESSION_TOKEN or AWS_ROLE_ARN and AWS_WEB_IDENTITY_TOKEN_FILE
  • Add orchestrator.persistence.selector.matchLabels and orchestrator.persistence.annotations for persistence depolyment with constraints
  • Add orchestrator.persistence.fsGroupWorkaroundEnabled for persistent volume provisioners wich don't support fsGroup in security context (fixes #615)
  • Add appSecretLabels, appSecretAnnotations, backupSecretLabels, backupSecretAnnotations to provide custom labels and annotations to created app and backup secrets
  • Update rclone to v1.57.0
  • For s3, enable the no_check_bucket option for rclone
  • Allow setting metrics and health checking listening addresses

Changed

  • Allow setting pod security context when deploying with Helm
  • Use distroless as base image for orchestrator container
  • Use networking.k8s.io/v1 instead of extensions/v1beta1 for ingress
  • Use Service.spec.publishNotReadyAddresses instead of service.alpha.kubernetes.io/tolerate-unready-endpoints
  • Use git-semver for setting versions
  • Graceful shutdown is enabled by default

Removed

  • Removed support for Helm 2

Fixed

v0.5.3

2 years ago

Fixed

v0.5.2

2 years ago

Added

  • If you want to save mysql backup to AWS S3, AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY were the only options, but now you can use AWS_SESSION_TOKEN or AWS_ROLE_ARN and AWS_WEB_IDENTITY_TOKEN_FILE

Changed

  • Update rclone to v1.57.0

Fixed

  • Make sure orchestrator can find it's templates #741

v0.5.1

2 years ago

Added

  • Add orchestrator.persistence.fsGroupWorkaroundEnabled for persistent volume provisioners wich don't support fsGroup in security context (fixes #615)

Changed

  • Allow setting pod security context when deploying with Helm
  • Use distroless as base image for orchestrator container

v0.5.0

2 years ago

⚠️ Helm charts and docker images location changed

Added

  • Add image and mysqlVersion options to MysqlCluster chart. This bumps the chart version to 0.3.1
  • Add backupAffinity, backupNodeSelector, backupPriorityClassName, backupTolerations to .Spec.PodSpec to allow specifying custom scheduling constraints for backup jobs.
  • Add the ability to set the imagePullSecrets for the operator statefulset.
  • Add Google Drive via service account as backup option.
  • Add initBucketURL and initBucketSecretName options to MysqlCluster chart. This bumps the chart version to 0.3.0
  • Add an example of how initContainers can be used to fix hostPath permissions.
  • Add a lifecycle preStop hook for the mysql container. Before killing the master MySQL process, it triggers a graceful-master-takeover-auto command in Orchestrator. This is disabled by default, to enable it set gracefulShutdown.enabled=true in chart values or set the controller command argument failover-before-shutdown to true.
  • Add mysqlLifecycle to .Spec.PodSpec to allow overriding the default lifecycle hook for the mysql container.
  • Add backupCompressCommand and backupDecompressCommand to allow using different compressors/decompressors when backing up or restoring.
  • Add support for MySQL version 8.0
  • Add go modules cache
  • Support cron timezone

Changed

  • Only add binlog-space-limit for percona image
  • Make user-defined InitContainer take the precedence
  • Set timeout of 15s on connection between the operator and Orchestrator
  • Bump controller-util dependency to 0.3.0 which fixes some updates on pod spec.
  • Removed NO_AUTO_VALUE_ON_ZERO from sql-mode to be inline with MySQL default value
  • Remove use go module instead of dep
  • Update k8s client to v0.21.2
  • Update kubebuilder (to v2.3.1) along with controller-runtime (to v0.9.2) and controller-gen
  • Update rclone to v1.53.1
  • Update Orchestrator version from v3.1.2 to v3.2.3
  • Set default MySQL server version to 5.7.31
  • Generate CRDs with controller-gen v0.5.0
  • Update getOrdinalFromHostname and IsFirstPodInSet
  • Use klog for logging
  • Use https://github.com/bitpoke/build for building the project

Fixed

  • Fix insufficient permissions during startup
  • Fix the xtrabackup --tables-exclude cannot take effect
  • Fix the pod unable to connect Orchestrator
  • Fix pod labels diff of map
  • Fixed backup cleanup job bug (#577)
  • Fix Kubebuilder path in Makefile.
  • Fix #632 lifeCycle preStop script is not copied to given directory.
  • Fix #637 mysqlbackup status is not updated correctly.
  • Fix #647 custom conf can't overwrite the default conf
  • Fix #627 let Orchestrator do the failover
  • Fix #694 the error caused by backing up without waiting for master to be created.

🎉 With this release let's welcome @cndoit18 as a project contributor and maintainer!

v0.4.0

3 years ago

A detailed changelog can be found in the Changelog.md file.

Changes since version v0.3.10: list of commits

Some highlights in this version since v0.4.0-rc.1:

  • Fixed bug #528
  • Set metrics exporter port based on extra_port (thanks @stankevich)

v0.4.0-rc.1

4 years ago

A detailed changelog can be found in the Changelog.md file.

Some highlights in the new version:

  • Add support for Helm v3.
  • Improved logging.
  • Change default requested and limit resources for sidecar container and allow the user to specify them.'
  • Update formula for innodb_buffer_pool_size.
  • MySQL initialization from k8s services instead of individual hosts. (thanks @dougfales )