Skip to content

Capture all resources by WorkloadMonitors - #1024

Merged
Timofei Larkin (lllamnyp) merged 1 commit into
mainfrom
812-workloadmonitor-selectors
Jun 3, 2025
Merged

Capture all resources by WorkloadMonitors#1024
Timofei Larkin (lllamnyp) merged 1 commit into
mainfrom
812-workloadmonitor-selectors

Conversation

@lllamnyp

@lllamnyp Timofei Larkin (lllamnyp) commented Jun 3, 2025

Copy link
Copy Markdown
Member

Summary by CodeRabbit

  • New Features

    • Introduced WorkloadMonitor resources for tcp-balancer, vm-disk, and VPN applications, enabling enhanced workload monitoring capabilities.
  • Bug Fixes

    • Standardized Kubernetes resource labels across multiple applications for improved consistency and compatibility.
  • Chores

    • Updated chart versions for several applications, including ClickHouse, FerretDB, http-cache, MySQL, Postgres, Redis, tcp-balancer, virtual-machine, vm-disk, vm-instance, and VPN.
    • Updated Docker image reference for the installer to use the latest version.
    • Refreshed internal version mappings for multiple packages.
    • Added standardized instance labels to Kubernetes resources across multiple applications for better tracking and management.

@coderabbitai

coderabbitai Bot commented Jun 3, 2025

Copy link
Copy Markdown
Contributor

"""

Walkthrough

This change updates Helm chart versions for multiple applications, standardizes Kubernetes resource labels to use app.kubernetes.io/instance, and introduces or updates WorkloadMonitor custom resources for several workloads. It also updates Docker image references and adds a new cozy-lib chart dependency for the VPN app, with no changes to public APIs.

Changes

Files/Groups Change Summary
packages/apps/*/Chart.yaml Incremented chart versions for clickhouse, ferretdb, http-cache, mysql, postgres, redis, tcp-balancer, virtual-machine, vm-disk, vm-instance, vpn.
packages/apps/clickhouse/templates/clickhouse.yaml,
.../workloadmonitor.yaml
Added/standardized app.kubernetes.io/instance labels to ClickHouse resource templates and updated WorkloadMonitor selectors.
packages/apps/ferretdb/templates/external-svc.yaml,
.../postgres.yaml,
.../ferretdb.yaml,
.../workloadmonitor.yaml
Added app.kubernetes.io/instance label to Service, PostgreSQL cluster spec, Deployment pod templates; updated WorkloadMonitor selector to use instance label.
packages/apps/tcp-balancer/templates/deployment.yaml,
.../workloadmonitor.yaml
Added instance label to Deployment pod template; introduced WorkloadMonitor manifest for tcp-balancer.
packages/apps/virtual-machine/templates/dashboard-resourcemap.yaml,
.../vm.yaml
Updated WorkloadMonitor selectors to use instance label; added instance label to dataVolumeTemplates.
packages/apps/vm-disk/templates/dv.yaml,
.../workloadmonitor.yaml
Added instance label to DataVolume metadata; introduced WorkloadMonitor manifest for vm-disk.
packages/apps/vm-instance/templates/dashboard-resourcemap.yaml Simplified WorkloadMonitor selector to use instance label.
packages/apps/vpn/Chart.yaml,
packages/apps/vpn/charts/cozy-lib,
packages/apps/vpn/templates/deployment.yaml,
packages/apps/vpn/templates/service.yaml,
packages/apps/vpn/templates/workloadmonitor.yaml
Bumped chart version; added cozy-lib chart dependency; added instance label to Deployment and Service; introduced WorkloadMonitor manifest for vpn.
packages/apps/versions_map Replaced "HEAD" placeholders with specific commit hashes for multiple packages and appended new "HEAD" entries.
packages/core/installer/values.yaml Updated cozystack installer Docker image reference to use latest tag with new digest.

Sequence Diagram(s)

sequenceDiagram
    participant Helm
    participant Kubernetes
    participant WorkloadMonitor

    Helm->>Kubernetes: Deploys app resources with app.kubernetes.io/instance label
    Helm->>Kubernetes: Deploys WorkloadMonitor CR with selector for instance label
    Kubernetes->>WorkloadMonitor: WorkloadMonitor selects pods/resources using instance label
Loading

Possibly related PRs

  • cozystack/cozystack#776: Updates versions_map with specific commit hashes and new version entries, related to version updates in this PR.
  • cozystack/cozystack#1018: Introduces and updates WorkloadMonitor manifests using standardized instance labels, related to workload monitoring changes here.
  • cozystack/cozystack#656: Modifies ClickHouse Helm chart and workloadmonitor.yaml templates with label and version updates, related to ClickHouse changes in this PR.

Suggested labels

enhancement, size:L

Suggested reviewers

  • kvaps

Poem

🐇
A hop, a skip, a label new,
Helm charts rise in version queue.
WorkloadMonitors now appear,
To keep our clusters running clear.
With labels set and charts aligned,
This rabbit’s code is well-defined!
🥕
"""


