Skip to content

Conversation

Copilot
Copy link
Contributor

@Copilot Copilot AI commented Sep 11, 2025

This PR implements a new CLI command drasi ingress install contour to automate the deployment of the Contour ingress controller in Kubernetes clusters using Helm.

Features

The new command provides:

  • Nested command structure: drasi ingress install contour following existing CLI patterns
  • Helm integration: Uses the official Bitnami Contour chart with proper error handling
  • Flexible configuration: Supports custom Helm values via YAML files
  • Namespace management: Configurable installation namespace with sensible defaults
  • Readiness verification: Optional waiting for deployment completion
  • Permission validation: Checks cluster permissions before installation

Command Options

drasi ingress install contour [flags]

Flags:
  -f, --config-file string   Path to custom Helm values file
  -n, --namespace string     Namespace to install Contour into (default: projectcontour)
  -w, --wait                 Wait for Contour to be ready before returning

Usage Examples

# Basic installation
drasi ingress install contour

# Install with custom configuration
drasi ingress install contour --config-file values.yaml --namespace ingress-system --wait

Implementation Details

  • Follows existing CLI architecture patterns from commands like init and namespace
  • Integrates with the SDK's KubernetesPlatformClient for cluster operations
  • Uses Helm v3 client library for chart management (same as Dapr installation)
  • Includes comprehensive error handling with helpful user messages
  • Provides detailed help documentation and usage examples
  • Added unit tests for YAML configuration loading and value merging
  • Maintains consistency with existing output formatting and task reporting

Testing

  • All existing tests continue to pass
  • New unit tests cover configuration file handling
  • Manual testing verified command structure and help output
  • Error handling tested for common failure scenarios

The implementation seamlessly integrates with the existing Drasi CLI while providing the requested Contour installation automation.

Fixes #300.


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

@Copilot Copilot AI changed the title [WIP] [Personal AI Project Testing; Please Ignore] - Implement 'drasi ingress install contour' CLI command Implement 'drasi ingress install contour' CLI command Sep 11, 2025
@Copilot Copilot AI requested a review from ruokun-niu September 11, 2025 19:43
Copilot finished work on behalf of ruokun-niu September 11, 2025 19:43
@ruokun-niu ruokun-niu closed this Sep 12, 2025
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.

[Personal AI Project Testing; Please Ignore] - Implement 'drasi ingress install contour' CLI command

2 participants