Skip to content

Commit

Permalink
main merge
Browse files Browse the repository at this point in the history
  • Loading branch information
razvan committed Jan 15, 2025
2 parents d6d5fe4 + 99effb0 commit fa239e5
Show file tree
Hide file tree
Showing 32 changed files with 2,240 additions and 855 deletions.
41 changes: 34 additions & 7 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ on:
- "renovate/**"
tags:
- '[0-9][0-9].[0-9]+.[0-9]+'
- '[0-9][0-9].[0-9]+.[0-9]+-rc[0-9]+'
pull_request:
merge_group:
schedule:
Expand All @@ -25,7 +26,7 @@ env:
CARGO_TERM_COLOR: always
CARGO_INCREMENTAL: '0'
CARGO_PROFILE_DEV_DEBUG: '0'
RUST_TOOLCHAIN_VERSION: "1.81.0"
RUST_TOOLCHAIN_VERSION: "1.82.0"
RUSTFLAGS: "-D warnings"
RUSTDOCFLAGS: "-D warnings"
RUST_LOG: "info"
Expand Down Expand Up @@ -344,9 +345,22 @@ jobs:
with:
crate: cargo-edit
bin: cargo-set-version
- name: Update version if PR
if: ${{ github.event_name == 'pull_request' }}
run: cargo set-version --offline --workspace 0.0.0-pr${{ github.event.pull_request.number }}
- name: Update version if PR against main branch
if: ${{ github.event_name == 'pull_request' && github.event.pull_request.base.ref == 'main' }}
env:
PR_NUMBER: ${{ github.event.pull_request.number }}
run: |
PR_VERSION="0.0.0-pr${PR_NUMBER}"
cargo set-version --offline --workspace "$PR_VERSION"
- name: Update version if PR against non-main branch
# For PRs to be merged against a release branch, use the version that has already been set in the calling script.
if: ${{ github.event_name == 'pull_request' && startsWith(github.event.pull_request.base.ref, 'release-') }}
env:
PR_NUMBER: ${{ github.event.pull_request.number }}
run: |
MANIFEST_VERSION=$(cargo metadata --format-version 1 --no-deps | jq -r '.packages[0].version')
PR_VERSION="${MANIFEST_VERSION}-pr${PR_NUMBER}"
cargo set-version --offline --workspace "$PR_VERSION"
# Recreate charts and publish charts and docker image. The "-e" is needed as we want to override the
# default value in the makefile if called from this action, but not otherwise (i.e. when called locally).
Expand Down Expand Up @@ -410,9 +424,22 @@ jobs:
with:
crate: cargo-edit
bin: cargo-set-version
- name: Update version if PR
if: ${{ github.event_name == 'pull_request' }}
run: cargo set-version --offline --workspace 0.0.0-pr${{ github.event.pull_request.number }}
- name: Update version if PR against main branch
if: ${{ github.event_name == 'pull_request' && github.event.pull_request.base.ref == 'main' }}
env:
PR_NUMBER: ${{ github.event.pull_request.number }}
run: |
PR_VERSION="0.0.0-pr${PR_NUMBER}"
cargo set-version --offline --workspace "$PR_VERSION"
- name: Update version if PR against non-main branch
# For PRs to be merged against a release branch, use the version that has already been set in the calling script.
if: ${{ github.event_name == 'pull_request' && startsWith(github.event.pull_request.base.ref, 'release-') }}
env:
PR_NUMBER: ${{ github.event.pull_request.number }}
run: |
MANIFEST_VERSION=$(cargo metadata --format-version 1 --no-deps | jq -r '.packages[0].version')
PR_VERSION="${MANIFEST_VERSION}-pr${PR_NUMBER}"
cargo set-version --offline --workspace "$PR_VERSION"
- name: Build manifest list
run: |
# Creating manifest list
Expand Down
119 changes: 119 additions & 0 deletions .github/workflows/integration-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
---
name: Integration Test
run-name: |
Integration Test on ${{ inputs.test-platform }}-${{ inputs.test-architecture }} (${{ inputs.test-run == 'all' && 'all' || format('{0}={1}', inputs.test-run, inputs.test-parameter) }})
env:
DEFAULT_TEST_PLATFORM: kind-1.31.0
DEFAULT_TEST_ARCHITECTURE: amd64
DEFAULT_TEST_RUN: all
DEFAULT_TEST_PARAMETER: "" # Unused when the test-run is 'all'
TEST_PLATFORM: ${{ inputs.test-platform }}
TEST_ARCHITECTURE: ${{ inputs.test-architecture }}
TEST_RUN: ${{ inputs.test-run }}
TEST_PARAMETER: ${{ inputs.test-parameter }}

on:
# schedule:
# At 00:00 on Sunday. See: https://crontab.guru/#0_0_*_*_0
# - cron: "0 0 * * 0"
workflow_dispatch:
inputs:
test-platform:
description: |
The test platform to run on
required: true
type: choice
options:
- kind-1.31.2
- kind-1.30.6
- rke2-1.31.2
- rke2-1.30.6
- k3s-1.31.2
- k3s-1.30.6
- aks-1.29
- aks-1.28
- aks-1.27
- eks-1.29
- eks-1.28
- eks-1.27
- gke-1.29
- gke-1.28
- gke-1.27
- okd-4.15
- okd-4.14
- okd-4.13
test-architecture:
description: |
The architecture the tests will run on. Consult the run-integration-test action README for
more details on supported architectures for each distribution
required: true
type: choice
options:
- amd64
- arm64
test-run:
description: Type of test run
required: true
type: choice
options:
- all
- test-suite
- test
test-parameter:
description: Parameter to `--test-suite` or `--test` (ignored for `all`)
default: smoke