📜 Recent review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between c065c1c and b140f1b.

📒 Files selected for processing (30)
  • packages/apps/clickhouse/Chart.yaml (1 hunks)
  • packages/apps/clickhouse/templates/clickhouse.yaml (3 hunks)
  • packages/apps/clickhouse/templates/workloadmonitor.yaml (1 hunks)
  • packages/apps/ferretdb/Chart.yaml (1 hunks)
  • packages/apps/ferretdb/templates/external-svc.yaml (1 hunks)
  • packages/apps/ferretdb/templates/ferretdb.yaml (1 hunks)
  • packages/apps/ferretdb/templates/postgres.yaml (1 hunks)
  • packages/apps/ferretdb/templates/workloadmonitor.yaml (1 hunks)
  • packages/apps/http-cache/Chart.yaml (1 hunks)
  • packages/apps/mysql/Chart.yaml (1 hunks)
  • packages/apps/postgres/Chart.yaml (1 hunks)
  • packages/apps/redis/Chart.yaml (1 hunks)
  • packages/apps/tcp-balancer/Chart.yaml (1 hunks)
  • packages/apps/tcp-balancer/templates/deployment.yaml (1 hunks)
  • packages/apps/tcp-balancer/templates/workloadmonitor.yaml (1 hunks)
  • packages/apps/versions_map (7 hunks)
  • packages/apps/virtual-machine/Chart.yaml (1 hunks)
  • packages/apps/virtual-machine/templates/dashboard-resourcemap.yaml (1 hunks)
  • packages/apps/virtual-machine/templates/vm.yaml (1 hunks)
  • packages/apps/vm-disk/Chart.yaml (1 hunks)
  • packages/apps/vm-disk/templates/dv.yaml (1 hunks)
  • packages/apps/vm-disk/templates/workloadmonitor.yaml (1 hunks)
  • packages/apps/vm-instance/Chart.yaml (1 hunks)
  • packages/apps/vm-instance/templates/dashboard-resourcemap.yaml (1 hunks)
  • packages/apps/vpn/Chart.yaml (1 hunks)
  • packages/apps/vpn/charts/cozy-lib (1 hunks)
  • packages/apps/vpn/templates/deployment.yaml (2 hunks)
  • packages/apps/vpn/templates/service.yaml (1 hunks)
  • packages/apps/vpn/templates/workloadmonitor.yaml (1 hunks)
  • packages/core/installer/values.yaml (1 hunks)
✅ Files skipped from review due to trivial changes (3)
  • packages/apps/redis/Chart.yaml
  • packages/apps/ferretdb/templates/ferretdb.yaml
  • packages/apps/ferretdb/templates/workloadmonitor.yaml
🚧 Files skipped from review as they are similar to previous changes (27)
  • packages/apps/ferretdb/Chart.yaml
  • packages/apps/vpn/Chart.yaml
  • packages/apps/tcp-balancer/Chart.yaml
  • packages/apps/vpn/charts/cozy-lib
  • packages/apps/vm-disk/Chart.yaml
  • packages/apps/clickhouse/Chart.yaml
  • packages/apps/virtual-machine/Chart.yaml
  • packages/apps/vm-instance/templates/dashboard-resourcemap.yaml
  • packages/apps/mysql/Chart.yaml
  • packages/apps/vm-instance/Chart.yaml
  • packages/apps/http-cache/Chart.yaml
  • packages/apps/virtual-machine/templates/dashboard-resourcemap.yaml
  • packages/apps/ferretdb/templates/external-svc.yaml
  • packages/apps/vm-disk/templates/dv.yaml
  • packages/apps/tcp-balancer/templates/deployment.yaml
  • packages/apps/clickhouse/templates/workloadmonitor.yaml
  • packages/apps/virtual-machine/templates/vm.yaml
  • packages/apps/vpn/templates/service.yaml
  • packages/apps/vpn/templates/deployment.yaml
  • packages/apps/postgres/Chart.yaml
  • packages/apps/ferretdb/templates/postgres.yaml
  • packages/apps/vpn/templates/workloadmonitor.yaml
  • packages/apps/tcp-balancer/templates/workloadmonitor.yaml
  • packages/apps/versions_map
  • packages/apps/clickhouse/templates/clickhouse.yaml
  • packages/apps/vm-disk/templates/workloadmonitor.yaml
  • packages/core/installer/values.yaml
