Skip to content

Plane-EE: Add standard Helm labels#177

Open
hajowieland wants to merge 7 commits intomakeplane:masterfrom
hajowieland:feat-helm-labels
Open

Plane-EE: Add standard Helm labels#177
hajowieland wants to merge 7 commits intomakeplane:masterfrom
hajowieland:feat-helm-labels

Conversation

@hajowieland
Copy link

@hajowieland hajowieland commented Nov 23, 2025

Description

Fixes #135 by adding Helm Standard Labels. In addition to the recommended labels, the optional ones were also added to differentiate the components and also see which non-plane specific components (like Postgres, Redis, RabbitMQ) are also part of a Helm release.

  • Added helper template functions for common labels and common component labels
  • Added labels via these helper functions to all resources and the Pods created by the template specs
  • The selector labels were not touched, as these are immutable.

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • Feature (non-breaking change which adds functionality)
  • Improvement (change that would cause existing functionality to not work as expected)
  • Code refactoring
  • Performance improvements
  • Documentation update

Test Scenarios

  • Deploy current plane-enterprise 1.6.5 Helm Chart
  • Update the Helm release with this change
  • Verify that components are still working as expected

References

#135

Summary by CodeRabbit

  • Chores
    • Bumped chart version to 1.6.6
  • New Features
    • Added standardized chart- and component-level labels across Kubernetes resources for clearer ownership and filtering
  • Configuration
    • Added new configuration keys: APP_DOMAIN, APP_VERSION, DEPLOY_PLATFORM, API_URL, API_HOSTNAME, LIVE_SERVER_SECRET_KEY
  • Style
    • Unified manifest formatting, document boundaries, and template indentation for consistency

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

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Nov 23, 2025

Walkthrough

Adds four Helm helper templates for standardized labels, applies them across the Plane Enterprise chart to many resource metadata blocks, injects additional metadata fields in several config templates, and bumps Chart version from 1.6.5 to 1.6.6.

Changes

