Commit graph

2034 commits

Author SHA1 Message Date
Andrei Kvapil
4f0e042eac
Merge remote-tracking branch 'upstream/main' into refactor-engine 2025-12-01 22:38:51 +01:00
Andrei Kvapil
13e0501acd
Add changelogs for v0.38.2
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
2025-12-01 22:15:24 +01: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
66ab048612
fix ci pipeline
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
2025-11-27 19:34:48 +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
IvanHunters
8283714930 * **Improvements**
* 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.

* **Chores**
  * Updated SeaweedFS Helm chart templates with configurable certificate duration and renewal settings.

Signed-off-by: IvanHunters <xorokhotnikov@gmail.com>
2025-11-26 15:34:49 +03:00
Andrei Kvapil
cc52c69922
rebuild images
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
2025-11-25 18:43:45 +01:00
Andrei Kvapil
4270d66376
Merge remote-tracking branch 'upstream/main' into refactor-engine 2025-11-25 18:35:43 +01:00
Andrei Kvapil
2ca68eda69
rebuild images
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
2025-11-25 18:26:35 +01:00
Andrei Kvapil
9db99f7233
upd cozyreport
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
2025-11-25 18:23:49 +01:00
Andrei Kvapil
a89dd819ff
Return cozystack.io/system-app=true label
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
2025-11-25 18:23:46 +01:00
Andrei Kvapil
657bddaeb9
Update e2e
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
2025-11-25 18:23:41 +01:00
Andrei Kvapil
51d0001589
move Makefiles to hack
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
2025-11-25 18:23:30 +01:00
Andrei Kvapil
e0ec967120
Rename resources
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
2025-11-25 17:43:33 +01:00
Andrei Kvapil
aa428457db
Release v0.38.0 (#1656)
This PR prepares the release `v0.38.0`.

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

## Summary by CodeRabbit

## Chores
* Updated image references and digests across multiple packages from
alpha prerelease versions to stable v0.38.0 releases, including updates
to kubevirt-csi-driver, cozystack-api, cozystack-controller, dashboard
components, kamaji, kubeovn modules, s3manager, and other system
packages.

<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-25 17:34:23 +01:00
Andrei Kvapil
b77791a5fe
return removed files
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
2025-11-25 17:17:03 +01:00
Andrei Kvapil
3d9cfee401
update migration
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
2025-11-25 17:03:56 +01:00
cozystack-bot
975011e04e Prepare release v0.38.0
Signed-off-by: cozystack-bot <217169706+cozystack-bot@users.noreply.github.com>
2025-11-25 15:59:42 +00:00
Nikita
0d88aa394a
scripts: fix 20 migration (#1653)
## What this PR does
Fixes wait conditions for 20 migration

### Release note
```release-note
Fixed wait condition for 20 migration
```
2025-11-25 18:34:03 +03:00
Andrei Kvapil
e046206d2b
refactor a bit
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
2025-11-25 16:24:08 +01:00
nbykov0
ec1a150d2c scripts: fix 20 migration
Signed-off-by: nbykov0 <166552198+nbykov0@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2025-11-25 17:37:16 +03:00
Andrei Kvapil
c69756de51
Update SA for tenants
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
2025-11-25 15:35:22 +01:00
Andrei Kvapil
15a9180b67
do not require apiServerEndpoint
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
2025-11-25 15:34:40 +01:00
Andrei Kvapil
451ef73172
refactor escaping
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
2025-11-25 15:01:06 +01:00
Nikita
cbc6cd2567
[extra] ingress: rm spaces from external ip list (#1652)
## What this PR does
Remove spaces while processing exposed-external-ips list in cozystack
configmap as they 1) are user-specified and 2) lead to an incorrect
resource being created from it.

### Release note
```release-note
Remove spaces while processing exposed-external-ips list in cozystack configmap
```
2025-11-25 16:48:26 +03:00
Andrei Kvapil
fb7e39eaab
[cozy-lib] Improve flatten function (#1647)
This patch breaks introduces a helper function in cozy-lib to correctly
handle special case resources when transforming a nested map of limits
and requests to a flat map suitable for use in resourceQuotas. As a
result, admins can now specify any types of resources as resource quotas
for tenants, and they will be correctly transformed to the correct
format for the underlying kubernetes ResourceQuota. In addition to the
previously supported compute resources, such as CPU, memory, and custom
resources, like GPUs, special quota strings such as
"services.loadbalancers" are now correctly handled.

```release-note
[cozy-lib,platform] Support resource quotas for special kubernetes
quotas, such as service.loadbalncer count and others.
```

<!-- 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
[]
```
2025-11-25 14:48:03 +01:00
Andrei Kvapil
9cc348733f
[ci,dx] Bump MariaDB operator version (#1646)
Update MariaDB operator to a new version.

```release-note
[ci,dx] Update MariaDB operator version
```

<!-- 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
[]
```

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

* **New Features**
* Support for external MariaDB instances and physical backups management
  * Validation webhook added for physical backups
  * New config option to specify MariaDB image registry/name

* **Updates**
  * MariaDB operator bumped to 25.10.2
  * Default MariaDB version updated from 11.4 to 11.8
* Expanded Kubernetes permissions for endpoint slices and volume
snapshots
  * Pod metadata label added to MariaDB pods

* **Documentation**
  * Updated docs links and version badges in charts README

<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-25 14:46:50 +01:00
Nikita
00e0f45de3
Increase strimzi memory limit (#1651)
## What this PR does
Increase strimzi memory limit

### Release note
```release-note
Increased strimzi memory limit
```
2025-11-25 16:46:07 +03:00
Andrei Kvapil
b5c264de7d
[cozy-lib] Fix malformed ResourceQuota rendering for LoadBalancer services (#1642)
This patch adds special handling for raw Kubernetes ResourceQuota
fields, such as `services.loadbalancers`, preventing them from being
wrapped as `limits.*` or `requests.*` keys by the flatten helper. This
ensures that LoadBalancer quotas render correctly in tenant
specifications.

```release-note
[cozy-lib] Correctly render services.loadbalancers in ResourceQuota without limits.* or requests.* prefixes.
```

<!-- 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.
-->

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

* **Refactor**
* Resource flattening now handles compute and quota keys separately:
compute values are sanitized/flattened, quota-like inputs are emitted
directly as plain YAML.

* **Documentation**
* Added in-template comments and clarified examples for resource
processing behavior.

* **New Features**
* CI now runs unit tests; new test targets and test harnesses added
along with a test chart and test cases for quota handling.

<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-25 14:45:50 +01:00
Andrei Kvapil
4ff60e4539
[linstor] Update Piraeus Operator to v2.10.1 to enable RWX support (#1650)
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

This PR updates Piraeus Operator to enable RWX support released in
https://github.com/piraeusdatastore/piraeus-operator/releases/tag/v2.10.0

### 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
[linstor] Update Piraeus Operator to v2.10.1 to enable RWX support
```

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

## Summary by CodeRabbit

* **New Features**
* Added NFS server component and affinity controller support for
enhanced storage configuration
* Expanded kubectl output with additional status columns for improved
cluster visibility
* Added support for pod labels, annotations, and security context
customization

* **Chores**
  * Updated Helm chart to version 2.10.1
* Updated multiple component versions including CSI provisioner,
snapshotter, DRBD reactor, and other dependencies

* **Documentation**
* Updated README to reference external Helm-based deployment guidelines

<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-25 14:44:39 +01:00
Andrei Kvapil
294458e7c4
[ci,dx] Add unit tests for cozy-lib (#1643)
## What this PR does

The cozy-lib library package got complicated enough to warrant its own
unit tests. Since unit tests are a "good thing" (tm), a somewhat generic
framework for running all kinds of unit tests was introduced into the CI
pipeline and Makefile targets. For now all it runs is `make test`
against the `packages/{library,apps,system,extra}/*` directories,
wherever a `test` target is present in the Makefile, and for now this is
only for the `cozy-lib` Helm library chart.

### Release note

```release-note
[ci,dx] Introduce a scaffold for running unit tests locally and in CI
and add the first unit tests for the cozy-lib helper Helm chart.
```


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

## Summary by CodeRabbit

* **Tests**
* Integrated Helm chart unit tests into the CI/CD pipeline for automated
validation.
* Established test infrastructure for cozy-lib package with test cases
for quota configuration and resource validation.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-11-25 14:43:55 +01:00