⏰ Context from checks skipped due to timeout of 90000ms (1)
  • GitHub Check: Test

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (4)
packages/core/installer/values.yaml (1)

2-2: Avoid using ‘latest’ tag with digest for image pinning.

Using the latest tag undermines reproducibility—even with a digest—since the tag can float. Consider switching to a versioned tag (e.g. v0.31.2) or dropping the @sha256 digest if you truly want to follow latest.

packages/apps/tcp-balancer/templates/deployment.yaml (1)

18-18: Include instance label in spec.selector.matchLabels for clarity.

The pod template adds both app and app.kubernetes.io/instance, but the Deployment’s selector only matches on app. To avoid selector drift, add the instance label too:

 spec:
   selector:
     matchLabels:
       app: {{ .Release.Name }}-haproxy
+      app.kubernetes.io/instance: {{ .Release.Name }}
packages/apps/vm-disk/templates/workloadmonitor.yaml (2)

3-5: Use Helm naming helper and add metadata labels for consistency.

  • Replace raw release name with the chart’s fullname helper to match other resources.
  • Add metadata.labels to facilitate resource tracking by instance.
 metadata:
-  name: {{ $.Release.Name }}
+  name: {{ include "vm-disk.fullname" . }}
+  labels:
+    app.kubernetes.io/instance: "{{ $.Release.Name }}"

10-12: Quote templated values and unify release context.
To prevent YAML parsing issues and ensure consistency, wrap templated outputs in quotes and use the global context ($) for release and chart references:

 selector:
-  app.kubernetes.io/instance: {{ .Release.Name }}
+  app.kubernetes.io/instance: "{{ $.Release.Name }}"
-version: {{ $.Chart.Version }}
+version: "{{ $.Chart.Version }}"
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between a887e19 and c065c1c.

