Skip to content

Conversation

jaraya-mycarrier
Copy link
Contributor

This pull request introduces comprehensive support for Azure Service Bus and Resource Group provisioning via Crossplane in the Helm chart. It adds new templates, helper functions, and configuration options to enable declarative infrastructure management with fine-grained policies, naming conventions, and test coverage for Resource Groups. The most important changes are grouped below.

Azure Service Bus Support:

  • Added Service Bus provisioning templates supporting namespaces, topics, subscriptions, and subscription rules, with validation to prevent destructive management policies and enforce required fields.
  • Introduced helper functions in _helpers.crossplane.tpl to generate unique, length-constrained names for Service Bus topics, subscriptions, and rules, ensuring Kubernetes compatibility.

Azure Resource Group Enhancements:

  • Implemented a new Resource Group template supporting multiple groups, management policies, custom namespaces, tags, annotations, and validation against destructive policies.
  • Added extensive unit tests for Resource Group provisioning, covering scenarios such as minimal config, tags, management policies, custom namespaces, annotations, multiple groups, and label inclusion.

Configuration Documentation:

  • Updated values.yaml with detailed documentation for new Resource Group configuration options, including fields for management policies, tags, annotations, and namespaces.

Copy link

github-actions bot commented Oct 15, 2025

Helm Unit Test Results - charts/mycarrier-helm

135 tests   135 ✅  1m 5s ⏱️
 33 suites    0 💤
  1 files      0 ❌

Results for commit 753e58c.

♻️ This comment has been updated with latest results.

Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This pull request adds comprehensive Crossplane support for managing Azure Service Bus and Resource Group infrastructure through Helm charts. The changes introduce declarative infrastructure management with built-in safety mechanisms to prevent accidental deletion, along with extensive test coverage.

Key Changes:

  • Added Service Bus provisioning capabilities with support for namespaces, topics, subscriptions, and filtering rules
  • Implemented Resource Group management with configurable policies and metadata
  • Enhanced safety with explicit blocking of "Delete" management policies across all resources

Reviewed Changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
charts/mycarrier-helm/values.yaml Added configuration documentation for Resource Groups and Service Bus with detailed examples and safety warnings
charts/mycarrier-helm/tests/crossplane_azure_servicebus_test.yaml Comprehensive test suite for Service Bus (16 tests covering minimal config, rules, policies, properties, tags, annotations, name truncation)
charts/mycarrier-helm/tests/crossplane_azure_resourcegroup_test.yaml Complete test suite for Resource Groups (9 tests covering basic config, tags, policies, namespaces, annotations, multiple groups)
charts/mycarrier-helm/templates/crossplane/azure/servicebus/servicebus.yaml Service Bus template with namespace, topic, subscription, and rule resources including validation and label management
charts/mycarrier-helm/templates/crossplane/azure/resourcegroup/resourcegroup.yaml Resource Group template with management policy validation and metadata support
charts/mycarrier-helm/templates/_helpers.crossplane.tpl Helper functions for generating length-constrained Service Bus resource names
Comments suppressed due to low confidence (2)

charts/mycarrier-helm/templates/crossplane/azure/servicebus/servicebus.yaml:1

  • Boolean values in conditionals should explicitly check for truthiness. The current pattern {{- if $topic.requiresDuplicateDetection }} will exclude the field when the value is explicitly set to false, which may not be the intended behavior. Use {{- if hasKey $topic \"requiresDuplicateDetection\" }} to check for field presence instead.
{{- if .Values.infrastructure.azure.servicebus }}

charts/mycarrier-helm/templates/crossplane/azure/servicebus/servicebus.yaml:1

  • Boolean values in conditionals should explicitly check for truthiness. The current pattern {{- if $subscription.requiresSession }} will exclude the field when the value is explicitly set to false. Use {{- if hasKey $subscription \"requiresSession\" }} to check for field presence instead.
{{- if .Values.infrastructure.azure.servicebus }}

@jaraya-mycarrier jaraya-mycarrier merged commit c75dc80 into main Oct 16, 2025
4 checks passed
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.

3 participants