feat: publish a GitHub release in release step 4 and make it idempotent (#513)

04-release-complete.sh now turns the released Git tag into a GitHub release
with `gh release create --verify-tag`, so it publishes the existing tag and
never creates one. The generated notes link the release-note issue, the
operator image (apache/doris:operator-<version>, with its docker pull command
and Docker Hub page), and the formal source artifacts.

The full run is now idempotent, so an interrupted release can be repeated:
release files already present in release SVN are detected by name and
packaging, signing, and the SVN commit are skipped; a release directory
holding only some of the three files is reported as incomplete and stops the
run for manual repair; a GitHub release whose notes already match is left
untouched, and differing notes are replaced only after a confirmation. The
new --github-only flag publishes or refreshes only the GitHub release.

Vote and announcement drafts now start with a Subject line, so the mail title
no longer has to be retyped.

Co-authored-by: morningman <moringman@apache.org>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
9 files changed
tree: a151794324d4475537dd5bcb22c998fbb9ff6861
  1. .github/
  2. api/
  3. client/
  4. cmd/
  5. config/
  6. doc/
  7. docs/
  8. hack/
  9. helm-charts/
  10. pkg/
  11. tools/
  12. .gitignore
  13. .licenserc.yaml
  14. artifacthub-repo.yml
  15. code-coverage.sh
  16. Dockerfile
  17. Dockerfile_doris_debug
  18. Dockerfile_doris_jdk
  19. go.mod
  20. go.sum
  21. index.yaml
  22. LICENSE
  23. Makefile
  24. NOTICE
  25. PROJECT
  26. README-CN.md
  27. README.md
README.md

English | 中文

doris-operator

Doris-Operator for doris creates, configures and manages doris cluster running on kubernetes. Operator provide deploy and manage fe, be, cn,broker components. Users custom DorisCluster CRD to deploy doris as demand.

License Operator Release Tags docker pull issues Go Version docs

Features

  • Realized Doris management by custom DorisCluster resource.
  • Safe Doris cluster configuration & topology changes.
  • Custom node configuration and attributes.
  • Provide the debug ability in container when the service crashed.
  • Support deploy storage-compute separation mode of Doris.

Requirements

  • Kubernetes 1.19+
  • Doris's components need 8c cpu and 8G memory at least to normal start.

Installation

  1. Install custom resource definitions:
kubectl create -f https://raw.githubusercontent.com/apache/doris-operator/$(curl -s https://api.github.com/repos/apache/doris-operator/releases/latest | grep tag_name | cut -d '"' -f4)/config/crd/bases/doris.apache.com_dorisclusters.yaml
  1. Install the operator with its RBAC rules:
    the default deployed namespace is doris, when deploy on specific namespace, please pull yaml and update namespace field.
kubectl apply -f https://raw.githubusercontent.com/apache/doris-operator/$(curl -s  https://api.github.com/repos/apache/doris-operator/releases/latest | grep tag_name | cut -d '"' -f4)/config/operator/operator.yaml
  1. Install Doris on Kubernetes:
kubectl apply -f https://raw.githubusercontent.com/apache/doris-operator/$(curl -s https://api.github.com/repos/apache/doris-operator/releases/latest | grep tag_name | cut -d '"' -f4)/doc/examples/doriscluster-sample.yaml 

[!WARNING] When custom the FE startup configuration, please set enable_fqdn_mode=true. Please refer to the official doc for how to use.

Documentation

Open source support