jobs:
test:
name: Run Integration Test
runs-on: ubuntu-latest
steps:
- name: Override integration test options for scheduled run
if: github.event_name == 'schedule'
shell: bash
run: |
set -euo pipefail
echo "TEST_PLATFORM=$DEFAULT_TEST_PLATFORM" | tee -a "$GITHUB_ENV"
echo "TEST_ARCHITECTURE=$DEFAULT_TEST_ARCHITECTURE" | tee -a "$GITHUB_ENV"
echo "TEST_RUN=$DEFAULT_TEST_RUN" | tee -a "$GITHUB_ENV"
echo "TEST_PARAMETER=$DEFAULT_TEST_PARAMETER" | tee -a "$GITHUB_ENV"
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
submodules: recursive

- name: Run Integration Test
id: test
uses: stackabletech/actions/run-integration-test@5901c3b1455488820c4be367531e07c3c3e82538 # v0.4.0
with:
test-platform: ${{ env.TEST_PLATFORM }}-${{ env.TEST_ARCHITECTURE }}
test-run: ${{ env.TEST_RUN }}
test-parameter: ${{ env.TEST_PARAMETER }}
replicated-api-token: ${{ secrets.REPLICATED_API_TOKEN }}

- name: Send Notification
if: ${{ failure() }}
env:
SLACK_BOT_TOKEN: ${{ secrets.SLACK_INTEGRATION_TEST_TOKEN }}
uses: slackapi/slack-github-action@37ebaef184d7626c5f204ab8d3baff4262dd30f0 # v1.27.0
with:
channel-id: "C07UYJYSMSN" # notifications-integration-tests
payload: |
{
"text": "Integration Test *${{ github.repository }}* failed",
"attachments": [
{
"pretext": "Started at ${{ steps.test.outputs.start-time }}, failed at ${{ steps.test.outputs.end-time }}",
"color": "#aa0000",
"actions": [
{
"type": "button",
"text": "Go to integration test run",
"url": "${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}"
}
]
}
]
}
4 changes: 2 additions & 2 deletions .github/workflows/pr_pre-commit.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ on:

env:
CARGO_TERM_COLOR: always
RUST_TOOLCHAIN_VERSION: "1.81.0"
RUST_TOOLCHAIN_VERSION: "1.82.0"
HADOLINT_VERSION: "v2.12.0"
PYTHON_VERSION: "3.12"

Expand All @@ -23,7 +23,7 @@ jobs:
with:
fetch-depth: 0
submodules: recursive
- uses: stackabletech/actions/run-pre-commit@e8781161bc1eb037198098334cec6061fe24b6c3 # v0.0.2
- uses: stackabletech/actions/run-pre-commit@5b66858af3597c4ea34f9b33664b8034a1d28427 # v0.3.0
with:
python-version: ${{ env.PYTHON_VERSION }}
rust: ${{ env.RUST_TOOLCHAIN_VERSION }}
Expand Down
2 changes: 1 addition & 1 deletion .readme/partials/borrowed/footer.md.j2
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

This operator is written and maintained by [Stackable](https://stackable.tech) and it is part of a larger data platform.

![Stackable Data Platform Overview](./.readme/static/borrowed/sdp_overview.png)
![Stackable Data Platform Overview](./.readme/static/borrowed/stackable_overview.png)

Stackable makes it easy to operate data applications in any Kubernetes cluster.

Expand Down
Binary file added .readme/static/borrowed/stackable_overview.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
27 changes: 25 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,29 @@

### Added

- The lifetime of auto generated TLS certificates is now configurable with the role and roleGroup
config property `requestedSecretLifetime`. This helps reducing frequent Pod restarts ([#598]).
- Run a `containerdebug` process in the background of each HBase container to collect debugging information ([#605]).

### Changed

- Support moving regions to other Pods during graceful shutdown of region servers ([#570]).

### Fixed

- BREAKING: Use distinct ServiceAccounts for the Stacklets, so that multiple Stacklets can be
deployed in one namespace. Existing Stacklets will use the newly created ServiceAccounts after
restart ([#594]).

[#570]: https://github.com/stackabletech/hbase-operator/pull/570
[#594]: https://github.com/stackabletech/hbase-operator/pull/594
[#598]: https://github.com/stackabletech/hbase-operator/pull/598
[#605]: https://github.com/stackabletech/hbase-operator/pull/605

## [24.11.0] - 2024-11-18

### Added

- The operator can now run on Kubernetes clusters using a non-default cluster domain.
Use the env var `KUBERNETES_CLUSTER_DOMAIN` or the operator Helm chart property `kubernetesClusterDomain` to set a non-default cluster domain ([#574]).

Expand All @@ -12,7 +35,7 @@
- Reduce CRD size from `1.4MB` to `96KB` by accepting arbitrary YAML input instead of the underlying schema for the following fields ([#548]):
- `podOverrides`
- `affinity`
- Support moving regions to other Pods during graceful shutdown of region servers ([#570]).
- Fix bug where the configuration of the `hbaseRootdir` at the role level is ignored ([#584]).

### Fixed

Expand All @@ -28,8 +51,8 @@
[#550]: https://github.com/stackabletech/hbase-operator/pull/550
[#556]: https://github.com/stackabletech/hbase-operator/pull/556
[#558]: https://github.com/stackabletech/hbase-operator/pull/558
[#570]: https://github.com/stackabletech/hbase-operator/pull/570
[#574]: https://github.com/stackabletech/hbase-operator/pull/574
[#584]: https://github.com/stackabletech/hbase-operator/pull/584

## [24.7.0] - 2024-07-24

Expand Down
Loading

0 comments on commit fa239e5

Please sign in to comment.