Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
d50018e
Renovate: Update kube-prometheus-stack Docker tag to v87 (#965)
renovate[bot] Jun 23, 2026
693ca00
docs(reservations): document InFlightReservation, domain hints, and C…
cortex-ai-agents[bot] Jun 23, 2026
e3bd41d
Renovate: Update actions/checkout action to v7 (#961)
renovate[bot] Jun 23, 2026
7a5c1fb
build(deps): bump github.com/opencontainers/runc from 1.3.3 to 1.3.6 …
dependabot[bot] Jun 23, 2026
d171e41
Renovate: Update github.com/sapcc (#960)
renovate[bot] Jun 23, 2026
9120ac6
docs(reservations): fix stale file paths, grace period behavior, and …
cortex-ai-agents[bot] Jun 23, 2026
07891d8
Renovate: Update External dependencies (#977)
renovate[bot] Jun 24, 2026
5932359
Renovate: Update github.com/sapcc (#976)
renovate[bot] Jun 24, 2026
26d1de2
Renovate: Update postgres Dockerfile base image (#978)
renovate[bot] Jun 24, 2026
af70744
Renovate: Update postgres Dockerfile base image (#979)
renovate[bot] Jun 25, 2026
26d62f1
chore: update hypervisor crd for local development (#980)
SoWieMarkus Jun 25, 2026
ded98bd
Renovate: Update github.com/sapcc/go-bits digest to 3999ce9 (#984)
renovate[bot] Jun 29, 2026
31a1834
Renovate: Update External dependencies (#982)
renovate[bot] Jun 29, 2026
124ec22
feat: VM usage and fair capacity split for overlapping flavor groups …
mblos Jun 29, 2026
92e09ce
bump app version [skip ci] (#975)
github-actions[bot] Jun 29, 2026
ca72ab4
feat: allows KVM-enabled deployments to opt out of critical-severity …
mblos Jun 29, 2026
685aaa5
chore: bump cortex chart to v0.0.77 (#993)
mblos Jun 29, 2026
6f7cd1e
chore: bump cortex-placement-shim to 0.1.3 (#994)
mblos Jun 29, 2026
cda83f5
fix: add release-bump-planner agent and fix incomplete helm version b…
mblos Jun 29, 2026
981beb4
docs: add changelog for release v0.2.0 (#992)
cortex-ai-agents[bot] Jun 29, 2026
fe28493
chore: bump cortex chart to v0.2.0 for release PR #990 (#991)
cortex-ai-agents[bot] Jun 29, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
109 changes: 109 additions & 0 deletions .claude/agents/release-bump-planner.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
---
name: release-bump-planner
description: Read-only agent that reads current helm chart versions and the release digest, then produces a structured bump plan. Used by the /release orchestrator as Phase 3. Does not edit files or open PRs.
tools: Bash, Read
model: inherit
---

# Release Bump Planner

You produce a structured version bump plan for a given release. You are read-only — you do NOT edit files, create branches, or open pull requests. Your only output is the bump plan text.

---

## Input

The caller provides:
1. The release PR number
2. The full release digest (containing `### Changed Charts` and `### Breaking Changes` sections)

---

## Step 1: Read current versions

```bash
grep "^version:" helm/library/cortex/Chart.yaml
grep "^version:" helm/library/cortex-postgres/Chart.yaml
grep "^version:" helm/library/cortex-shim/Chart.yaml
grep "^version:" helm/bundles/cortex-nova/Chart.yaml
grep "^version:" helm/bundles/cortex-cinder/Chart.yaml
grep "^version:" helm/bundles/cortex-manila/Chart.yaml
grep "^version:" helm/bundles/cortex-crds/Chart.yaml
grep "^version:" helm/bundles/cortex-ironcore/Chart.yaml
grep "^version:" helm/bundles/cortex-pods/Chart.yaml
grep "^version:" helm/bundles/cortex-placement-shim/Chart.yaml
```

Also read the dependency versions inside each bundle:
```bash
grep -A2 "name: cortex$\|name: cortex-postgres$\|name: cortex-shim$" helm/bundles/*/Chart.yaml | grep "version:"
```

---

## Step 2: Determine library bump types

For each library chart, determine whether it needs a bump and what kind:

**cortex** (core library):
- If listed in `### Changed Charts` in the digest AND `### Breaking Changes` is non-empty: **minor bump** (e.g. `0.1.2 → 0.2.0`)
- If listed in `### Changed Charts` with no breaking changes: **patch bump** (e.g. `0.1.2 → 0.1.3`)
- If NOT listed in `### Changed Charts`: **patch bump** anyway — its `appVersion` SHA always changes on every image build, which makes `ct lint` require a version increment vs the `release` branch.

**cortex-postgres** and **cortex-shim**:
- Always **patch bump**, regardless of digest content. Their `appVersion` SHA is updated by CI on every image push, which always produces a diff vs the `release` branch and triggers `ct lint`'s version increment requirement.

**Rule for minor bump**: increment the middle segment, reset patch to 0 (e.g. `0.1.14 → 0.2.0`).
**Rule for patch bump**: increment the last segment (e.g. `0.1.2 → 0.1.3`).

---

## Step 3: Determine bundle bumps

All bundles except `cortex-placement-shim` get a **patch bump** to their top-level `version:` — use `$NEW_BUNDLES` for these.

`cortex-placement-shim` has its own independent version counter, but it depends on `cortex-shim`. Because `cortex-shim` is always patch-bumped (Step 2), the `cortex-shim` dependency pin inside `cortex-placement-shim/Chart.yaml` will change, which creates a diff vs `release` and triggers `ct lint`. Therefore `cortex-placement-shim` must also get its own **patch bump** (independent of `$NEW_BUNDLES`).

---

## Step 4: Output the plan

Output exactly this format. No preamble, no closing remarks. Replace all `<old>` / `<new>` placeholders with actual version strings. Only include dependency entries that actually exist in that bundle's Chart.yaml; omit alias lines for bundles that don't use them.

```
### Library bumps
- cortex: <old> → <new>
- cortex-postgres: <old> → <new>
- cortex-shim: <old> → <new>

### Bundle dependency updates
- cortex-nova: cortex (alias: cortex-knowledge-controllers) <old> → <new>
- cortex-nova: cortex (alias: cortex-scheduling-controllers) <old> → <new>
- cortex-nova: cortex-postgres <old> → <new>
- cortex-cinder: cortex (alias: cortex-knowledge-controllers) <old> → <new>
- cortex-cinder: cortex (alias: cortex-scheduling-controllers) <old> → <new>
- cortex-cinder: cortex-postgres <old> → <new>
- cortex-manila: cortex (alias: cortex-knowledge-controllers) <old> → <new>
- cortex-manila: cortex (alias: cortex-scheduling-controllers) <old> → <new>
- cortex-manila: cortex-postgres <old> → <new>
- cortex-crds: cortex <old> → <new>
- cortex-ironcore: cortex <old> → <new>
- cortex-pods: cortex <old> → <new>
- cortex-placement-shim: cortex-shim <old> → <new>

### Bundle self-bumps
- cortex-nova: <old> → <new>
- cortex-cinder: <old> → <new>
- cortex-manila: <old> → <new>
- cortex-crds: <old> → <new>
- cortex-ironcore: <old> → <new>
- cortex-pods: <old> → <new>
- cortex-placement-shim: <old> → <new>

### Bumped Versions Summary
cortex <old>→<new>, cortex-postgres <old>→<new>, cortex-shim <old>→<new>, bundles <old>→<new>, cortex-placement-shim <old>→<new>
```

Notes:
- The `### Bumped Versions Summary` is a single line — the orchestrator forwards it verbatim to the changelog writer.
- The six standard bundles (`cortex-nova`, `cortex-cinder`, `cortex-manila`, `cortex-crds`, `cortex-ironcore`, `cortex-pods`) share the same new version in their self-bumps. `cortex-placement-shim` has its own independent counter and will be a different value.
2 changes: 1 addition & 1 deletion .github/workflows/check-alerts.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
# needed); promtool is installed by the peimanja action below.
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7

- name: Get changed bundles
id: changed_bundles
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/claude-assistant.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
outputs:
allowed: ${{ steps.check.outputs.allowed }}
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
with:
fetch-depth: 1
- name: Check sender against allowlist
Expand All @@ -39,7 +39,7 @@ jobs:
id-token: write
steps:
- name: Checkout code
uses: actions/checkout@v6
uses: actions/checkout@v7
- name: Set up Go
uses: actions/setup-go@v6
with:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/claude-weekly.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
id-token: write
steps:
- name: Checkout code
uses: actions/checkout@v6
uses: actions/checkout@v7
- name: Set up Go
uses: actions/setup-go@v6
with:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/codeql.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ jobs:
runs-on: large_runner_16core_64gb
steps:
- name: Check out code
uses: actions/checkout@v6
uses: actions/checkout@v7
- name: Set up Go
uses: actions/setup-go@v6
with:
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/helm-lint.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,14 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout PR
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
fetch-depth: 0

- name: Set up Helm
uses: azure/setup-helm@v5.0.0
uses: azure/setup-helm@v5.0.1

- uses: actions/setup-python@v6.2.0
- uses: actions/setup-python@v6.3.0
with:
python-version: "3.13"
check-latest: true
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/lint.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v6
uses: actions/checkout@v7
- name: Set up Go
uses: actions/setup-go@v6
with:
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/push-charts.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@ jobs:
packages: write
runs-on: [ ubuntu-latest ]
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
- name: Set up Helm
uses: azure/setup-helm@v5.0.0
uses: azure/setup-helm@v5.0.1
- name: Log into registry
uses: docker/login-action@v4
with:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/push-images.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
id-token: write
runs-on: large_runner_16core_64gb
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
- name: Set up QEMU
uses: docker/setup-qemu-action@v4
- name: Set up Docker Buildx
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/rebuild-postgres.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
outputs:
rebuild_fixes_cves: ${{ steps.compare.outputs.rebuild_fixes_cves }}
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
with:
persist-credentials: false

Expand Down Expand Up @@ -77,7 +77,7 @@ jobs:
contents: write
pull-requests: write
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
with:
ref: main
persist-credentials: false
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/reuse.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
- name: REUSE Compliance Check
uses: fsfe/reuse-action@v6

2 changes: 1 addition & 1 deletion .github/workflows/test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
- 2375:2375
steps:
- name: Checkout code
uses: actions/checkout@v6
uses: actions/checkout@v7
- name: Set up Go
uses: actions/setup-go@v6
with:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/update-appversion.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
ref: ${{ github.ref }}
persist-credentials: false
Expand Down
51 changes: 51 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,56 @@
# Changelog

## 2026-06-29 — [#990](https://github.com/cobaltcore-dev/cortex/pull/990)

### cortex v0.2.0 (sha-124ec226)

Breaking changes:
- FlavorGroupCapacity CRD status: removed `TotalInstances` field and replaced with `RunningInstances`, `RunningResources`, `FreeCapacity`, `ExclusivelyFreeCapacity`, `ExclusivelyFreeSlots`, `CommittedCapacityBytes`, and `SmallestFlavorName` ([#983](https://github.com/cobaltcore-dev/cortex/pull/983))
- Committed resource capacity metric renamed from `cortex_committed_resource_reported_capacity_gib` to `cortex_committed_resource_reported_capacity` with added `unit_size` label ([#983](https://github.com/cobaltcore-dev/cortex/pull/983))

Non-breaking changes:
- VM usage and fair capacity split for overlapping flavor groups — capacity is now split fairly across flavor groups sharing the same hypervisors via a deterministic round-robin algorithm ([#983](https://github.com/cobaltcore-dev/cortex/pull/983))
- Allow KVM-enabled deployments to opt out of critical-severity alerting via `kvm.criticalAlerts` value ([#988](https://github.com/cobaltcore-dev/cortex/pull/988))
- Update External dependencies ([#977](https://github.com/cobaltcore-dev/cortex/pull/977), [#982](https://github.com/cobaltcore-dev/cortex/pull/982))
- Update `github.com/sapcc` ([#960](https://github.com/cobaltcore-dev/cortex/pull/960), [#976](https://github.com/cobaltcore-dev/cortex/pull/976))
- Update `github.com/sapcc/go-bits` ([#984](https://github.com/cobaltcore-dev/cortex/pull/984))
- Bump `github.com/opencontainers/runc` from 1.3.3 to 1.3.6 ([#973](https://github.com/cobaltcore-dev/cortex/pull/973))
- Update kube-prometheus-stack Docker tag to v87 ([#965](https://github.com/cobaltcore-dev/cortex/pull/965))
- Update postgres Dockerfile base image ([#978](https://github.com/cobaltcore-dev/cortex/pull/978), [#979](https://github.com/cobaltcore-dev/cortex/pull/979))
- Update actions/checkout action to v7 ([#961](https://github.com/cobaltcore-dev/cortex/pull/961))

### cortex-nova v0.0.77

Includes updated chart cortex v0.2.0.

- Add `kvm.criticalAlerts` config key to opt out of critical-severity alerting for KVM regions ([#988](https://github.com/cobaltcore-dev/cortex/pull/988))

### cortex-crds v0.0.77

Includes updated chart cortex v0.2.0.

### cortex-cinder v0.0.77

Includes updated chart cortex v0.2.0.

### cortex-pods v0.0.77

Includes updated chart cortex v0.2.0.

### cortex-ironcore v0.0.77

Includes updated chart cortex v0.2.0.

### cortex-manila v0.0.77

Includes updated chart cortex v0.2.0.

### General

- Update hypervisor CRD for local development ([#980](https://github.com/cobaltcore-dev/cortex/pull/980))
- Document InFlightReservation, domain hints, and CRS metrics ([#963](https://github.com/cobaltcore-dev/cortex/pull/963))
- Fix stale file paths, grace period behavior, and dead cross-reference in docs ([#962](https://github.com/cobaltcore-dev/cortex/pull/962))

## 2026-06-23 — [#966](https://github.com/cobaltcore-dev/cortex/pull/966)

### cortex v0.1.2 (sha-6daa5050)
Expand Down
2 changes: 1 addition & 1 deletion Tiltfile
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ local('kubectl wait --namespace cert-manager --for=condition=available deploymen

########### Dependency CRDs
# Make sure the local cluster is running if you are running into startup issues here.
url = 'https://raw.githubusercontent.com/cobaltcore-dev/openstack-hypervisor-operator/d35f2bc2c5d4fd634b17e7a8dd77ff3025758fbb/charts/openstack-hypervisor-operator/crds/kvm.cloud.sap_hypervisors.yaml'
url = 'https://raw.githubusercontent.com/cobaltcore-dev/openstack-hypervisor-operator/c57c5be250635c639c858395c0501aa8c422f4ea/charts/openstack-hypervisor-operator/crds/kvm.cloud.sap_hypervisors.yaml'
local('curl -L ' + url + ' | kubectl apply -f -')

########### Cortex Manager & CRDs
Expand Down
Loading
Loading