Cohort / File(s) Summary
Chart Version
charts/plane-enterprise/Chart.yaml
Bumps chart version from 1.6.5 to 1.6.6.
Template helpers
charts/plane-enterprise/templates/_helpers.tpl
Adds plane.chart, plane.name, plane.labels, and plane.component.labels helpers (sanitization/truncation and standard Helm/app labels); adjusts labels emission formatting.
Certificates
charts/plane-enterprise/templates/certs/...
charts/plane-enterprise/templates/certs/cert-issuers.yaml, .../certs.yaml, .../email-certs.yaml
Injects plane.labels into Secret/Certificate/Issuer metadata and normalizes template EOF/separators.
Config & secrets (general)
charts/plane-enterprise/templates/config-secrets/*
Adds plane.labels / plane.component.labels to Secret/ConfigMap metadata across many files; introduces LIVE_SERVER_SECRET_KEY, APP_DOMAIN, APP_VERSION, and several monitor-related data fields in specific files; minor EOF/format fixes.
Ingress & ServiceAccount
charts/plane-enterprise/templates/ingress.yaml, charts/plane-enterprise/templates/service-account.yaml
Adds plane.labels to metadata blocks and normalizes template closing/indentation.
Workloads (services, deployments, statefulsets, jobs)
charts/plane-enterprise/templates/workloads/*
Inserts plane.component.labels into Service, Deployment/StatefulSet/Job metadata and Pod template metadata across many workloads (admin, api, automation-consumer, beat-worker, email, iframely, live, migrator, minio, monitor, outbox-poller, postgres, rabbitmq, redis, silo, space, web, worker). Replaces some inline includes with explicit labels blocks; adds document separators and minor command/script refinements (notably API CA-install logic and MinIO command formatting).

Sequence Diagram(s)

sequenceDiagram
    autonumber
    participant Helm as Helm render
    participant Helpers as _helpers.tpl
    participant Templates as Resource templates
    note right of Helm `#DDEBF7`: Rendering start
    Helm->>Helpers: include "plane.name"/"plane.chart"/"plane.labels"
    Helpers-->>Helm: sanitized label values
    Helm->>Templates: render resources (Deployment/Service/Secret/...)
    Templates->>Helpers: include "plane.component.labels" / "plane.labels"
    Helpers-->>Templates: emit YAML labels block
    Templates-->>Helm: final manifests with metadata.labels
    note right of Helm `#E6F4EA`: Resources now include standardized labels
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

  • Many files follow a uniform pattern (label helper insertion) which lowers per-file reasoning.
  • Areas to inspect closely:
    • templates/_helpers.tpl: sanitization/truncation logic (63-char limit, '+' → '_' replacement, trailing-dash trimming).
    • templates/workloads/api.deployment.yaml: added CA installation / airgapped S3 CA logic.
    • templates/workloads/minio.stateful.yaml: init job and mc config command adjustments and quoting.
    • templates/config-secrets/app-env.yaml and .../monitor.yaml: newly added data fields (LIVE_SERVER_SECRET_KEY, APP_DOMAIN, APP_VERSION, etc.).

"🐰🥕
I stitched small labels through each chart,
chart names neat and parts set apart.
Pods and secrets wear tidy tags,
helpers trimmed so nothing sags.
A hop, a grin — manifests smart!"

Pre-merge checks and finishing touches

✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main objective of the PR—adding standard Helm labels to the chart.
Linked Issues check ✅ Passed All coding requirements from issue #135 have been met: standard Helm labels (helm.sh/chart, app.kubernetes.io/version, app.kubernetes.io/managed-by) are now implemented via helper templates and applied to all Kubernetes resources.
Out of Scope Changes check ✅ Passed All changes are directly aligned with adding standard Helm labels. Chart version bump and template formatting adjustments are necessary maintenance changes supporting the label implementation.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

📜 Recent review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 0bdb24e and 339311e.

📒 Files selected for processing (1)
  • charts/plane-enterprise/templates/workloads/email.deployment.yaml (4 hunks)
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2025-10-16T15:18:06.210Z
Learnt from: twtaylor
Repo: makeplane/helm-charts PR: 134
File: charts/plane-ce/templates/workloads/beat-worker.deployment.yaml:26-33
Timestamp: 2025-10-16T15:18:06.210Z
Learning: In the makeplane/helm-charts repository, prefer explicit indentation within conditional blocks in Helm templates over using nindent functions, as it improves readability and maintainability even if yamllint flags indentation warnings.

Applied to files:

  • charts/plane-enterprise/templates/workloads/email.deployment.yaml
🔇 Additional comments (5)
charts/plane-enterprise/templates/workloads/email.deployment.yaml (5)

8-9: Add component labels to Service metadata.

Aligns with Helm chart best practices by applying the new plane.component.labels helper. The nindent 4 is correct for this metadata block depth.


37-39: Add component and service labels to Deployment metadata.

Applies both plane.component.labels and plane.labelsAndAnnotations at the Deployment level. This follows the pattern established elsewhere in the chart and ensures consistent label propagation. The nindent 4 is correctly calibrated for this nesting depth.


49-50: Confirm no label selector mutation.

The pod template labels at line 49 correctly replicate the selector label (app.name: {{ .Release.Namespace }}-{{ .Release.Name }}-email-app) from line 44's matchLabels block. This is required by Kubernetes selector immutability rules and is handled correctly. The added component labels at line 50 do not interfere with this selector.


1-114: Overall structure aligns with Helm labeling standards.

The changes successfully apply standard Helm labels (plane.component.labels) at the Service, Deployment, and Pod template levels, fulfilling the PR objectives. The conditional block structure is maintained correctly. The helper template pattern is consistent with the broader chart changes mentioned in the summary.


49-50: Indentation fix verified and correct.

Lines 49-50 now have proper 8-space indentation under the labels: block, aligned at the same level as required. The YAML parsing error encountered is expected for Helm templates due to the template syntax ({{-) and does not indicate an indentation problem. The commit to fix the incorrect 7-space indentation has been successfully applied.


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

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 4

🧹 Nitpick comments (5)
charts/plane-enterprise/templates/config-secrets/pgdb.yaml (1)

15-15: Minor: Consider spacing consistency in template end tag.

Line 15 uses {{- end}} without a space before the closing braces. For consistency with Helm conventions and readability, consider {{- end }}. This is a style nitpick and does not affect functionality.

charts/plane-enterprise/templates/service-account.yaml (1)

12-12: Minor: Inconsistent template end tag spacing.

Line 12 uses {{- end}} without a space before closing braces. For consistency, use {{- end }} (with space), as seen in other templates like automations-consumer.yaml.

charts/plane-enterprise/templates/certs/cert-issuers.yaml (1)

49-50: Minor: Check template closing brace spacing.

Line 50 shows {{- end}} which is missing a space before the closing braces. Follow Helm template conventions and use {{- end }} for consistency with Helm style guides.

-{{- end}}
+{{- end }}
charts/plane-enterprise/templates/workloads/api.deployment.yaml (1)

47-133: Airgapped CA handling and envFrom/env wiring are reasonable; consider aligning conditions

  • Volumes, volumeMounts, and CA‑related env vars are gated on and .Values.airgapped.enabled .Values.airgapped.s3SecretName .Values.airgapped.s3SecretKey, which is good: CA env is only set when the secret and key are configured.
  • The shell block that installs the custom CA is gated on and .Values.airgapped.enabled .Values.airgapped.s3SecretName (without s3SecretKey). If s3SecretName is set but s3SecretKey is not, the script will run but will just not find a cert file; it’s harmless but slightly asymmetric with the volume/volumeMount/env conditions.
  • Extending envFrom with doc_store and optional silo secretRefs, and the combined env: block for CA env vars and .Values.extraEnv, brings the API deployment in line with other workloads.

You may want to:

  • Tighten the shell‑script condition to also include .Values.airgapped.s3SecretKey for consistency with the volume and env conditions, so the whole airgapped CA path is controlled by the same predicate.

Example diff:

-            {{- if and .Values.airgapped.enabled .Values.airgapped.s3SecretName }}
+            {{- if and .Values.airgapped.enabled .Values.airgapped.s3SecretName .Values.airgapped.s3SecretKey }}

Also, as with the migrator, please confirm that the new doc_store/silo secrets are always present when referenced so upgrades don’t fail on missing secretRefs.

charts/plane-enterprise/templates/config-secrets/app-env.yaml (1)

8-13: Labels on Secret/ConfigMap look good; consider documenting secret defaults

  • Using plane.labels for both the *-app-secrets Secret and *-app-vars ConfigMap aligns them with the new standard Helm labels and centralizes label construction.
  • Adding LIVE_SERVER_SECRET_KEY alongside SECRET_KEY and AES_SECRET_KEY keeps all critical secrets together; the templating pattern is consistent.

Given these keys now have hardcoded defaults (including the new LIVE_SERVER_SECRET_KEY), it would be good to:

  • Clearly document that production deployments should override these defaults, to avoid multiple clusters sharing the same secret material.

Also applies to: 49-50, 85-85

📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 9329805 and e19dae1.

📒 Files selected for processing (36)
  • charts/plane-enterprise/Chart.yaml (1 hunks)
  • charts/plane-enterprise/templates/_helpers.tpl (2 hunks)
  • charts/plane-enterprise/templates/certs/cert-issuers.yaml (2 hunks)
  • charts/plane-enterprise/templates/certs/certs.yaml (1 hunks)
  • charts/plane-enterprise/templates/certs/email-certs.yaml (1 hunks)
  • charts/plane-enterprise/templates/config-secrets/app-env.yaml (3 hunks)
  • charts/plane-enterprise/templates/config-secrets/automations-consumer.yaml (1 hunks)
  • charts/plane-enterprise/templates/config-secrets/doc-store.yaml (2 hunks)
  • charts/plane-enterprise/templates/config-secrets/docker-registry.yaml (1 hunks)
  • charts/plane-enterprise/templates/config-secrets/email-env.yaml (2 hunks)
  • charts/plane-enterprise/templates/config-secrets/live-env.yaml (2 hunks)
  • charts/plane-enterprise/templates/config-secrets/monitor.yaml (2 hunks)
  • charts/plane-enterprise/templates/config-secrets/outbox-poller.yaml (2 hunks)
  • charts/plane-enterprise/templates/config-secrets/pgdb.yaml (1 hunks)
  • charts/plane-enterprise/templates/config-secrets/rabbitmqdb.yaml (1 hunks)
  • charts/plane-enterprise/templates/config-secrets/silo.yaml (4 hunks)
  • charts/plane-enterprise/templates/ingress.yaml (2 hunks)
  • charts/plane-enterprise/templates/service-account.yaml (1 hunks)
  • charts/plane-enterprise/templates/workloads/admin.deployment.yaml (4 hunks)
  • charts/plane-enterprise/templates/workloads/api.deployment.yaml (6 hunks)
  • charts/plane-enterprise/templates/workloads/automation-consumer.deployment.yaml (3 hunks)
  • charts/plane-enterprise/templates/workloads/beat-worker.deployment.yaml (3 hunks)
  • charts/plane-enterprise/templates/workloads/email.deployment.yaml (4 hunks)
  • charts/plane-enterprise/templates/workloads/iframely.deployment.yaml (3 hunks)
  • charts/plane-enterprise/templates/workloads/live.deployment.yaml (3 hunks)
  • charts/plane-enterprise/templates/workloads/migrator.job.yaml (2 hunks)
  • charts/plane-enterprise/templates/workloads/minio.stateful.yaml (7 hunks)
  • charts/plane-enterprise/templates/workloads/monitor.stateful.yaml (3 hunks)
  • charts/plane-enterprise/templates/workloads/outbox-poller.deployment.yaml (3 hunks)
  • charts/plane-enterprise/templates/workloads/postgres.stateful.yaml (4 hunks)
  • charts/plane-enterprise/templates/workloads/rabbitmq.stateful.yaml (4 hunks)
  • charts/plane-enterprise/templates/workloads/redis.stateful.yaml (3 hunks)
  • charts/plane-enterprise/templates/workloads/silo.deployment.yaml (5 hunks)
  • charts/plane-enterprise/templates/workloads/space.deployment.yaml (4 hunks)
  • charts/plane-enterprise/templates/workloads/web.deployment.yaml (4 hunks)
  • charts/plane-enterprise/templates/workloads/worker.deployment.yaml (5 hunks)
🧰 Additional context used
🧠 Learnings (3)
📓 Common learnings
Learnt from: mguptahub
Repo: makeplane/helm-charts PR: 98
File: charts/plane-enterprise/templates/certs/email-certs.yaml:1-14
Timestamp: 2025-05-22T09:40:55.645Z
Learning: In the makeplane/helm-charts repository, the Certificate resources follow a consistent pattern of only specifying the 'name' field in 'issuerRef' without explicit 'kind' or 'group' fields, using a common cert issuer approach across the application.
Learnt from: twtaylor
Repo: makeplane/helm-charts PR: 134
File: charts/plane-ce/templates/workloads/beat-worker.deployment.yaml:26-33
Timestamp: 2025-10-16T15:18:06.210Z
Learning: In the makeplane/helm-charts repository, prefer explicit indentation within conditional blocks in Helm templates over using nindent functions, as it improves readability and maintainability even if yamllint flags indentation warnings.
📚 Learning: 2025-05-22T09:40:55.645Z
Learnt from: mguptahub
Repo: makeplane/helm-charts PR: 98
File: charts/plane-enterprise/templates/certs/email-certs.yaml:1-14
Timestamp: 2025-05-22T09:40:55.645Z
Learning: In the makeplane/helm-charts repository, the Certificate resources follow a consistent pattern of only specifying the 'name' field in 'issuerRef' without explicit 'kind' or 'group' fields, using a common cert issuer approach across the application.

Applied to files:

  • charts/plane-enterprise/templates/certs/certs.yaml
  • charts/plane-enterprise/templates/certs/cert-issuers.yaml
  • charts/plane-enterprise/templates/certs/email-certs.yaml
  • charts/plane-enterprise/templates/_helpers.tpl
📚 Learning: 2025-10-16T15:18:06.210Z
Learnt from: twtaylor
Repo: makeplane/helm-charts PR: 134
File: charts/plane-ce/templates/workloads/beat-worker.deployment.yaml:26-33
Timestamp: 2025-10-16T15:18:06.210Z
Learning: In the makeplane/helm-charts repository, prefer explicit indentation within conditional blocks in Helm templates over using nindent functions, as it improves readability and maintainability even if yamllint flags indentation warnings.

Applied to files:

  • charts/plane-enterprise/templates/certs/certs.yaml
  • charts/plane-enterprise/templates/ingress.yaml
  • charts/plane-enterprise/templates/certs/email-certs.yaml
  • charts/plane-enterprise/templates/workloads/minio.stateful.yaml
  • charts/plane-enterprise/templates/_helpers.tpl
  • charts/plane-enterprise/templates/service-account.yaml
🔇 Additional comments (52)
charts/plane-enterprise/templates/config-secrets/rabbitmqdb.yaml (1)

8-9: LGTM: Consistent label application across config secrets.

The addition of plane.component.labels with component name "rabbitmq" aligns with the PR objectives and Helm best practices for identifying chart components.

charts/plane-enterprise/templates/workloads/email.deployment.yaml (2)

8-9: LGTM: Service labels properly added.

Service metadata includes the plane.component.labels with appropriate indentation for the "email-service" component.


37-39: Verify label ordering in Deployment metadata.

Lines 37-39 include both plane.component.labels and plane.labelsAndAnnotations. If plane.labelsAndAnnotations already includes common labels (e.g., app.name), there could be duplicate or conflicting label keys. Verify that both helpers are designed to work together without duplication.

charts/plane-enterprise/templates/workloads/silo.deployment.yaml (3)

8-10: LGTM: Service labels properly applied.

Component labels added with correct nindent for Service metadata.


31-33: Verify label helper compatibility in Deployment metadata.

Lines 31-33 combine plane.component.labels with plane.labelsAndAnnotations for silo service. As noted in the email.deployment file review, confirm these helpers don't produce conflicting or duplicate labels.


56-65: Shell script formatting changes in initContainer.

Lines 56-65 show whitespace cleanup in the rabbitmq wait logic (echo formatting, removed trailing spaces). The changes preserve script logic and behavior. These appear to be formatting-only improvements.

charts/plane-enterprise/templates/workloads/minio.stateful.yaml (3)

10-10: LGTM: StatefulSet and Service labels properly added.

Component labels applied consistently across Service, StatefulSet metadata, and pod template with correct nindent values.

Also applies to: 33-35, 45-45


57-58: Minor formatting: Removed trailing space after flag.

Removed trailing space after --console-address on line 57 to improve consistency. No functional impact.


93-95: LGTM: Job labels properly added.

Component labels added to both Job metadata and pod template metadata with consistent nindent values.

Also applies to: 101-102

charts/plane-enterprise/Chart.yaml (1)

8-8: LGTM: Appropriate version bump.

Patch version increment (1.6.5 → 1.6.6) is appropriate for adding recommended standard labels per Helm best practices. The change aligns with the PR's intent to add labels for consistency without breaking existing functionality.

charts/plane-enterprise/templates/config-secrets/docker-registry.yaml (2)

8-9: LGTM: General labels applied to docker registry secret.

Uses plane.labels (rather than component-specific labels) which is appropriate for this shared infrastructure secret. Indentation and nindent usage correct.


14-14: Normalize end-of-file marker.

Changed from -{{- end }} to {{- end }} for consistency. This is a minor formatting improvement.

charts/plane-enterprise/templates/ingress.yaml (2)

14-15: LGTM: Chart-level labels added to Ingress metadata.

The plane.labels helper correctly applied with proper indentation. Ingress should carry chart-wide labels for resource tracking and management.


137-137: Minor formatting: Normalized end-of-file marker.

charts/plane-enterprise/templates/certs/certs.yaml (2)

8-9: LGTM: Chart labels added to Certificate resource.

plane.labels properly applied to Certificate metadata. Based on learned patterns in this repository, the issuerRef retains the simple 'name' field approach which is maintained correctly here.


23-23: Minor formatting: Normalized end marker spacing.

charts/plane-enterprise/templates/config-secrets/outbox-poller.yaml (1)

7-8: Labels correctly added to ConfigMap metadata.

The component-level labels are properly injected with correct indentation. Pending verification of the plane.component.labels helper implementation to confirm it produces expected standard Helm labels.

charts/plane-enterprise/templates/config-secrets/pgdb.yaml (1)

8-9: Labels correctly added to Secret metadata.

Component labels properly injected with correct indentation.

charts/plane-enterprise/templates/config-secrets/live-env.yaml (2)

8-9: Secret metadata labels correctly added.

Component labels properly injected with correct indentation.


26-27: ConfigMap metadata labels correctly added.

Component labels properly injected with consistent formatting.

charts/plane-enterprise/templates/certs/email-certs.yaml (1)

7-8: Verify consistency of label helper choice for Certificate resources.

This resource uses plane.labels (generic) while most other resources in the PR use plane.component.labels (component-specific). Confirm this is intentional—whether Certificate resources should not have component names, or whether this should align with the component-labeling pattern used elsewhere.

charts/plane-enterprise/templates/config-secrets/automations-consumer.yaml (1)

7-8: Labels correctly added to ConfigMap metadata.

Component labels properly injected with correct indentation and consistent spacing.

charts/plane-enterprise/templates/service-account.yaml (1)

7-8: Labels correctly added to ServiceAccount metadata.

Labels properly injected with correct indentation.

charts/plane-enterprise/templates/workloads/space.deployment.yaml (3)

9-9: Service metadata labels correctly added.

Component labels properly injected with correct indentation.


30-32: Verify no label conflicts when combining plane.component.labels and plane.labelsAndAnnotations.

Lines 30-32 add labels from two sources: plane.component.labels (line 31) and plane.labelsAndAnnotations (line 32). If both helpers output overlapping label keys (e.g., app.kubernetes.io/name, helm.sh/chart), Kubernetes will reject the duplicate key or use the last value, causing unexpected behavior. Confirm that these helpers are designed to be combined without conflicts, or clarify the intended label structure.


43-43: Pod template metadata labels correctly added.

Component labels properly injected with correct indentation (nindent 8 appropriate for nested spec level).

charts/plane-enterprise/templates/config-secrets/email-env.yaml (1)

8-9: Labels correctly added to ConfigMap metadata.

Component labels properly injected with correct indentation.

charts/plane-enterprise/templates/config-secrets/monitor.yaml (1)

6-7: LGTM!

Labels correctly applied to ConfigMap metadata using plane.component.labels helper with proper indentation. Component naming is consistent.

charts/plane-enterprise/templates/config-secrets/silo.yaml (1)

9-10: LGTM!

Labels consistently applied to both Secret and ConfigMap metadata using plane.component.labels. Consistent component naming "silo" across resources and proper indentation maintained.

Also applies to: 67-68

charts/plane-enterprise/templates/config-secrets/doc-store.yaml (1)

8-9: LGTM!

Labels correctly applied using plane.labels (base labels) rather than component-specific labels, which is appropriate for shared infrastructure resources. Proper indentation with nindent 4.

charts/plane-enterprise/templates/workloads/beat-worker.deployment.yaml (1)

6-8: LGTM!

Labels correctly applied at both Deployment and Pod template levels. Dual-label pattern (component-specific + custom annotations) is consistent, and proper indentation maintained. Selector labels remain unchanged as required.

Also applies to: 17-19

charts/plane-enterprise/templates/workloads/live.deployment.yaml (1)

7-9: LGTM!

Labels correctly applied to Service, Deployment, and Pod template metadata. Consistent use of component-specific labels with proper indentation at each nesting level. Selectors remain unchanged.

Also applies to: 30-32, 41-43

charts/plane-enterprise/templates/workloads/outbox-poller.deployment.yaml (1)

7-9: LGTM!

Labels correctly applied to Deployment and Pod template metadata with consistent dual-label pattern. Proper indentation maintained. Selectors remain unchanged.

Also applies to: 18-20

charts/plane-enterprise/templates/workloads/monitor.stateful.yaml (1)

6-8: LGTM!

Labels correctly applied to Service, StatefulSet, and Pod template metadata using consistent component-labeling pattern. Proper indentation maintained, and selectors remain unchanged. StatefulSet correctly used for stateful workload.

Also applies to: 28-30, 38-40

charts/plane-enterprise/templates/certs/cert-issuers.yaml (1)

8-9: LGTM!

Labels correctly applied to both Secret and Issuer metadata using plane.labels helper with proper indentation. Appropriate choice of base labels for infrastructure resources rather than component-specific labels.

Also applies to: 20-21

charts/plane-enterprise/templates/workloads/postgres.stateful.yaml (2)

9-10: Component labels consistently applied across Service, StatefulSet, and Pod template.

The plane.component.labels helper is correctly added with component name "pgdb" to Service metadata (line 10), StatefulSet metadata (line 30), and Pod template metadata (line 41) with proper indentation (nindent 4 for metadata, nindent 8 for pod template). Existing app.name selector labels are preserved, and selectors remain unchanged.

Also applies to: 30-31, 40-41


10-10: The original review comment references code that does not exist in the actual file and makes incorrect assertions.

The actual postgres.stateful.yaml file shows:

  1. No plane.component.labels usage: The Service (line 9), StatefulSet (line 30), and Pod template (line 39) metadata do NOT use plane.component.labels. They use simple static labels or the plane.labelsAndAnnotations helper.

  2. Correct plane.labelsAndAnnotations placement: The helper is called at line 30 as a direct child of metadata: in the StatefulSet, which is the correct placement for outputting both labels and annotations sections at the metadata level—not inside a labels block.

  3. Valid YAML structure: The plane.labelsAndAnnotations helper (which outputs labels and an annotations: block) is properly positioned at the metadata level, where it will produce valid Kubernetes YAML with separate labels and annotations sections.

The review comment's specific claims about plane.component.labels appearing at lines 10, 30-31, and 41 do not correspond to the actual file content. Either the review is based on a different version of the file or references incorrect line numbers.

Likely an incorrect or invalid review comment.

charts/plane-enterprise/templates/workloads/iframely.deployment.yaml (1)

9-9: Component labels consistently applied; verify helper placement in labels sections.

Component labels for "iframely" are correctly added to Service metadata (line 9), Deployment metadata (lines 27–29), and Pod template metadata (line 40) with consistent indentation. However, the same concern applies: verify that plane.labelsAndAnnotations (line 29) is valid in the metadata.labels section.

Also applies to: 27-29, 40-40

charts/plane-enterprise/templates/workloads/web.deployment.yaml (1)

9-9: Web component labels consistently applied across resources.

Component labels for "web" are added to Service (line 9), Deployment (lines 30–32), and Pod template (line 43) with proper indentation. Consistent with the pattern in other workload files.

Verify the same concerns raised for postgres.stateful.yaml: helper definitions and plane.labelsAndAnnotations placement.

Also applies to: 30-32, 43-43

charts/plane-enterprise/templates/workloads/automation-consumer.deployment.yaml (2)

7-9: Automation-consumer component labels properly applied.

Component labels are correctly added to Deployment metadata (lines 7–9) and Pod template (line 20) with component name "automation-consumer" and proper indentation.

Verify helper definitions and the consistent application of helpers across all files.

Also applies to: 20-20


60-60: End-of-block formatting normalized.

The conditional end tag was changed from -{{- end }} to {{- end }} (line 60), removing the leading dash. Verify this formatting change is applied consistently across all modified files in the PR.

charts/plane-enterprise/templates/workloads/worker.deployment.yaml (2)

6-8: Worker component labels consistently applied with proper indentation.

Component labels for "worker" are correctly added to Deployment metadata (lines 6–8) and Pod template (line 19) with appropriate indentation.

Verify helper implementations and check that all helper invocations follow this pattern.

Also applies to: 19-19


56-56: Blank lines added within shell command block—verify intentionality.

Blank lines were added at lines 56, 59, and 75 within the shell script section of the command block. Confirm these are intentional formatting improvements and not accidental whitespace changes. If intentional, ensure they don't alter the shell script's behavior or introduce unintended blank line output.

Also applies to: 59-59, 75-75

charts/plane-enterprise/templates/workloads/admin.deployment.yaml (1)

9-9: Admin component labels consistently applied across Service, Deployment, and Pod template.

Component labels for "admin" are correctly added with proper indentation. Consistent with the pattern established in other workload files.

Verify the underlying helper implementations in _helpers.tpl and ensure plane.labelsAndAnnotations is valid in all metadata.labels sections.

Also applies to: 30-32, 43-43

charts/plane-enterprise/templates/workloads/rabbitmq.stateful.yaml (2)

10-10: RabbitMQ component labels correctly applied to Service, StatefulSet, and Pod template.

Component labels for "rabbitmq" are properly added with consistent indentation (nindent 4 for metadata, nindent 8 for pod template). Selector labels remain unchanged.

Verify helper implementations per the concerns raised in earlier files.

Also applies to: 33-35, 45-45


90-90: Extra blank line before end marker—verify intentionality.

Line 90 adds a blank line before the {{- end }} marker. Confirm this is an intentional formatting adjustment and not an accidental trailing whitespace issue.

charts/plane-enterprise/templates/workloads/redis.stateful.yaml (3)

10-10: Redis component labels properly applied across Service, StatefulSet, and Pod template.

Component labels for "redis" are correctly added with proper indentation. Consistent with the pattern in all other workload files.

Verify the helper implementations in _helpers.tpl that all 8 files depend on.

Also applies to: 32-34, 44-44


39-39: Minor serviceName formatting cleanup.

Line 39 removes redundant whitespace in the serviceName field (from double space to single space). This is a cosmetic improvement with no functional impact.


78-78: Extra blank line before end marker—consistent with other files.

Line 78 adds a blank line before {{- end }}, consistent with similar changes in rabbitmq.stateful.yaml. Confirm this is an intentional formatting pattern applied across StatefulSet files.

charts/plane-enterprise/templates/workloads/migrator.job.yaml (1)

7-49: Labels and envFrom/env changes look consistent; please double‑check secret availability

  • Adding plane.component.labels to both Job metadata and pod template metadata aligns with the new labeling helpers and keeps selectors (app.name) unchanged, which is good.
  • Using plane.labelsAndAnnotations under metadata.labels relies on the helper to emit labels entries plus an annotations: block at metadata level via its own indentation. This is valid YAML, but slightly non‑obvious; worth keeping in mind when editing later.
  • Extending envFrom with doc_store and conditional silo secrets, and adding extraEnv, makes the migrator mirror the API deployment’s environment, which is desirable.

Please verify that:

  • The doc‑store and silo secrets (*-doc-store-secrets, *-silo-secrets or the external_secrets.*_existingSecret values) are always created when these features are enabled, so the new non‑optional secretRefs don’t break upgrades.
charts/plane-enterprise/templates/workloads/api.deployment.yaml (1)

7-9: Standard labels on Service/Deployment/Pods look good

Adding plane.component.labels for the api component to:

  • Service metadata.labels,
  • Deployment metadata.labels, and
  • Pod template metadata.labels

gives you consistent app.kubernetes.io/* labels across all API resources while preserving the existing app.name selector. This matches the chart‑wide labeling strategy in this PR.

Also applies to: 30-32, 40-43

charts/plane-enterprise/templates/_helpers.tpl (1)

9-18: podScheduling helper indentation change is fine

The updated plane.podScheduling still renders nodeSelector, tolerations, and affinity with correct nesting when included under spec:. The pattern key: {{ toYaml . | nindent 8 }} is valid YAML and keeps all scheduling settings centralized.

@hajowieland
Copy link
Author

ℹ️ No new configuration keys were added, just some unneccesary (trailing) spaces removed and missing end-of-file newlines added.

@mguptahub
Copy link
Collaborator

Hello @hajowieland

Thanks for the PR.

@akshat5302 : Please look into this and test with latest version of chart.

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.

Standard helm labels Missing

3 participants