Commit graph

2014 commits

Author SHA1 Message Date
Andrei Kvapil
4dfb3086a1
Release v0.38.6 (#1799)
This PR prepares the release `v0.38.6`.
2026-01-04 09:25:03 +01:00
cozystack-bot
3dbd069e18 Prepare release v0.38.6
Signed-off-by: cozystack-bot <217169706+cozystack-bot@users.noreply.github.com>
2026-01-04 01:35:38 +00:00
Andrei Kvapil
4e3c5f4759
[Backport release-0.38] [kubernetes] Add lb tests for tenant k8s (#1792)
# Description
Backport of #1783 to `release-0.38`.
2026-01-03 08:31:17 +01:00
Andrei Kvapil
a435db3bb2 fix(e2e): correct Service selector to match Deployment labels
The Service selector was using app: "${test_name}-backend" but the
Deployment pod template has app: backend. Fixed selector to match
the actual pod labels so endpoints are created correctly.

Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
(cherry picked from commit 3a5977ff60)
2026-01-03 07:30:45 +00:00
Andrei Kvapil
e6d8dc2446 fix(e2e): run LB check curl from testing environment
Run curl directly from the testing container instead of creating
a separate pod with kubectl run. This avoids PodSecurity policy
violations and simplifies the test execution.

Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
(cherry picked from commit dd0bbd375f)
2026-01-03 07:30:45 +00:00
IvanHunters
2857a6e725 add lb tests for tenant k8s
Signed-off-by: IvanHunters <xorokhotnikov@gmail.com>
(cherry picked from commit 5638a7eae9)
2026-01-03 07:30:44 +00:00
Andrei Kvapil
e04e21ebab
Release v0.38.5 (#1790)
This PR prepares the release `v0.38.5`.
2026-01-03 08:21:33 +01:00
cozystack-bot
106f4b8edc Prepare release v0.38.5
Signed-off-by: cozystack-bot <217169706+cozystack-bot@users.noreply.github.com>
2026-01-03 01:38:44 +00:00
Nikita
26da347de8
[Backport release-0.38] [cilium] Enable automatic pod rollout on configmap updates (#1745)
# Description
Backport of #1728 to `release-0.38`.
2025-12-23 15:41:56 +03:00
Nikita
dd2798dbda
[Backport release-0.38] [virtual-machine,vm-instance] Add nodeAffinity for Windows VMs based on scheduling config (#1744)
# Description
Backport of #1693 to `release-0.38`.
2025-12-23 15:41:33 +03:00
Andrei Kvapil
fb5b4da2b2 [cilium] Enable automatic pod rollout on configmap updates
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
(cherry picked from commit 97e8d2aa49)
2025-12-23 12:41:25 +00:00
Andrei Kvapil
540e1c6e0d [virtual-machine,vm-instance] Add nodeAffinity for Windows VMs based on scheduling config
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
(cherry picked from commit 3975da93c6)
2025-12-23 12:39:33 +00:00
Nikita
1dd8e00e17
[Backport release-0.38] Update SeaweedFS v4.02 (#1732)
# Description
Backport of #1725 to `release-0.38`.
2025-12-18 13:40:31 +03:00
Andrei Kvapil
79165ca2f9 Update SeaweedFS v4.02
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
(cherry picked from commit 1805be3c48)
2025-12-18 10:39:52 +00:00
Andrei Kvapil
a8bd179f0d
[Backport release-0.38] [apps] Refactor apiserver to use typed objects and fix UnstructuredList GVK (#1709)
# Description
Backport of #1679 to `release-0.38`.
2025-12-10 19:28:16 +01:00
Andrei Kvapil
1491535b35 [apps] Refactor apiserver to use typed objects and fix UnstructuredList GVK
This commit refactors the apiserver REST handlers to use typed objects
(appsv1alpha1.Application) instead of unstructured.Unstructured, eliminating
the need for runtime conversions and simplifying the codebase.

Additionally, it fixes an issue where UnstructuredList objects were using
the first registered kind from typeToGVK instead of the kind from the
object's field when multiple kinds are registered with the same Go type.

This is a more comprehensive fix for the problem addressed in
https://github.com/cozystack/cozystack/pull/1630, which was reverted in
https://github.com/cozystack/cozystack/pull/1677.

The fix includes the upstream fix from kubernetes/kubernetes#135537,
which enables short-circuit path for UnstructuredList similar to regular
Unstructured objects, using GVK from the object field instead of
typeToGVK.

Changes:
- Refactored rest.go handlers to use typed Application objects
- Removed unstructured.Unstructured conversions
- Fixed UnstructuredList GVK handling
- Updated dependencies in go.mod/go.sum
- Added e2e test for OpenAPI validation
- Updated Dockerfile

Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
(cherry picked from commit ca29fc855a)
2025-12-10 12:22:57 +00:00
Andrei Kvapil
290c6be04b
Release v0.38.4 (#1704)
This PR prepares the release `v0.38.4`.
2025-12-09 19:54:27 +01:00
cozystack-bot
03328dc4e4 Prepare release v0.38.4
Signed-off-by: cozystack-bot <217169706+cozystack-bot@users.noreply.github.com>
2025-12-09 16:23:14 +00:00
Andrei Kvapil
9311a9e547
[Backport release-0.38] [virtual-machine] Improve check for resizing job (#1701)
# Description
Backport of #1688 to `release-0.38`.
2025-12-09 17:10:14 +01:00
Andrei Kvapil
548b2c0ed3 [virtual-machine] Improve check for resizing job
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
(cherry picked from commit 0bab895026)
2025-12-09 16:08:54 +00:00
Andrei Kvapil
202ff3433e
[Backport release-0.38] [dashboard] Fix CustomFormsOverride schema to nest properties under spec.properties (#1700)
# Description
Backport of #1692 to `release-0.38`.
2025-12-09 17:05:22 +01:00
Andrei Kvapil
891195018f [dashboard] Fix CustomFormsOverride schema to nest properties under spec.properties
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
(cherry picked from commit 578a810413)
2025-12-09 16:04:57 +00:00
Andrei Kvapil
d53861837f
[Backport release-0.38] [linstor] Update piraeus-operator v2.10.2 (#1697)
# Description
Backport of #1689 to `release-0.38`.
2025-12-09 14:58:13 +01:00
Andrei Kvapil
f1a75ab864 [linstor] Update piraeus-operator v2.10.2
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
(cherry picked from commit 58dd1f5881)
2025-12-09 13:43:46 +00:00
Nikita
2110534e63
Release v0.38.3 (#1686)
This PR prepares the release `v0.38.3`.
2025-12-04 20:07:33 +03:00
cozystack-bot
2e22a6579e Prepare release v0.38.3
Signed-off-by: cozystack-bot <217169706+cozystack-bot@users.noreply.github.com>
2025-12-04 16:19:17 +00:00
Nikita
35907dd474 [core:installer] Address buildx warnings (#1682)
## What this PR does
Buildx is worried about Dockerfile syntax, this pr fixes it.
```
 - FromAsCasing: 'as' and 'FROM' keywords' casing do not match (line 1)
 - FromAsCasing: 'as' and 'FROM' keywords' casing do not match (line 16)
```

### Release note
```release-note
Buildx warnings addressed.
```
2025-12-03 19:42:24 +03:00
Nikita
af56c105c2 [system:coredns] update coredns app labels to match Talos coredns labels (#1675)
## What this PR does
Updates coredns app labels to match Talos coredns labels

### Release note

```release-note
Coredns app labels updated to match Talos coredns labels.
```
2025-12-03 19:42:14 +03:00
Nikita
30e5b71e3f [system:monitoring-agents] rename coredns metrics service (#1676)
## What this PR does
Renames coredns metrics service

### Release note
```release-note
Renamed coredns metrics service not to interfere with coredns service used for name resolution in tenant k8s clusters.
```
2025-12-03 19:41:59 +03:00
Andrei Kvapil
c7f478fc7d
Release v0.38.2 (#1678)
This PR prepares the release `v0.38.2`.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Chores**
* Updated container image versions from v0.38.1 to v0.38.2 across system
packages with corresponding digest updates. All image references have
been bumped to the latest version with new SHA256 hashes.

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-12-01 20:49:26 +01:00
cozystack-bot
d53506ae2a Prepare release v0.38.2
Signed-off-by: cozystack-bot <217169706+cozystack-bot@users.noreply.github.com>
2025-12-01 19:14:15 +00:00
Andrei Kvapil
8bc62d4c71
Revert [api] Fix representation of dynamic list kinds (fixes namespace deletion regression from #1630) (#1677)
## Problem

This PR reverts the changes introduced in #1630 that caused a regression
affecting namespace deletion and upgrades from previous versions,
particularly when running migration 20.

### Symptoms

Users are experiencing issues with namespace deletion and upgrades. The
namespace controller reports:

```
NamespaceDeletionContentFailure: True
ContentDeletionFailed: Failed to delete all resource types, 25 remaining: 
content is not a list: []unstructured.Unstructured
```

The error indicates that Kubernetes API server expects a proper list
type, but receives `[]unstructured.Unstructured` instead, which breaks
namespace finalization.

### Root Cause

The changes in #1630 modified how dynamic list kinds are represented,
switching from `unstructured.UnstructuredList` to typed
`ApplicationList`. While this was intended to fix kind representation
issues, it introduced a compatibility problem:

1. The namespace deletion controller expects resources to implement the
standard Kubernetes list interface
2. The typed lists may not be properly recognized during namespace
finalization
3. This breaks upgrades from previous versions where resources were
stored as unstructured

### Solution

This PR reverts the problematic changes to restore compatibility with
namespace deletion and upgrade scenarios. We are planning a more
comprehensive fix that will address both the original kind
representation issue and namespace deletion compatibility.

### Related Issues

- Fixes namespace deletion failures
- Fixes upgrade issues from previous versions (migration 20)
- Reverts regression introduced in #1630

### Next Steps

A more comprehensive fix is being prepared that will:
- Properly handle kind representation for dynamic types
- Ensure compatibility with namespace deletion controller
- Support upgrades from previous versions
2025-12-01 20:08:13 +01:00
Andrei Kvapil
0b27f634c0
Revert [api] Fix representation of dynamic list kinds
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
2025-12-01 20:07:06 +01:00
Andrei Kvapil
9d1fb4ccf2
Add changelogs for v0.37.9 and v0.38.1
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
2025-11-27 16:04:27 +01:00
Andrei Kvapil
27efd3ad5e
Release v0.38.1 (#1668)
This PR prepares the release `v0.38.1`.
2025-11-27 15:53:53 +01:00
Andrei Kvapil
7b20e3f4cc
[seaweedfs] Extended CA certificate duration to reduce disruptive CA rotations. (#1657)
**Chores**
* Updated SeaweedFS Helm chart templates with configurable certificate
duration and renewal settings.

<!-- Thank you for making a contribution! Here are some tips for you:
- Start the PR title with the [label] of Cozystack component:
- For system components: [platform], [system], [linstor], [cilium],
[kube-ovn], [dashboard], [cluster-api], etc.
- For managed apps: [apps], [tenant], [kubernetes], [postgres],
[virtual-machine] etc.
- For development and maintenance: [tests], [ci], [docs], [maintenance].
- If it's a work in progress, consider creating this PR as a draft.
- Don't hesistate to ask for opinion and review in the community chats,
even if it's still a draft.
- Add the label `backport` if it's a bugfix that needs to be backported
to a previous version.
-->

## What this PR does


### Release note

<!--  Write a release note:
- Explain what has changed internally and for users.
- Start with the same [label] as in the PR title
- Follow the guidelines at
https://github.com/kubernetes/community/blob/master/contributors/guide/release-notes.md.
-->

```release-note
 - Extended CA certificate duration to reduce disruptive CA rotations.
 - Added mechanism to sync SeaweedFS client certificates across clusters.
 - Enhanced certificate management to ensure Hikube provisioner always receives up-to-date client certificates.
```

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Chores**
* Enhanced CA certificate configuration for SeaweedFS by extending the
validity duration and adjusting the renewal window to improve long-term
certificate management and system stability.

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-11-27 14:34:31 +01:00
IvanHunters
5d354a07d6
add patch for long term ca
Signed-off-by: IvanHunters <xorokhotnikov@gmail.com>
2025-11-27 14:34:14 +01:00
Andrei Kvapil
aa8062c41c
[tenant][kubernetes] Introduce better cleanup logic (#1661)
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>

<!-- Thank you for making a contribution! Here are some tips for you:
- Start the PR title with the [label] of Cozystack component:
- For system components: [platform], [system], [linstor], [cilium],
[kube-ovn], [dashboard], [cluster-api], etc.
- For managed apps: [apps], [tenant], [kubernetes], [postgres],
[virtual-machine] etc.
- For development and maintenance: [tests], [ci], [docs], [maintenance].
- If it's a work in progress, consider creating this PR as a draft.
- Don't hesistate to ask for opinion and review in the community chats,
even if it's still a draft.
- Add the label `backport` if it's a bugfix that needs to be backported
to a previous version.
-->

## What this PR does


### Release note

<!--  Write a release note:
- Explain what has changed internally and for users.
- Start with the same [label] as in the PR title
- Follow the guidelines at
https://github.com/kubernetes/community/blob/master/contributors/guide/release-notes.md.
-->

```release-note
[tenant][kubernetes] Introduce better cleanup logic
```

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Added an automated pre-delete cleanup job for tenant namespaces to
remove tenant-related releases during uninstall.

* **Improvements**
* Cleanup now runs early in the uninstall sequence with a clearer,
stepwise orchestration for resource removal.
* Expanded permissions and execution allowances to enable the cleanup
workflow.
* Deployment annotations now use a content checksum to better detect
config changes.

* **Removals**
* Previous teardown sequence for certain release types was removed and
replaced by the new workflow.

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-11-27 14:32:54 +01:00
Andrei Kvapil
9ceb59e74c
[dashboard] Fix loading arrays in forms when editing existing objects
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
2025-11-27 14:31:05 +01:00
Andrei Kvapil
0df528a89d
[dashboard] Add config hash annotations to restart pods on config changes (#1662)
## What this PR does

This PR adds config hash annotations to the dashboard deployment
templates to ensure pods are automatically restarted when their
configuration changes.

Changes:
- Added `checksum/config` annotation to `nginx.yaml` deployment that
computes a hash of `nginx-config.yaml`
- Added `checksum/config` annotation to `web.yaml` deployment that
computes a hash of `configmap.yaml`

This replaces the hardcoded checksum in nginx.yaml with a dynamically
computed one, and adds a new checksum for the web deployment.

### Release note

```release-note
[dashboard] Add config hash annotations to automatically restart pods when configuration changes
```
2025-11-27 12:21:29 +01:00
Andrei Kvapil
d70197c825
Add changelogs for v0.37.* and v0.38.0 (#1658)
<!-- Thank you for making a contribution! Here are some tips for you:
- Start the PR title with the [label] of Cozystack component:
- For system components: [platform], [system], [linstor], [cilium],
[kube-ovn], [dashboard], [cluster-api], etc.
- For managed apps: [apps], [tenant], [kubernetes], [postgres],
[virtual-machine] etc.
- For development and maintenance: [tests], [ci], [docs], [maintenance].
- If it's a work in progress, consider creating this PR as a draft.
- Don't hesistate to ask for opinion and review in the community chats,
even if it's still a draft.
- Add the label `backport` if it's a bugfix that needs to be backported
to a previous version.
-->

## What this PR does


### Release note

<!--  Write a release note:
- Explain what has changed internally and for users.
- Start with the same [label] as in the PR title
- Follow the guidelines at
https://github.com/kubernetes/community/blob/master/contributors/guide/release-notes.md.
-->

```release-note
Add changelogs for v0.37.* and v0.38.0
```

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* VPC with Multus CNI, dashboard VNC, configurable worker versions,
dedicated lineage webhook daemonset, tenant workload listing

* **Bug Fixes**
* RBAC and namespace listing fixes (including non‑OIDC/system:masters),
dashboard logout, migration/readiness checks, load balancer cleanup,
various chart/config fixes

* **Security**
* Redis image update, stricter ingress HTTPS enforcement, flux operator
hardening

* **Documentation**
* Kubernetes troubleshooting, backup/recovery, migration guidance,
website and mobile updates

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-11-26 20:19:33 +01:00
Andrei Kvapil
f2f8da0be1
Add AI-agent for changelogs generation (#1659)
<!-- Thank you for making a contribution! Here are some tips for you:
- Start the PR title with the [label] of Cozystack component:
- For system components: [platform], [system], [linstor], [cilium],
[kube-ovn], [dashboard], [cluster-api], etc.
- For managed apps: [apps], [tenant], [kubernetes], [postgres],
[virtual-machine] etc.
- For development and maintenance: [tests], [ci], [docs], [maintenance].
- If it's a work in progress, consider creating this PR as a draft.
- Don't hesistate to ask for opinion and review in the community chats,
even if it's still a draft.
- Add the label `backport` if it's a bugfix that needs to be backported
to a previous version.
-->

## What this PR does


### Release note

<!--  Write a release note:
- Explain what has changed internally and for users.
- Start with the same [label] as in the PR title
- Follow the guidelines at
https://github.com/kubernetes/community/blob/master/contributors/guide/release-notes.md.
-->

```release-note
Add AI-agent for changelogs generation
```

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Documentation**
  * Updated agent documentation to include changelog generation guidance
* Added comprehensive changelog generation guide with workflow
procedures and validation steps

* **Chores**
* New scripts added for optional repository management and release notes
publishing
  * Project configuration updated to exclude additional directories
  * Removed outdated changelog entry

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-11-26 20:19:00 +01:00
Andrei Kvapil
094ee6da55
Add AI-agent for changelogs generation
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
2025-11-26 20:18:43 +01:00
Andrei Kvapil
f256575fce
[docs] Add instructions for addressing AI bot reviewer comments (#1664)
## What this PR does

This PR adds instructions for AI agents on how to handle comments from
AI bot reviewers (like Qodo, Copilot, etc.).

Changes:
- Added new section "Addressing AI Bot Reviewer Comments" to
`docs/agents/contributing.md`
- Instructions on how to get PR comments using `gh pr view --comments`
- Guidelines on evaluating each comment carefully (don't blindly apply
all suggestions)
- Clear criteria for when to apply and when to skip AI bot suggestions
- Emphasis on leaving changes uncommitted for user review

Key principles:
- Evaluate each suggestion based on context, project conventions, and
impact
- Apply legitimate fixes but skip over-engineering or style mismatches
- Leave changes uncommitted so the user can review and decide

### Release note

```release-note
[docs] Add instructions for AI agents on handling AI bot reviewer comments
```



<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Documentation**
* Added guidance for addressing AI bot reviewer comments in the
contributor guide.
  * Introduced comprehensive changelog generation procedures.

* **Chores**
  * Finalized v0.37.0 release.
* Enhanced release automation infrastructure with new tooling scripts
for repository checks and release note uploads.
  * Updated project documentation index.

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-11-26 20:15:00 +01:00
Andrei Kvapil
d1ad38dd01
[docs] Add instructions for addressing AI bot reviewer comments
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
2025-11-26 20:12:24 +01:00
Andrei Kvapil
bc1fed4079
[docs] Add AI agent documentation structure (#1663)
## What this PR does

This PR adds AI agent documentation structure to help AI coding
assistants work more effectively with the Cozystack codebase.

Changes:
- Added `AGENTS.md` in the root with an overview and agent documentation
table
- Created `docs/agents/` directory with specialized agent instructions:
  - `overview.md` - Project structure and conventions
  - `contributing.md` - Git workflow, commits, and pull requests
  - `releasing.md` - Release process (references `docs/release.md`)
- Organized documentation to make it easy for AI agents to find relevant
instructions

### Release note

```release-note
[docs] Add AI agent documentation structure with instructions for contributing, releasing, and project overview
```
2025-11-26 19:55:33 +01:00
Andrei Kvapil
0b29ffefe0
[docs] Add AI agent documentation structure
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
2025-11-26 19:54:24 +01:00
Andrei Kvapil
c72a9333e9
[dashboard] Add config hash annotations to restart pods on config changes
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
2025-11-26 19:22:01 +01:00
Andrei Kvapil
d46cccda71
Introduce better cleanup logic
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
2025-11-26 19:01:03 +01:00
Andrei Kvapil
b5b12d0684
Add changelogs for v0.37.* and v0.38.0
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
2025-11-26 17:08:42 +01:00