📒 Files selected for processing (28)
  • packages/apps/clickhouse/Chart.yaml (1 hunks)
  • packages/apps/clickhouse/templates/clickhouse.yaml (3 hunks)
  • packages/apps/clickhouse/templates/workloadmonitor.yaml (1 hunks)
  • packages/apps/ferretdb/Chart.yaml (1 hunks)
  • packages/apps/ferretdb/templates/external-svc.yaml (1 hunks)
  • packages/apps/ferretdb/templates/postgres.yaml (1 hunks)
  • packages/apps/http-cache/Chart.yaml (1 hunks)
  • packages/apps/mysql/Chart.yaml (1 hunks)
  • packages/apps/postgres/Chart.yaml (1 hunks)
  • packages/apps/redis/Chart.yaml (1 hunks)
  • packages/apps/tcp-balancer/Chart.yaml (1 hunks)
  • packages/apps/tcp-balancer/templates/deployment.yaml (1 hunks)
  • packages/apps/tcp-balancer/templates/workloadmonitor.yaml (1 hunks)
  • packages/apps/versions_map (7 hunks)
  • packages/apps/virtual-machine/Chart.yaml (1 hunks)
  • packages/apps/virtual-machine/templates/dashboard-resourcemap.yaml (1 hunks)
  • packages/apps/virtual-machine/templates/vm.yaml (1 hunks)
  • packages/apps/vm-disk/Chart.yaml (1 hunks)
  • packages/apps/vm-disk/templates/dv.yaml (1 hunks)
  • packages/apps/vm-disk/templates/workloadmonitor.yaml (1 hunks)
  • packages/apps/vm-instance/Chart.yaml (1 hunks)
  • packages/apps/vm-instance/templates/dashboard-resourcemap.yaml (1 hunks)
  • packages/apps/vpn/Chart.yaml (1 hunks)
  • packages/apps/vpn/charts/cozy-lib (1 hunks)
  • packages/apps/vpn/templates/deployment.yaml (2 hunks)
  • packages/apps/vpn/templates/service.yaml (1 hunks)
  • packages/apps/vpn/templates/workloadmonitor.yaml (1 hunks)
  • packages/core/installer/values.yaml (1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms (1)
  • GitHub Check: Test
🔇 Additional comments (42)
packages/apps/ferretdb/Chart.yaml (1)

19-19: Correct patch version bump: The chart version has been incremented from 0.6.0 to 0.6.1, which follows semantic versioning for a patch release and stays consistent with the coordinated chart updates in this PR.

packages/apps/redis/Chart.yaml (1)

19-19: Correct patch version bump: The chart version has been incremented from 0.7.0 to 0.7.1, following semantic versioning for a patch release and keeping in sync with the other Helm charts updated in this PR.

packages/apps/clickhouse/Chart.yaml (1)

19-19: Correct patch version bump: The chart version has been updated from 0.9.0 to 0.9.1, which is a proper patch-level increment and aligns with the batch of chart version updates in this PR.

packages/apps/mysql/Chart.yaml (1)

19-19: Correct patch version bump: The chart version has been incremented from 0.7.0 to 0.7.1, matching the coordinated version bumps across application charts in this PR.

packages/apps/http-cache/Chart.yaml (1)

19-19: Correct patch version bump: The chart version has been updated from 0.5.0 to 0.5.1, adhering to semantic versioning for patch releases and consistent with the other charts updated in this PR.

packages/apps/tcp-balancer/Chart.yaml (1)

19-19: Chart version bump is appropriate
Updating the chart version to 0.4.1 correctly reflects the added WorkloadMonitor resources and label changes. Ensure any umbrella charts or deployment manifests that pin this chart are updated to reference the new version.

packages/apps/vpn/charts/cozy-lib (1)

1-1:

Details

✅ Verification successful

Include cozy-lib as a subchart via symlink
This symlink correctly pulls in the shared cozy-lib Helm library from ../../../library/cozy-lib.

To ensure the symlink resolves properly during chart packaging and templating, you can run:


🏁 Script executed:

#!/bin/bash
# Description: Verify that the 'charts/cozy-lib' symlink points to the shared library directory.

symlink="packages/apps/vpn/charts/cozy-lib"

if [ -L "$symlink" ]; then
  target=$(readlink "$symlink")
  if [ "$target" = "../../../library/cozy-lib" ]; then
    echo "✔ Symlink target is correct: $target"
  else
    echo "✖ Unexpected symlink target: $target"
    exit 1
  fi
else
  echo "✖ '$symlink' is not a symbolic link"
  exit 1
fi

Length of output: 354


Subchart symlink verified
The symlink at packages/apps/vpn/charts/cozy-lib correctly points to ../../../library/cozy-lib. ✔️

packages/apps/vpn/Chart.yaml (1)

19-19: Approve version bump and verify cozy-lib dependency
The chart version bump from 0.5.0 to 0.5.1 is correct and aligns with the coordinated patch release. However, the AI summary mentions adding a cozy-lib library dependency, but I don’t see a dependencies: block here. Please ensure the cozy-lib chart is declared under dependencies: or update the summary accordingly.

Likely an incorrect or invalid review comment.

packages/apps/postgres/Chart.yaml (1)

19-19: Approve chart version bump
Updating the chart version from 0.12.0 to 0.12.1 is a valid patch increment that remains consistent with the other application charts.

packages/apps/vm-instance/Chart.yaml (1)

20-20: Approve chart version bump
Bumping the chart version to 0.7.1 correctly follows semantic versioning and aligns with the coordinated updates across charts in this PR.

packages/apps/virtual-machine/Chart.yaml (1)

20-20: Approve chart version bump
Updating the chart version from 0.10.0 to 0.10.1 is appropriate for a patch release and matches the pattern used elsewhere.

packages/apps/vm-disk/Chart.yaml (1)

19-19: Approve chart version bump
The patch bump from 0.1.1 to 0.1.2 is correct and keeps the release in sync with the other application charts.

packages/apps/ferretdb/templates/external-svc.yaml (1)

5-6: Standardize on app.kubernetes.io/instance label key.

Most charts in this PR adopt the app.kubernetes.io/instance label for Helm‐scoped identification. Using a plain app label here breaks consistency. Confirm whether this should be:

labels:
  app.kubernetes.io/instance: {{ .Release.Name }}
packages/apps/ferretdb/templates/postgres.yaml (1)

38-38: Label addition looks good.

The new app: {{ .Release.Name }} under inheritedMetadata.labels matches the chart’s existing pattern and will propagate correctly to PostgreSQL resources.

packages/apps/vm-instance/templates/dashboard-resourcemap.yaml (1)

25-25: WorkloadMonitor selector update is correct.

Switching to the explicit app.kubernetes.io/instance: {{ .Release.Name }} selector ensures the monitor captures all VM resources by Helm release.

packages/apps/virtual-machine/templates/vm.yaml (1)

29-30: Standardize DataVolume labeling
Great addition of the app.kubernetes.io/instance: {{ .Release.Name }} label under dataVolumeTemplates.metadata.labels. This aligns the DataVolume resources with the rest of the chart’s naming convention and ensures they can be selected by the WorkloadMonitor.

packages/apps/vm-disk/templates/dv.yaml (1)

10-11: Add instance label to DataVolume metadata
Including app.kubernetes.io/instance: {{ .Release.Name }} in the DataVolume’s metadata.labels follows the chart-wide labeling standard, which is essential for consistent resource tracking and selection.

packages/apps/vpn/templates/service.yaml (1)

8-8: Include Helm release instance label on Service
Adding app.kubernetes.io/instance: {{ .Release.Name }} to the Service metadata standardizes identification of the VPN service alongside its peers in the cluster.

packages/apps/clickhouse/templates/workloadmonitor.yaml (1)

12-12: Update WorkloadMonitor selector to instance label
Switching the selector key to app.kubernetes.io/instance: {{ $.Release.Name }} ensures the WorkloadMonitor targets the correct ClickHouse pods labeled under the new convention.

packages/apps/virtual-machine/templates/dashboard-resourcemap.yaml (1)

24-24: Align VirtualMachine WorkloadMonitor selector
Changing the selector to app.kubernetes.io/instance: {{ .Release.Name }} matches the updated labels on the VirtualMachine resources, enabling accurate monitoring.

packages/apps/clickhouse/templates/clickhouse.yaml (4)

95-98: Approve adding app.kubernetes.io/instance label to data-volume-template. Standardizes PVC labeling by Helm release instance.


105-108: Approve adding app.kubernetes.io/instance label to log-volume-template. Consistent PVC labeling aids resource organization and monitoring.


116-119: Approve adding app.kubernetes.io/instance label to pod template. Ensure that the pod anti-affinity rule still matches your pods—either preserve the clickhouse.altinity.com/chi label or update the matchExpressions in the affinity to use this new label.


145-148: Approve adding app.kubernetes.io/instance label to service template. This will ensure services carry the standard release-instance label.

packages/apps/versions_map (11)

12-13: Approve version mapping update for clickhouse. Matches the Chart.yaml bump from 0.9.0 to 0.9.1.


22-23: Approve version mapping update for ferretdb. Updated to 0.6.0 → 0.6.1 HEAD consistent with chart version.


29-30: Approve version mapping update for http-cache. Aligned to new 0.5.0 commit and HEAD.


82-83: Approve version mapping update for mysql. Reflects 0.7.0 → HEAD.


108-109: Approve version mapping update for postgres. Correctly moves 0.12.0 → HEAD.


127-128: Approve version mapping update for redis. Bumped to 0.7.1 HEAD.


132-133: Approve version mapping update for tcp-balancer. 0.4.1 HEAD mapping is correct.


171-172: Approve version mapping update for virtual-machine. 0.10.1 HEAD entry matches Chart.yaml.


174-175: Approve version mapping update for vm-disk. 0.1.2 HEAD is properly appended.


184-185: Approve version mapping update for vm-instance. Updated to 0.7.1 HEAD correctly.


191-192: Approve version mapping update for vpn. 0.5.1 HEAD entry aligns with Chart bump.

packages/apps/vpn/templates/deployment.yaml (3)

17-17: Approve adding app.kubernetes.io/instance label to pod template metadata. This will improve resource identification across the cluster.


47-47: Approve use of cozy-lib.resources.sanitize for resource definitions. Leveraging the shared library ensures consistent resource formatting.


49-49: Approve use of cozy-lib.resources.preset for preset resource configurations. Good abstraction of resource presets.

packages/apps/vpn/templates/workloadmonitor.yaml (1)

1-12: Approve addition of WorkloadMonitor resource for VPN workloads. This CRD will enable automated scaling and monitoring using the standard release-instance selector.

packages/apps/tcp-balancer/templates/workloadmonitor.yaml (1)

1-14: Approve addition of WorkloadMonitor resource for TCP Balancer workloads. Consistent with other apps, using the app.kubernetes.io/instance selector and chart version.

packages/apps/vm-disk/templates/workloadmonitor.yaml (2)

1-2: Verify API version and resource kind consistency.
The apiVersion: cozystack.io/v1alpha1 and kind: WorkloadMonitor align with existing CRDs for workload monitoring. No issues detected.


6-9: Validate default replica settings and workload identifiers.
Setting replicas: 0 and minReplicas: 0 correctly initializes the monitor in an idle state. The spec.kind and spec.type fields accurately reflect the vm-disk workload. No changes needed.

Signed-off-by: Timofei Larkin <lllamnyp@gmail.com>
@lllamnyp
Timofei Larkin (lllamnyp) force-pushed the 812-workloadmonitor-selectors branch from c065c1c to b140f1b Compare June 3, 2025 12:40
@lllamnyp
Timofei Larkin (lllamnyp) deleted the 812-workloadmonitor-selectors branch June 3, 2025 13:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants